mqtt报文解析
首先发送
|securemode=3,signmethod=hmacsha1| 客户端ID
&# 用户名
clientIddevicenameproductkey# 密码
*代表 设备名
#代表 productkey
华东2IP #.iot-as-mqtt.cn-shanghai.aliyuncs.com
连接阿里云
报文 数据长度(10个可变报头+2+客户端ID+2+用户名+2+密码,密码需要进行hmacsha1加密 )
长度的规则
报文的内容
10 数据长度 00 04 4d 51 54 54 04 c2 00 64 客户端ID长度 客户端ID 用户名长度 用户名 密码长度 密码
订阅主题报文
数据长度=2个可变报头(00 01 报文的id多个下位机发数据时,就时确定是谁发的)+topic_name+1服务等级
82 数据长度 00 01 topic长度 topic 服务等级
Topic:/sys/ghv1GSejQmK/Device/thing/service/property/set
82 37 00 01
00 32 2F 73 79 73 2F 67 68 76 31 47 53 65 6A 51 6D 4B 2F 44 65 76 69 63 65 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 00
发布数据报文
30 固定报头
9E 01 数据长度
00 31 2F 73 79 73 2F 67 68 76 31 47 53 65 6A 51 6D 4B 2F 44 65 76 69 63 65 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 (发布的主题)
/sys/ghv1GSejQmK/Device/thing/event/property/post
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 31 32 33 34 35 36 37 38 39 22 2C 22 70 61 72 61 6D 73 22 3A 7B 22 73 77 69 74 63 68 3A 4C 69 67 68 74 53 77 69 74 63 68 22 3A 31 7D 2C 22 76 65 72 73 69 6F 6E 22 3A 22 31 2E 30 2E 30 22 7D(发布的数据)
{“method”:“thing.event.property.post”,“id”:“123456789”,“params”:{“switch:Humidity”:31,“switch:temperature”:26},“version”:“1.0.0”}
提醒根据数据量的大小要修改缓冲区的长度