PUBLISH控制报文是指从客户端向服务端或者服务端向客户端传输一个应用消息。
固定报头:
我们使用的是阿里云自带的调试,然后分析数据,并且用同样的方法给服务器进行数据上报
进入监控运维,然后点击在线调试
选择电源开关状态,然后点击设置
此时我们可以看到网络助手收到的数据
将数据复制过来,然后进行分析
30 9A 01 00 33 2F 73 79 73 2F 61 31 67 6D 6B 36 74 59 41 57 53 2F 54 65 73 74 30 30 31 2F 74 68 69 6E 67 2F 73 65 72 76 69 63 65 2F 70 72 6F 70 65 72 74 79 2F 73 65 74 7B 22 6D 65 74 68 6F 64 22 3A 22 74 68 69 6E 67 2E 73 65 72 76 69 63 65 2E 70 72 6F 70 65 72 74 79 2E 73 65 74 22 2C 22 69 64 22 3A 22 38 37 36 35 34 39 31 35 39 22 2C 22 70 61 72 61 6D 73 22 3A 7B 22 50 6F 77 65 72 53 77 69 74 63 68 22 3A 30 7D 2C 22 76 65 72 73 69 6F 6E 22 3A 22 31 2E 30 2E 30 22 7D
30 9A
首位置为,长度加1
长度为 9A 01
首位置0,数据+128=
0x1A+128 = 154
然后再往后面看,长度为 00 33
转换为10进制为51,那么我们就往后面数51个数据
2F 73 79 73 2F 61 31 67 6D 6B
36 74 59 41 57 53 2F 54 65 73
74 30 30 31 2F 74 68 69 6E 67
2F 73 65 72 76 69 63 65 2F 70
72 6F 70 65 72 74 79 2F 73 65 74
转换为string为/sys/a1gmk6tYAWS/Test001/thing/service/property/set
然后再看后面的数据
7B 22 6D 65 74 68 6F 64 22 3A 22 74 68 69 6E 67 2E 73 65 72 76 69 63 65 2E 70 72 6F 70 65 72 74 79 2E 73 65 74 22 2C 22 69 64 22 3A 22 31 38 35 34 36 35 39 39 30 33 22 2C 22 70 61 72 61 6D 73 22 3A 7B 22 50 6F 77 65 72 53 77 69 74 63 68 22 3A 30 7D 2C 22 76 65 72 73 69 6F 6E 22 3A 22 31 2E 30 2E 30 22 7D
转换为string
{“method”:“thing.service.property.set”,“id”:“1854659903”,“params”:{“PowerSwitch”:0},“version”:“1.0.0”}
这个数据为json格式的数据,然后我们回到阿里云平台
看到属性设置的内容就是刚刚服务器下发的内容
我们这边要上报属性,那么用到的就是
/sys/a1gmk6tYAWS/Test001/thing/event/property/post
然后再查看物模型,找到post属性
我们要发送的内容为
{“method”:“thing.event.property.post”,“id”:“1854659903”,“params”:{“PowerSwitch”:0},“version”:“1.0.0”}
合起来就为
30 99 01
00 32 2F 73 79 73 2F 61 31 67 6D 6B 36 74 59 41 57 53 2F 54 65 73 74 30 30 31 2F 74 68 69 6E 67 2F 65 76 65 6E 74 2F 70 72 6F 70 65 72 74 79 2F 70 6F 73 74
7B 22 6D 65 74 68 6F 64 22 3A 22 74 68 69 6E 67 2E 65 76 65 6E 74 2E 70 72 6F 70 65 72 74 79 2E 70 6F 73 74 22 2C 22 69 64 22 3A 22 30 30 30 30 30 30 30 30 30 31 22 2C 22 70 61 72 61 6D 73 22 3A 7B 22 50 6F 77 65 72 53 77 69 74 63 68 22 3A 30 7D 2C 22 76 65 72 73 69 6F 6E 22 3A 22 31 2E 30 2E 30 22 7D
再回到阿里云物联网平台,点击设备,物模型数据,开启实时刷新
然后连接服务器,将数据发送到服务器,这个时候已经可以看到电源开关的状态了
基于阿里云的MQTT协议入门八:PUBLISH 发布消息
最新推荐文章于 2024-09-02 22:02:00 发布