小爱同学控制ESP8266点灯

小爱同学吃灰很久了,一直想接入小爱来控制些智能硬件,无奈小米的IOT开放平台只对企业用户开放。最近研究了点灯科技的物联网平台,软件硬件支持非常丰富,关键对于爱好者有免费的版本可以使用,爱了爱了有木有?本篇分享下如何通过Blinker平台接入小爱同学,进而控制联网的ESP8266点灯。

1. 硬件部分

我使用了如下图所示ESP8266开发板,其实就是板载了8266最小系统和USB转串口部分。淘宝上很多,大的区别可能就是串口芯片有CH340和CP2102之分吧。

ESP8266开发板

ESP8266模块板载了LED灯,连接在GPIO2上,GPIO2输出高电平灯熄灭,输出低电平灯点亮,就来控制它吧。

2. 平台部分

在小爱同学APP中智能家居设备需要从米家APP中添加。所以,这两个APP提前下载注册好。这里重点说下Blinker APP。

  • 从官网下载Blinker,支持安卓和苹果版本,选择你喜欢的对应下载,并进行注册。
  • 点击添加设备,选择Diy设备中的Arduino,选择WiFi接入。会得到唯一的密钥,这个很重要,后面需要在代码中添加。

添加设备

  • 返回设备列表页,点击添加的设备图标进入设备控制面板。可点击右上角进行编辑,这里的设备名最好用中文,后面用小爱进行控制的时候,你对它说英文,它可能听不懂哈。

3. 软件部分

  1. 安装ESP8266开发板扩展
  • 启动Arduino IDE,单击「文件」—「首选项」,在附加开发板管理网址中输入如下网址:
http://arduino.esp8266.com/stable/package_esp8266com_index.json

添加开发板网址

  • 单击「工具」—「开发板」—「开发板管理器」,在搜索栏输入"esp8266",找到开发板进行安装,如下图安装完成。

安装8266开发板扩展

这个过程如果你网络不够科学的话,可能无法完成,官方提供了离线安装方式,可点击查看。

  1. 安装blinker Arduino库

点击下载库,将下载好的blinker库解压到 我的电脑>文档>Arduino>libraries 文件夹中。

  1. 程序下载

Blinker官方提供了小爱同学的接入流程,以RGB灯的控制为例,介绍了小爱同学的各操作接口,具体可参照官方介绍。

我在这里做了简化,只用来控制灯的亮灭,只用了电源类操作接口和设备查询接口。其实就是实现两个回调函数,当接收到小爱同学的命令,会对应进入回调函数去操作硬件。

代码如下,代码中的auth、ssid、pswd要填入实际的值。

#define BLINKER_WIFI
#define BLINKER_MIOT_LIGHT#include <Blinker.h>char auth[] = "Your Device Secret Key";
char ssid[] = "Your WiFi network SSID or name";
char pswd[] = "Your WiFi network WPA password or WEP key";bool ledState;void dataRead(const String & data)
{BLINKER_LOG("Blinker readString: ", data);uint32_t BlinkerTime = millis();Blinker.print("millis", BlinkerTime);
}void miotPowerState(const String & state)
{BLINKER_LOG("need set power state: ", state);if (state == BLINKER_CMD_ON) {digitalWrite(LED_BUILTIN, LOW);BlinkerMIOT.powerState("on");BlinkerMIOT.print();ledState = true;}else if (state == BLINKER_CMD_OFF) {digitalWrite(LED_BUILTIN, HIGH);BlinkerMIOT.powerState("off");BlinkerMIOT.print();ledState = false;}
}void miotQuery(int32_t queryCode)
{BLINKER_LOG("MIOT Query codes: ", queryCode);switch (queryCode){case BLINKER_CMD_QUERY_POWERSTATE_NUMBER :BLINKER_LOG("MIOT Query Power State");BlinkerMIOT.powerState(ledState ? "on" : "off");BlinkerMIOT.print();break;default :BlinkerMIOT.powerState(ledState ? "on" : "off");BlinkerMIOT.print();break;}
}
void setup()
{Serial.begin(115200);BLINKER_DEBUG.stream(Serial);BLINKER_DEBUG.debugAll();pinMode(LED_BUILTIN, OUTPUT);digitalWrite(LED_BUILTIN, HIGH);Blinker.begin(auth, ssid, pswd);Blinker.attachData(dataRead);BlinkerMIOT.attachPowerState(miotPowerState);BlinkerMIOT.attachQuery(miotQuery);
}void loop()
{Blinker.run();
}

