MQTT是什么?消息队列遥测传输协议核心内容、应用领域一文梳理
导读 MQTT全称Message Queuing Telemetry Transport(消息队列遥测传输协议),是物联网领域最主流的轻量级通信协议。本文从发布/订阅架构、QoS三级保障、遗嘱机制、城市生命线应用等维度全面解读。
MQTT是什么?
MQTT 全称为 Message Queuing Telemetry Transport,中文译为消息队列遥测传输协议。
MQTT 是一种专门为物联网场景设计的轻量级通信协议。它的设计理念源于一个现实需求:如何让一个靠电池供电、网络带宽极低的地下管井传感器,把数据可靠地传到云端?
传统 HTTP 协议太"重"——每次通信需要完整的 TCP 握手和请求头,一个数据包几百字节。而传感器只想传 2 字节的温度值。MQTT 的最小报文仅 2 字节,功耗降低 90% 以上。
MQTT 采用发布/订阅(Pub/Sub)模型——设备把数据发布到"主题",需要数据的一方订阅该主题,中间的消息代理(Broker)负责转发。设备与应用之间完全解耦。
MQTT的核心特性
- 发布/订阅架构
-
Publisher:传感器、PLC、RTU 定时或事件驱动发布数据
-
Broker:MQTT 服务器的核心,接收、过滤、转发消息
-
Subscriber:SCADA 系统、数据中台、报警引擎同步接收
- QoS 三级服务质量
| QoS | 行为 | 适用场景 |
|---|---|---|
| QoS 0 | 至多一次,可能丢包 | 高频传感器(每秒上报温度) |
| QoS 1 | 至少一次,确保送达 | 报警事件(必须送达) |
| QoS 2 | 恰好一次,不丢不重 | 远程控制指令(关阀/启泵) |
- 遗嘱机制
传感器异常断连时,Broker 自动发布"设备离线"通知。这对城市生命线至关重要——区分"没报警"和"已失联"。
- 保留消息
新订阅者立即可获得最新数据,无需等待下个采集周期。
MQTT在城市生命线中的应用
城市生命线是 MQTT 的"标准主场":海量设备并发(单 Broker 百万级)、低带宽适应(NB-IoT 几十 kbps)、实时报警(秒级推送)、多系统数据分发(SCADA+GIS+报警引擎+大数据平台同步接收)。
结论
MQTT 是物联网时代的"通信普通话",解决了"如何让海量低功耗传感器可靠实时地把数据传到云端"的核心难题。
参考文献
-
MQTT.org. MQTT Specification v5.0
-
中科复兴. 公司画册 3.0. 城市生命线安全综合解决方案