欢迎光临散文网 会员登陆 & 注册

Onenet 物联网Mqtt初探(MQTT.fx模拟登陆与数据收发)

2021-07-28 15:08 作者:学的很杂的一个人  | 我要投稿


第一步、在onenet平台上建立基于mqtt产品与设备



添加设备



开始模拟链接:

MQTT客户端1.7.1下载:https://open.iot.10086.cn/doc/mqtt/book/get-start/connect.html


下载完成,双击开始安装:

我的空间不多了自定义安装在D盘,下一步


下一步



安装完成,打开。



添加新设备信息:


 

开始修改参数(先看官方截图):


Broker Address:183.230.40.96

Broker Address连接地址也可以是域名:mqtts.heclouds.com

Broker Prot(端口):1883

Client ID: 设备名称

User Name:产品的数字ID

注:我们这里用的是非加密接口,加密接口需要下载安装证书。


Password:看以下生成方法

 

OneNET提供token生成工具(点击下载)

https://open.iot.10086.cn/doc/mqtt/images/tools/token.exe

 

1、填入products/产品ID/devices/设备名称

2、填入以上获得的时间戳

在线时间戳:https://tool.chinaz.com/Tools/unixtime.aspx


当然理论上你设置大多少都可以的,只要比当前时间大

3、设备key

点击generate按键生成:

version=2018-10-31&res=products%2F448854%2Fdevices%2Fmy_pc1&et=1752940800&method=md5&sign=PefA%2BfTBddIACekb0EBvhg%3D%3D

复制填入mqtt测试工具,点击ok:


开始连接:




去onenet平台查看设备情况


显示在线,运行成功!欢呼~~~~!!!

 

以下完全根据onenet文档操作:

上传数据点

订阅上传结果通知消息

 

为了确保设备上传消息确实被平台所接受处理,设备可以订阅系统 topic 获取上传数据点结果消息;

 

选择Subscribe项,输入订阅topic名称

 

    topic 命名规则如下:

    $sys/{pid}/{device-name}/dp/post/json/+

    本例中,订阅topic为:

$sys/448854/my_pc1/dp/post/json/+

点击 Subscribe,完成 topic 订阅


设备数据点上传

选择Publish项,输入发布 topic

topic 命名规则如下:
$sys/{pid}/{device-name}/dp/post/json
本例中,发布 topic 名称为:
$sys/448854/my_pc1/dp/post/json

payload示例如下:


点击 Publish,上传数据点至平台

完成后,可以通过 Subscribe可以接收到平台下发的上传结果通知,若通过.../accepted topic接收到消息,则表明平台处理消息成功


控制台查看数据

上传数据成功后,可以通过控制台 设备列表 -> 数据流,查看设备上传的数据点


 


 

接入实例 - 同步命令

本文将通过 MQTT.fx 实例,介绍如何通过设备同步命令下发命令与获取设备应答


MQTT客户端1.7.1下载:

http://www.jensd.de/apps/mqttfx/1.7.1/

 

准备条件

在上传数据点前,请完成产品与设备的创建,并进行设备连接,步骤参考

设备连接实例:https://open.iot.10086.cn/doc/mqtt/book/example/connect.html


订阅设备命令topic

建立设备连接之后,获取设备命令前,必须先订阅系统命令topic:$sys/{pid}/{device-name}/cmd/request/{cmdid}

topic中{cmdid}为变量,为每条命令的唯一id,可通过通配符的方式进行订阅,比如:$sys/{pid}/{device-name}/cmd/request/+,或者$sys/{pid}/{device-name}/cmd/#

我这里是:

$sys/448854/my_pc1/cmd/#


控制台下发命令

通过设备列表 -> 更多操作 -> 下发命令,打开命令调试工具



控制台虽然返回错误信息,但其实本地端数据已经收到,目前若没做响应处理将导致的返回结果错误。

使用MQTT.fx发布消息至对应topic,模拟设备应答(应答内容为abcd),如下图所示:

本例中,应答对应的topic为:

$sys/448854/my_pc1/cmd/response/4c2f6f80-b204-4a27-8848-edeaa1e97e02


返回成功,好了,这次简单试运行就到此结束了。


Onenet 物联网Mqtt初探(MQTT.fx模拟登陆与数据收发)的评论 (共 条)

分享到微博请遵守国家法律