diff --git a/.moonweb.yml b/.moonweb.yml new file mode 100644 index 0000000..240f3fc --- /dev/null +++ b/.moonweb.yml @@ -0,0 +1,6 @@ +title: "M5Stack Dashboard" +emoji: "🌡️" +category: code +subcategory: "Maker Firmware" +status: active +stack: [C++, Arduino, ESP32, PlatformIO, ArduinoJson] diff --git a/README.md b/README.md index a7d7376..7d17d18 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# M5Stack Core 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). @@ -8,7 +8,7 @@ gesteuert über die 3 eingebauten Buttons (A, B, C). ![Wetter](docs/screenshot3.jpg) ![Termine](docs/screenshot4.jpg) -## Voraussetzungen +## ⚙️ Voraussetzungen - Python 3 (für das lokale venv, in dem PlatformIO installiert wird) - 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 Python 3 findet. Prüfen mit: `py -3 --version` -## Setup +## 🔧 Setup 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 `.venv-platformio/` angelegt. -## Nur bauen (Test ohne Gerät) +## 🔨 Nur bauen (Test ohne Gerät) Linux/macOS: `./scripts/build.sh` Windows: `scripts\build.cmd` -## Bauen + Flashen +## ⚡ Bauen + Flashen Linux/macOS: `./scripts/deploy.sh [/dev/ttyUSB0]` Windows: `scripts\deploy.cmd [COM4]` @@ -43,7 +43,7 @@ Windows: `scripts\deploy.cmd [COM4]` **Wichtig**: Vor dem Flashen sicherstellen, dass keine andere Anwendung (z.B. Arduino IDE mit offenem Monitor) den COM-Port belegt. -## Bedienung +## 🎮 Bedienung | Button | Funktion | |---|---| @@ -54,33 +54,33 @@ Windows: `scripts\deploy.cmd [COM4]` Nach 5 Minuten ohne Tastendruck springt das Gerät automatisch zurück zur 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 (ö -> oe, ä -> ae, ü -> ue, ß -> ss), da der Standardfont sie nicht korrekt darstellt. -## Datumsformat im Kalender +## 📅 Datumsformat im Kalender 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 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 sparen. "Gewitter" wird durch Wolke+Blitz optisch von reiner Bewölkung unterschieden. Das Kalender-Icon ist ein echtes Kalenderblatt-Symbol statt einer Checkbox. -## GitHub Actions Build-Check +## 🔄 GitHub Actions Build-Check `.github/workflows/build.yml` kompiliert das Projekt bei jedem Push, ohne echte Zugangsdaten zu benötigen. Es wird dort automatisch eine Wegwerf-`secrets.h` aus `secrets.h.example` erzeugt, die nie ins Repo gelangt. -## Git +## 📝 Git Noch nicht initialisiert. Bei Bedarf: `git init && git add . && git commit -m "Initial"`. `include/secrets.h` und `.venv-platformio/` sind bereits in `.gitignore`.