smarthome-tricks.de

ESPEasy – Einfacher CO2-Sensor für ioBroker

In diesem Artikel zeige ich Dir, wie man mit ESPEasy und dem MH-Z19-Sensor einen einfachen CO2-Sensor für ioBroker aufbauen kann. Mit ESPEasy können wir zumindest für einfache Sensoranbindungen an ioBroker auf die Programmierung verzichten. In meinem Beispiel verwenden wir einen einfachen ESP8266 Mikroprozessor sowie einen MH-Z19-Sensor.

Bevor wir mit der Einrichtung sowie der Anbindung an ioBroker beginnen können, zeige ich Dir hier zunächst die benötigten Produkte und Materialien:

Alternativ kannst Du den Sensor auch bei folgenden Anbietern bestellen:

MH-Z19 Sensor bei banggood.com

Im ersten Schritt laden wir uns zunächst das ESPEasy-ZIP herunter. Verwende einfach das neueste Release von folgender Webseite:

https://github.com/letscontrolit/ESPEasy/releases

Ich habe den Release-Stand „ESP_Easy_mega_20200516“ verwendet.

Flashen

Nach dem das ZIP heruntergeladen wurde, entpacken wir es nach C:\Temp\ESPEasy\. Im Verzeichnis findest Du jetzt direkt den ESP Easy Flasher. Verbinde jetzt Deinen ESP8266 Mikroprozessor mit dem USB-Kabel mit Deinem PC und starte die folgende Anwendung:

Im Flash-Tool wählst Du nun im ersten Schritt den COM-Port aus. In meinem Beispiel verwende ich den Port COM3. Im nächsten Schritt wählst Du aus der Liste die entsprechende Firmware aus. Ich habe hier die Version 20200516_normal für 4M Variante des ESP8266 gewählt.

Im nächsten Schritt kannst Du dann unten rechts auf die Schaltfläche „Flash ESP FW“ klicken, sodass der Flash-Vorgang gestartet wird.

Nach dem Flashen den ESP8266 kurz aus- und wieder einstecken um die Konfiguration der WLAN-Verbindung zu starten.

WLAN-Konfiguration

Im nächsten Schritt trennen wir den ESB8266 vom USB-Anschluss und stecken ihn dann wieder am USB-Port des PCs oder direkt an einem USB-Netzteil wieder ein. Damit wird ESPEasy neu gestartet und wir können mit der WLAN-Konfiguration beginnen.

Im ersten Schritt öffnen wir am PC oder Smartphone die WLAN-Einstellungen und suchen nach einem neuen WLAN Netz mit dem Namen „ESP_Easy_0“. Wir müssen uns nun mit diesem Netzwerk verbinden. Das Standard Kennwort für die WLAN-Verbindung lautet „configesp“. Nach dem wir uns erfolgreich verbunden haben öffnet sich auf dem Smartphone in der Regel direkt die ESPEasy Konfiguration. Sollte sich die Konfiguration nicht automatisch öffnen, kann sie unter folgender Adresse aufgerufen werden: http://192.168.4.1

Auf der ersten Seite der Konfiguration wählen wir nun unser zu verwendendes WLAN-Netzwerk aus und geben den Schlüssel dazu ein. Mit Speichern können wir die Einstellungen dann speichern und bestätigen. Im nächsten Schritt trennen wir uns vom WLAN-Netz „ESP_Easy_0“ und verbinden uns mit unserem Standard WLAN-Netzwerk. Wir können dann auch nochmals den ESP8266 vom Strom trennen und damit neu starten um die WLAN-Einstellungen zu testen.

In der Netzwerk-Übersicht des Routers finden wir jetzt auch ein neues Gerät, unseren ESPEasy, mit dem wir uns im nächsten Schritt wieder verbinden. In meinem Netzwerk ist ESPEasy nun unter der IP-Adresse 192.168.2.129 aufrufbar.

Hardware-Test Aufbau

Bevor wir nun mit der Einrichtung der ESPEasy-Software fortfahren, müssen wir zunächst den CO2-Sensor mit dem ESP8266 verkabeln. Dazu stecken wir beide Komponenten auf unser Breadboard und Erstellen mit Jumper Kabeln folgende Verbindungen:

