ZACplus Citizen-Science workshop vom 02.08. und 03.08.2024

Aus Open Source Ecology - Germany
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

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/)