DMWay : The Swiss Army Knife for IoT

DMWay : The Swiss Army Knife for IoT

Supported interfaces, connectors and semantics

Connected devices use a wide range of different communication protocols to transmit data over IoT networks. It’s often difficult to develop and maintain systems that can manage this large and ever-increasing diversity of protocols and data formats efficiently over the time. To overcome this issue, CETIC is developing a multi-purpose middleware, a true Swiss Army Knife of the IoT, that allows heterogeneous data flows to be managed easily, flexibly and efficiently.

Date: 4 March 2024

Expertises:

Data Science 

Scalability of embedded systems and IoT networks 

Domaine: Software industry 

Asset: Dmway 

This article gives a general overview on the basic concepts DMWay is built on and illustrates them through examples of supported communication protocols, encoding types and data models.

Interfaces

Interfaces or I/O support refers to software modules that provide support for lower-level interfacing (generally just on top of hardware) that enable DMWay to interact with its environment. All communications pass through this type of modules. They can be used directly or incorporated within a connector.

The following table mentions some interfaces currently supported by DMWay.

Table 1 - Supported interfaces.
HTTP(s) client/server CoAP client/server MQTT client
Serial ModBus client AMQP client
S7 client Files ODBC

As DMWay is independent of the underlying communication medium, data payloads from network protocols can be received via any kind of communication medium (5G, Ethernet, Wi-Fi, etc.).

Connectors

DMWay, as a toolbox of specialized modules, includes connector type modules. They refer to modules that provide connectivity to other ones in DMWay. These modules can use the interfaces and add a layer of data management or manage an entire communication chain. For example, the Z-Wave and RF modules use the MQTT interface and incorporate data models specific to these technologies.
Also, DMWay provides specific connectors to backends (i.e. server-side or cloud-side software applications like databases, data platforms, etc.) that implement specific requirements of these applications in terms of data exchange, formatting, and organisation. DMWay has for example connectors for MongoDB or Thingsboard.

The following table lists some connectors currently supported by DMWay.

Table 2 - Supported connectors.
Bluetooth (GATT client) OPC/UA MongoDB
RF (433 MHz, 868 MHz) CayenneLPP Prometheus/OpenMetrics
InfluxDB TSorage Thingsboard
Z-Wave

Encodings

The decoding and encoding modules in DMWay allow transforming raw data into usable data by DMWay and vice versa.

The following table lists some encoding modules supported by DMWay.

Table 3 - Supported encodings.
JSON CSV CayenneLPP
Binary data XML S7
OpenMetrics Time series Data vectors
Custom decoding with Python code Text

Semantics

In DMWay, the data semantics are defined in the data models. Data models contain the description of the data processed by DMWay. As an example, it includes the type of data (integer, table, character string, etc.), information on data hierarchy or relevant attributes related physical device information. A data model is linked to an infomodel that organizes and stores the data as described in the datamodel.

DMWay already contains specific data models used for existing technologies, but custom data models can be defined by the user.

The following table lists some predefined data models available in DMWay.

Table 4 - Supported datamodels.
OCF CayenneLPP OPC/UA
Z-Wave RF (433 MHz, 868 MHz) HGI
OpenMetrics LWM2M

Conclusion

In this article, an introduction to some basic concepts of the DMWay tool is provided as well as an up-to-date overview of supported protocols and data formats. The following diagram shows how these concepts are organised in DMWay.

Figure 1 - DMWay connectors architecture.

In addition to the support of these protocols and data formats, DMWay allows setting up customised complex actions on the data. As an example, it supports specification of data conversion, definition of specific data exports, implementation of custom actions on data that can be triggered at predefined intervals, translation from one data model to another, etc.
These concepts and features will be detailed in other dedicated articles.


Swiss Army Knife icons created by Freepik - Flaticon

View online : DMWay presentation sheet