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:
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: