IMA5 2021/2022 P15
Sommaire
Présentation générale
- Nom du projet : Mise en place d'un réseau de capteurs environnementaux
- Réalisé par : Selim Bensalem
- Superviseur du projet : Alexandre Boé & Thomas Vantroys
- Durée : 06 SEP 2021 - 24 JAN 2022
Objectif
L'objectif du projet est de mettre en place un réseau de capteurs environnementaux qui utilisera le réseau LoRa déjà déployé au sein de l’école. Également, il a pour but de fournir, pour les années suivantes, des travaux pratiques pour les enseignants et/ou une idée de poursuite d’étude sur le sujet pour les chercheurs.
Description
La qualité de l’air intérieur est une donnée environnementale très importante puisque nous passons de nombreuses heures en intérieurs et que les polluants ont tendance à s’accumuler (manque d’aération, dégazage du mobilier, ...). La crise de Covid-19 a encore mis l’accent sur la nécessité de surveiller l’état de l’air intérieur.
Nous proposons dans ce projet de réaliser un réseau de capteurs environnementaux pour l’intérieur. Le réseau de capteurs comportera :
• Des capteurs autonomes portables limités en nombre de paramètres mesurés ;
• Des stations plus complexes embarquant de nombreux capteurs environnementaux ;
• Une passerelle LoRaWAN (déjà installée sur le toit de Polytech Lille).
Il conviendra de :
• Réutiliser le réseau LoRaWAN déjà mis en place ;
• Réaliser des capteurs ;
• Développer une interface de visualisation et de gestion.
Travail effectué
Cahier des charges
Cahier des spécifications
Prise en main et test du réseau LoRa
Le groupe précédent a mis en place un réseau LoRa en configurant deux machines virtuelles, l'une qui héberge le Network Server (VM Lorawan) et l'autre qui héberge le serveur applicatif constitué de l'application web (VM Lorap), les configurations du réseau LoRa se sont faites grâce à une implémentation open-source Lorawan Network Server appelé Chirpstack.
Elle est composé de différentes entités :
-
Gateway-bridge : Collecte les données issues des passerelles Kerlink qui les convertit en format JSON.
-
Network Server : Fait le lien entre le serveur applicatif et les end-devices (station de capteurs).
-
Application Server : Gère le chiffrement de données, demande d'adhésion au réseau et dispose d'une interface graphique de configuration du réseau.
Pour savoir si le Network Server qui a été mis en place est toujours fonctionnel, un module GPS LoRa est utilisé pour voir s'il est fonctionnel ou non. Pour le tester, on se connecte au Server Network (172.26.189.22:8000), on crée une nouvelle application et ajoute l'auipement qui est notre module GPS. On génère deux clefs, une "application key" et une "network key", qui ne faudra pas oublier de mettre manuellement dans le module GPS en le connectant à notre ordinateur via son logiciel. L'appareil dispose d'un EUI qu'il faudra renseigner, grâce à celui-ci, il sera directement reconnu par le Network Server.
Résultat du test : Le module GPS est bien reconnu par le Network Server donc il est toujours fonctionnel, par contre, le problème rencontré est que la trame n'est pas visible dû à un problème affichant "Not connected to Websocket API".
Pour régler le problème du "Not connected to Websocket API", il ne faut pas oublier de désactiver le proxy pour l'adresse 172.26.189.22:8080
Développement du firmware
Ne pouvant pas récupérer les codes sources de la station de capteurs du groupe précédent, il est nécessaire de recréer une station et donc de développer le firmware de la carte Nucléo 64.
Communication entre la carte Nucléo et Réseau LoRa
Le développement du firmware se fera sur STM32CubeIDE, pour qu'il y ai une communication entre la carte Nucléo 64 et le réseau LoRa de l'école, un module LoRa (Shield SX1276MB1MAS) est rattaché à la carte. Il est nécessaire d'utiliser une bibliothèque nommée I-CUBE-LRAWAN (https://www.st.com/en/embedded-software/i-cube-lrwan.html), pour établir la connexion avec le réseau LoRa, un tutoriel explique une façon de faire sur comment établir cette connexion, il a été nécessaire de faire quelques modifications sur ce tuto (https://www.youtube.com/watch?v=np6oYopJyFI). Une fois les réglages terminés, j'ai réussi à connecter la carte Nucléo au réseau LoRa et on voit bien les paquets envoyés/reçus sur l'application du LNS.
STM32CubeIDE
Maintenant, le développement du firware peut être réalisé, ce logiciel est nouveau pour moi donc pour savoir l'utiliser, j’apprends au travers de tuto trouvé sur internet. Via la bibliothèque I-Cube-lrwan, j'ai su connecter ma station de capteurs à mon réseau LoRa mais comme cette bibliothèque ne possède pas de fichier .ioc, je reste limité dans l'implémentation des capteurs. Pour le moment, j'ai mis de côté cette bibliothèque et je me suis concentré sur l'implémentation des capteurs sur la station via le logiciel STM32CubeIDE. J'ai réussi à connecter le capteur de température en connexion I2C mais je rencontre, en ce moment, un problème concernant le capteur de CO2 en connexion USART.