一、ESP8266固件烧录
详情请参考:ESP8266如何使用MQTT协议连接阿里云平台-CSDN博客
二、OneNet平台产品创建与设备添加
在进入OneNet平台后点击右上角的开发者中心
![]() |
点击创建产品
![]() |
选择产品品类任意,智能化方式选择设备接入,产品名称、所属城市任选,联网方式选择Wi-Fi,其余保持默认设置。设置完成点击右下角确定。
![]() |
在产品开发-功能定义-设置物模型-添加自定义功能,功能类型选择属性类型,其余任意,需要注意标识符与上传数据有关。点击新增-保存并确认。
![]() |
在设备接入管理-设备管理-添加设备,所属产品类型选取上图中对应的产品名称,设备名称任意,然后点击确定。
![]() |
三、通过串口助手发送AT连接OneNet
相关AT指令:
AT+RST //重启模块
AT+CWMODE=1 // 设置为Station 模式
AT+CWJAP="Wi-fi名","密码" //连接Wi-fi
AT+MQTTUSERCFG=0,1,"client_id","username","passwd",0,0,""
//配置MQTT用户属性
AT+MQTTCONN=0,"mqttHostUrl",1883,1
//连接 MQTT Broker
上述指令中client_id为设备名称,username为产品ID,passwd为token生成工具生成的值。
mqttHostUrl为服务器地址。在OneNET - 中国移动物联网开放平台 (10086.cn)文档中的设备接入-设备开发-MQTT协议接入-MQTT设备连接查看服务器地址如下:
![]() |
token生成工具的使用方式见下述链接中2.1Token生成工具下载及应用,参考链接为:使用MQTT.fx客户端连接OneNet(token算法的et参数的获取)-CSDN博客
发送的AT指令:
![]() |
在设备管理可以看到该设备已上线:
![]() |
四、串口助手发送AT指令上传及下行数据
4.1上传数据
在产品开发-设备开发-Topic管理-物模型topic中可以查看数据上传及下行的topic
![]() |
//上传数据的topic为$sys/OWA8D1n1ES/{device-name}/thing/property/post,其中device-name为设备名称,串口助手发送AT指令为:
AT+MQTTPUB=0,"发布Topic类","数据",0,0 //发布 MQTT 消息(字符串)
在发送数据需要遵循OneJSON数据请求格式,在文档中可查看:
![]() |
在参数说明中可以看到version及time参数为可选字段,下述AT指令中则不含有该字段。其发送指令为:
AT+MQTTPUB=0,"$sys/OWA8D1n1ES/esp8266/thing/property/post","{\"id\":\"1\"\,\"params\":{\"con\":{\"value\":100}}}",0,0
需要特别注意数据项中的引号和逗号都需要加转义字符\,小编在发送过程中没有在逗号前加入转义字符发送失败。
![]() |
发送完成后在设备管理中的属性中可以看到发送的值
![]() |
4.2下行数据
数据下行需要订阅topic
//订阅topic为$sys/OWA8D1n1ES/{device-name}/thing/property/set,其中device-name为设备名称,串口助手发送AT为:
AT+MQTTSUB=0,"订阅Topic类",0 //订阅 MQTT Topic
发送相关AT指令为:
AT+MQTTSUB=0,"$sys/OWA8D1n1ES/esp8266/thing/property/set",0
串口助手发送:
|
在设备管理-对应产品详情-设备调试-应用模拟器-属性设置中勾选标识符并填写参数,然后点击属性设置,在串口助手可以看到下行的数据。
![]() |