ZACplus Citizen-Science workshop vom 02.08. und 03.08.2024
Ort: OpenEcoLab Rahden
Teilnehmer: 3
Erste Spannungsmessungen mit dem CYD und aufspielen von OpenHAB auf dem Pi Zero.
Hardware-Konstrukt A: automatisches Messinterface, CYD GUI
Als lokales Messinterface verwenden wir ein sog. "CYD", das steht für "Cheap Yellow Display" und ist eine Art nerdiger Spitzname für ein Display vom Typ ESP32-2432S028R. Es handelt sich dabei um ein sehr günstiges China-Board welches mit einem 320x240 Touch-Display ausgestattet ist, sowie mit einem ESP32-WROOM-32 Modul als Haupt-Prozessor. Ausserdem verfügt es noch über allerhand Peripherie, wie etwa einem Micro-USB und einem TX/RX Seriellen Anschluss, einem SD-Card SLot, einem intergierten Speaker und einigen herausgeführten I/O-Ports (Extension).
Hier eine ausführliche Liste mit Spezifikationen:
- Dual-core MCU, integrated WI-FI and Bluetooth functions
- Frequency can reach 240MHz
- 520KB SRAM, 448KB ROM, Flash size is 4MB
- Module size 50.0×86.0mm
- Operating Voltage: 5V
- Power consumption: approximately 115mA
- Product weight: approximately 50g
- 2.8-inch color TFT display screen with ILI9341 driver chip
- Display resolution: 240x320px with resistive touchscreen
- Backlight control circuit
- TF card interface for external storage
- Serial interface
- Temperature and humidity sensor interface (DHT11 interface) and reserved IO port interface
- It can be programmed with: Arduino IDE, MicroPython, ESP-IDF
Damit scheint es alles mitzubringen, was wir für ein User-Interface mit Monitoring-Fähigkeiten benötigen: Über den Touchscreen lässt sich ein Userinterface zur Steuerung der Messungen realisieren, über den Expansionsport eine Anbindung an den Mess-Sensor für die ZACplus-Zelle, die Daten können dann entweder lokal auf der SD-Card gespeichert oder auch gleich mit dem ESP32 per WLAN an einen Server übertragen werden. Gleichzeitig können auf dem Display aktuelle Messwerte zu Monitroing-Zwecken angezeigt werden. Und es istz schon für ca. 12,- EUR zu haben und damit wirklich nicht sonderlich kostenaufwändig.
Nun gilt es, dafür eine eigene Firmware zu programmieren, was u.a. die Ansteuerung der Mess-Platine beinhaltet, aber auch eine Benutzer-Führung zu Zwecken der Steuerung und der Konfiguration.
Die Sourcen für die Firmware sind zu finden in unserem Repository unter https://gitlab.opensourceecology.de/mcutty/voltmeter-wifi-webserver-logger/-/tree/main
Weitere Hinweise:
- Netzeinbindung: CYD startet zuerst als AcessPoint, dann eigentliche WLAN-Konfiguration via Handybrowser
- Menupunkte:
* Wifi-Reset --> wieder Acesspoint * Logdatei auf SD-Karte starten * Messung starten
Hardware-Konstrukt B: Server für automatisches Messinterface, Raspberry Pi Zero 2W
Der Raspberry Pi Zero 2W ist perfekt geeignet als Database-Server um die Mess-Daten zu sammeln und grafisch zu visualisieren (zB. mit Grafana) und sie anschliessend über ein Web-Frontend im lokalen Netzwerk verfügbar zu machen. Dazu nutzen wir die besonderen Eigenschaften, die eine Homeautomation-Software, in diesem Falle OpenHAB, bereits mit sich bringt.
- System für Homeautomation "Openhab", gibt es bereits als fertige Raspi-Distribution "Openhabian", kann direkt mittels Raspi-Imager auf SD-Karte gespielt werden
- Erstkonfiguration für WLAN durch editieren der Datei openhabian.conf
- dann Neustart, beim ersten mal erfolgt installation aller benötigter Pakete via Internet, was min. eine halbe Stunde (oder länger) dauern kann
- danach ist der Server im lokalen WLAN unter seiner zugewiesenen DHCP-Adresse auf Port 8080 bzw. unter http://openhabian:8080 erreichbar und ready für Erstkonfiguration
- für shutdown einloggen mit putty-ssh, kann aber auch im Webfrontend explizit konfiguriert werden (https://smarthome-training.com/de/openhab-systembefehle-wie-neustart-herunterfahren-per-schalter-ausfuehren/)