Aujourd’hui, les objets connectés exploitent une multitude de protocoles de communication pour transmettre leurs données à travers des réseaux IoT. Parmi ces objets, on trouve des dispositifs fort contraints en ressources (énergie, débit, puissance de calcul, etc.). Ces derniers se reposent en général sur des standards d’échange de données adaptés à leurs capacités. Pour prendre en charge la diversité de protocoles et faciliter l’interaction des applicatifs IoT avec les dispositifs connectés, en particulier ceux qui sont contraints, le CETIC propose son middleware DMWay, conçu spécifiquement pour gérer de manière efficace des flux de données IoT depuis/vers des sources de données à travers des interfaces et des protocoles hétérogènes.
Dans cet article, on s’intéresse particulièrement au format de données CayenneLPP (Cayenne Low Power Payload) particulièrement adapté aux interfaces de communication à faible débit et bande passante comme le cas des réseaux LPWAN (Low Power Wide Area Network) tel que LoRaWAN.
CayenneLPP offre en effet un moyen pratique et simple d’envoyer des données sur des réseaux LPWAN. Il s’avère en effet bien adapté à la restriction de taille de message dans ce type de réseaux et permet au périphérique concerné d’envoyer par exemple plusieurs données de capteurs en même temps.
Le PoC réalisé ici illustre le processus d’intégration du format de données CayenneLPP dans DMWay offrant ainsi un support facile et quasi plug&play de capteurs exploitant ce format.
L’objectif de ce PoC est la mise en œuvre d’équipement utilisant le protocole CayenneLPP - Cayenne Low Power Payload pour formater les données/mesures envoyées et qui est supporté par DMWay.
CayenneLPP est un format de données créé par myDevices,à la base pour adresser les contraintes de transmission sur des réseaux LPWAN. Il permet l’envoi d’une ou de plusieurs mesures par trame. CayenneLPP définit aussi des canaux de données où chaque canal représente un type de mesure de l’équipement.
Dans notre cas, il s’agit de capteurs connectés à une carte Arduino. Pour transmettre les mesures collectées, cette dernière est reliée en liaison série à l’équipement qui héberge DMWay. Il peut s’agit d’un ordinateur, un raspberry Pi, ou autre dispositif similaire. Voir figure ci-dessous.
Les mesures des différents capteurs sont transmises à travers des trames cayenneLPP à DMWay qui se charge de les "mapper" dans son modèle de données.
En effet, CayenneLPP permet aux équipements d’envoyer les données des différents capteurs dans une même trame. Ainsi, chaque donnée de capteur est préfixée de deux octets, afin de les distinguer, comme suit :
CayenneLPP présente des data types bien définis qui sont les suivants :
Une fois les données structurées par DMWay, elles seront transmises à la plateforme d’analyse et de visualisation sélectionnée (Things Board, Grafana, etc.)
Pour notre PoC, on va s’intéresser aux types de Data ‘Temperature Sensor’ et ‘Humidity Sensor’. Donc la payload cayenneLPP du capteur de température et d’humidité se présente comme suit (Tableau 1).
La figure ci-dessous montre la liste des modèles de données intégrés dans DMWay. Ici nous choisissons CayenneLPP. À noter qu’en plus des modèles de données standardisés comme OCF, HGI ou CayenneLPP, DMWay supporte aussi des modèles de données personnalisés que l’utilisateur peut implémenter selon ses besoins.
Les trames de données décodées vont être transposées au modèle d’information cayenneLPP intégré dans DMWay grâce au module “mapper CayenneLPP”.
La Figure ci-dessous représente le monitoring en temps réel de la température et l’humidité de la pièce. Les dashboards sont réalisés dans la plateforme Thingsboard.
Ce PoC montre la capacité de DMWay à gérer des capteurs utilisant un formattage de données de type cayenneLPP et à transmettre les données remontées de manière transparente vers des systèmes distants comme le cas de la plateforme ThingsBoard. Le support de DMWay au niveau des modèles de données s’étend sur plusieurs autres standards qu’on abordera dans de futurs articles.