概述
本文采用 ESP8266 NodeMCU板開(kāi)發(fā),利用小愛(ài)同學(xué)來(lái)控制開(kāi)發(fā)板板載LED燈稳摄,但是小愛(ài)同學(xué)不支持個(gè)人DIY接入奥裸,因此需要借助第三方平臺(tái)Blinker平臺(tái)(點(diǎn)燈科技)來(lái)控制LED,也就是說(shuō)需要點(diǎn)燈科技平臺(tái)來(lái)充當(dāng)中介薄湿。
開(kāi)發(fā)基礎(chǔ)
1.ArduinoID軟件安裝blinker庫(kù)文件徽职。
點(diǎn)擊“項(xiàng)目” - “加載庫(kù)”- “安裝庫(kù)”象颖,在庫(kù)管理器中搜索blinker庫(kù)并進(jìn)行安裝。
2.blinker APP使用及說(shuō)明姆钉。
(1)下載blinker的手機(jī)APP说订,注冊(cè)賬號(hào)獲取密鑰。
(2)新建添加設(shè)備潮瓶,選擇獨(dú)立設(shè)備克蚂。
備注:在選擇通信服務(wù)商時(shí),若選擇點(diǎn)燈科技筋讨,小愛(ài)同學(xué)暫時(shí)不支持點(diǎn)燈科技,blinker詳細(xì)說(shuō)明查看點(diǎn)燈科技-開(kāi)發(fā)文檔摸恍。
程序代碼
1.Arduino IDE程序
#define BLINKER_WIFI
#define BLINKER_MIOT_LIGHT
#include <Blinker.h>
char auth[] = "*************"; //設(shè)備key號(hào)
char ssid[] = "*************"; //wifi名稱
char pswd[] = "************"; //wifi密碼
/******新建組件對(duì)象**********/
//新建按鈕
BlinkerButton Button1("btn"); //blinker APP內(nèi)定義的按鈕
int counter = 0;
// 按下按鍵即會(huì)執(zhí)行該函數(shù)
void button1_callback(const String & state)
{
BLINKER_LOG("get button state: ", state); //打印state
digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
}
// 如果未綁定的組件被觸發(fā)悉罕,則會(huì)執(zhí)行其中內(nèi)容
void dataRead(const String & data)
{
BLINKER_LOG("Blinker readString: ", data); //打印data
counter++;
}
/*****************開(kāi)關(guān)控制-小愛(ài)同學(xué)********************/
void miotPowerState(const String & state)
{
BLINKER_LOG("need set power state: ", state);
if (state == BLINKER_CMD_ON) {
digitalWrite(LED_BUILTIN, LOW);
BlinkerMIOT.powerState("on");
BlinkerMIOT.print();
}
else if (state == BLINKER_CMD_OFF) {
digitalWrite(LED_BUILTIN, HIGH);
BlinkerMIOT.powerState("off");
BlinkerMIOT.print();
}
}
void setup()
{
// 初始化串口
Serial.begin(115200);
BLINKER_DEBUG.stream(Serial);
BLINKER_DEBUG.debugAll();
// 初始化有LED的IO
pinMode(LED_BUILTIN, OUTPUT);
digitalWrite(LED_BUILTIN, HIGH);
// 初始化blinker
Blinker.begin(auth, ssid, pswd);
Blinker.attachData(dataRead);
// 按鈕回調(diào)函數(shù)
Button1.attach(button1_callback);
//電源類操作的回調(diào)函數(shù)
BlinkerMIOT.attachPowerState(miotPowerState);
}
void loop() {
Blinker.run();
}
點(diǎn)燈科技使用方法及代碼詳細(xì)說(shuō)明請(qǐng)查看點(diǎn)燈科技-開(kāi)發(fā)文檔。
2..blinker 部分
(1)在blinker APP內(nèi)新建按鈕立镶,名為btn壁袄,詳細(xì)信息查看點(diǎn)燈科技-開(kāi)發(fā)文檔。
上傳代碼
進(jìn)行編譯媚媒、上傳嗜逻,將程序燒錄到 MCU 中,若ESP8266連接到WIFI后缭召,打開(kāi)點(diǎn)燈APP栈顷,待所對(duì)應(yīng)設(shè)備在線后進(jìn)行調(diào)試;若執(zhí)行正常嵌巷,可在米家或者小愛(ài)音響內(nèi)添加設(shè)備萄凤,選擇其他平臺(tái)設(shè)備,并選擇其中的點(diǎn)燈科技然后同步設(shè)備進(jìn)行調(diào)試搪哪。