Page 18 - GESI n°97 // Février 2023
P. 18

18 // LES OBJETS CONNECTÉS
 Le dispositif « SensCubo » est à la fois, un objet connecté qui permet de relever des grandeurs physiques d’une serre horticole (humidité, température, CO2, luminosité, etc.) souhaitée « intelligente », mais aussi l’algorithmique de récupération, d’affichage et de stockage des données construit autour d’un serveur d’application. Une option, développée dans la continuité du stage d’un des étudiants, permet aussi le partage des données grâce au protocole MQTT.
Concernant la partie matérielle, l’objet « SensCubo », présenté Figure 2, se présente sous la forme d’un boitier étanche qui permet de connecter différents capteurs physiques à sortie analogique ou numérique (TOR, I2C, SPI, UART). Nous l’avons voulu le plus ouvert possible afin de s’en servir aussi d’objet pédagogique. Il devait donc intégrer différents protocoles de communication (Wifi, LORA, Zigbee) afin d’en étudier leur protocole et leur efficacité.
Figure 2 – Vue de dessus d’un « SensCubo ». Le module Heltec est visible à droite
« SensCubo » a été construit à partir d’un module commercialisé par la société chinoise Heltec embarquant un Système sur Puce (SoC) Espressif ESP32. Ce dernier intègre les fonctionnalités BLE et Wifi. Le module Heltec est aussi associé à une puce de communication LoRa SX1276 de la société Semtech. Enfin, il possède un écran OLED de 0.96 pouce, permettant une interface Homme/Machine, une électronique de gestion d’énergie, notamment pour la recharge d’un accumulateur, et une trentaine de broches d’entrées/sorties donnant l’accès aux différents périphériques de l’ESP32.
Un circuit imprimé double couche a été dessiné et fabriqué pour accueillir le module Heltec auquel est associé un module Xbee de la série 2 de la société Digi. Ce dernier permet la création d’un réseau de communication sans fil au standard ZigBee. Enfin, et pour élargir l’utilisation de ce dispositif à d’autres champs d’applications, une centrale inertielle référencée MPU6050 y a été ajoutée. Cela permet d’envisager par exemple la mesure et l’analyse des vibrations d’une machine dans le but d’une maintenance prédictive.
Le module Heltec se programme facilement grâce à l’environnement intégré Arduino et des bibliothèques de fonctions en C fournis par le constructeur. L’une d’elles permet, grâce à un serveur web hébergé sur le microcontrôleur, de mettre à jour le programme à exécuter sans aucune connexion, c’est à dire en mode OTA (Over The Air). Cela s’avère très pratique alors que le dispositif se trouve déjà installé dans une plateforme expérimentale.
La Figure 3 décrit l’architecture de communication entre un « SensCubo », utilisant les 3 protocoles de communication, et le mini-ordinateur Raspberry Pi utilisé comme serveur et machine de traitement. Bien évidemment, il a été nécessaire d’ajouter un module Xbee coordinateur à cet équipement, pour réceptionner les données transmises par un ou plusieurs « SensCubo », utilisant le protocole Zigbee.
Figure 3 – Mise en place de l’architecture de communication entre un « SensCubo » avec 3 protocoles de communication et le mini-ordinateur Raspberry Pi.
En parallèle, un réseau LoRaWAN privé a été installé. Il est constitué d’une passerelle (Gateway) LoRa, fournie par STMicroelectronics, et des serveurs LoraWAN utilisant l’application open-source « ChirpStack ». La « Gateway » a été associée à un routeur local, auquel est également connectée la Raspberry Pi grâce à son interface Ethernet filaire.
La puce Wifi du mini-ordinateur est quant à elle utilisée soit pour une mise à jour logiciel d’un des « SensCubo », soit pour réceptionner les données envoyées par ce protocole.
La plus grosse difficulté a été de réaliser un programme, écrit en Python, permettant de réceptionner et de trier les données : Celles-ci peuvent provenir de plusieurs « SensCubo » utilisant divers types de capteurs, branchés sur n’importe quel connecteur du boitier, et transmises potentiellement par les trois protocoles de communication.
Un serveur d’application http « Apache2 » a également été installé pour héberger des pages web assurant l’interface avec l’utilisateur, Figure 4. Celui-ci a été associé à une base de donnée « MySQL » permettant de stocker les données réceptionnées. Enfin, sur demande de l’utilisateur, un tableau au format CSV peut être créé pour enregistrer les données choisies. Ainsi, en plus de l’horodatage, l’adresse MAC du « SensCubo », le numéro du connecteur utilisé pour le capteur, le type et la valeur de la grandeur physique mesurée seront conservées pour un traitement ultérieur ou un simple stockage.
   Figure 4 – Interface utilisateur directement disponible
depuis un navigateur internet
Ce serveur d’application peut être remplacé par un serveur MQTT « Mosquito » permettant l’échange des informations transmises. Celles-ci sont alors récupérables par des souscripteurs en utilisant des sujets (« topics ») spécifiques, identifiant le « SensCubo » et les données à capter, identifiées de la même
façon que pour le serveur http.
 GESI // 42e ANNÉE

















































































   16   17   18   19   20