失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 使用esp8266使用小爱同学实现开灯与关灯操作

使用esp8266使用小爱同学实现开灯与关灯操作

时间:2024-06-03 12:46:04

相关推荐

使用esp8266使用小爱同学实现开灯与关灯操作

材料部分:

基于esp8266的继电器模块

esp8266——01s模块一个

ch340烧录模块一个

杜邦线若干

软件部分:

arduino ide编辑器下载器地址:/en/Main/Software 下载Arduino

IDE软件后,解压缩该文件夹。在文件夹中找到exe的文件打开即可

然后是ide(编辑器)的配置:打开软件一次打开文件——》首选项,然后在附加开发板管理网址里面添加

/stable/package_esp8266com_index.json

最后依次点开工具——》开发板,开发板管理器然后搜索8266第一个就是然后下载安装即可;

手机软件:米家APP、点灯.Blinker APP

打开app点击上面的加号然后添加arduino——》wifi接入然后记录上面的key数值后面代码会用到

然后打开米家app一次点击我的——》其他平台接入——》点灯科技待搜索完成过后就会找到你的设备然后同步即可 代码部分:

首先安装运行库到ardnio安装目录(最后会附上链接)

/*Flash Size至少1M起10月14日参考文档https://diandeng.tech/doc/xiaoai#define BLINKER_WIFI#define BLINKER_MIOT_LIGHT//支持小爱同学#include <Blinker.h>char auth[] = “8*****4”;//app中获取到的Secret Key(密钥)char ssid[] = “MERCURY_****”;//自己家里的WiFi名字不可以有中文识别不出来char pswd[] = “*******”;//家里的WiFi密码int GPIO = 0; //定义继电器输入引脚为GPIO/0// 新建组件对象BlinkerButton Button1(“btn_led”);//注意:要和APP组件’数据键名’一致// 按下BlinkerAPP按键即会执行该函数void button1_callback(const String & state) {BLINKER_LOG(“get button state: “,state);digitalWrite(GPIO, !digitalRead(GPIO));Blinker.vibrate();}//小爱电源类操作的回调函数://当小爱同学向设备发起控制, 设备端需要有对应控制处理函数void miotPowerState(const String & state){BLINKER_LOG(“need set power state: “, state);if (state == BLINKER_CMD_ON) {digitalWrite(GPIO, HIGH);BlinkerMIOT.powerState(“on”);BlinkerMIOT.print();}else if (state == BLINKER_CMD_OFF) {digitalWrite(GPIO, LOW);BlinkerMIOT.powerState(“off”);BlinkerMIOT.print();}}void setup() {// 初始化串口,并开启调试信息,调试用可以删除Serial.begin(115200);BLINKER_DEBUG.stream(Serial);// 初始化IOpinMode(GPIO, OUTPUT);digitalWrite(GPIO, HIGH);// 初始化blinkerBlinker.begin(auth, ssid, pswd);Button1.attach(button1_callback);//小爱同学务必在回调函数中反馈该控制状态BlinkerMIOT.attachPowerState(miotPowerState);//注册回调函数}void loop() {Blinker.run();}

硬件连接部分:

1、烧录模块:

2、继电器硬件模块

问题总结:

1、开发板扩展缓慢一直下载不下来,但是通过几次尝试最后换成移动网络下载解决

2、代码一直编译不通过出现exit status 1错误,通过强大的搜索引擎才知道编译器上面出现看不到的错误“/302 inprogram”

最后我把代码放在notepad++上面发现有很多的?在语句的前面最后删除上传解决了问题

3、下载问题第一次使用这个软件我以为出现那个问题以为是烧录成功了,最后测试失败再从代码上面找问题

A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header

提示头文件等待超时,原因是esp8266在下载的过程中需要把GPIO0这个端口接地进入下载模式最后烧录成功

4、因为家中网络原因有时候小爱同学发送指令会等待1秒钟才会有反应,就连我跟小爱同学对话都会出现等待(暂时无法解决只能充钱)

附件地址:

链接:/s/17ZVTWxaVYReWKxbxo1kgbw

提取码:9qqa

如果觉得《使用esp8266使用小爱同学实现开灯与关灯操作》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。