2. Erweiterung durch ESP8266 - Tronde/Raspi-SHT21 GitHub Wiki

Optionale ESP8266-Erweiterung

Version 2 des Raspi-SHT21 lässt sich um weitere Sensoren zur Messung und Überwachung von Temperatur und Luftfeuchtigkeit erweitern. In diesem Projekt nutze dazu einen ESP8266-Mikrocontroller mit der ESPEasy-Firmware, an welchen ein DHT22-Sensor angeschlossen wird.

Das folgende Schaltbild zeigt einen Prototypen mit vier angeschlossenen DHT22-Sensoren: dht22-on-esp8266

Der ESP8266 überträgt die gemessenen Werte per HTTP-POST-Request an den Raspi-SHT21, wo sie vom import.php-Skript weiterverarbeitet werden.

Damit dies funktioniert, wird die Test-Firmware aus Release v2.0-20180206 auf dem ESPEasy installiert. Hinweise zur Installation finden sich auf der ESPEasy-Projektseite.

Funktionalität

  • Messung von Temperatur (-40°C bis 80°C) und Luftfeuchtigkeit ( 0-100% relative Luftfeuchtigkeit)
  • Datenübertragung mittels HTTP-POST-Request an Raspi-SHT21 v2
  • Speicherung der jeweils aktuellsten Messwerte eines ESP8266 in einer JSON-Datei
  • Darstellung der jeweils aktuellsten Messwerte pro ESP8266 auf einem Dashboard
  • Automatische Erkennung und Verarbeitung weiterer ESP8266 durch den Raspi-SHT21 v2

Für die Zukunft ist geplant, die übermittelten Messwerte ebenfalls in einer Round-Robin-Datenbank zu speichern und wie beim Raspi-SHT21 zu visualisieren.

Konfiguration des ESP8266

Für detaillierte Konfigurations-Hinweise wird an dieser Stelle auf das ESPEasy-Wiki verwiesen. Im Folgenden wird nur auf die Parameter eingegangen, die für eine Anbindung an den Raspi-SHT21 wesentlich sind.

Unit Name

Im Menü Config wird ein Unit Name für den jeweiligen ESP8266 vergeben. Dieser darf nicht die Zeichen ".", "/" oder "" und keine Leerzeichen enthalten.

Dieser Name wird als Dateiname für die JSON-Datei verwendet, in welcher die aktuellen Messwerte gespeichert werden. Darüber hinaus wird dieser Name als Anzeigename für den jeweiligen Sensor auf dem Dashboard benutzt.

Generic HTTP Advanced [TESTING] Controller

Im Menü Controllers ist ein Controller vom Typ Generic HTTP Advanced [TESTING] anzulegen. Als Controller IP wird hier die IP-Adresse des Raspi-SHT21 angegeben und der Port (Standard Port 80), auf dem der Webserver lauscht. Als HTTP Method wird POST ausgewählt und unter HTTP URI import.php (der Name des Import-Skripts) eingetragen.

In das Feld HTTP Header ist folgender String einzutragen: Content-type: application/x-www-form-urlencoded; charset=utf-8

Bei HTTP Body wird folgender String hinterlegt: sysname=%sysname%&taskname=%tskname%&id=%id%&%vname1%=%val1%&%vname2%=%val2%

Die Bedeutung der einzelnen Parameter kann hier nachgelesen werden.

Devices

In diesem Menü wird der DHT22-Sensor konfiguriert. Hinweise zur Konfiguration finden sich im ESPEasy-Wiki.

Dashboard

Das Dashboard des Raspi-SHT21 v2 erreicht man unter http://URL-des-Raspi-SHT21/dashboard/index.php. Die folgende Abbildung zeigt ein Dashboard mit einem SHT21 und einem ESP8266: raspi-sht21-dashboard