一、 定义
MQTT(Message Queuing Telemetry Transport)是一种基于发布/订阅模式的轻量级物联网消息传输协议。它专为在低带宽、高延迟或不稳定的网络环境中运行的设备而设计。
二、 核心概念与工作流程
要理解MQTT,首先需要了解其架构中的三个核心角色和通信流程。
1. 核心角色
· 发布者:发送消息的客户端。
· 订阅者:接收消息的客户端。
· 代理:负责接收所有消息,并根据主题过滤后,再将消息分发给感兴趣的订阅者。它是整个通信的核心。
关键点:发布者和订阅者不需要知道彼此的存在,它们只与代理通信,实现了彻底的 “解耦”。
2. 主题
主题 是MQTT协议用于路由消息的机制。它是一个分层的字符串,类似于文件路径或URL,例如:home/living-room/temperature。
· 通配符:
o + :单层通配符。例如 home/+/temperature 可以匹配 home/living-room/temperature 和 home/kitchen/temperature。
o # :多层通配符,只能放在最后。例如 home/# 可以匹配所有以 home/ 开头的主题。
3. 工作流程
连接:客户端(发布者或订阅者)通过 TCP/IP 向 Broker 发起连接请求。
订阅:订阅者向 Broker 订阅其感兴趣的主题(如 sensors/temperature)。
发布:发布者向某个主题(如 sensors/temperature)发布一条消息。
路由与分发:Broker 收到消息后,会根据主题找到所有订阅了该主题的订阅者,并将消息发送给它们。
整个流程如下图所示,清晰地展示了消息如何通过代理从发布者路由到订阅者:

三、核心特征
这些规则共同塑造了MQTT独一无二的特征。
1、轻量级与高效
协议头非常小,最小只有2字节,极大地节省了网络带宽和设备功耗。
2、异步发布/订阅模式
•空间解耦:发布者和订阅者不需要知道彼此的网络地址。
•时间解耦:发布者和订阅者不需要同时在线。
•同步解耦:双方在通信过程中不会被阻塞,可以继续执行其他任务。
3、灵活可靠的消息传递
通过三层QoS,开发者可以根据业务场景在传输效率和可靠性之间做出精准权衡。
4、对不稳定网络的容错性
持久化会话 和遗嘱消息 机制,使得MQTT能够优雅地处理客户端的频繁断线重连,并及时感知设备异常离线。
5、安全性
•支持标准的用户名/密码认证。
•可以与 TLS/SSL 加密结合使用(通常使用端口8883),确保传输过程中的数据安全。
四、应用场景
MQTT的轻量、异步和可靠特性,使其在以下场景中大放异彩:
应用场景 | 场景描述 | 适合MQTT原因 |
物联网与M2M | 智能家居、环境监测、远程设备控制。 | 轻量级,适合资源受限的设备;低带宽,适合蜂窝网络;发布/订阅模式,轻松管理海量设备。 |
移动应用 | 即时通讯、新闻推送、社交应用通知。 | 省电,保活机制和轻量设计能有效延长移动设备电池寿命;异步通信,适应不稳定的移动网络。 |
车联网 | 车辆状态上报、远程诊断、OTA升级。 | 能够处理高延迟、不稳定的网络连接;QoS 确保关键指令可靠送达。 |
遥测与监控 | 工业4.0设备数据采集、能源管理系统。 | 低延迟,实时传输传感器数据;主题机制,方便对不同类型的数据进行分类和路由。 |
总之,MQTT是一个为物联网而生的、轻量级、基于发布/订阅模式的消息协议。它的高效性、可靠性和解耦特性,使其成为连接物理世界与数字世界的关键桥梁。
从IBM、Eclipse等开源社区到亚马逊、阿里云等商业巨头,广泛的生态支持确立了它在物联网领域不可动摇的核心地位,是万物互联时代的“隐形英雄”。
宏达信诺HXGE系列工业物联网关支持MQTT通信协议,在工业物联网体系中扮演着“承上启下”的智能边缘节点角色,它通过统一的协议转换与管理接口,负责将各类工业设备的数据汇聚并传输到云端。它是将传统“哑设备”工业体系,带入智能物联网时代的“桥梁”,是工业物联网落地不可或缺的关键基础设施
