Welcome to the kickoff of Software Toolbox’s Summer of IoT blog series! Over the next few blog posts, we’ll discuss how our products can play a role in the exciting world of Internet of Things (IoT), but more importantly, how they can be used to further your success in Industry 4.0 and Digital Transformation initiatives. The IoT landscape has grown exponentially over the past decade, transforming industries by connecting devices, systems, and people in unprecedented ways. IoT is reshaping how we interact with technology. At Software Toolbox, we recognize the power of IoT and are committed to providing solutions that facilitate this technological revolution.
Today’s blog will be a taste of what is to come in our following posts. We will largely focus on technologies such as OPC UA, MQTT and REST, and how they can be used in industrial automation today. We will look at not only what they are and some of their benefits, but how they can complement one another and are implemented in some of our offerings. Now, let’s take a brief look at what OPC UA, MQTT, and REST are.
Understanding MQTT
MQTT (Message Queueing Telemetry Transport) is a lightweight, publish/subscribe messaging protocol designed for minimal bandwidth usage. This makes it ideal for sensor networks and devices with limited connectivity options. It uses a simple yet efficient publish/subscribe model where clients can publish information to a central broker, which then transmits this information to other subscribed clients. This model is particularly beneficial for scenarios where low power consumption and efficient data transmission are crucial, such as in remote monitoring systems and IoT devices in constrained environments. There have also been considerable security enhancements in MQTT 5, which will be discussed later in the series.
Understanding OPC UA
OPC UA is a platform-independent standard designed as an evolution of the original OPC Classic group of specifications that is primarily used with a Client/Server model. Its security features and scalability make it ideal for modern industrial applications. Security is a paramount concern in industrial IoT applications and OPC UA addresses this by offering built-in security features such as encryption, authentication, and user access control. These features can help protect your data from unauthorized access and ensure that only trusted devices and users can communicate within your network. It’s also important to note that the availability of these features is defined by the server.
Many use OPC UA for its generic Data Access model, but what you may not realize is the potential you can gain through its other facets. Here are 3 OPC UA functionalities that we see most often:
- OPC UA Methods
- OPC UA Companion Specifications & Information Models
- OPC UA Pub/Sub
Looking beyond the usual reading and writing values, OPC UA Methods enables OPC UA Clients to make function calls to an OPC UA Server. The OPC Server processes the input parameters and returns the result. Both the client and server would of course need to be able to support these methods. Here is a video tutorial using our OPC Router where you can see OPC UA Methods in action.
OPC UA also has the ability to handle complex data structures. In a generic sense, it starts with an information model that defines data sets, data types, and hierarchical structures within the model. Users or industry groups can then build and publish standardized, re-usable information models for specific device classes and vertical industries. Those standardized models are called Companion Specifications. A list of available Companion Specification Documents, which can be downloaded for use by implementers, is accessible through the OPC Foundation.
OPC UA Pub/Sub is an extension of the OPC UA protocol, offering the use of a Publish/Subscribe model as well. It can work with raw data or data organized according to OPC UA models. It can also run over an MQTT transport, combining the strengths of both OPC UA standards and MQTT's simplicity.
While some view MQTT and OPC UA as competing standards, they are in fact highly complementary. MQTT excels in scenarios requiring lightweight, many-to-many communication over limited bandwidth, while OPC UA provides a comprehensive framework for secure, structured data exchange. Together, they enable seamless data flow across diverse systems, ensuring that businesses can leverage the best aspects of both.
Understanding REST
REST (Representational State Transfer) is a crucial technology for cloud and networked applications. It is built on principles that ensure systems are scalable, reliable, and easy to maintain. RESTful systems use standard HTTP methods to operate on resources identified by URLs, making it easy to integrate various web services and APIs over the widely used HTTP protocol. By adhering to these principles, RESTful services enable simple and efficient data exchange.
Here are the key concepts of RESTful connections:
- Resources:
- Everything is a resource (users, products, recipe, etc.)
- Each resource is identified by a unique URL (e.g., https://domain.com/recipe/123)
- Statelessness:
- Each client request contains all the necessary information. The server does not store client context between requests.
- HTTP Methods:
- Standard methods to interact with resources:
- GET: Retrieve data
- POST: Create a new resource
- PUT: Update an existing resource
- DELETE: Remove a resource
- Standard methods to interact with resources:
- Representations/Payload Format:
- Resources are typically represented in formats like JSON or XML. However, JSON is widely used due to its simplicity.
Using these principles, REST empowers users by making it easy to integrate applications across a network.
Software Toolbox Solutions
Let's check out some of the products we offer that have these IoT technologies. Two big ones may come to mind, if you are familiar with our solutions, DataHub and OPC Router.
Our DataHub IoT Gateway is designed to bridge the gap between traditional industrial systems and modern IoT platforms. A portion of its capabilities is the support for both OPC UA and MQTT, allowing for flexible and secure data integration.
- Protocol Conversion: Convert data between OPC UA and MQTT seamlessly, ensuring compatibility between different systems and devices.
- Real-time Data Aggregation: Collect and process data from various sources, including PLCs, sensors, and databases, in real-time.
- Cloud Integration: Connect to major cloud platforms like Azure, AWS, and Google Cloud for advanced analytics.
- Secure Communication: Robust security measures to ensure data integrity.
OPC Router extends our IoT capabilities by being a versatile tool for data management and automation. It supports OPC UA, including UA Methods & Pub/Sub, REST, and MQTT, among many other features, making it a great solution for many different use cases.
- Visual Workflow Design: Create complex data workflows without writing custom code, using an intuitive drag-and-drop interface.
- Multi-Protocol Support: Connect to various systems and protocols, including databases, ERP systems, REST APIs, and cloud services.
- Event-Driven Automation: Automate actions based on real-time data changes, enhancing operational efficiency and responsiveness.
- Centralized Data Management: Manage and integrate data from multiple sources, ensuring consistency and reliability.
- Pub/Sub Model: Implement OPC UA Pub/Sub for efficient and scalable data distribution.
- REST API support: REST APIs provide a standard way to exchange data and commands.
Other notable products in our IoT portfolio include TOP Server and its MQTT client driver along with OPC UA server and client capabilities. Flow, which can connect to multiple different sources like REST APIs, and real-time MQTT and OPC UA systems among many. Our OPC Data Client toolkit has OPC UA Pub/Sub capabilities over MQTT transports. Plus, be on the lookout for an upcoming blog post during the Summer of IoT series where we will feature one of our other most popular solutions getting MQTT client capabilities!
Throughout the series, you will see several use cases showing how our portfolio of products can utilize these IoT technologies to improve your system.
Example Use Case
Consider a setup where multiple sensors and machines need to communicate with a central control system:
- Data Collection: Sensors on field devices use MQTT to transmit real-time data to DataHub’s MQTT broker.
- Data Aggregation and Processing: DataHub collects this data and converts it into OPC UA format for structured processing.
- Secure Data Exchange: OPC Router reads out the OPC UA data and uses event driven actions to transmit processed data to the central control system and cloud analytics platforms.
That is just one of the countless examples of how the products we offer can be used to get information from point A to point B seamlessly and efficiently.
Conclusion
As we embark on the Summer of IoT, I hope this was informative and a nice idea of what is to come throughout this blog series. You can look forward to posts on product releases, how-to blogs, example use cases, and feature highlights from other members of our team in the coming weeks. This series will highlight how Software Toolbox’s solutions can improve your automation process using IoT technologies such as OPC UA, MQTT, and REST APIs. Whether you are a user of the solutions we discussed here, or just looking to learn, we are here to support your efforts in the industry 4.0 era.
For more insights and updates on our IoT solutions, and to follow along with the Summer of IoT series, subscribe to our blog. For additional information on our products discussed today, visit our product page. If you have any questions or need support, don't hesitate to contact our support team.