原理:esp8266連接mqtt服務,并訂閱mqtt的主題,當通過小愛語音發出指令,相當于mqtt的消息推送,由于esp8266訂閱了主題,就可以收到小愛同學推送的消息,從而進行控制esp8266。
第一步 下載程序到esp8266
下載地址: 點擊下載
本demo 是利用arduino IDE開發,關于arduino IDE 的ESP8266環境配置可參考:環境配置: 點擊跳轉
程序下載好,需要修改的信息有:
需要修改的信息有WIF名稱,WIFI密碼,用戶私鑰UID,設備主題topic。
//********************需要修改的部分*******************//
const char* ssid = "newhtc"; //修改,你的路由去WIFI名字
const char* password = "qq123456"; //你的WIFI密碼
#define ID_MQTT "4d9ec352e0376f2110a0c601a2857225" //用戶私鑰,控制臺獲取
const char* topic = "light002"; //主題名字,可在巴法云控制臺自行創建,名稱隨意
const int B_led = D2; //單片機LED引腳值,D系列是NodeMcu引腳命名方式,其他esp8266型號將D2改為自己的引腳
//**************************************************//
用戶私鑰可以巴法云控制臺 點擊跳轉 獲取,注冊綁定郵箱即可在巴法控制臺獲取。
關于主題topic:主題可在控制臺 點擊跳轉 新建,字母+數字自定義組合即可,注意:創建mqtt設備主題。
現在支持的設備有:燈泡、插座、風扇、傳感器設備、空調。
關于設備類型,由創建的主題名稱決定:
當主題名字后三位是001時為插座設備。
當主題名字后三位是002時為燈泡設備。
當主題名字后三位是003時為風扇設備。
當主題名字后三位是004時為傳感器設備。
當主題名字后三位是005時為空調設備。
在本demo中主題為light002,故為燈泡設備,詳細介紹見巴法云官方接入文檔。
修改好,下載到ESP8266即可。
測試程序:控制臺推送on是開燈。推送off關燈,可打開串口調試助手查看調試。
第二步 綁定到米家
打開米家app,底部--我的---其他平臺設備---->點擊添加--->找打巴法,登錄你的巴法云賬號,如果巴法云控制臺有創建設備,設備就會自動同步過去了。(如果沒同步到,再次點擊底部的同步設備即可)
設備成功同步后,就成功接入到了米家,現在就可以使用小愛同學來控制燈了。,比如說:小愛同學,打開臺燈,此時esp8266就會收到on的字符串,從而執行打開操作,可打開單片機串口調試助手查看調試信息。