MQTT协议
MQTT是轻量级基于代理的发布/订阅的消息传输协议,它可以通过很少的代码和带宽和远程设备连接。例如通过卫星和代理连接,通过拨号和医疗保健提供者连接,以及在一些自动化或小型设备上,而且由于小巧,省电,协议开销小和能高效的向一和多个接收者传递信息,故同样适用于称动应用设备上。
Mqtt协议特点:
1.使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合。
2.协议简单,最小的头部只需2个字节,特别适合于嵌入式中。
3.对负载内容屏蔽的消息传输。
4.使用 TCP/IP 提供网络连接。
5.有三种消息发布服务质量:
(1) “至多一次”,消息发布完全依赖底层 TCP/IP 网络。会发生消息丢失或重复。这一级别可用于如下情况,环境传感器数据,丢失一次读记录无所谓,因为不久后还会有第二次发送。
(2) “至少一次”,确保消息到达,但消息重复可能会发生。
(3) “只有一次”,确保消息到达一次。这一级别可用于如下情况,在计费系统中,消息重复或丢失会导致不正确的结果。
6. 使用 Last Will 和 Testament 特性通知有关各方客户端异常中断的机制。
PUB/SUB 模型

Mqtt结构
固定头部,使用两个字节,共16位:
| bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
| byte 1 |
Message Type |
DUP flag |
QoS level |
RETAIN |
||||
| byte 2 |
Remaining Length |
|||||||
消息类型
使用4位二进制表示,可代表16种消息类型
| Mnemonic |
Enumeration |
Description |
| Reserved |
0 |
Reserved----保留待用 |
| CONNECT |
1 |
Client request to connect to Server----客户端连接请求 |
| CONNACK |
MQTT协议详解:发布/订阅模型与服务质量

本文深入探讨MQTT协议,这是一种轻量级的发布/订阅消息协议,常用于物联网和嵌入式设备。其特点是使用TCP/IP连接,提供三种服务质量:至多一次、至少一次和只有一次,确保消息可靠性。此外,MQTT还支持Last Will和 Testament特性,以应对客户端异常中断的情况。文中通过实例详细解析了MQTT的结构、消息类型和QoS等级。
最低0.47元/天 解锁文章
996

被折叠的 条评论
为什么被折叠?



