当前位置:   article > 正文

模拟设备MQTT协议接入ONENET最新物联网开发平台操作_onenet物理模型

onenet物理模型

        Onenet官网提供的帮助文档很多,存在好几种MQTT服务接口,但是阅读起来很容易混乱,有点不方便。官方回复是历史遗留问题,后续接入以最新物联网开发平台为推荐,为此本文用一篇讲述最新ONENET的物联网开发平台MQTT基于物理模型的接入方式。如何在平台上创建产品,并且使用客户端MQTT.x上传数据,通过平台下发设置等操作。

ONENET添加产品操作

一、打开此链接中移坤灵 - 中国移动物联网开放平台注册/登陆一个OneNET账号,来到OneNET首页;

二、登录后点击页面右上角开发者中心,进入操作页面;

三、进入开发者中心后台,把鼠标移动到页面左上角全部产品服务,在下拉菜单栏里点击物联网开放平台

四、进入平台后,点击左侧菜单栏产品开发,进入界面后再点击右侧创建产品

五、选择一个产品品类,列表中的列表时平台对已有对象做了基本的物理模型构建,提供了一个标准模板,这里按需要自己选择,比如我们选择一个温湿度传感器;

六、因为我手上的产品采用的是4G通信,Mqtt协议,JSON自定义格式,所以我们如下这么选择;

七、创建好了,选择产品开发;

八、创建一个物理模型,也可以快递导入已经创建好的模型。物理模型简单理解就是对产品上报的Json格式做的一个解析,通过创建一个物理模型能快速面板化产品数据,以及下发指令。

九、添加一个自定义功能点,功能点类型有3种,属性(解析上报的信息),服务(相当于结构体),事件(特殊数据包,如告警);标识符就是Json关键字,这里我们创建一个温度属性,各一个可读可写的权限,编辑好保存。

十、回到产品开发,点击设备管理,进入到下面这个界面,添加一个设备。

十一、设备名称用于区分设备,建议使用唯一ID。

十二、进入到详情,复制设备密钥与产品ID,这两个参数是用来生成MQTT三要素的。

ONENET相关MQTT参数

       下载工具生成Password https://open.iot.10086.cn/doc/iot_platform/images/tools/token.exe ,根据设备密钥(Key)与产品ID,生成Password,其中method按需求选择,这里选sha1。

到这里我们获取到了的信息有:

MQTT版本:V3.1.1

IP地址:mqtts.heclouds.com:1883  , Clientid:123456  , Username:jgds5kmEYx

Password:version=2018-10-31&res=products%2Fjgds5kmEYx%2Fdevices%2F123456&et=1703999380&method=sha1&sign=1OGdLg%2BhaJda3xLY1LZ%2B7icC9rY%3D

MQTT.x工具模拟接入数据

免费下载工具链接:MQTTX 下载,把上述参数填入下面这个界面,点击Connect。此时平台显示在线。

如何上报数据?

1.获取相应主题,2.获取报文内容格式,3.上报操作设置。

第一步,获取相应主题,我们回到产品开发,点击下一步。

        在Topic管理里面有个基于物理模型的界面,其中直连上报属性的订阅与发布主题,就是我们上报需要用到的上报主题,其中直连设备获取期望值的订阅与发布主题,就是我们下发设置需要用到的主题。把题主按格式拼接好如下:

直连设备上报属性:          $sys/jgds5kmEYx/123456/thing/property/post

直连设备上报属性响应:   $sys/jgds5kmEYx/123456/thing/property/post/reply

第二步,获取报文内容格式。

参数类型说明
idString消息id号,用户自定义,String类型的数字,长度限制13位。
versionString物模型版本号,可选字段,不填默认为1.0
paramsJsonObject请求参数,用户自定义,标准json格式。如以上示例中,设备上报属性TEMP。具体属性信息,包含属性上报时间(time)和上报的属性值(value)。
timeLong属性值生成时间。该参数为可选字段,到豪秒级。根据您的业务场景决定消息中是否带时间戳。如果消息频繁,需根据时间戳判断消息顺序,建议消息中带有时间戳。
valueObject上报的属性值
  1. {
  2. "id": "1",
  3. "version": "1.0",
  4. "params": {
  5. "TEMP": {
  6. "value": 21.6,
  7. "time": 1703995343000
  8. }
  9. }
  10. }

第三步,上报操作设置。 

填入相应的主题内容,收到属性响应Code:200;表示上报数据成功。

我们去到设备管理,属性就能看到数据了。

如何下发数据?

一样的,1.获取相应主题,2.获取报文内容格式,3.下发操作设置。

第一步,相同的方法获取到以下几个主题:

直连设备获取期望值:       $sys/jgds5kmEYx/123456/thing/property/desired/get

直连设备获取期望值响应:$sys/jgds5kmEYx/123456/thing/property/desired/get/reply

第二步,获取报文内容格式。 

  1. {
  2. "id" : "2",
  3. "version":"1.0",
  4. "params" : [
  5. "TEMP"
  6. ]
  7. }
参数类型说明
idString消息id号,用户自定义,String类型的数字,长度限制13位。
versionString物模型版本号,可选字段,不填默认为1.0
paramsJsonObject获取属性期望的标识符列表。

第三步,下发操作设置。 

按下图操作,填写一个下发值以后,点击下面有个属性期望值设置的按键。那么平台将会在设置发布获取期望值的主题内容时,就会推送这个消息给设备。

回到MQTT.x工具,把发布主题换成$sys/jgds5kmEYx/123456/thing/property/desired/get,就能收到平台发布我们刚设置的值啦。

 

         当然平台还有很多实现其他功能的相应主题,我们可以看这个官方链接了解使用, 查看此链接获取OneNET - 中国移动物联网开放平台 (10086.cn),这里就不多讲了。好了,如果我的文章帮助到你,请点个赞吧,感谢(●'◡'●)。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/465727
推荐阅读
相关标签
  

闽ICP备14008679号