大家好,超子又和大家见面了,超子我能力有限,技术不高ꦓ,有什么错误的地方,欢迎板砖。今天我们测试一下Tlink物联网平台上传数据的功能,也就是构建一下发布数据的PUBLISH报文命令。Tlink物联网平台有一个很好用的功能就是可以方便的下载🌳历史数据。
首先我们登陆管理台,然后🥃进入设备管理界面,我们使用数据设备测试上传数据的功能。🍌我们点击右侧红圈所示的数据设备的设置连接按键。
我们在建立数🌺据设备时,创建了两个传感器,一个温度temp,一个湿度humi,我们要注意一点,上传数据的时候,我们是以红圈中的读写标识为准的,超子习惯将读写标识和传感器名称设置成一样的,方便观察和识别。
读写标识是构建♛数据的关🌠键信息,假设我们需要上传温度数据22.2,湿度数据33.3,那么数据格式如下所示:
{"sensorDatas":[{"flag":"temp","value":22.2},{"flag":"humi","🌞value":33.3}]}
注意里面的temp和humi对应读写标识,不能写错了,写错了ᩚᩚᩚᩚᩚᩚᩚᩚᩚ𒀱ᩚᩚᩚ数据就找不到家了。我们换成16进制,简化书写,去掉0x的结果如下,这个就是我们的等级0的PUBLISH报文的负载内容:
7B 22 73 65 6E 73 6F 72 44 61 74 61 73 22 3A 5B 7B 22 66 6C 61 67 22 3A 22 74 65 6D 70 22 2C 22 76 61 6C 75 65 22 3A 32 32 2E 32 7D 2C 7B 22 66 6C 61♈ 67 22 3A 22 68 75 6D 69 2ꦇ2 2C 22 76 61 6C 75 65 22 3A 33 33 2E 33 7D 5D 7D
然后我们再来看等级0的PUBLISH报文的固定报头,是0x30 ??,??是剩余长度,负载已经构建ℱ好了,等我们确定了可变报头之后,再计算剩余长度。可变报头是发布数据用的Topic,我们上传后台数据时,需要使用的Topic是设备的序列号,数据设备的序列号是42CR0B1Q5PQVM7FW,简化书写去掉0x的结果如下:
34 32 43 52 30 42 31 51 35 50 51 56 4D 37 46 57
总长度的是16,然后不要忘了再加上2个字节表示长度16,所以可变报头最终结果如下,总共18个字节:
00 10 34 32 43 52ཧ 30 42 31 51 35 50 51 56 4D 37 46 57
我们再看一下刚刚构建好的数据,长🍒度总共是7💃5个字节,那么剩余长度=可变+负载=18+75=93,一个字节就行,16进制是0x5D,那么固定报头就是0x30 0x5D,然后我们把固定,可变和负载,3个部分连接起来,16进制,简化书写,去掉0x:
30 5D 00 10 34 32 43 52 30 42 31 51 35 50 51 56 4D 37 46 57 7Bඣ 22 73 65 6E 73 6F 72 44 61 74 61 73 22 3A 5B 7B 22 66 6C 61 67 22 3A 22 74 65 6D 70 22 2C 22 76 61 6C 75 65 22 3A 32 32 2E 32 7D 2C 7B 22 66 6C 61 67 22 3A 22 68 75 6D 69 22 2C 22 76 61 6C 75 65 22 3A 33 33 2E 33 7D 5D 7D
到此整个往𓆉Tlink物联网平台服务器上传数据的,等级ꦅ0的PUBLISH报文就构建好了。我们需要用网络调试助手软件,实际测试一下,要注意先发CONNECT报文之后,再发我们的PUBLISH报文。
我们首先发送CONNECT报文,成功后,发送PUBLISH报文,因为是等级0,所以服务器不会有什么👍回复,我们需要到后台看一下,数据有没有上传到后台。
左🍒侧导航栏选择监控中心,我们可以看到22.2和33.3已经显示了,说明我们上传数据的等级0的PUBLISH报文正确,我们还可点击左边红圈中的历史查询。
可以查询历史数据,以及查看数据统计。
我们😼还可以选择左侧导航栏的数据下载,ꦿ选择需要下载数据的设备,然后再右侧的红圈中,设置需要下载的数据时间段和邮箱即可下载历史数据,非常的方便。