Skip to content
Snippets Groups Projects

Capteur autonome Penn Avel

Description du projet

Ce projet étudiant a été créé par IMT Atlantique dans le cadre de l'unité d'enseignement Projet d'ingénieur dans un monde en transitions (PRONTO). Il a pour objectif de rendre autonome le capteur de qualité de l'air Penn Avel. Ce capteur fonctionne actuellement sur secteur et est connecté au wifi. L'objectif est de le rendre autonome en énergie en utilisant une batterie et en communication en utilisant le réseau LoRa.

Description du repo GitLab

Ce repo contient l'ensemble des documents nécessaires à la réalisation du projet. Il est organisé de la manière suivante :

  • Capteur-autonome : contient les fichiers de code liés au lot "Capteur autonome". Celui-ci consiste à relier tous les capteurs à une carte programmable, qui envoie ensuite les données aux deux passerelles.

  • GW-custom : contient les fichiers de code liés au lot "Gateway custom", qui consiste à réaliser une passerelle LoRa personnalisée pour le capteur Penn Avel, connectée au capteur par LoRaMAC et à Sensor Community par Wifi.

  • GW-V2 : contient les fichiers de code liés au lot "Gateway V2", qui consiste à réaliser une passerelle LoRa personnalisée pour le capteur Penn Avel, qui prend les données envoyées par le capteur sur TTN, qui qui les retransmet à Sensor Community.

  • Autre : contient les fichiers de code qui n'appartiennent pas aux lots précédents, mais qui sont nécessaires au bon fonctionnement du projet. Il s'agit, entre autres, du code de la passerelle LoRa originale et du code pour le diagramme de Gantt.

Mise en oeuvre

Matériel

  • 1 SHT30
  • 1 SDS011
  • 1 NodeMCU V3
  • 1 ESP32
  • 1 Module LoRa E5
  • 1 plaque de prototypage
  • 1 batterie 13000 mAh
  • fils de connexion

Logiciel

  • VSCode avec PlatformIO et PyMakr
  • Cloner le repo GitLab

Capteur autonome

Le dépôt capteur autonome contient les différentes codes pour faire fonctionner le capteur. Afin d'accéders aux codes, il faut suivre le chemin "Capteur-autonome" --> "Projects".

Ici vous allez pouvoir accéder à deux fichiers :

  • Archives
  • Versions_Finales

Dans Archives :

Accés à tous les anciens codes utilisés pour tester les capteurs et prototypes. Par exemple des codes pour tester les capteurs simples, des anciennes versions d'intégrations ...

Dans Versions_Finales :

Accés aux codes fonctionnels pour les versions des capteurs sur ESP32 et ESP8266. Chacun des répertoires avec le nom ESP contient :

  • Connexion via TTN LoRaWAN
  • Connexion via LoRaMAC

Accés aux codes pour récupérer l'EUI du composant LoRaE5 :

  • Disponible pour chacun des ESP.

Chacun de ces codes fonctionne avec une gateway dont le code est donné dans les autres dossiers.

Protocoles pour faire fonctionner le capteur :

  • Effectuer les branchements nécessaires (Aide pour l'ESP8266 à la fin de cette partie)
  • Ouvrir VS Code et PlatformIO
  • Ouvrir la page du projet souhaité
  • Aller dans l'onglet en forme d'Alien de PlatformIo
  • Cliquer sur "Upload and Monitor"
  • Observer le bon téléversement du code

IMPORTANT : Informations supplémentaires et contextes d'utilisations

--> Connexion TTN : Pour pouvoir faire fonctionner la connexion via TTN, il faut réaliser plusieurs étapes.

  • Récupérer le code EUI du LoRaE5 utilisé
  • Créer sur TTN une application avec le LoRaE5 afin de relier ce composant à TTN
  • Remplacer dans le code les valeurs de DevEUI, AppEUI et AppKey avec celles de votre LoRaE5 et que vous avez sur l'application TTN

--> Branchements ESP8266 :

Ici nous allons vous expliquer succintement les branchements afin que le code soit fonctionnel. Pour l'ESP32, ces informations ne sont pas précisées mais il est possible de les retrouver en lisant au début du code dans src/main avec les différents GPIO desbranchements explicités.

ATTENTION : Pour l'ESP8266, il est déconseillé d'utiliser certains ports comme le D3 qui peut empecher le boot de la carte. Nous ne pouvons que vous conseiller d'utiliser ces branchements qui ont été testés et vérifiés SDS011:

  • Alimentation en 5V avec la borne VV de l'ESP8266
  • GND à celui de la carte
  • RXD --> D2
  • TXD --> D1

LoRaE5 :

  • Alimentation --> 3.3V de la carte
  • GND--> GND
  • RX--> D4
  • TX--> D7

SHT30 :

  • Alimentation --> 3.3V de la carte
  • GND--> GND
  • SDA--> D6
  • SCL--> D5

NB: Les codes utilisés pour les 2 types de connexion avec l'ESP8266 il y a très régulièrement des problèmes de connexion et les données du LoRaE5 ne sont pas envoyées, ou le LoRaE5 n'arrive pas à se join à TTN.

Plusieurs LoRaE5 ont été testés avec la connexion MAC et avaient tous le même problème.

Ce problème est réglé de manière rudimentaire en effectuant des branchments rebranchements de la carte, du LoRaE5 jusqu'à un nouveau fonctionnemet. Nous n'avons pas réussi à déterminer la cause du problème. Cependant, une hypothèse que nous avons formulé est la défaillance de notre ESP8266 (qui a aussi un problème avec le mode veille)

Gateway custom

Gateway V2