选协议就像选工具,场景不对全白费
"你们的平台支持 MQTT 吗?""Modbus-RTU 能对接吗?"——这两个问题几乎出现在每一次客户技术沟通中。很多工程商和工厂 IT 负责人在协议选择上存在困惑:到底该用 MQTT 还是 Modbus?
答案是:**看场景,不是看协议好坏。两者不是替代关系,而是互补关系。**
Modbus-RTU:设备层的"普通话"
Modbus 诞生于 1979 年,是工业自动化领域事实上的通用语言。几乎所有 PLC、变频器、智能仪表都支持 Modbus。
**Modbus-RTU 的特点:**
**最适合的场景:**
✅ 设备本地采集——PLC 读变频器、仪表数据
✅ 同一电气柜内的传感器集中采集
✅ 对实时性要求高(100ms 级轮询)
✅ 已有 RS-485 布线的老工厂
**不适合的场景:**
❌ 远距离跨区域传输(单条总线 1200 米限制)
❌ 需要设备主动上报(主从架构,从站不能主动发数据)
❌ 移动网络环境(4G/5G 场景下 TCP 不稳定)
MQTT:云端的"快递员"
MQTT 是 IBM 在 1999 年为石油管道传感器监测设计的轻量级协议,天生适合物联网场景。
**MQTT 的特点:**
**最适合的场景:**
✅ 远程设备数据上报(跨城市、跨园区)
✅ 电池供电的低功耗传感器(NB-IoT + MQTT)
✅ 需要设备离线检测的场景
✅ 一对多数据分发(一条数据多个系统同时消费)
**不适合的场景:**
❌ 100ms 级高速轮询(发布/订阅模式有延迟)
❌ 纯本地闭环控制(MQTT 依赖 Broker,断网不可用)
实际部署中的"双协议栈"
在智源云盾 AIoT 平台的实际部署中,最常见的架构是:
```text
传感器 → 4-20mA/RS-485 → 本地 DTU/网关 → MQTT → 云平台
└── Modbus-RTU ──┘ └─ 4G/Ethernet ─┘
```
这种架构取两者之长:本地采集用 Modbus 保证实时性和可靠性,云端传输用 MQTT 保证灵活性和扩展性。
快速选型决策表
| 你的场景 | 推荐协议 | 原因 |
|---|---|---|
| PLC 采集同一车间内的传感器 | Modbus-RTU | 近距离、高实时性 |
| 跨城市、跨园区的设备远程监测 | MQTT | 跨公网传输 |
| 电池供电的无线传感器 | MQTT-SN / NB-IoT | 低功耗广域网 |
| 已有 DTU 的利旧接入 | DTU 支持的协议 | 不换硬件 |
| 需要设备离线实时告警 | MQTT | 遗嘱机制自动检测 |
**协议没有好坏,只有合不合适。最好的方案是:现场用什么协议我们都能接,云端统一 MQTT 上云。**