幾個月前做了一個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.如果大家有什么建議或者點子,可以留言提出來