ESP8266+OneNet使用物模型实现数据的收发(仅为连接单片机前的调试工作,本章不涉及单片机)

一、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

        串口助手发送:

        在设备管理-对应产品详情-设备调试-应用模拟器-属性设置中勾选标识符并填写参数,然后点击属性设置,在串口助手可以看到下行的数据。

  • 35
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值