README.md

This commit is contained in:
2026-08-15 00:05:57 +02:00
parent 41089a5b17
commit 43979c883d
2 changed files with 17 additions and 11 deletions
+6
View File
@@ -0,0 +1,6 @@
title: "M5Stack Dashboard"
emoji: "🌡️"
category: code
subcategory: "Maker Firmware"
status: active
stack: [C++, Arduino, ESP32, PlatformIO, ArduinoJson]
+11 -11
View File
@@ -1,4 +1,4 @@
# M5Stack Core Dashboard # 🌤️ M5Stack Core Dashboard
Wetter-, Kalender- und MVG-Abfahrten-Dashboard für den M5Stack Core (ESP32), Wetter-, Kalender- und MVG-Abfahrten-Dashboard für den M5Stack Core (ESP32),
gesteuert über die 3 eingebauten Buttons (A, B, C). gesteuert über die 3 eingebauten Buttons (A, B, C).
@@ -8,7 +8,7 @@ gesteuert über die 3 eingebauten Buttons (A, B, C).
![Wetter](docs/screenshot3.jpg) ![Wetter](docs/screenshot3.jpg)
![Termine](docs/screenshot4.jpg) ![Termine](docs/screenshot4.jpg)
## Voraussetzungen ## ⚙️ Voraussetzungen
- Python 3 (für das lokale venv, in dem PlatformIO installiert wird) - Python 3 (für das lokale venv, in dem PlatformIO installiert wird)
- Kein globales `pip install platformio` nötig, alle Skripte legen sich ihr - Kein globales `pip install platformio` nötig, alle Skripte legen sich ihr
@@ -18,7 +18,7 @@ gesteuert über die 3 eingebauten Buttons (A, B, C).
die Windows-Skripte automatisch den `py`-Launcher (`py -3`), der zuverlässig die Windows-Skripte automatisch den `py`-Launcher (`py -3`), der zuverlässig
Python 3 findet. Prüfen mit: `py -3 --version` Python 3 findet. Prüfen mit: `py -3 --version`
## Setup ## 🔧 Setup
1. WLAN-Zugangsdaten eintragen: 1. WLAN-Zugangsdaten eintragen:
``` ```
@@ -30,12 +30,12 @@ Python 3 findet. Prüfen mit: `py -3 --version`
2. Beim ersten Aufruf eines Skripts wird automatisch ein lokales venv unter 2. Beim ersten Aufruf eines Skripts wird automatisch ein lokales venv unter
`.venv-platformio/` angelegt. `.venv-platformio/` angelegt.
## Nur bauen (Test ohne Gerät) ## 🔨 Nur bauen (Test ohne Gerät)
Linux/macOS: `./scripts/build.sh` Linux/macOS: `./scripts/build.sh`
Windows: `scripts\build.cmd` Windows: `scripts\build.cmd`
## Bauen + Flashen ## Bauen + Flashen
Linux/macOS: `./scripts/deploy.sh [/dev/ttyUSB0]` Linux/macOS: `./scripts/deploy.sh [/dev/ttyUSB0]`
Windows: `scripts\deploy.cmd [COM4]` Windows: `scripts\deploy.cmd [COM4]`
@@ -43,7 +43,7 @@ Windows: `scripts\deploy.cmd [COM4]`
**Wichtig**: Vor dem Flashen sicherstellen, dass keine andere Anwendung **Wichtig**: Vor dem Flashen sicherstellen, dass keine andere Anwendung
(z.B. Arduino IDE mit offenem Monitor) den COM-Port belegt. (z.B. Arduino IDE mit offenem Monitor) den COM-Port belegt.
## Bedienung ## 🎮 Bedienung
| Button | Funktion | | Button | Funktion |
|---|---| |---|---|
@@ -54,33 +54,33 @@ Windows: `scripts\deploy.cmd [COM4]`
Nach 5 Minuten ohne Tastendruck springt das Gerät automatisch zurück zur Nach 5 Minuten ohne Tastendruck springt das Gerät automatisch zurück zur
Hauptseite. Hauptseite: Refresh alle 10 Minuten. MVG: jede Minute. Hauptseite. Hauptseite: Refresh alle 10 Minuten. MVG: jede Minute.
## Textdarstellung (Umlaute) ## 🔤 Textdarstellung (Umlaute)
`include/text_utils.h` wandelt UTF-8-Umlaute automatisch in ASCII um `include/text_utils.h` wandelt UTF-8-Umlaute automatisch in ASCII um
(ö -> oe, ä -> ae, ü -> ue, ß -> ss), da der Standardfont sie nicht (ö -> oe, ä -> ae, ü -> ue, ß -> ss), da der Standardfont sie nicht
korrekt darstellt. korrekt darstellt.
## Datumsformat im Kalender ## 📅 Datumsformat im Kalender
Kurzformat `Wochentag Tag.Monat. Stunde:Minute`, z.B. `Mo 3.8. 14:00`. Kurzformat `Wochentag Tag.Monat. Stunde:Minute`, z.B. `Mo 3.8. 14:00`.
Ganztägige Termine ohne Uhrzeit, z.B. `Mo 3.8.`. Der Wochentag wird rein Ganztägige Termine ohne Uhrzeit, z.B. `Mo 3.8.`. Der Wochentag wird rein
rechnerisch ermittelt (`include/date_utils.h`), keine NTP-Sync nötig. rechnerisch ermittelt (`include/date_utils.h`), keine NTP-Sync nötig.
## Icons ## 🎨 Icons
Alle Icons werden prozedural gezeichnet (`src/icons/icons.h`), um Flash zu Alle Icons werden prozedural gezeichnet (`src/icons/icons.h`), um Flash zu
sparen. "Gewitter" wird durch Wolke+Blitz optisch von reiner Bewölkung sparen. "Gewitter" wird durch Wolke+Blitz optisch von reiner Bewölkung
unterschieden. Das Kalender-Icon ist ein echtes Kalenderblatt-Symbol statt unterschieden. Das Kalender-Icon ist ein echtes Kalenderblatt-Symbol statt
einer Checkbox. einer Checkbox.
## GitHub Actions Build-Check ## 🔄 GitHub Actions Build-Check
`.github/workflows/build.yml` kompiliert das Projekt bei jedem Push, ohne `.github/workflows/build.yml` kompiliert das Projekt bei jedem Push, ohne
echte Zugangsdaten zu benötigen. Es wird dort automatisch eine echte Zugangsdaten zu benötigen. Es wird dort automatisch eine
Wegwerf-`secrets.h` aus `secrets.h.example` erzeugt, die nie ins Repo Wegwerf-`secrets.h` aus `secrets.h.example` erzeugt, die nie ins Repo
gelangt. gelangt.
## Git ## 📝 Git
Noch nicht initialisiert. Bei Bedarf: `git init && git add . && git commit -m "Initial"`. Noch nicht initialisiert. Bei Bedarf: `git init && git add . && git commit -m "Initial"`.
`include/secrets.h` und `.venv-platformio/` sind bereits in `.gitignore`. `include/secrets.h` und `.venv-platformio/` sind bereits in `.gitignore`.