完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
材料部分:
基于esp8266的继电器模块 esp8266——01s模块一个 ch340烧录模块一个 杜邦线若干 软件部分: arduino ide编辑器下载器地址:https://www.arduino.cc/en/Main/Software 下载Arduino IDE软件后,解压缩该文件夹。在文件夹中找到exe的文件打开即可 然后是ide(编辑器)的配置:打开软件一次打开文件——》首选项,然后在附加开发板管理网址里面添加 http://arduino.esp8266.com/stable/package_esp8266com_index.json 最后依次点开工具——》开发板,开发板管理器然后搜索8266第一个就是然后下载安装即可; 手机软件:米家APP、点灯.Blinker APP 打开app点击上面的加号然后添加arduino——》wifi接入然后记录上面的key数值后面代码会用到 然后打开米家app一次点击我的——》其他平台接入——》点灯科技待搜索完成过后就会找到你的设备然后同步即可 代码部分: 首先安装运行库到ardnio安装目录(最后会附上链接) /*Flash Size至少1M起 2019年10月14日 参考文档https://diandeng.tech/doc/xiaoai #define BLINKER_WIFI #define BLINKER_MIOT_LIGHT//支持小爱同学 #include 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); // 初始化IO pinMode(GPIO, OUTPUT); digitalWrite(GPIO, HIGH); // 初始化blinker Blinker.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秒钟才会有反应,就连我跟小爱同学对话都会出现等待(暂时无法解决只能充钱) |
|
|
|
只有小组成员才能发言,加入小组>>
3278 浏览 9 评论
2956 浏览 16 评论
3458 浏览 1 评论
8996 浏览 16 评论
4051 浏览 18 评论
1109浏览 3评论
572浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
568浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2301浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1858浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 07:19 , Processed in 0.977631 second(s), Total 78, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号