智能双色顶灯DIY:3级调光接入小爱(巴法云|OTA|ESP8266)
前言我想实现自家双色顶灯3级灯光的切换冷、暖、最亮是通过快速开关切换色温亮度的应该有不少人这种灯吧也接入小爱同学以前用贝壳接天猫精灵后面坏了后面才知道应该是Flash坏的原因现在重搞用巴法云的比贝壳好吧也不会像blinker只能用一个设备。首先ESP8266的Arduino环境搭建https://bbs.bemfa.com/6esp8266接入小爱同学通过mqtt我是个人画的ESP8266板子用NodeMCU 1.0 (ESP-12E Module)或Generic ESP8266 Module都可以下载运行但用Generic ESP8266 Module时IO脚名未定义的需修改晶振26Mflash大小跟下载模式DIO都得注意根据实际修改以免出问题。参考【NodeMcu-ESP8266】引脚使用参考指南添加OTA功能的只需添加以下代码#include ESP8266WiFi.h #include ESP8266httpUpdate.h //固件链接在巴法云控制台复制、粘贴到这里即可 String upUrl http://bin.bemfa.com/b/3BcN2Q1NGY4NWFmNDI5NzZlZTNjMjY5M2U2OTJhNmJiNTklight002.bin; //当升级开始时打印日志 void update_started() { Serial.println(CALLBACK: HTTP update process started); } //当升级结束时打印日志 void update_finished() { Serial.println(CALLBACK: HTTP update process finished); } //当升级中打印日志 void update_progress(int cur, int total) { Serial.printf(CALLBACK: HTTP update process at %d of %d bytes...\n, cur, total); } //当升级失败时打印日志 void update_error(int err) { Serial.printf(CALLBACK: HTTP update fatal error code %d\n, err); } /** * 固件升级函数 * 在需要升级的地方加上这个函数即可例如setup中加的updateBin(); * 原理通过http请求获取远程固件实现升级 **** //updateBin(); //接收updata消息后执行这个函数便能开始升级 */ void updateBin(){ WiFiClient UpdateClient; ESPhttpUpdate.onStart(update_started);//当升级开始时 ESPhttpUpdate.onEnd(update_finished); //当升级结束时 ESPhttpUpdate.onProgress(update_progress); //当升级中 ESPhttpUpdate.onError(update_error); //当升级失败时 t_httpUpdate_return ret ESPhttpUpdate.update(UpdateClient, upUrl); switch(ret) { case HTTP_UPDATE_FAILED: //当升级失败 Serial.println([update] Update failed.); break; case HTTP_UPDATE_NO_UPDATES: //当无升级 Serial.println([update] Update no Update.); break; case HTTP_UPDATE_OK: //当升级成功 Serial.println([update] Update ok.); break; } }参考http://blog.csdn.net/bemfa/article/details/121441910?spm1001.2014.3001.5501完整工程程序点击下载绑定到米家打开米家app 底部–我的—其他平台设备----点击添加—找打巴法登录你的巴法云账号如果巴法云控制台有创建设备设备就会自动同步过去了。如果没同步到再次点击底部的同步设备即可米家里面虽然不会直接显示出来但喊小爱开关灯是可以的也可以说亮度1、2、3问题解决:ESP8266在Arduino下载出现 Fatal exception (0): epc10x40236d18, epc20x00000000, epc30x00000000, excvaddr0x00000000, depc0x00000000大多情况是因为硬件问题下载的文件出错运行到空指针 换硬件或换flash试试参考https://www.ebaina.com/articles/140000016978参考连接巴法云CSDNhttps://blog.csdn.net/bemfa【基于Arduino IDE平台开发ESP8266连接巴法云】