IMA5 2021/2022 P15

De Wiki de Projets IMA
Révision datée du 14 octobre 2021 à 12:20 par Sbensale (discussion | contributions) (Développement du firmware)

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, on voit bien les paquets envoyé et reçu 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.

En cours pour le moment : Quand je lance le fichier .project qui lance STM32CubeIDE avec la bibliothèque I-Cube-lrwan (voir tuto), l'interface pour configurer les pins n'existe pas (fichier .ioc) donc je pense qu'il faut les configurer manuellement (ce que je suis entrain d'essayer de faire).