In the context of the ASHVIN project, we want to establish means to collect data generated during the process of building design, production and maintenance. To do this, we need an all-encompassing IoT platform able to digitally represent real world devices, enable message exchange between devices and applications, persist messages in a database and, finally, filter and transform data gathered from the devices, preferably, on the very spot of data production.
However, the current situation in the world of IoT resembles the tower of Babel. There are a plethora of device types using different protocols to send and receive messages. Even when devices use the same protocol to communicate, they use different formats of messages. Likewise, applications speak different “languages” and form their “sentences” in different ways. As a result, device to device, application to application, and device to application communication lacks generality and is difficult and costly to implement and maintain.
The solution is not to establish one common “language” and one common “sentence” format. There is a reason why different protocols (LoRa, MQTT, OPC UA, HTTP, etc.) exist: though some of them are still there for legacy reasons, a good number of different protocols correspond to different real world needs. The solution is, rather, to find a way to translate between different communication protocols (IoT “languages”).
Enter Mainflux, an open source IoT platform with an architecture based on micro-services, high availability and fault-tolerance, high scalability and a highly distributed, multi-regional, multi-datacenter topology. Simply put, Mainflux is a generalist messaging middleware, fully free for non-commercial and commercial use. It abstracts away the specifics of particular protocols and message formats and establishes a unified interface of communication. If a device or an application uses one of the supported protocols, it is ready to use Mainflux to communicate with other devices and applications. Mainflux supports out of the box HTTP, MQTT, WS and CoAP protocols. The effort to support OPC UA and LoRa is well underway. That covers a majority of communication protocols used in the industry today.
You can connect millions of devices via Mainflux. The platform is highly secure: all connections are encrypted via TLS v1.3 and with mutual TLS client-side X.509 certificates – currently, the highest industry standard.
Mainflux is not only about an effort to establish an IoT lingua franca. It is also a system used to digitally represent real world devices and to persist exchanged messages. What is more, Mainflux is moving ever closer to the edge, in an effort to process data right in the middle of a production site. That is why we have chosen Mainflux to serve as an IoT backbone of the overall ASHVIN platform!