原理: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的字符串,从而执行打开操作,可打开单片机串口调试助手查看调试信息。