大家好,超子又和大家见面了,超子我能力有限,技术不高,有什么错误的地方,欢迎板砖。今天我们测试一下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 22 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
我们再看一下刚刚构建好的数据,长度总共是75个字节,那么剩余长度=可变+负载=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报文。
实际测试等级0的PUBLISH报文
我们首先发送CONNECT报文,成功后,发送PUBLISH报文,因为是等级0,所以服务器不会有什么回复,我们需要到后台看一下,数据有没有上传到后台。
查看数据是否正确上传
左侧导航栏选择监控中心,我们可以看到22.2和33.3已经显示了,说明我们上传数据的等级0的PUBLISH报文正确,我们还可点击左边红圈中的历史查询。
查看历史数据和统计
可以查询历史数据,以及查看数据统计。
下载历史数据
我们还可以选择左侧导航栏的数据下载,选择需要下载数据的设备,然后再右侧的红圈中,设置需要下载的数据时间段和邮箱即可下载历史数据,非常的方便。