Fetch weather/calendar/departures once in setup() after WiFi and dump parsed fields to Serial, so JSON parsing against the three real endpoints can be verified on hardware independently of the UI. API layer itself unchanged (1:1 from m5stack-dashboard).
M5Stack Core Dashboard
Wetter-, Kalender- und MVG-Abfahrten-Dashboard für den M5Stack Core (ESP32), gesteuert über die 3 eingebauten Buttons (A, B, C).
Details zu Funktionsumfang, API-Formaten und Design-Entscheidungen stehen in
SPEC-final.md im Space. Umsetzungsschritte stehen in PLAN.md und TODO.md.
Setup
-
PlatformIO CLI installieren:
pip install -U platformio -
WLAN-Zugangsdaten eintragen:
cp include/secrets.h.example include/secrets.hDann in
include/secrets.hWIFI_SSIDundWIFI_PASSWORDanpassen. Die drei API-URLs sind bereits vorbefüllt. -
Gerät per USB anschließen.
Build & Flash
./scripts/deploy.sh
Falls mehrere serielle Geräte angeschlossen sind und die automatische Port-Erkennung fehlschlägt, kann der Port explizit übergeben werden:
./scripts/deploy.sh /dev/ttyUSB0
Das Skript baut nur und flasht, es öffnet keinen seriellen Monitor.
Falls du den Monitor separat sehen willst:
pio device monitor
Bedienung
| Button | Funktion |
|---|---|
| A | Wechselt zwischen Wetter-Detail und Kalender-Detail |
| B | Zurück zur Hauptseite |
| C | MVG-Abfahrtsseite |
Nach 5 Minuten ohne Tastendruck springt das Gerät automatisch zurück zur Hauptseite. Die Hauptseite aktualisiert sich alle 10 Minuten, die MVG-Seite jede Minute.
Icons
Die Icons (Sonne, Wolke, Regen, U-/S-Bahn-Badges, Kalender, Fehler-Symbol)
werden aktuell prozedural mit M5Stack-Grafikprimitiven gezeichnet
(src/icons/icons.h), um den Flash-Speicher zu schonen. Für echte
Pixel-Art-Bitmaps können die Funktionskörper später durch
M5.Lcd.drawBitmap(...)-Aufrufe mit RGB565-Arrays ersetzt werden.
Git
Dieses Projekt ist bewusst noch nicht als Git-Repository initialisiert. Sobald gewünscht:
git init
git add .
git commit -m "Initial M5Stack dashboard"
include/secrets.h ist bereits in .gitignore ausgeschlossen.