基于阿里云的MQTT协议入门八:PUBLISH 发布消息

PUBLISH控制报文是指从客户端向服务端或者服务端向客户端传输一个应用消息。
固定报头:
基于阿里云的MQTT协议入门八:PUBLISH 发布消息_第1张图片
我们使用的是阿里云自带的调试,然后分析数据,并且用同样的方法给服务器进行数据上报
基于阿里云的MQTT协议入门八:PUBLISH 发布消息_第2张图片
进入监控运维,然后点击在线调试
选择电源开关状态,然后点击设置
基于阿里云的MQTT协议入门八:PUBLISH 发布消息_第3张图片
此时我们可以看到网络助手收到的数据
基于阿里云的MQTT协议入门八:PUBLISH 发布消息_第4张图片
将数据复制过来,然后进行分析
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
基于阿里云的MQTT协议入门八:PUBLISH 发布消息_第5张图片
首位置为,长度加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格式的数据,然后我们回到阿里云平台
基于阿里云的MQTT协议入门八:PUBLISH 发布消息_第6张图片
看到属性设置的内容就是刚刚服务器下发的内容
基于阿里云的MQTT协议入门八:PUBLISH 发布消息_第7张图片
我们这边要上报属性,那么用到的就是
/sys/a1gmk6tYAWS/Test001/thing/event/property/post
基于阿里云的MQTT协议入门八:PUBLISH 发布消息_第8张图片
然后再查看物模型,找到post属性
基于阿里云的MQTT协议入门八:PUBLISH 发布消息_第9张图片
我们要发送的内容为
{“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 发布消息_第10张图片
然后连接服务器,将数据发送到服务器,这个时候已经可以看到电源开关的状态了
基于阿里云的MQTT协议入门八:PUBLISH 发布消息_第11张图片
基于阿里云的MQTT协议入门八:PUBLISH 发布消息_第12张图片
基于阿里云的MQTT协议入门八:PUBLISH 发布消息_第13张图片

你可能感兴趣的:(MQTT,物联网,阿里云,mqtt,阿里云,物联网)