DMWay, couteau suisse de l'IoT

DMWay, couteau suisse de l’IoT

Interfaces, connecteurs et sémantiques supportées

Les objets connectés exploitent une multitude de protocoles de communication pour transmettre leurs données à travers les réseaux IoT. Il est souvent difficile de développer et de maintenir des systèmes capables de gérer efficacement dans la durée, cette diversité de protocoles et de formats de données. Pour pallier ce problème, le CETIC propose un middleware polyvalent, véritable couteau suisse de l’IoT, permettant de gérer de manière facile, flexible et efficiente les flux hétérogènes de données.

Date: 4 mars 2024

Expertises:

Science des données 

Evolutivité des systèmes embarqués et réseaux IoT 

Domaine: Secteur numérique 

Thèmes d’innovation

Asset: Dmway 

Cet article définit quelques concepts clés qui sous-tendent l’architecture du middleware DMWay et les illustre à travers des exemples de protocoles de communication, types d’encodages et modèles de données supportés par l’outil.

Interfaces

Les interfaces ou I/O Support dans DMWay désignent des modules logiciels qui fournissent un support bas niveau (i.e. proche du niveau physique/driver) des communications permettant à DMWay d’interagir avec le monde extérieur. Toutes les communications passent par des modules de ce type qui peuvent être utilisés directement ou par un connecteur.
Le tableau suivant liste les interfaces actuellement supportées par DMWay.

Tableau 1 - Interfaces supportées.
HTTP(s) client/serveur CoAP client/serveur MQTT client
Serial ModBus client AMQP client
S7 client Fichiers ODBC

DMWay étant indépendant du moyen de communication sous-jacent, les données de payloads issues de protocoles réseau peuvent être reçues via n’importe quel moyen de communication (5G, Ethernet, Wi-Fi, etc).

Connecteurs

Dans DMWay, structuré en boîte à outils de modules logiciels spécialisés, un connecteur désigne un module qui fournit de la connectivité aux autres modules. Ces modules de type connecteurs peuvent utiliser les interfaces. Ils ajoutent également une couche de gestion des données et de gestion de l’ensemble de la chaîne de communication.
Par exemple, les modules Z-Wave et RF utilisent l’interface MQTT et contiennent les modèles de données respectivement spécifiques à ces technologies.
DMWay fournit également des connecteurs spécifiques aux backends (i.e. applicatifs logiciels en aval côté serveurs et cloud : bases de données, plateformes de données, etc.) qui prennent en charge les spécificités de ceux-ci. Par exemple, MongoDB ou Thingsboard sont des applicatifs backend supportés par des connecteurs dédiés dans DMWay.

Le tableau suivant liste des exemples de connecteurs actuellement supportés par DMWay.

Tableau 2 - Connecteurs supportés.
Bluetooth (client GATT) OPC/UA MongoDB
RF (433 MHz, 868 MHz) CayenneLPP Prometheus/OpenMetrics
InfluxDB TSorage Thingsboard
Z-Wave

Encodages

Les modules de décodage et d’encodage permettent de transformer des données brutes en données utilisables par DMWay et inversement.
Le tableau suivant liste des exemples de types d’encodages disponibles dans DMWay.

Tableau 3 - Encodages supportés.
JSON CSV CayenneLPP
Données binaires XML S7
OpenMetrics Séries temporelles Vecteurs de données
Décodage customisé via du code Python Texte

Sémantiques

La sémantique des données est définie dans des modèles de données également appelés datamodels. Les modèles de données contiennent la description des données traitées par DMWay. On y trouve, par exemple, le type d’une donnée (entier, tableau, chaîne de caractère, etc.), des informations sur la hiérarchie des données ou encore sur le dispositif physique associé. Un modèle de donnée est lié un à infomodel qui organise et stocke les données décrites dans le datamodel.

DMWay supporte des modèles de données prédéfinis liés à des technologies existantes. Néanmoins, des modèles de données personnalisés peuvent être définis par l’utilisateur.

Le tableau suivant reprend des exemples de datamodels prédéfinis disponibles dans DMWay.

Tableau 4 - Datamodels supportés.
OCF CayenneLPP OPC/UA
Z-Wave RF (433 MHz, 868 MHz) HGI
OpenMetrics LWM2M

Conclusion

Dans cet article, une introduction à certains concepts de base de l’outil DMWay est fournie ainsi qu’un aperçu de certains protocoles et format de données supportés. Le diagramme suivant illustre la façon dont ces concepts sont agencés dans DMWay.

Figure 1 - Architecture connecteurs DMWay.

En plus de supporter ces protocoles et format de données, DMWay permet de paramétrer des actions complexes sur les données. Cela inclut, par exemple, la conversion de données, la définition d’exports spécifiques de données, l’implémentation d’actions pouvant être déclenchées à intervalles paramétrés (i.e. triggers), la traduction d’un modèle de données à un autre, etc.
Ces concepts et fonctionnalités feront l’objet d’autres articles dédiés.


Couteau suisse icônes créées par Freepik - Flaticon

Voir en ligne : Fiche de présentation de l’outil DMWay