选择开发板类型和实际端口号,进行程序下载。

选择8266开发板

4. 绑定小爱

  • 下载好程序后,复位开发板,然后在Blinker APP中会看到添加的设备已经现在在线了。

在线设备

  • 进入米家APP,点击「我的」—「其他平台设备」,添加点灯科技,进入后,点击同步设备,就会看到在Blinker中创建的设备。

添加同步设备

  • 前面绑定成功后,小爱同学中就会出现绑定的设备了。

绑定成功

试着对小爱说:“打开灯”、“关闭灯”、“灯的状态”,可能网络不好会有些延迟,不过想要的控制已经实现了。你也可以尝试去控制些别的设备了。


关注公众号「TonyCode」,后台回复“小爱”,获取文中代码及文件。

TonyCode

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/53163.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

“小爱同学”商标遭抢注,小米上诉被驳回

本文转载自IT之家 IT之家 6 月 2 日消息 小米科技有限责任公司与知识产权局商标行政管理&#xff08;商标&#xff09;的案件于近日公布&#xff0c;“小爱同学”商标 37 类 建筑修理类曾于 2017 年被陈某注册成功&#xff0c;小米于 2018 年注册该商标被驳回后起诉知识产权局…

小爱同学控制灯 局域网

继电器--------i02 #include <ESP8266WiFi.h> #define LED 0 // 以上烧写程序配网方式可以换成微信扫码配网&#xff0c;等等&#xff0c;具体操作可查看博客相关例子 WiFiServer server(80); // 服务器端口号 void smartConfig() { WiFi.mode(WIFI_STA); Serial.printl…

有道CEO周枫:当我们谈论大模型时,应该关注哪些新能力?

作者&#xff1a;周枫 基于大语言模型技术的ChatGPT推出已经有4个月了&#xff0c;更多同类产品还在快速出现。比如&#xff0c;前天谷歌更新了Bard&#xff0c;将辅助编程能力支持的语言数量扩展到20种。 然而&#xff0c;对大模型技术的重要性也出现了质疑&#xff0c;前段…

手机里的PDF文件怎样发送给好友?

有时我们会通过手机将一些资料或东西拍成照片又以PDF格式进行保存&#xff0c;但却没有找到分享的方法&#xff0c;要怎样才能将手机里面保存的PDF发送给其他好友呢&#xff1f; 1、PDF制作 首先我们下载并安装极速PDF&#xff08;阅读器&#xff09;APP后&#xff0c;打开阅…

图片如何转PDF?这两种方法很好用

我们怎么把图片转换成PDF格式呢&#xff1f;在日常的工作和生活中&#xff0c;在不经意间我们的手机或者电脑就会存有大量的图片&#xff0c;我们想要将这些图片打包发送&#xff0c;用文件夹的方法还得压缩和解压&#xff0c;挨个发送又会很凌乱&#xff0c;有什么方法可以解决…

动画,及动画的基本使用

一.动画&#xff08;animation&#xff09;是CSS3中具有颠覆性的特征之一&#xff0c;可以通过设置多个节点来精确控制一个或一组动画&#xff0c;常用来实现复杂的动画效果。 相比较过渡&#xff0c;动画可以实现更多变化&#xff0c;更多控制&#xff0c;连续自动播放等效果…

动画开发 之 Lottie

什么是Lottie Lottie是Airbnb开源的一个动画渲染库&#xff0c;支持多平台&#xff0c;包括iOS、Android、React Native以及Flutter,还有其他平台的 React、Vue、Angular 等等 效果展示&#xff1a; 动画开发过程 在AE 中设计动画 打开AE 设计动画 通过 bodymovin 插件导出…

微信小程序:动画(Animation)

简单总结一下微信动画的实现及执行步骤。官方文档是这样说的&#xff1a;①创建一个动画实例 animation。②调用实例的方法来描述动画。③最后通过动画实例的 export 方法导出动画数据传递给组件的 animation 属性 图解实现的三步骤&#xff1a; 前两步是定义一个动画并设置都…

动画制作如何实现?看过来 | 万彩动画大师

飞碟说的专题视频曝光量巨大&#xff0c;并能通过广告植入等方式将流量转化为收益&#xff0c;可谓业界标杆。怎么做出飞碟说那类的MG动画&#xff1f;现在就为你揭秘飞碟说动画制作教程&#xff01; 1.确定脚本 何为脚本&#xff1f;所谓脚本就是视频的框架。脚本把控着整个作…

3D建模:现在国漫做出来的动画短片能有多细节?

