OPC UA protocol vs MQTT protocol

Azaksai picture Azaksai · Apr 27, 2015 · Viewed 18.4k times · Source

I would like to compare OPC UA vs MQTT on basis of the general characteristics of both the protocols such as Overhead (Packets), Security, Information modeling and Reliability. Where can I find some sample data for Overhead, and other characteristics, for each protocol so that I compare them. I need your suggestions. You can suggest any tool to compare these protocols.

Answer

Matthias Damm picture Matthias Damm · May 31, 2016

MQTT is a broker based messaging protocol where the payload encoding and content is completely application specific. Therefore it would be useful if you want to send messages between two applications developed by you.

OPC UA is an architecture (OPC Unified Architecture) where a communication protocol is only a part of the topics addressed. An OPC UA application is able to expose a full meshed network of Objects, Variables, Methods and data structures in an object oriented way. The communication today is based on a client/server model where the server exposes a set of standard services to navigate through the available object, read and write data, call methods or subscribe for data changes or events.

The main goal is to provide interoperability between applications from different vendors by defining the meta meta model on how to make information available, by defining standard services for access to the information and by defining different transport protocols and data encodings for the service invocation. Protocols include an optimized OPC UA binary protocol providing end to end security but also web services or HTTPS based protocols.

The OPC UA working is currently working on a second Publish Subscribe based communication model that allows a messaging between OPC UA applications. Besides a UDP based peer-to-peer protocol, this PubSub extension will also use broker based messaging protocols like AMQP and MQTT.

Therefore it is difficult to compare OPC UA which is a complete set of features including protocols like MQTT and MQTT as stand-alone protocol.

Other responses already include references to MQTT material.

Here are some links to OPC UA material:

Brochure with some high level introduction to OPC UA: https://opcfoundation.org/resources/brochures/

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

Free evaluation and test tools:

Test / demo client: https://www.unified-automation.com/downloads/opc-ua-clients.html

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

Development tools for different programming languages: https://www.unified-automation.com/downloads/opc-ua-development.html