OPC UA协议与MQTT协议的比较

14

我希望比较OPC UA和MQTT协议的一般特性,如开销(数据包)、安全性、信息建模和可靠性等方面。请问在哪里可以找到每种协议的开销数据和其他特性数据样本,以便进行比较。请给我一些建议,您可以推荐任何用于比较这些协议的工具。

3个回答

21

MQTT是一种基于代理的消息传递协议,负载编码和内容完全是应用程序特定的。因此,如果您想在由您开发的两个应用程序之间发送消息,这将非常有用。

OPC UA是一种架构(OPC统一架构),其中通信协议只是所涉及问题的一部分。 OPC UA应用程序能够以面向对象的方式暴露完全网状网络的对象、变量、方法和数据结构。今天的通信基于客户端/服务器模型,其中服务器公开一组标准服务,以导航可用的对象、读取和写入数据、调用方法或订阅数据更改或事件。

主要目标是通过定义元模型来使不同供应商的应用程序之间实现互操作性,这样可以使信息可用,定义访问信息的标准服务,并为服务调用定义不同的传输协议和数据编码。协议包括优化的OPC UA二进制协议,提供端到端安全,但也包括Web服务或基于HTTPS的协议。

OPC UA正在使用第二个基于发布订阅的通信模型,允许OPC UA应用程序之间进行消息传递。除了基于UDP的点对点协议外,这个PubSub扩展还将使用基于代理的消息传递协议,如AMQP和MQTT。

因此,很难将包括像MQTT这样的协议在内的完整功能集合OPC UA与作为独立协议的MQTT进行比较。

其他答案已经包括了有关MQTT材料的参考资料。

以下是一些OPC UA材料链接:

介绍OPC UA的一些高级别宣传册: https://opcfoundation.org/resources/brochures/

OPC UA规范: https://opcfoundation.org/developer-tools/specifications-unified-architecture

免费评估和测试工具:

测试/演示客户端: https://www.unified-automation.com/downloads/opc-ua-clients.html

测试/演示服务器:

https://www.unified-automation.com/downloads/opc-ua-servers.html

不同编程语言的开发工具: https://www.unified-automation.com/downloads/opc-ua-development.html


9
我还没有看到过OPC UA与MQTT的比较。请记住,OPC-UA最适合SCADA系统,而MQTT非常适合在不可靠网络(如移动网络)上进行发布/订阅消息传递。
如果您需要低开销,则MQTT可能比OPC-UA更适合。当然,这严重取决于您的用例。
如果您对MQTT开销感兴趣,您可能会发现此链接有用:http://stephendnicholas.com/archives/1217 如果您对MQTT和安全性感兴趣,这个博客系列可能对您有帮助:http://www.hivemq.com/introducing-the-mqtt-security-fundamentals/ 如果您开始使用MQTT,这个深入的博客系列可能对您有价值:http://www.hivemq.com/mqtt-essentials-wrap-up/

1
与此同时,PubSub和MQTT已被添加到OPC UA规范中 https://opcfoundation.org/developer-tools/specifications-unified-architecture/part-14-pubsub/ - Gambit Support

5
OPC UA和MQTT是正交的,因为它们试图解决不同的问题。OPC UA WG正在开发一个PubSub扩展OPC UA,该扩展指定了如何通过MQTT、AMQP或XMPP发送OPC UA有效负载。MQTT最大的问题之一是有效负载的格式由应用程序确定,这意味着在没有专门编码以相互配合的情况下,应用程序之间没有真正的互操作性。OPC UA PubSub扩展通过定义OPC UA有效负载的语法来解决这个限制。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接