MH-Z19 CO2 Sensor seriell an WeMos NodeMcu mit MQTT

MH-Z19 CO2 Sensor kostet bei Aliexpress 21€.
Als ESP8266 –Modul kann ESP-07 mit Adapter, ESP-12F mit Adapter, D1 mini WeMos NodeMcu genommen werden.
Wichtig dabei ist, dass Spannungsregler vorhanden ist und GPIO16 ausgeführt ist.


Schaltplan

MH-Z19 CO2 Sensor seriell an ESP8266 Schaltplan

Funktion der Schaltung

MH-Z19 CO2 Modul wird immer mit 5V versorgt.
Den ESP8266 weckenwir nur zum Messen auf und sparen dabei am Stromverbrauch 80mA.
ESP8266 Wacht in, bei Setup eingestellten Intervalen, auf, verbindet sich mit Router und MQTT-Brocker, holt die Daten über serielle Snittstelle von MH-Z19 CO2 Modul und geht wieder in Tiefschlaf.



MQTT-Taster Konfiguration über Webinterface

Konfiguration über Webinterface

RX/TX mit einem Jumper Brücken. Stromversorgung anlegen.
ESP8266 startet im Access Point Modus.
Blaue LED am ESP-01 leuchtet Dauerhaft und zeigt damit dass Setup-Modus aktiv ist.
Mit einem WLAN fähigem Gerät das WLAN Netzwerk „MQTT Taster Setup“ auswählen und mit dem Passwort „tiramisu“ anmelden.
Dann starten Sie ein Internetbrowser und geben Sie in Adressleiste 192.168.168.30 ein.
Wenn die Quellcode mit der Option #define DNS kompiliert wurde, dann wird beliebige Domen zum Setupseite führen.
Es öffnet sich ein Formular mit Eingabefeldern. Nach dem Absenden des Formulars erhalten Sie Meldung „Gespeichert“. Beim erneuten Aufruf vom 192.168.168.30, werden eingestellten Daten angezeigt. WLAN-Passwort wird dabei mit Sternchen ersetzt.



Download Firmware und Quellcode WLAN MQTT CO2 Sensor

Download MQTT CO2 Firmware BIN für D1 mini WeMos NodeMcu  -Tool zum laden der Firmware und Anleitung sind im Archiv.
(Kompiliert mit Arduino ver. 1.8.1, ESP8266 Bibliothek ver. 2.3.0).

Download Projekt MQTT WLAN CO2 Sensor mit MH-Z19 -Sketch für Arduino, es wird Bibliothek Core for ESP8266 WiFi chip benötigt.
Bitte unbediengt volgende MQTT Bibliothek installieren MQTT client library for Arduino(vom Imroy) Sonst lässt sich das Projekt nicht kompilieren.


Aktuelle Werte vom ThingSpeak mittels iframe an Homepage angebunden


ThingSpeak kann Daten vom MQTT –Clients empfangen.

MQTT Server: mqtt.thingspeak.com

MQTT Port: 1883

Client Name: CO2 Wohnzimmer

MQTT Publish: channels/<channelID>/publish/fields/field<fieldnumber>/<Write API Key>
z.B. channels/224882/publish/fields/field1/C9X9W344I42BNYKV

Messintervall Minuten: 10


HTML-JavaScript-Webseite, um mehrere Serien und Kanäle in Echtzeit anzuzeigen

Über den Link gelangen Sie zur Webseite mit einer Grafik der die Werte vom CO2 –Sensor und MQ-135 -Luftqualitätssensor anzeigt.
Ich habe als Grundlage diese Code ( ThingSpeak Live Chart, multi channel, second axis, historical data, csv export ) genommen und an meine Bedürfnisse angepasst.
ThingSpeak Live Chart, multi channel, MH-Z19 CO2


Nach oben