Hello,
Je cherchais un capteur de CO2 « pour voir » en intérieur un peu les valeurs chez moi… Le prix de ces capteurs ma vite coupé l’envie. En grattant un peu je suis tombé sur le MH-Z19B que l’on trouve à 20e chez Ali. (recherchez MH-Z19B version with Pin). Également un esp32 (ça marche aussi sous ESP8266 mais c’est un esp32 que j’avais sous la main). Idem les esp32 se trouve a moins de 5e chez Ali (ou pas plus du double sur amazon). Donc pour 1 on peut rester plus local !
Par contre les tutos trouvés sur le net étaient pour des envois de data vers domoticz. Ce qui nous fait une belle jambe. En me basant sur d’autre tuto fait pour envoyer des datas a jeedom j’ai un peu mixé le tout (avec 0 connaissance en C++ donc ça doit etre optimisable).
Pour rappel il suffit de faire une virtuel sous jeedom avec une info numérique en commande, celle si sera uptade en json via l’api Jeedom.
Je dois citer la source vu que j’ai pompé ce code en partie : https://projetsdiy.fr/projet-micropython-publier-taux-co2-capteur-mhz19-domoticz-2/ je ne voudrait pas leur voler la chose !
Voici le branchement fait me concernant :
La broche RX du MH-Z19 sur la 17 de l’esp32, la broche TX du MH-Z19 sur la 16 de l’esp32, la broche Vin du MH-Z19 sur la broche 5V de l’esp21 et enfin la broche GND du MH-Z19 sur une GND de l’esp32.
Par très académique ça mais donne :
Pour le code, le voici :
co2-esp32-jeedom.txt (3,4 Ko)
Il faut quelque lib pour l’esp32 je vous laisse voir les divers doc a ce sujet (lib pour le wifi et la lib softwareserial) notamment ainsi que le skd qui va bien (cf : https://projetsdiy.fr/installer-esp-idf-esp32-ide-arduino-macos-windows-raspberry/ ).
Pour le reste en monitor série de l’esp ça raconte un peu les ppm et l’envoi a jeedom :
17:56:27.005 → Send data to Jeedom
17:56:27.005 → Requesting CO2 concentration… PPM = 911
17:56:27.005 → connecting to 192.168.1.xx
17:56:27.005 → Requesting URL: /core/api/jeeApi.php?apikey=Vxxxxxxxxx&type=virtual&id=2857/core/api/jeeApi.php?apikey=Vxxxxxxxxx&type=virtual&id=2857&value=911
17:56:27.053 →
17:56:27.101 → closing connection
17:58:27.006 → Send data to Jeedom
17:58:27.006 → Requesting CO2 concentration… PPM = 876
17:58:27.006 → connecting to 192.168.1.xx
17:58:27.006 → Requesting URL: /core/api/jeeApi.php?apikey=Vxxxxxxxxx&type=virtual&id=2857/core/api/jeeApi.php?apikey=Vxxxxxxxxx&type=virtual&id=2857&value=876
évidement en prod on peut espacer plus l’envoi de donner.
La fenêtre étant ouverte et moi respirant dans la pièce les valeurs bougent pas mal mais a -/+ 50ppm je pense que ça donne une bonne idée de la chose. pour pas bien cher.
A voir sur la durée si les mesures de ce capteur sont fiable mais pour le moment j’avoue que c’est un peu étranges les valeurs mais peut être qu’il faut du temps pour se mettre en place je ne sais pas…
En intérieur ça semblait fiable, mais depuis 18h10 (mis en extérieur) ça semble bizarre… (ça devrait être à 400ppm)
Bref, wait & see. En espérant que ça serve à quelqu’un ou pas !
A+