《落 凡 尘》&#xff1a; 13个人历时8760小时&#xff0c;做出来的动画短片能有多细节&#xff1f; 随着3D技术的深入发展,3D建模被广泛的应用到各行各业中。今天我们以广美2020届动画专业的毕业设计作品为例&#xff0c;了解一下3D建模在动画设计中的运用。 一、人物设计 …

从拳头公司的CG动画讲起:如何让你的动画更有“电影感”

相信热爱游戏的小伙伴肯定知道拳头公司&#xff08;Riot Games&#xff09;&#xff0c;他们不仅成功开发和运营了英雄联盟&#xff0c;在音乐和动画CG这方面做的也是十分的出彩&#xff0c;甚至被网友们戏称为“被游戏耽误了的音乐公司”。这次小趴分享给大家的这篇文章&#…

如何制作 3D 动画短片?

制作3D动画短片真的很有挑战性&#xff0c;特别是如果您是从头开始的话。你需要一堆软件和一群艺术家来将你的想法变为现实&#xff0c;这可能非常昂贵且耗时。 如何制作一部3D动画短片&#xff1f; 在这篇文章中&#xff0c;我们将分解制作 3D 动画短片的过程。在文章的结…

短视频动画制作如何实现?这几个技巧告诉你 | 万彩动画大师

好的图文排版设计能给观众留下深刻的印象。有时候因为内容、构成要素的不同&#xff0c;需要采取多样的排版布局。那么&#xff0c;我们该怎么处理好文字、图片、文字与图片的关系&#xff0c;实现专业、美观的排版&#xff0c;让动画视频具有很好的视觉表现力呢&#xff1f; 以…

动漫配音是怎么制作出来的?除了自己配,还有一个小方法

动漫配音是怎么制作出来的&#xff1f;除了自己配&#xff0c;还有一个小方法 最近刷短视频的时候&#xff0c;经常可以看到一些用动漫声音配音的短视频&#xff0c;本来以为是剪辑动漫人物的声音后制作的&#xff0c;但是其实又有很多话并不是那个动漫人物会说出来的。而在经…

PC Animation 2.0,PPT程控动画开发平台

简介 PPT程控动画开发平台(Program-controlled Animation For PowerPoint)&#xff0c;简称PC Animation&#xff0c;是一款用编程语言生成数值动画的理工课程教学辅助软件。软件提供播放器/播放控件&#xff0c;可将数值交互动画嵌入到PPT文件中&#xff0c;随同PPT一并放映。…

全球首只AIGC动画短片发行,日漫风格超治愈!

文&#xff5c;金磊 发自 凹非寺源&#xff5c;量子位 以后我们看到的动画片&#xff0c;要变味了。 因为它很可能不是人搞的&#xff01; 这不就在最近&#xff0c;Netflix&#xff08;网飞&#xff09;官方发布了一支动画短片《犬与少年》&#xff1a; 这支动画短片讲述了一只…

Cartoon Animator动画制作软件CTA自动保存项目小工具

大家都知道Cartoon Animator动画软件总是会无辜闪退 好不容易K了很多帧&#xff0c;然后崩溃立马回到解放前。 做了这个小工具暂时解决一下燃眉之急&#xff01;&#xff01;&#xff01;&#xff01; 下载地址&#xff1a; https://download.csdn.net/download/dmxayjn/8523…

通过这些工具,轻松制作动画短片 | 万彩动画大师

动画发展至今&#xff0c;已经形成了一种独特的文化&#xff0c;它所表现出来的想象力和创造力是无与伦比的&#xff0c;动画也是一种艺术。制作动画的方式多种多样&#xff0c;下面介绍3款免费神器&#xff0c;让短片动画制作不再是难事。动画界不断涌现优秀人才&#xff0c;下…

Animate动画

一个有趣的&#xff0c;跨浏览器的 css3 动画库。 Animate.css 安装 npm install animate.css --save main.js中引用。import animate from animate.css Vue.use(animate) 使用 方式一&#xff1a;HTML标签中添加class。缺点&#xff1a;页面加载后就开始方式二&#xff1a;…

Animation Rigging创建模板动画(一)

什么是模板动画&#xff1f;模板对于熟悉C、C#、Java编程的开发者可能都不陌生&#xff0c;在Unity中也经常使用同一个函数带上<>来返回指定的对象&#xff0c;这些都是模板类或函数的使用。简单来说&#xff0c;模板类或函数定义了一套处理方法的过程&#xff0c;而不具…