物联网通信技术与智能城市应用解析
1. MQTT协议基础
MQTT(Message Queue Telemetry Transport)采用发布/订阅模型进行通信,实现了一对多的数据分发。在该模型中,发送方无需知晓接收方的任何信息,包括目标地址;接收方同样无需了解发送方。具体流程如下:
- 发送应用或设备(如NB - IoT设备)通过eNodeB将消息发布到MQTT服务器(也称为代理)。
- 其他连接到eNodeB的MQTT客户端可以订阅MQTT服务器,以接收它们感兴趣的数据。
2. MQTT发布/订阅模型的关键要素
- 主题与订阅 :客户端向主题(通常代表特定主题领域)发布消息,也可订阅主题以接收相关消息。订阅方式有两种:
- 显式订阅:仅接收特定主题的消息。
- 通配符订阅:使用如“#”等通配符,接收多个相关主题的消息。
- 保留消息 :MQTT服务器在向所有订阅者发送消息后,仍可保留该消息。当有新的订阅者订阅同一主题时,服务器会将保留消息发送给新订阅者。
- 遗嘱消息 :客户端连接服务器时,可告知服务器其有遗嘱消息。在意外断开连接时,该消息将被发布到特定主题,这在报警场景中尤为有用。
- 服务质量等级 :MQTT支持三种服务质量(QoS)等级,确保消息从客户端到服务器以及从服务器到其他客户端的可靠传递:
| QoS等级 | 描述 | 握手方式