原理:esp8266连接mqtt服务,并订阅mqtt的主题,当通过小爱语音发出指令,相当于mqtt的消息推送,由于esp8266订阅了主题,就可以收到小爱同学推送的消息,从而进行控制esp8266。

esp8266接入小爱同学,通过mqtt_mqtt

第一步 下载程序到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接入小爱同学,通过mqtt_esp8266_02

设备成功同步后,就成功接入到了米家,现在就可以使用小爱同学来控制灯了。,比如说:小爱同学,打开台灯,此时esp8266就会收到on的字符串,从而执行打开操作,可打开单片机串口调试助手查看调试信息。