Différences entre les pages « Fabrication d'une maquette de bassin de versant » et « M5Stick - CO2- capteur de particules - MQTT »

 
 
Ligne 1 : Ligne 1 :
 
{{Tuto Details
 
{{Tuto Details
|Main_Picture=Bassin_versant_IMG_20210312_132243.jpg
+
|Main_Picture=M5Stick_-_CO2-_capteur_de_particules_-_MQTT_Capture_d_e_cran_2022-03-02_a_17.02.33.png
 
|Licences=Attribution (CC-BY)
 
|Licences=Attribution (CC-BY)
|Description=Fabrication d'une maquette de bassin versant en polystyrène extrudé.
+
|Description=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 M5Stick-C avec les capteurs CO2 SensAirS8 et un capteur de particules HM3301 au site AdafruitIO
|Disciplines scientifiques=Earth Sciences
+
|Disciplines scientifiques=Arduino, Computing, Life Sciences
|Difficulty=Technical
+
|Difficulty=Easy
 
|Duration=1
 
|Duration=1
|Duration-type=day(s)
+
|Duration-type=hour(s)
|Tags=bassin versant, maquette, Eau
 
 
}}
 
}}
 
{{Introduction
 
{{Introduction
|Introduction=Une maquette de bassin versant peut servir de support pour aborder plusieurs notions : les cycles naturel et domestique de l'eau, les pollutions de l'eau, l'aménagement d'un territoire.
+
|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 du pourcentage de CO2 et la mesure de particules en suspension.'''
 +
 
 +
Le programme est à télécharger dans l'onglet "Fichiers". Il vous suffira de le télécharger, de le décompresser et de mettre le dossier contenant 2 fichiers (M5Stick-test-CO2-PM-Date-IOAdafruit.ino + time_zones.h) dans le dossier de croquis de Arduino.
 +
 
 +
Lorsque vous ouvrirez ce projet dans Arduino, vous vous retrouverez avec un croquis à 2 onglets : ''M5Stick-test-CO2-PM-Date-IOAdafruit'' et ''time_zones.h''
 +
 
 +
Ce 2ème onglet permet d'afficher la date et l'heure sur l'écran. Vous pouvez aller à l'étape 7 pour voir comment modifier votre localisation si vous n'êtes pas dans le même fuseau horaire.
 +
 
 +
 
 +
'''D'autres projets avec un M5StickC pour récupérer le pourcentage de CO2 et la mesure de la température, l'humidité  avec un capteur de type :'''
 +
 
 +
*DHT [[M5Stick - SensAirS8 - DHT - MQTT]]
 +
*BME-BMP280 [[M5Stick_-_CO2-_BME280-_MQTT]]
 
}}
 
}}
 
{{Materials
 
{{Materials
 
|ItemList={{ItemList
 
|ItemList={{ItemList
|Item=Styrodur
+
|Item=M5StickC
 
}}{{ItemList
 
}}{{ItemList
|Item=Cutter
+
|Item=Capteur de CO2 SENSEAIR S8
 
}}{{ItemList
 
}}{{ItemList
|Item=Papier à poncer
+
|Item=HM3301
 
}}{{ItemList
 
}}{{ItemList
|Item=Peinture - gouache
+
|Item=Ordinateur
 
}}{{ItemList
 
}}{{ItemList
|Item=Piques à brochette
+
|Item=Fer à souder
}}{{ItemList}}
+
}}{{ItemList
 +
|Item=Câble Dupont
 +
}}{{ItemList
 +
|Item=Breadboard
 +
}}
 +
|Prerequisites={{Prerequisites
 +
|Prerequisites=Installer l'environnement Arduino sur votre système
 +
}}{{Prerequisites
 +
|Prerequisites=Importer de nouvelles cartes dans l'interface Arduino
 +
}}{{Prerequisites
 +
|Prerequisites=Importer des bibliothèques dans l'interface Arduino
 +
}}{{Prerequisites
 +
|Prerequisites=Créer un compte chez AdafruitIO pour envoyer des données dans le web
 +
}}{{Prerequisites
 +
|Prerequisites=Envoyer des données sur le WEB grâce à MQTT
 +
}}{{Prerequisites
 +
|Prerequisites=Un capteur de CO2 avec UIFLOW et M5STICK
 +
}}{{Prerequisites
 +
|Prerequisites=Capteur de particules
 +
}}{{Prerequisites
 +
|Prerequisites=DataLab - Chapitre 3 - Connecter ses capteurs
 +
}}{{Prerequisites
 +
|Prerequisites=M5Stick - SensAirS8 - DHT - MQTT
 +
}}{{Prerequisites
 +
|Prerequisites=M5Stick - CO2- BME280- MQTT
 +
}}
 +
|Tuto_Attachments={{Tuto Attachments}}{{Tuto Attachments}}
 +
|ExternalAttachmentsLinks={{ExternalAttachmentsLinks
 +
|ExternalAttachmentsLinks=https://lab.debrouillonet.org/g.apremont/m5stick-co2-capteur-de-particules-mqtt/-/blob/main/M5Stick-test-CO2-PM-Date-IOAdafruit.zip
 +
}}
 
}}
 
}}
 
{{Tuto Step
 
{{Tuto Step
|Step_Title=découpe et assemblage des couches
+
|Step_Title=Installation M5Stick-C
|Step_Content=Commencez par découper le polystyrène et faire plusieurs couches, afin de créer le relief de la maquette.
+
|Step_Content=Bien entendu, il faut avoir installé Arduino
  
Puis, collez les couches entre elles avec de la colle blanche (vous pouvez utiliser d'autres colles, mais il faut les tester sur des chutes).
+
[[Installer l'environnement Arduino sur votre système]]
  
Plantez des pics à brochette pour stabiliser et renforcer la structure (attention à ce qu'ils ne dépassent pas).
+
 
|Step_Picture_00=Bassin_versant_copie_1.jpg
+
'''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
 +
|Step_Picture_00=Item-M5StickC_m5stickc_03_large.png
 +
|Step_Picture_01=Importer_de_nouvelles_cartes_dans_l_interface_Arduino_Capture_d_cran_du_2020-09-04_12-00-32.png
 +
|Step_Picture_02=Importer_de_nouvelles_cartes_dans_l_interface_Arduino_Capture_d_cran_du_2020-09-04_12-01-00.png
 +
|Step_Picture_03=Importer_de_nouvelles_cartes_dans_l_interface_Arduino_Capture_d_cran_du_2020-09-04_12-01-20.png
 +
|Step_Picture_04=Importer_de_nouvelles_cartes_dans_l_interface_Arduino_Capture_d_cran_du_2020-09-04_12-07-34.png
 +
|Step_Picture_05=Importer_de_nouvelles_cartes_dans_l_interface_Arduino_Capture_d_cran_du_2020-09-04_12-08-33.png
 
}}
 
}}
 
