几个月前做了一个RGB夜灯,想用小爱同学来控制灯的颜色和亮度,然而小米物联网并没有提供接口给DIY玩家,希望破灭。最近在简书里面看到一位网友关于Blinker物联平台介绍的文章,特地去了解了一下。这个平台对于创客来说,使用方法简单,硬件和软件支持丰富,可以有很多玩法,能够接入小爱同学,最主要的还是免费。废话不多说,直接开始造灯。
--材料
1.RGB灯, 我用的是WS2812灯板,8*8, 64颗灯珠
2.外壳, 根据灯板的尺寸画了个图,用3D打印机打了一个
3.esp8266模块, 我用的esp01
4.洞洞板,排针,轻触开关,锂电池和充电模块等等
--硬件
上面是一个简单的原理图,串口用于烧写程序,IO2接到ws2812灯板,烧写时需要在esp8266上电以前将IO0接地,让芯片进入boot模式,所以这里接了个轻触按键,方便烧写。还有一些外围电路这里就不贴出来了,可以去看我分享的工程文件https://lceda.cn/wwei/blinkerrgb_esp8266
楼主在某半导体公司的无线充电部门打工,当然不能容忍自己DIY的东西不带无线充电功能,于是乎。。。
把无线充电接收端的EVK贴在后盖里面,无线充输出接到TP4056充电模块的输入,给锂电池充电,兼容Qi协议,这样把夜灯放在Qi兼容的无线充电发射坐上就可以充电啦。
--软件
先下载Blinker APP,注册账号,右上角添加->Arduino设备->WiFi接入, 会生成一个Secret Key,等下会用到
点击刚刚添加的设备,会出来一个示例配置界面,删掉多余的组件,只添加一个颜色拾取(调色板调节颜色,滑块调节亮度)
更改颜色拾取组件的数据键名,等下会用到
更改设备的名字和图标,设备名字最好改成中文,小爱同学控制的时候是按照设备名字查找设备的
至于esp8266的软件,直接把Blinker的例程Copy过来,改点东西就搞定(代码是在Arduino IDE里面编译的,至于怎么用Arduino玩esp8266,请自行学习)
Blinker开发文档首页:https://doc.blinker.app/
esp8266 RGB可接入小爱同学的例程:https://github.com/blinker-iot/blinker-library/tree/master/examples/Blinker_MIOT/MIOT_LIGHT
看看代码里需要改的东西
char auth[] = "Your Device Secret Key";
char ssid[] = "Your WiFi network SSID or name";
char pswd[] = "Your WiFi network WPA password or WEP key";
1.刚才生成的Secret Key和设备要接入WiFi的ssid和密码
#define PIN 2
#define NUMPIXELS 64
2.连接ws2812的pin脚和灯的数量
#define RGB_1 "rgbkey"
3.这里改为APP里颜色提取组件的数据键名
编译上传,等待设备联网
设备上线后,可以在Blinker APP里面试着控制一下,测试下功能是否正常,没问题的话就可以绑定小爱同学啦。
打开米家APP,选择 我的->其他平台设备->添加->点灯科技->同步设备
这里需要注意的是,只有设备在线才能同步到这里
同步以后并不能在米家首页找到你的设备,但是可以通过小爱同学语音调节灯的颜色和亮度
晒几张图片
--总结
1.esp8266模块建议用esp12之类的,引出来的pin脚多,可以接更多东西
2.RGB灯板完全用不到8*8的,费电还发热,主要是夜灯也不用那么亮
3.原理图是写文章的时候才画的,你看到的时候不一定是完整的,后面我会画完并且画好PCB,有兴趣的朋友可以打板回来玩
4.如果大家有什么建议或者点子,可以留言提出来