MH-Z19ESP8266
VCC5,5V (VU)
GNDGND
TXD7
RXD5



ESPEasy Einrichtung

Nach dem wir jetzt die Schaltung aufgebaut und ESPEasy gestartet haben, können wir im nächsten Schritt mit der Einrichtung von ESPEasy beginnen. Melde Dich dazu wieder über das ESPEasy Web-Interface an und öffnen den Bereich Devices. Auf der Lasche klicken wir im ersten Device auf die Schaltfläche Add. Über die Auswahl-Box kannst Du jetzt den Sensor „Gases – CO2 MH-Z19“ wählen. Mit einem Klick auf die Schaltfläche Submit werden dann noch zusätzliche Device-Einstellungen getroffen.

In den Einstellungen müssen wir zunächst die Einstellung Enabled aktivieren. Zudem müssen hier die GPIO für TX (senden) und RX (empfangen) hinterlegt werden. Im oben gezeigten Schaltplan verwende ich D7 für TX und D5 für RX. Als Serial Port habe ich SoftwareSerial gewählt.

Der Sensor sollte jetzt nach wenigen Sekunden im Bereich Values die Werte für PPM (CO2-Sensor), Temperatur in °C und den U-Wert übertragen. Der Sensor überträgt einen CO2-Bereich von 0-5000 PPM. Sollte der Sensor kleinere Werte als 400 liefern, muss er zunächst an der frischen Luft kalibriert werden. In meinem Fall stimmten die Werte von Anfang an mit einem CO2-Messgerät überein.

Für die Kalibrierung wird der HD-Pin mit einem 3K Widerstand für 7 Sekunden mit GND verbunden und dann im freien mindestens 20 Minuten betrieben. Jetzt sollte der Sensor seine Kalibrierung abgeschlossen haben.

Nach dem der Sensor jetzt in ESPEasy funktioniert, werden wir im nächsten Schritt einen Controller hinterlegen, welcher die Daten des Sensors per MQTT an ioBroker überträgt. Dafür gehen wir auf den Bereich Controllers und klicken hier bei der nächsten freien Nummer auf die Add Schaltfläche. In der Regel sollte das die 1 sein.

In der Protokoll-Auswahl wählen wir hier das MQTT-Protokoll für openHAB, welches so auch mit dem ioBroker MQTT-Adapter funktioniert. Dann noch die Verwendung einer IP-Adresse, sowie die IP-Adresse und den Port zu ioBroker und dem MQTT-Adapter hinterlegen. Falls Du hier eine Anmeldung am Adapter verwendest musst Du diese im Bereich Creditials aktivieren und hinterlegen.

Im Bereich MQTT muss unten die Einstellung Enabled aktiviert werden. Die restlichen Einstellungen für den Aufbau des Subscribe und Publish habe ich wie folgt konfiguriert.

Controller Subscribe: %sysname%/#
Controller Publish: %sysname%/%tskname%/%valname%

Mit der Schaltfläche Submit werden dann die Einstellungen des Controllers gespeichert. In der Controller-Liste sollte der neu angelegte Controller jetzt Enabled dargestellt werden.

Nach dem wir jetzt den Controller eingerichtet haben, müssen wir nun nochmals auf den Bereich Devices wechseln und hier auf unserem Sensor die Eigenschaft Data Acquisition – Send to Controller aktivieren. Somit werden die Sensorwerte an den MQTT Controller übertragen.

Anbindung an ioBroker per MQTT

Wenn wir jetzt in ioBroker in die Objektliste schauen, werden wir hier den folgenden neuen Ordner und die unten stehenden Datenpunkte für den neuen CO2-Sensor finden.

In ioBroker habe ich dann eine Grafik mit dem Adapter ECharts erstellt.

Fazit

ESPEasy lässt sich für einfache Aufgaben wie das Einsammeln von Sensordaten perfekt nutzen. Auch das Zusammenspiel mit ioBroker über MQTT funktioniert perfekt.

Ich hoffe euch gefällt dieser Artikel. Über Kommentare unterhalb des Artikels oder per E-Mail freue ich mich wie immer 🙂

Die mobile Version verlassen