{{Tuto Step
 
{{Tuto Step
|Step_Title=mise en forme
+
|Step_Title=Import bibliothèque
|Step_Content=Cassez les angles pour donner la forme de la pente en les coupant au cutter. L’idée est de dégrossir le travail avant le ponçage.
+
|Step_Content=Pour notre projet, nous aurons besoin d'ajouter les bibliothèques suivantes  via l'interface Arduino :
  
Poncez au papier de verre gros grain de préférence, vous pouvez aussi utiliser des limes à bois.
+
-> M5SticKC (M5SticKCPlus si vous utilisez ce modèle)
|Step_Picture_00=Bassin_versant_copie_2.jpg
+
 
 +
-> EspSoftwareSerial
 +
 
 +
-> Tomoto_HM330X.h        [[Item:HM3301]]
 +
 
 +
-> AirGradient_Air_Quality_Sensor
 +
 
 +
-> Adafruit_MQTT
 +
 
 +
 
 +
[[Importer des bibliothèques dans l'interface Arduino]]
 +
 
 +
Vous pouvez installer que les bibliothèques ci-dessus.
 +
|Step_Picture_00=Importez_des_biblioth_ques_de_programme_dans_l_interface_Arduino_Capture_d_cran_du_2020-09-04_10-58-27.png
 +
|Step_Picture_01=M5Stick_-_SensAirS8_-_DHT_-_MQTT_Capture_d_e_cran_2022-02-23_a_15.45.43.png
 
}}
 
}}
 
{{Tuto Step
 
{{Tuto Step
|Step_Title=création de la rivière
+
|Step_Title=Modification d'une bibliothèque pour la gestion de plusieurs capteurs sur le M5Stick-C
|Step_Content=Arrivé à cette étape, vous devriez avoir la forme de montagne que vous vouliez. Il faut maintenant tracer votre rivière et la creuser.
+
|Step_Content=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 votre dossier
  
Pour cela, vous pouvez utiliser le cutter et le papier à poncer (vous pouvez aussi improviser avec d'autres outils, comme des limes à bois de menuisier).
+
Arduino -> libraries -> AirGradient_Air_Quality_Sensor
  
 +
Ouvrir le fichier AirGradient.cpp avec un éditeur de texte.
  
Votre rivière doit permettre à l'eau de bien s'écouler (vous pouvez tester la pente de la rivière avec une bille).
+
Pour ne pas supprimer les lignes, nous allons tout simplement mettre certaines lignes en commentaire. Pour se faire il suffit de mettre '''<big>//</big>''' en début de ligne.
|Step_Picture_00=Bassin_versant_copie_3.jpg
+
 
|Step_Picture_01=Bassin_versant_IMG_20210429_225124.jpg
+
-> 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();'''''
 +
|Step_Picture_00=M5Stick_-_SensAirS8_-_DHT_-_MQTT_Capture_d_e_cran_2022-02-23_a_15.52.14.png
 +
|Step_Picture_01=M5Stick_-_SensAirS8_-_DHT_-_MQTT_Capture_d_e_cran_2022-02-23_a_16.31.46.png
 +
|Step_Picture_02=M5Stick_-_SensAirS8_-_DHT_-_MQTT_Capture_d_e_cran_2022-02-23_a_15.52.47.png
 
}}
 
}}
 
{{Tuto Step
 
{{Tuto Step
|Step_Title=ponçage et finition
+
|Step_Title=Configuration du Wifi
|Step_Content=Lissez la maquette en ponçant avec du papier de verre au grain de plus en plus fin (par exemple 80, 120, 200).
+
|Step_Content=Remplacer dans le code "LENOMDETABOX " par le nom de votre réseau WIFI et le "LEMDPDETABOX" par votre clé Wifi.<syntaxhighlight lang="c++">
|Step_Picture_00=Bassin_versant_IMG_20210311_152115.jpg
+
/************************* Configuration pour le Wifi ************************/
 +
const char* ssid = "LENOMDETABOX ";        // Nom de votre réseau WIFI
 +
const char* password = "LEMDPDETABOX";    // Clef Wifi
 +
 
 +
</syntaxhighlight>
 +
|Step_Picture_00=M5Stick_-_CO2-_capteur_de_particules_-_MQTT_Capture_d_e_cran_2022-03-02_a_17.20.32.png
 
}}
 
}}
 
{{Tuto Step
 
{{Tuto Step
|Step_Title=peinture
+
|Step_Title=AdafruitIO
|Step_Content=Avant de peindre, testez la peinture sur une chute de polystyrène (attention : certaines peintures contiennent un solvant qui attaque le polystyrène).
+
|Step_Content=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]]
 +
 
 +
Remplacer "Username"  avec votre nom d'utilisateur sur io.adafruit et  "ActiveKey"  la clef généré sur AdafruitIO.
 +
 
 +
Ligne 157 du programme    // Sélectionner les flux que vous voulez faire apparaitre sur votre bureau ioAdafruit. Attention à la limite de données envoyées.
  
  
Pour finir, il vous reste à peindre la maquette avec la peinture de votre choix . Si vous utilisez de la gouache, il faudra la vernir. Pour avoir plusieurs couleurs et ne pas avoir besoin de vernir, nous avions pris les format test des rayons peinture cuisine et salle de bain ( moins de 2€ par pot).
+
CO2.publish(valCO2);
|Step_Picture_00=Bassin_versant_IMG_20210311_161127.jpg
 
|Step_Picture_01=Bassin_versant_IMG_20210312_132254.jpg
 
}}
 
{{Tuto Step
 
|Step_Title=test
 
|Step_Content=Installez une bassine au bas de votre maquette et testez-la en faisant pleuvoir au sommet du relief (avec une bouteille au bouchon percé de petits trous par exemple).
 
  
Il sera peut-être nécessaire de rajouter quelques chutes sur les bords.
+
//    PM1.publish(sensor.std.getPM1());
}}
 
{{Notes
 
|Avertissement=Il faut bien faire attention avec la colle et la peinture que vous utilisez, faire des essais sur des chutes et vérifier qu'elles n'attaquent pas le polystyrène.
 
  
 +
//    PM2_5.publish(sensor.std.getPM2_5());
  
Pensez à tester votre rivière avant de peindre, afin d'éviter d'avoir à creuser à nouveau et faire des retouches de peinture.
+
PM10.publish(sensor.std.getPM10());
  
 +
<br /><syntaxhighlight lang="c++">
 +
/************************* Configuration pour utiliser MQTT Adafruit *********************************/
 +
#define AIO_SERVER      "io.adafruit.com"
 +
#define AIO_SERVERPORT  1883
  
Respectez les temps de séchage de la peinture et de la colle pour avoir le meilleur résultat possible.
+
// Suivre ce tuto pour récupérer les infos nécessaires https://www.wikidebrouillard.org/wiki/Cr%C3%A9er_un_compte_chez_AdafruitIO_pour_envoyer_des_donn%C3%A9es_dans_le_web
|Explanations=Une maquette de bassin versant permet de réaliser de nombreuses observations et expériences en reconstituant le comportement de l'eau dans le paysage. En versant de l'eau en pluie sur les hauteurs de la maquette, on peut observer le chemin pris par l'eau en fonction des reliefs.
+
#define AIO_USERNAME    "USERNAME"        //Votre nom d'utilisateur sur io.adafruit
 +
#define AIO_KEY        "KEY"      //Votre clef AdafruitIO
  
 +
/************ Création des objets pour l'horloge ******************************************************/
 +
const char* ntpServer = "pool.ntp.org";
 +
const char* location  = "Europe/Paris";  // voir dans l'onglet time_zones.h si vous n'êtes pas sur le même fuseau horaire
  
Quand toute l'eau qui tombe sur une zone se retrouve au même point à l'arrivée (la même embouchure de rivière), cette zone est appelée un bassin versant. Sur les hauteurs, l'eau s'écoule de part et d'autre de lignes qui tracent les limites de plusieurs bassins versants .Ces lignes sont appelées lignes de crête.
+
/************ 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 PM1.0, PM2.5 PM10 et CO2
 +
// Renseigner les chemins de vos flux de données "/feeds/******
 +
// voir tuto https://www.wikidebrouillard.org/wiki/Envoyer_des_donn%C3%A9es_sur_le_WEB_gr%C3%A2ce_%C3%A0_MQTT
  
On observera que l'eau qui ruisselle sur le bassin versant rejoint des ruisseaux, des rivières puis s'écoule finalement en mer, où le cycle naturel de l'eau se poursuivra avec l'évaporation, qui forme les nuages, dont les pluies ramèneront l'eau sur les terres.
+
Adafruit_MQTT_Publish CO2 = Adafruit_MQTT_Publish(&mqtt, AIO_USERNAME "/feeds/CO2");
 +
Adafruit_MQTT_Publish PM1 = Adafruit_MQTT_Publish(&mqtt, AIO_USERNAME "/feeds/PM1");
 +
Adafruit_MQTT_Publish PM2_5 = Adafruit_MQTT_Publish(&mqtt, AIO_USERNAME "/feeds/PM2_5");
 +
Adafruit_MQTT_Publish PM10 = Adafruit_MQTT_Publish(&mqtt, AIO_USERNAME "/feeds/PM10");
 +
</syntaxhighlight><br />
 +
|Step_Picture_00=Cr_er_un_compte_chez_AdafruitIO_pour_envoyer_des_donn_es_dans_le_web_Adafruit-IO-Logo.png
 +
|Step_Picture_01=Cr_er_un_compte_chez_AdafruitIO_pour_envoyer_des_donn_es_dans_le_web_Capture_d_cran_du_2020-09-04_16-23-11.png
 +
|Step_Picture_02=Cr_er_un_compte_chez_AdafruitIO_pour_envoyer_des_donn_es_dans_le_web_Capture_d_cran_du_2020-09-04_16-36-30.png
 +
}}
 +
{{Tuto Step
 +
|Step_Title=Branchement des capteurs
 +
|Step_Content=-> Capteur HM3301 en grove
  
 +
-> Capteur CO2 -> Étape un peu de soudure
  
Un aspect du cycle naturel de l'eau reste difficilement visible sur ce type de maquette, il s'agit de l'infiltration d'une partie des eaux de pluie dans les sols (puisque le polystyrène une fois peint ou verni est imperméable). Mais l'ajout de quelques éléments sur la maquette (éponges, sable) permet d'aborder ce point.
+
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.
  
<br />
+
* G+ au 5V
|Deepen=Une maquette peut être complétée selon les notions que l'on souhaite aborder : on pourra par exemple ajouter au sol, notamment sur les bord de rivière et aux embouchures des morceaux de mousse ou d'éponge, du sable, de la terre, pour illustrer le comportement de l'eau dans des zones humides et les marais littoraux.
+
* G0 au GND
 +
* TX au 26
 +
* RX au 36
 +
 
 +
La calibration du capteur se fait avec le bouton du M5StcikC déjà intégré.
 +
 
 +
'''D'autres capteurs ici :''' [[DataLab - Chapitre 3 - Connecter ses capteurs]]
 +
|Step_Picture_00=Un_capteur_de_CO2_avec_UIFLOW_et_M5STICK_PXL_20220127_092811583_3.jpg
 +
|Step_Picture_01=Capteur_de_particules_IMG_20190915_140558.jpg
 +
|Step_Picture_02=Un_capteur_de_CO2_avec_UIFLOW_et_M5STICK_m5stickOK.png
 +
|Step_Picture_03=M5Stick_-_CO2-_capteur_de_particules_-_MQTT_Capture_d_e_cran_2022-03-02_a_17.02.45.png
 +
}}
 +
{{Tuto Step
 +
|Step_Title=Gestion de l'horloge
 +
|Step_Content=Vous pouvez remplacer '''''"Europe/Paris"''''' sur la ligne
  
 +
-> const char* location  = "'''''Europe/Paris'''''";
  
Sur les pentes du bassin versant, on peut disposer de la pâte à modeler pour représenter les sillons des champs cultivés et des talus qui bordent certaines parcelles agricoles, et des carréponges qui absorberont en partie l'eau comme le fait la végétation des haies ou des champs sur lesquels on fait pousser un couvert végétal pour limiter le ruissellement.  
+
par une autre localisation.
  
 +
Il suffit de récupérer dans l'onglet '''''time_zones.h''''', la destination de votre choix.
  
On peut également tester les impacts d'un épisode de pluies
+
<br />
 +
|Step_Picture_00=M5Stick_-_CO2-_capteur_de_particules_-_MQTT_Capture_d_e_cran_2022-03-03_a_09.31.24.png
 +
|Step_Picture_01=M5Stick_-_CO2-_capteur_de_particules_-_MQTT_Capture_d_e_cran_2022-03-03_a_09.37.25.png
 
}}
 
}}
 +
{{Notes}}
 
{{Tuto Status
 
{{Tuto Status
 
|Complete=Published
 
|Complete=Published
 
}}
 
}}

Version du 3 mars 2022 à 18:08

Auteur avatarbloupy | Dernière modification 5/05/2022 par Bloup

M5Stick - CO2- capteur de particules - MQTT Capture d e cran 2022-03-02 a 17.02.33.png
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 M5Stick-C avec les capteurs CO2 SensAirS8 et un capteur de particules HM3301 au site AdafruitIO
Licence : Attribution (CC-BY)

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 du pourcentage de CO2 et la mesure de particules en suspension.

Le programme est à télécharger dans l'onglet "Fichiers". Il vous suffira de le télécharger, de le décompresser et de mettre le dossier contenant 2 fichiers (M5Stick-test-CO2-PM-Date-IOAdafruit.ino + time_zones.h) dans le dossier de croquis de Arduino.

Lorsque vous ouvrirez ce projet dans Arduino, vous vous retrouverez avec un croquis à 2 onglets : M5Stick-test-CO2-PM-Date-IOAdafruit et time_zones.h

Ce 2ème onglet permet d'afficher la date et l'heure sur l'écran. Vous pouvez aller à l'étape 7 pour voir comment modifier votre localisation si vous n'êtes pas dans le même fuseau horaire.


D'autres projets avec un M5StickC pour récupérer le pourcentage de CO2 et la mesure de la température, l'humidité avec un capteur de type :

  • 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 (M5SticKCPlus si vous utilisez ce modèle)

-> EspSoftwareSerial

-> Tomoto_HM330X.h Item:HM3301

-> AirGradient_Air_Quality_Sensor

-> Adafruit_MQTT


Importer des bibliothèques dans l'interface Arduino

Vous pouvez installer que les bibliothèques ci-dessus.



É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 votre dossier

Arduino -> 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 - Configuration du Wifi

Remplacer dans le code "LENOMDETABOX " par le nom de votre réseau WIFI et le "LEMDPDETABOX" par votre clé Wifi.
/************************* Configuration pour le Wifi ************************/
const char* ssid = "LENOMDETABOX ";        // Nom de votre réseau WIFI
const char* password = "LEMDPDETABOX";    // Clef Wifi




Étape 5 - 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

Remplacer "Username" avec votre nom d'utilisateur sur io.adafruit et "ActiveKey" la clef généré sur AdafruitIO.

Ligne 157 du programme // Sélectionner les flux que vous voulez faire apparaitre sur votre bureau ioAdafruit. Attention à la limite de données envoyées.


CO2.publish(valCO2);

// PM1.publish(sensor.std.getPM1());

// PM2_5.publish(sensor.std.getPM2_5());

PM10.publish(sensor.std.getPM10());


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

// Suivre ce tuto pour récupérer les infos nécessaires https://www.wikidebrouillard.org/wiki/Cr%C3%A9er_un_compte_chez_AdafruitIO_pour_envoyer_des_donn%C3%A9es_dans_le_web
#define AIO_USERNAME    "USERNAME"        //Votre nom d'utilisateur sur io.adafruit
#define AIO_KEY         "KEY"      //Votre clef AdafruitIO

/************ Création des objets pour l'horloge ******************************************************/
const char* ntpServer = "pool.ntp.org";
const char* location  = "Europe/Paris";  // voir dans l'onglet time_zones.h si vous n'êtes pas sur le même fuseau horaire

/************ 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 PM1.0, PM2.5 PM10 et CO2
// Renseigner les chemins de vos flux de données "/feeds/******
// voir tuto https://www.wikidebrouillard.org/wiki/Envoyer_des_donn%C3%A9es_sur_le_WEB_gr%C3%A2ce_%C3%A0_MQTT

Adafruit_MQTT_Publish CO2 = Adafruit_MQTT_Publish(&mqtt, AIO_USERNAME "/feeds/CO2");
Adafruit_MQTT_Publish PM1 = Adafruit_MQTT_Publish(&mqtt, AIO_USERNAME "/feeds/PM1");
Adafruit_MQTT_Publish PM2_5 = Adafruit_MQTT_Publish(&mqtt, AIO_USERNAME "/feeds/PM2_5");
Adafruit_MQTT_Publish PM10 = Adafruit_MQTT_Publish(&mqtt, AIO_USERNAME "/feeds/PM10");


Étape 6 - Branchement des capteurs

-> Capteur HM3301 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.

  • G+ au 5V
  • G0 au GND
  • TX au 26
  • RX au 36

La calibration du capteur se fait avec le bouton du M5StcikC déjà intégré.

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


Étape 7 - Gestion de l'horloge

Vous pouvez remplacer "Europe/Paris" sur la ligne

-> const char* location = "Europe/Paris";

par une autre localisation.

Il suffit de récupérer dans l'onglet time_zones.h, la destination de votre choix.





Dernière modification 5/05/2022 par user:Bloup.

Commentaires

Published