mqtt调试助手_远程温湿度数据监控,腾讯物联网平台,MQTT协议数据上传

今天我们测试一下腾讯云的物联网开发平台上传数据的功能,也就是构建一下发布数据的PUBLISH报文命令,上传温湿度数据。

632a8c86a652c092f6e9cf48e2ee60e0.png

我们接着使用前文中的D001设备,但是D001的品类是插座,并没有温度和湿度的功能属性,我们选择上图红圈中的数据模板,我们添加自定义功能。

6ce55eb9e71c8dcdca65e16685614783.png

在数据模板界面中,我们需要在自定义功能处,点击新建功能,自己添加温度和湿度的功能属性。

c94ab2f5a1c1172f94bd5e3987ca8715.png

我们先添加一个温度的功能属性,功能名称和标识符,设置成了temp,数据类型是浮点型,温湿度数据只是用于数据监控查看,所以选择只读类型。数值范围可以根据自己的要求设置,最后点击保存即可。

219b9a9da20981d622391fb98cf204c8.png

然后我们接着添加湿度功能属性,功能名称和标识符设置成humi,也是浮点型数据,范围0~100,只读类型,然后点击保存即可。

67c09df88083f2b994e5a3c11d3643db.png

建立成功后,我们可以在自定义功能列表中看到刚才建立的temp和humi功能属性。

641faa62c64ba89a5b42c842407259c1.png

在测试上传数据时,一点要先发送CONNECT报文,等待设备在线后,才能开始上传数据。假设我们需要上传温度数据22.2,湿度数据33.3,那么数据格式如下所示:

{"method":"report","clientToke":"123","params":{" temp ":22.2,"humi":33.3}}

注意里面的temp和humi对应刚才建立的自定义功能temp和humi 的标识符,一定记住是标识符,不能写错了,写错了数据就找不到家了。数据总长73个字节,我们换成16进制,简化书写,去掉0x的结果如下:

7B 22 6D 65 74 68 6F 64 22 3A 22 72 65 70 6F 72 74 22 2C 22 63 6C 69 65 6E 74 54 6F 6B 65 22 3A 22 31 32 33 22 2C 22 70 61 72 61 6D 73 22 3A 7B 22 74 65 6D 70 22 3A 32 32 2E 32 2C 22 68 75 6D 69 22 3A 33 33 2E 33 7D 7D

我们将要构建的是等级0的PUBLISH报文,方向是C->S,也就是发布数据到服务器后台,首先固定报头是0x30 ??,??是剩余长度,负载已经构建好了,等我们确定了可变报头之后,再计算剩余长度。可变报头是发布数据用的Topic,我们上传后台数据时,需要使用的Topic是$thing/up/property/65NJZ04A1B/D001,不同的产品设备,产品ID和设备名称不同,要注意对65NJZ04A1B/D001这部分进行替换,我们把Topic换成16进制,简化书写去掉0x的结果如下,

24 74 68 69 6E 67 2F 75 70 2F 70 72 6F 70 65 72 74 79 2F 36 35 4E 4A 5A 30 34 41 31 42 2F 44 30 30 31

长度34个字节,根据MQTT协议对格式的要求,不要忘了在Topic数据前加上2个字节表示长度34,所以可变报头最终结果如下,总共36个字节:

00 22 24 74 68 69 6E 67 2F 75 70 2F 70 72 6F 70 65 72 74 79 2F 36 35 4E 4A 5A 30 34 41 31 42 2F 44 30 30 31

可变报头和负载都确定好了,那么剩余长度=可变+负载=36+73=109,一个字节就行,16进制是0x6F,那么固定报头就是0x30 0x6F,然后我们把固定,可变和负载,3个部分连接起来,16进制,简化书写,去掉0x:

30 6D 00 22 24 74 68 69 6E 67 2F 75 70 2F 70 72 6F 70 65 72 74 79 2F 36 35 4E 4A 5A 30 34 41 31 42 2F 44 30 30 31 7B 22 6D 65 74 68 6F 64 22 3A 22 72 65 70 6F 72 74 22 2C 22 63 6C 69 65 6E 74 54 6F 6B 65 22 3A 22 31 32 33 22 2C 22 70 61 72 61 6D 73 22 3A 7B 22 74 65 6D 70 22 3A 32 32 2E 32 2C 22 68 75 6D 69 22 3A 33 33 2E 33 7D 7D

到此整个往腾讯云的物联网开发平台上传数据的,等级0的PUBLISH报文就构建好了。我们需要用网络调试助手软件,实际测试一下,一定要注意先发CONNECT报文之后再发我们的PUBLISH报文。

ab18fd912988c55066e398d45592afe4.png

我们首先发送CONNECT报文,成功后,发送PUBLISH报文,因为是等级0,所以服务器不会有什么回复,我们需要到后台看一下,数据有没有上传到后台。

66d11e050dffdf54658100b77b2b2f33.png

我们需要先点击D001,进入设备详情页面。

ba73b8bcdb4540cd0b343c939828d9e0.png

我们选择设备属性,可以看到22.2和33.3已经上传到后台中了,说明我们等级0的PUBLISH报文正确。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值