PiLogger WebMonitor jetzt auch für ESP32 !

Nachdem die Verfügbarkeit der Raspberry Pi's jetzt doch sehr lange sehr schlecht war, haben wir uns nach einer Alternative umgesehen.

Wir haben den PiLogger WebMonitor erfolgreich auf einen ESP32 von Espressif portiert !

Der ESP32 von Espressif Systems ist ein preiswerter und gut verfügbarer Microcontroller mit WiFi an Bord.

Verglichen mit einem Raspberry Pi Zero W ist er natürlich deutlich weniger leistungsfähig - aber eben auch weniger leistungshungrig.

Während der 24/7 Logger-Betrieb mit einem Raspi Zero W im Schnitt ca. 900 mW auf der 5 Volt Ebene verbraucht, kommt der ESP32 mit ca. 250 mW aus.

Wer also bereit ist, Abstriche bei der Antwortzeit und der Übertragungsgeschwindigkeit zu machen und auch nicht unbedingt mit 'high speed' loggen will, der kann hier sparsam und doch komfortabel vor sich hin loggen laughing

Wir haben uns für ein ESP32 Devkit C v4 mit 38 Pins entschieden (siehe Foto).

Für den erfolgreichen Logger-Betrieb fehlt dem ESP32 Modul eine micro SD Karte als Datenspeicher.
Die landläufigen 'SD card' Lösungsansätze für den ESP32 basieren lediglich auf der SPI Schnittstelle mit 1 Datenleitung. Das ist eine weitere Performance-Bremse. Wir haben uns also entschlossen eine Adapter-Platte für den PiLogger One zu entwickeln, die gleichzeitig einen micro SD Kartenhalter mit 4 Datenleitungen (SDIO) bereitstellt.

Diese Adapter-Platine stellt direkt einen 26p Pin Header für das Aufstecken des PiLogger One zur Verfügung.

Für die Portierung der PiLogger WebMonitor Software war die Verfügbarkeit von MicroPython für den ESP32 ausschlaggebend. MicroPython ist ein Projekt von Damien George - vielen Dank für diese tolle Arbeit ! Der ESP32 Port von MicroPython setzt auf das Development Framework (Betriebssystem) ESP-IDF von Espressif auf. Das ist ein FreeRTOS basiertes System.
Als Web-Framework kommt hier Microdot von Miguel Grinberg zum Einsatz - ebenfalls vielen Dank für diese tolle Arbeit !

Obwohl der WebMonitor für den Raspberry Pi bereits versucht hat möglichst schlank und resourcenschonend zu sein, sind die Resourcen auf dem ESP32 doch noch einmal deutlich knapper. Nach dem Booten in den MicroPython Prompt steht für die Applikation noch etwa 110 kB Arbeitsspeicher zu Verfügung. Das 'main.py' Script muss aber vom Interpreter in diesem Speicher erst einmal verarbeitet und abgelegt werden - also wird es ab einer Script-Länge von 40 k eng ! Deshalb wird ein Teil in ein Modul ausgelagert und vorkompiliert. Das war nicht die einzige Hürde ...

Die PiLogger Web-Monitor Software für den ESP32 ist ebenfalls freie Open Source Software unter MIT Lizenz. Sie steht hier kostenlos zum Download : PiLogger Web-Monitor-ESP32

Eine Kurzanleitung zur Installation findet sich hier : Kurzanleitung PiLogger Web-Monitor-ESP32

 

PiLogger kaufen