对比
OPC UA vs MQTT
简短回答:它们解决不同的问题,而且越来越多地协同工作。OPC UA 是面向设备互操作的安全、语义丰富的标准。MQTT 是为在不可靠链路上传输遥测数据而设计的轻量级发布-订阅传输。你甚至可以让 OPC UA 运行在 MQTT 之上。
| OPC UA | MQTT | |
|---|---|---|
| 它是什么 | 完整的互操作性标准(模型 + 服务 + 传输) | 仅是一种消息传输(发布/订阅) |
| 数据含义 | 丰富的、自描述的信息模型 | 无:负载不透明(常为 JSON/Sparkplug) |
| 模型 | client-server 和 PubSub | 通过 broker 的发布-订阅 |
| 安全 | 内建(证书、签名、加密、授权) | TLS + 用户名/密码;其余须由应用自行补充 |
| 资源占用 | 更重 | 非常轻量 |
| 规模(大量节点) | 良好(尤其是 PubSub) | 极好:数以百万计的客户端 |
| 最擅长 | 车间上的机器互操作性与控制 | 边缘到云遥测,网络条件较差 |
何时选择 OPC UA
- 你需要在机器与系统之间进行安全的双向通信。
- 你需要厂商间互操作性和自描述数据(浏览一台服务器就能理解它)。
- 你在做控制或丰富的按需访问,而不只是遥测。
什么时候选择 MQTT
- 你在做边缘到云的数据推送,尤其是在受限或不可靠的链路上。
- 你需要连接数千到数百万台轻量级设备。
- 你想要最小的占用和简单的、基于 broker 的扇出。
两者可以结合。OPC UA PubSub 可以用 MQTT 作为传输:你得到的是 OPC UA 丰富、标准化的负载和MQTT 轻量、可扩展的投递。这是把已建模的车间数据送上云的常见工业 4.0 模式。
一份简单的决策指南
| 如果你的优先事项是… | 选用… |
|---|---|
| 设备厂商之间的互操作性 | OPC UA |
| 对设备的控制 & 回写 | OPC UA |
| 大规模的边缘到云遥测 | MQTT |
| 已建模的数据加上云端规模 | OPC UA PubSub over MQTT |
数据一旦流动起来(无论是通过 OPC UA、MQTT 还是两者)Jemba 都会把它变成车间上排好优先级、算过成本的行动项。
查看 Jemba →常见问题
MQTT 是 OPC UA 的一部分吗?
MQTT 是独立的,但 OPC UA 的 PubSub 可以用 MQTT 作为传输,因此两者经常一起部署。
什么是 Sparkplug?
Sparkplug 是在普通 MQTT 之上增加结构、状态和负载定义的一份规范。它与 OPC UA 信息模型所提供的部分内容有重叠。
哪个更安全?
OPC UA 在标准中内置了更丰富的安全机制(证书、安全模式、授权)。MQTT 依赖 TLS 加上应用层自行添加的内容。
最后更新于 2026 年 9 月 4 日 · 教育资源。