PCB抄板MQTT 协议基本格式
PCB抄板MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种发布 / 订阅(publish/subscribe)模式的轻量级通讯协议,该协议构建于 TCP/IP 协议之上,由 IBM 在 1999 年发布。MQTT 最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。
MQTT 是基于 TCP 的应用层协议,与 http、ftp 协议是处于同一层。几乎所有使用 ESP32 接入 IOT 物联网的项目中,都用的是 MQTT 协议,因此我们有必要学习 MQTT 协议基本内容。
1. PCB抄板MQTT 基本报文格式
MQTT 协议报文整体框架分为三部分:
表格
固定报头(fixed header) 可变报头(variable header) 荷载(payload)
所有报文都包含 部分报文包含 部分报文包含
1)固定包头(Fixed Header)
固定包头由如下构成:
第一字节 4~7 位用于表示报文类型,0~3 位用于每种报文的特殊标志位。
第二字节起为剩余长度:表示当前报文剩余部分(可变报头 + 荷载)占用的字节数。剩余长度采用可变长度编码方式,最多占用 4 字节。
MQTT 报文类型(第一字节高 4 位)
CONNECT:客户端请求连接服务端
CONNACK:连接确认
PUBLISH:发布消息
PUBACK:发布确认(QoS1)
PUBREC:收到发布(QoS2 第一步)
PUBREL:释放消息(QoS2 第二步)
PUBCOMP:发布完成(QoS2 第三步)
SUBSCRIBE:客户端订阅主题
SUBACK:订阅确认
UNSUBSCRIBE:取消订阅
UNSUBACK:取消订阅确认
PINGREQ:心跳请求
PINGRESP:心跳响应
DISCONNECT:断开连接
AUTH:认证扩展(MQTT5 新增)
低 4 位标志位:不同报文类型有专属标识,例如 PUBLISH 报文包含 DUP 重发标志、QoS 等级、RETAIN 保留标志。

芯片解密