OpenVINOTM,给你看得见的未来!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » STM32G070RB探测36-MQTT协议剖析3PUBLISH①

共3条 1/1 1 跳转至

STM32G070RB探测36-MQTT协议剖析3PUBLISH①

高工
2021-05-30 01:39:04    评分
今天来剖析一下mqtt里的消息上报,即PUBLISH – 发布消息

PUBLISH 控制报文是指从客户端向服务端或者服务端向客户端传输一个应用消息。

也是分为,固定报头、可变报头、有效载荷

老规矩,先抓个包

再看文档

固定报头

重发标志 DUP

服务质量等级 QoS等级

保留标志 RETAIN

剩余长度(跟之前一样)

对应抓取协议中的 0x30 0x5E,其中重发标志、服务质量等级、保留标志都为0 长度为94

可变报头

很简单,一个主题名,一个报文标识符

其中当固定报头中服务质量等级为0时,就没有了报文标识符,所以就只剩一个主题名

主题名

示例中以 a/b为例,先时长度高低位,然后字符完事

也能跟抓取的对照上

有效负载

很简单,就是需要上报的内容

根据onenet要求,需要这样的格式

{"id": 123, "dp": {"tem": [{"v": 30, }],"hum": [{"v": 4.5,}]}}

按格式自己写了一个,发送的是这个,跟上边也对的上

下篇撸程序



高工
2021-05-30 23:46:34    评分
2楼

感谢分享


工程师
2021-06-12 23:59:23    评分
3楼

感谢分享


共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]