Zum Inhalt springen
shellyshale

E-Ink-Dashboard

Ein 7,5-Zoll-E-Paper an der Wand. Der ESP32 zeigt nur an, die ganze Logik läuft im Homelab.

Ein Bild alle 30 Sekunden
  1. 01QuellenWetter, Rennkalender, Drucker, Cluster, KalenderAPIs · MQTT
  2. 02RendererZeichnet das Bild, 800 × 480, schwarz-weissPod im Cluster
  3. 03frame.binFertiges Bild als BytesHTTP
  4. 04ESP32Holt das Bild, aktualisiert nur, wenn sich etwas geändert hatPartial Refresh

Der Mikrocontroller kennt keine einzige Datenquelle. Ein neues Widget ist eine Änderung im Cluster, nie ein neues Flashen.

Warum

Ein Bildschirm, der nicht leuchtet, keinen Strom zieht, wenn sich nichts ändert, und den man im Vorbeigehen liest. Kein Tablet, das man entsperren muss.

Aufbau

Ein ESP32 holt alle 30 Sekunden ein fertig gerechnetes Bild und aktualisiert das Display nur, wenn sich etwas geändert hat. Alles andere passiert in einem Pod im Cluster: Daten holen, Layout, Schrift, Bild.

Was es anzeigt

  • Uhrzeit, Datum, Kalenderwoche und Wetter mit Vorschau für zwölf Stunden
  • Das nächste Formel-1-Rennen mit allen Sessions in Lokalzeit, dazu die WM-Stände
  • Die nächste Runde der Formel E und Rennevents auf ein paar europäischen Strecken
  • Den 3D-Drucker, solange er druckt (direkt über sein lokales MQTT, ohne Cloud)
  • Den Zustand beider Cluster: Knoten, CPU, RAM, Pods
  • Was in Sitepipe heute ansteht
  • Termine aus dem Kalender

Was ich dabei gelernt habe

Ein Display, das sich selten ändert, verzeiht viel, ein Rollout-Skript nicht: Ein falsch verschachteltes Anführungszeichen hat den Pod einmal zehn Minuten lang alle 70 Sekunden neu gestartet. Seither prüfe ich nach einem Rollout im Container, ob der neue Code wirklich da ist, statt dem Neustart zu vertrauen.

PlatzhalterFoto des Displays an der Wand
PlatzhalterNahaufnahme ESP32 und Verkabelung