模拟设备MQTT协议接入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上报的属性值
{
    "id": "1",
    "version": "1.0",
    "params": {
        "TEMP": {
            "value": 21.6,
            "time": 1703995343000
        }   
    }
}

第三步,上报操作设置。 

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

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

如何下发数据?

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

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

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

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

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

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

第三步,下发操作设置。 

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

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

 

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

<think>好的,我现在需要帮助用户了解如何使用MQTTX工具连接到OneNet平台并测试数据上报。根据用户提供的参考引用,特别是引用[2],里面提到了八个步骤,结合图片和文字说明。不过具体的步骤细节可能需要我进一步拆解和组织。 首先,我需要确认用户的问题核心:连接MQTTX到OneNet,并完成数据上报的配置和测试。可能涉及到OneNet Studio的产品和设备创建,MQTTX的参数配置,以及数据上报的具体方法。 接下来,我需要按照用户提供的引用内容来构建步骤。引用[2]提到了八个步骤,但用户的问题可能需要更具体的操作流程。例如,首先在OneNet创建产品、设备,获取连接信息,然后在MQTTX中配置这些参数,最后测试数据上报。 此外,用户可能还关心如何验证数据是否成功上报到平台,以及可能的常见错误和解决方法。不过用户的问题主要聚焦在详细步骤和配置方法,因此需要分步骤说明,确保每个环节清晰。 另外,需要注意使用中文回答,并且按照用户的要求,行内公式用$...$,独立公式用$$...$$,但在这个问题中可能用不上数学公式,不过要保持LaTeX语法正确。不过当前问题主要涉及操作步骤,可能不涉及数学表达式,但需要保持结构清晰,代码块正确。 最后,生成相关问题,可能需要考虑用户可能进一步想知道的内容,比如参数获取方法、数据格式、错误排查等。</think>以下是使用MQTTX工具连接OneNet平台并测试数据上报的详细步骤及配置方法: --- ### **一、OneNet平台准备** 1. **创建产品** - 登录OneNet Studio控制台,进入`产品开发`→`创建新产品` - 选择接入协议为**MQTT**,填写产品名称、行业类别等基本信息[^2]。 2. **创建设备** - 进入产品详情页,点击`设备管理`→`添加设备` - 记录生成的`设备ID`、`产品ID`及后续需用的`鉴权信息(如APIKey或Token)`。 3. **获取连接参数** - 在平台文档中查找MQTT接入域名及端口(一般为:`mqtts://studio-mqtt.heclouds.com:1883`) - 记录用户名格式:`产品ID;设备ID;签名方法` - 密码生成规则:需通过HMAC-SHA256算法对鉴权信息加密生成。 --- ### **二、MQTTX工具配置** 1. **新建连接** - 打开MQTTX客户端,点击`新建连接`,填写以下参数: ```python # 连接参数示例 名称:自定义(如OneNet_Test) 协议MQTT 主机:studio-mqtt.heclouds.com 端口:1883 客户端ID:设备ID 用户名:产品ID;设备ID;signmethod=sha256 密码:通过工具生成的加密字符串(如使用APIKey+时间戳+签名方法) ``` 2. **高级配置** - 启用SSL/TLS(若平台要求加密连接) - 设置心跳间隔(建议60秒) - 保留默认的MQTT版本(如3.1.1)[^1][^2]。 --- ### **三、数据上报测试** 1. **订阅平台Topic** - 在MQTTX中订阅OneNet数据接收Topic:`$sys/{产品ID}/{设备ID}/thing/property/post/reply` - 用于接收平台响应消息。 2. **发布数据报文** - 发布Topic填写:`$sys/{产品ID}/{设备ID}/thing/property/post` - 消息内容需符合OneNet JSON格式,例如: ```json { "id": "123", "version": "1.0", "params": { "temperature": {"value": 25.5}, "humidity": {"value": 60} } } ``` 3. **验证数据上报** - 返回OneNet控制台,进入设备详情页的`数据流`模块 - 查看是否成功显示上报的`temperature`和`humidity`数据。 --- ### **四、常见问题处理** - **连接失败**:检查鉴权信息加密是否正确,或尝试关闭SSL - **无数据响应**:确认Topic路径是否包含正确的产品ID和设备ID - **数据格式错误**:参考平台文档调整JSON结构。 ---
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

电子浅谈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值