十五、基于MQTT协议上传属性至物联网平台
1.准备工作
(1)下载MQTT透传固件(安信可官网下载即可)
(2)下载MQTT固件到ESP8266
2.AT指令连接设备上传属性值(OneNet Studio设备)
(1)AT\r\n
(2)AT+RST\r\n
(3)AT+CWMODE=1\r\n
(4)AT+CWDHCP=1,1\r\n
(5)AT+CWJAP="WIFISSID","密码"\r\n //连接路由器
(6)AT+MQTTUSERCFG=0,1,"设备名/设备id","产品ID","Token工具生成的鉴权信息",0,0,"" //配置连接信息
(7)AT+MQTTCONN=0,"mqtts.heclouds.com",1883,0 //连接服务器
(8)AT+MQTTSUB=0,"$sys/2mW915JKR7/test1/thing/property/xxx",0 //订阅属性
(9)AT+MQTTPUB=0,"$sys/2mW915JKR7/test1/thing/property/post","{\\\"id\\\":\\\"123\\\"\\,\\\"params\\\":{\\\"temp\\\":{\\\"value\\\":86}}}",0,0 //发布属性,上传属性值
3.其他相关MQTT相关AT指令
(1)AT+MQTTUNSUB=<LinkID>,<Topic> //取消主题订阅
(2)AT+MQTTCLEAN=0 //关闭连接,释放连接
(3)AT+MQTTCONNCFG=<LinkID>,<keepalive>,<disable_clean_session>,<"lwt_topic">,<"lwt_msg">,<lwt_qos>,<lwt_retain> //设置连接相关属性
(4)AT+MQTTSUB? //查询已经订阅的主题
4.属性下发
(1)订阅set属性AT+MQTTSUB=0,"$sys/2mW915JKR7/test1/thing/property/set",0
(2)平台下发设置属性值
(3)收到的命令,进行解析
5.上传属性值(阿里云平台)
(1)AT指令连接网络
(2)配置连接参数和连接的MQTT服务器(参数从设备详细信息里获取,由平台自动生成)
(3)订阅和上传属性值(Topic)产品的T列表中有各种操作的Topic方法
(4)属性上报
AT+MQTTPUB=0,"/sys/hv35Sj2mf8c/test001/thing/event/property/post","{\\\"params\\\":{\\\"temp\\\":88}}",0,0
(5)数据下发
(6)收到数据,进行解析
6.数据流上传(Onenet多协议接入)
地址:https://open.iot.10086.cn/develop/global/product/#/public?other=1&protocol=3
(1)为ESP8266下载Onenet的AT指令(文件顺序和地址要一致)
(2)"AT+CIPSTATUS"指令检测模块是否正常,返回5表示模块正常并且获取到IP,第一次使用返回0
(3)未获取到IP的先接入AP,“AT+CWJAP=账号,密码”
(4)上线设备“AT+IOTCFG=设备ID,产品ID,鉴权信息”
(5)上传数据
(6)下发数据
6-1 设备中直接使用下发命令来下发数据
6-2 收到的命令
6-3 创建可视化设备,绑定数据流下发数据
7.其他AT指令
(1)"AT+CWQAP"退出AP
(2)"AT+AIRKISS"启动微信配网