一刷入MQTT固件
ESP8266刷MQTT固件,这一步非常重要,只带的固件没有相关的MQTT指令。
固件和下载资源链接:链接: MQTT固件
刷入固件时要注意把模块上面的IO1引脚给拉低。 点击第一行后面三个点,选择固件文件夹里面的第一个文件:
然后点击START,等待下载完成。
二创建阿里云平台和配置
搜索阿里云物联网平台,点击产品,找到物联网,然后在右边选中物联网平台。然后注册进去。
进去之后,点击公众实例。
点击设备管理里面的产品,然后点击创建产品。
填写产品名字,选择自定义品类,节点方式为直连设备,其他保持不变。最后点击确定。
在弹出的新界面里选择,添加设备。
之后,点击添加设备,这个设备属于之前创建的产品下面,一共产品可以有好多设备.填写 DeviceName,和设备名称。点击确定。
选着完成。
到这阿里云网站是配置完成了,下面开始用AT指令连接阿里云。
三AT指令连接阿里云
一.设置ESP8266为站点描述,准备连接WIFI或者手机热点。
AT+CWMODE=1
设置成功 ESP8266恢复OK;
2,重启ESP8266
AT+RST
3.连接WIFI或者手机热点。
AT+CWJAP="热点名","热点密码"
连接成功 ESP8266会返回
WIFI CONNECTED
WIFI GOT IP
OK
4.开启SNTP服务器,8时域,SNTP服务器为阿里云域名
AT+CIPSNTPCFG=1,8,"ntp1.aliyun.com"
成功后,返回ok
5.连接阿里云产品
AT+MQTTUSERCFG=0,1,"NULL","username","passwd",0,0,""
username和passwd在这里面可以找到
6.配置ClientId
AT+MQTTCLIENTID=0,"ClientId"
注意:ClientId中要在每个逗号前面加一个’\’
7.连接MQTT
AT+MQTTCONN=0,"mqttHostUrl",port,1
到了这一步你会发现,设备已经显示在线了。表示已经连接上阿里云
四.给阿里云发送信和接收息
首先给产品设备创建物理模型
点击添加自定义功能,填写设备信息。
填写完成,点击发布。
再进入到Topic类列表,选择物模型通信 Topic,复制属性上报里的订阅,发布 前面的Topic数据和属性设置的Topic数据。
用AT指令进行订阅
AT+MQTTSUB=0,"订阅Topic",1
注意,${deviceName}一整个要换成你的设备名称,如本文的
AT+MQTTSUB=0,"/sys/k0r3140NjdU/jkl1/thing/service/property/set",1
AT+MQTTSUB=0,"/sys/k0r3140NjdU/jkl1/thing/event/property/post_reply",1
收到ok后,在监控运维里找到在线调试,输入需要下发的数据,然后点击设置。
这时ESP8266会收到这样的数据。
+MQTTSUBRECV:0,"/sys/k0r3140NjdU/jkl1/thing/service/property/set",105,{"method":"thing.service.property.set","id":"1399463717","params":{"gl_t":8,"state":7},"version":"1.0.0"}
用AT指令进行上传
AT+MQTTPUB=0,"发布Topic","{\"params\":{\"物理模型标识符\":数据}\,\"version\": \"1.0\"}",0,0
如本文的
AT+MQTTPUB=0,"/sys/k0r3140NjdU/jkl1/thing/event/property/post","{\"params\":{\"state\":7}\,\"version\": \"1.0\"}",0,0
最后断开连接AT指令
AT+MQTTCLEAN=0
到处连接阿里云的步骤全部结束,下一篇用单片机封装AT指令和解析阿里云回传的数据。