OPC UA 协议与 MQTT 协议

问题描述 投票:0回答:3

我想根据两种协议的一般特征(例如开销(数据包)、安全性、信息建模和可靠性)来比较 OPC UA 与 MQTT。我在哪里可以找到每个协议的开销和其他特征的一些示例数据,以便我对它们进行比较。我需要你的建议。您可以推荐任何工具来比较这些协议。

protocols communication mqtt iot opc-ua
3个回答
21
投票

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

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

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

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

因此很难比较 OPC UA,它是一套完整的功能,包括 MQTT 等协议和 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/


5
投票

OPC UA 和 MQTT 是正交的,因为它们试图解决不同的问题。

OPC UA WG 目前正在开发 PubSub 扩展 OPC UA,它指定如何通过 MQTT、AMQP 或 XMPP 发送 OPC UA 有效负载。

MQTT 的最大问题之一是有效负载的格式留给应用程序,这意味着未经专门编码以相互协作的应用程序之间没有真正的互操作性。 OPC UA PubSub 扩展通过定义 OPC UA 有效负载的语法来解决此限制。

© www.soinside.com 2019 - 2024. All rights reserved.