发布json数据_物联网MQTT—发布消息

点击上方“果果小师弟”,选择“置顶/星标公众号

干货福利,第一时间送达!

a58ddb884e17752d76efdbf1044ce7a9.gif

发布消息的单词为publish。PUBLISH 控制报文是指从客户端向服务端或者服务端向客户端传输一个应用消息。我们这里的Qos等级为: 00 。

一、发布消息

1.服务端向客户端传输一个应用消息

1.1固定报头

b9199be6e6d04a38275f5d18f52e3e0b.png

1.2.可变报头

发布消息中的可变报头不包含报文标识符,只包含主题名Topic Name。主题名(Topic Name)用于识别有效载荷数据应该被发布到哪一个信息通道。名 必须是 PUBLISH 报文可变报头的第一个字段。只有当 QoS 等级是 1 或 2 时,报文标识符(Packet Identifier)字段才能出现在 PUBLISH 报文中。我们这里设置的 QoS 等级为0,所以报文标识符不会出现在 PUBLISH 报文中。

ea2003d655ed0302ece1f893a62b27ee.png
主题名:/sys/a10zwkUxQUS/LY-1/thing/service/property/set

相应的16进制:

4523fb9edd9df292aa49ccbea3520fb7.gif

  • 2F 73 79 73 2F 61 31 30 7A 77 6B 55 78 51 55 53 2F 4C 59 2D 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  共48个字节(0x30)
    也就是00 30 2F 73 79 73 2F 61 31 30 7A 77 6B 55 78 51 55 53 2F 4C 59 2D 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

1.固定报头为:30 ??
2.可变报头为:00 30 2F 73 79 73 2F 61 31 30 7A 77 6B 55 78 51 55 53 2F 4C 59 2D 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
最终为:

  • 30 ?? 00 30 2F 73 79 73 2F 61 31 30 7A 77 6B 55 78 51 55 53 2F 4C 59 2D 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

1.3.有效载荷

有效载荷包含将被发布的应用消息。数据的内容和格式是应用特定的。有效载荷的长度这样计算:用固定报头中的剩余长度字段的值减去可变报头的长度。包含零长度有效载荷的 PUBLISH 报文是合法的。

e6e8291dc5b56f44e7df039b64969fca.png

有效载荷包含将被发布的应用消息。数据的内容和格式是应用特定的—JSON。这个JSON的内容就是服务端要发送给客户端的数据。
现在就需要得到有效载荷:有效载荷我们通过服务端下发给客户端,操作如下:

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值