我是靠谱客的博主 简单御姐,最近开发中收集的这篇文章主要介绍mqtt调试助手_腾讯物联网开发平台入门操作,如何使用MQTT协议上传温度湿度数据...,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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

e882b7904497ab3273dda66f913b90cc.png

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

25a92f493621462a2915953b827b4ba3.png

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

3d925992fc3239ceec464f496c26dc78.png

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

7adc01adeb5c709c6082e4b4f62e91fe.png

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

e18ac58b90aab7d9b5a781efd1017948.png

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

9d5ece1413dc89a06eaa274592979e16.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报文。

3149d716c4493dce0e0691814a0fac02.png

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

60e7dd3c18da63162de018a441eaf323.png

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

d6697f7b5c4bd63165fc39ac6b200bdf.png

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

最后

以上就是简单御姐为你收集整理的mqtt调试助手_腾讯物联网开发平台入门操作,如何使用MQTT协议上传温度湿度数据...的全部内容,希望文章能够帮你解决mqtt调试助手_腾讯物联网开发平台入门操作,如何使用MQTT协议上传温度湿度数据...所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(72)

评论列表共有 0 条评论

立即
投稿
返回
顶部