MQTT和OPC-UA有什么区别(pub/sub)

What is the difference between MQTT and OPC-UA (pub/sub)

所以MQTT是基于publish/subscribe模型的轻量级消息传递协议。

最初 OPC-UA 是基于 request/response 模型,但我读到它现在也支持 pub/sub 扩展。

我也明白OPC-UA并不是一个真正的协议而是一个系统架构。除此之外,从协议特性的角度来看(仅考虑pub/sub)MQTT和OPC-UA有什么区别?

OPC-UA Pub/Sub 本身是协议不可知的,MQTT 是它可以使用的传输协议之一(并且是已经指定映射的协议之一)。当前在 OPC UA PubSub 规范中定义的其他传输协议是 AMQP、UDP 和“原始”以太网。

OPC UA PubSub 使用 publish/subscribe 模式扩展了经典的 client/server 通信模式。 OPC UA PubSub 本身没有根据特定协议定义,而是指定了一些到传输(和编码)的映射。

具有 JSON 数据编码的 MQTT 传输是映射之一。 该映射定义了如何将 UA 数据模型编码为 JSON 的标准。它还定义了如何发布 (JSON) 描述此数据的元数据的标准。

这允许通过 MQTT 发布类似 AnalogItem 的 UA DA 数据类型,并获取描述范围或单位等属性。

OPC UA 还描述了允许配置发布者的接口。

可在此处找到详细信息:https://reference.opcfoundation.org/v104/Core/docs/Part14/

要获得概述,阅读第 2、3、4 节和第 5 节的前面部分就足够了。