Ce tuto a pour but d'expliquer toute la démarche qui permet de construire et installer un capteur de CO2 communiquant.
Pour rester le plus simple possible, il n'est pas prévu d'afficher les mesures sur le capteur.
Les mesures effectuées seront donc envoyées vers une plateforme web sur Internet afin de les traiter. En fonction des possibilités de la plateforme, les données pourront être enregistrées, affichées, agrégées, retraitées ou tout simplement ignorées.
Afin de mener à bien ce montage, il est nécessaire de disposer des éléments suivants :
En gros, le capteur détermine la concentration de dioxyde de carbone dans l'air ambiant. Cette valeur est transmise via une communication série au microcontrôleur. Celui-ci, connecter à Internet en WiFi, va publier à intervalle défini cette valeur vers un 'broker', en fait un serveur informatique, via le protocole de messagerie MQTT.
Le protocole MQTT est assez léger et permet une grande souplesse dans l'utilisation des données. En effet, il suffit aux clients, c'est à dire l'appareil ou les appareils qui vont utiliser la donnée, de s'abonner au broker. C'est ce que fait le système enez, mais rien n'empêche de créer ses propres écrans de visualisation avec node-RED par exemple.
Les données sont encapsulées dans un document json et se présentent ainsi:
{"Time":"2021-06-01T10:11:12","MHZ19B":{"Model":"B","CarbonDioxide":588,"Temperature":28.0},"TempUnit":"C"}
L'outil MqttExplorer permet de visualiser les données en temps réel et peut-être un excellent outil pour comprendre le fonctionnement de MQTT.
La première chose à faire est d'installer un firmware sur le microcontrôleur. Le firmware choisi étant Tasmota, nous allons utiliser Tasmotizerpour installer le firmware. Une fois Tasmotizer installé, relier le microcontrôleur à votre PC et lancer Tasmotizer. Note importante, pour télécharger le firmware, aucun capteur ne doit être branché au microcontroleur.
La liaison entre le capteur et le microcontrôleur va se faire grâce au câble fourni avec le capteur. Ce câble sera coupé au milieu. Coté broche, il sera insérer dans le connecteur du capteur, le fils jaune du coté de la bosse. Coté microcontrôleur, les fils seront soudés selon la table ci-dessous. Le fils qui ne servent pas seront coupés.
Les broches utilisées sont :
Wemos D1 Mini | MH-Z19B | Couleur du fil |
---|---|---|
VCC +5V | Vin | Rouge |
GND | GND | Noir |
TX | Rx | Bleu |
RX | Tx | Vert |
Voilà, l'ensemble capteur/microcontrôleur va maintenant envoyer ses données toutes les 5 minutes au broker.
Le site web du microcontrôleur permet de contrôler son fonctionnement et autorise une personnalisation plus fine si nécessaire.
Il est possible, via les pages de configurations du capteur, de personnaliser bien d'autres paramètres.
Ces pages sont accessibles en faisant pointer son navigateur web sur l'adresse IP du capteur.
Il est possible d'intervenir directement via les différents écran. Mais il y a une console disponible. Cette console permet de taper des ordres afin de modifier certains éléments de configuration, ou d'obtenir des informations.
Un de ces éléments de configuration permet notamment de dire au broker MQTT de retenir la dernière valeur envoyée (MQTT retain). Pour cela, dans la console, taper “SensorRetain 1” et valider en appuyant sur la touche Entrée.