M5Stick - SensAirS8 - DHT - MQTT

Auteur avatarbloupy | Dernière modification 8/03/2022 par Bloup

M5Stick - SensAirS8 - DHT - MQTT 20220223 150253.jpg
Crowdsourcing pour tous : Programmation et visualisation de capteurs fixes pour permettre aux citoyen.nes de produire diverses mesures dans un programme de santé environnement. Programme pour envoyer des données en MQTT entre un M5Sick-C avec les capteurs SensAirS8 et DHT au site AdafruitIO
Licence : Attribution + Pas d'utilisation commerciale + Partage dans les mêmes conditions (CC-BY-NC-SA)

Introduction

L’air constitue le premier des éléments nécessaires à la vie.

Chaque jour, un être humain adulte inhale 10 000 à 20 000 litres d’air en fonction de sa morphologie, de ses activités.

En plus de l’oxygène (O2) et le diazote (N2), qui représentent en moyenne 99 % de sa composition, cet air que nous respirons contient aussi des polluants, sous forme gazeuse, liquide ou solide d’origine naturelle (embruns marins, poussières, pollens…) ou résultant d’activités humaines (trafic routier, production d’énergie, industrie, agriculture…).

La pollution de l'air a des effets significatifs et multiples sur la santé et l'environnement.

La pénétration de ces polluants dans l’organisme peut avoir des conséquences sur la santé à court et long terme. 

La qualité de l'air et la pollution de l'air sont donc des enjeux majeurs pour la santé.


Ici, nous allons programmer un M5StickC pour obtenir une meilleure connaissance de la qualité de l’air avec mesure de la température, l'humidité et le pourcentage de CO2.
  • Expériences pré-requises
  • Fichiers

Étape 1 - Installation M5Stick-C

Bien entendu, il faut avoir installé Arduino

Installer l'environnement Arduino sur votre système


Importer de nouvelles cartes dans l'interface Arduino


1-Ajout d'un catalogue de cartes dans l'interface de développement Arduino

Importer de nouvelles cartes dans l'interface Arduino

-> Préférences -> URL de gestionnaire de cartes supplémentaires

https://dl.espressif.com/dl/package_esp32_index.json


2-Ajout de la carte

-> Outils -> Type de carte -> Gestionnaire de carte -> Rechercher et installer ESP32

Étape 2 - Import bibliothèque

Pour notre projet, nous aurons besoin d'ajouter les bibliothèques suivantes via l'interface Arduino :


-> M5SticKC

-> EspSoftwareSerial

-> DHT sensor library

-> Adafruit Unified Sensor

-> AirGradient_Air_Quality_Sensor

-> Adafruit_MQTT


Importer des bibliothèques dans l'interface Arduino




Étape 3 - Modification d'une bibliothèque pour la gestion de plusieurs capteurs sur le M5Stick-C

Pour pouvoir utiliser les 2 capteurs (DHT et SensAIrS8) en même temps, il va falloir modifier le fichier AirGradient.cpp qui se trouve dans la bibliothèque AirGradient_Air_Quality_Sensor fraichement installer.

Pour le modifier, il faut aller dans libraries -> AirGradient_Air_Quality_Sensor

Ouvrir le fichier AirGradient.cpp avec un éditeur de texte.

Pour ne pas supprimer les lignes, nous allons tout simplement mettre certaines lignes en commentaire. Pour se faire il suffit de mettre // en début de ligne.


-> Trouver PMS_Init(D5,D6); (Ligne 60) mettre cette ligne en commentaire //PMS_Init(D5,D6);

-> Trouver CO2_Init(D4,D3); (Ligne 569) mettre en commentaire // CO2_Init(D4,D3);

-> Trouver Wire.begin(); (Ligne45) mettre en commentaire //Wire.begin();


Étape 4 - AdafruitIO

Retrouvez toutes les informations sur les 2 pages suivantes

Créer un compte chez AdafruitIO pour envoyer des données dans le web


Envoyer des données sur le WEB grâce à MQTT


/************************* Configuration pour utiliser MQTT Adafruit 
#define AIO_SERVER      "io.adafruit.com"
#define AIO_SERVERPORT  1883

#define AIO_USERNAME    " Username "        //Votre nom d'utilisateur sur io.adafruit
#define AIO_KEY         " Active Key "      //Votre clef AdafruitIO 

/******** Création des objets MQTT et Wifi *********/

WiFiClient client;                                                                      // Création d'un objet client wifi, nécessaire pour initier la connexion avec le serveur Adafruit MQTT.
Adafruit_MQTT_Client mqtt(&client, AIO_SERVER, AIO_SERVERPORT, AIO_USERNAME, AIO_KEY);  // Création de l'objet mqtt nécessaire à la connexion avec le serveur

/******* Création des flux de données *******/

// Création des objets temp, hum et CO2
// Renseigner les chemins de vos flux de données "/feeds/******

Adafruit_MQTT_Publish temp = Adafruit_MQTT_Publish(&mqtt, AIO_USERNAME "/feeds/temperature");
Adafruit_MQTT_Publish hum = Adafruit_MQTT_Publish(&mqtt, AIO_USERNAME "/feeds/humidite");
Adafruit_MQTT_Publish CO2 = Adafruit_MQTT_Publish(&mqtt, AIO_USERNAME "/feeds/CO2");

Adafruit_MQTT_Publish temp = Adafruit_MQTT_Publish(&mqtt, AIO_USERNAME "/feeds/temperature");
Adafruit_MQTT_Publish hum = Adafruit_MQTT_Publish(&mqtt, AIO_USERNAME "/feeds/humidite");
Adafruit_MQTT_Publish CO2 = Adafruit_MQTT_Publish(&mqtt, AIO_USERNAME "/feeds/CO2");


Étape 5 - Branchement des capteurs

-> Capteur DHT en grove

-> Capteur CO2 -> Étape un peu de soudure

Dans l'étape 1 de la page Un capteur de CO2 avec UIFLOW et M5STICK, un peu de soudure pour pouvoir connecter simplement votre capteur de CO2 au M5Stick.


D'autres capteurs ici : DataLab - Chapitre 3 - Connecter ses capteurs



Dernière modification 8/03/2022 par user:Bloup.

Commentaires

Published