mirror of
https://github.com/skoelle/wt32sc01-dashboard.git
synced 2026-09-17 17:30:25 +00:00
Phase 7: archive migration docs to docs/, rewrite README for WT32-SC01 Plus
- Move SPEC-old.md, PLAN.md, TODO.md -> docs/ (migrationshistorie nachvollziehbar, nicht geloescht laut Auftrag) - README.md neu: WT32-SC01-Plus-Setup, Touch-Bedienung, Projektstruktur, Verweis auf m5stack-dashboard als Referenz - deploy.sh unverändert (hardwareunabhaengig, ruft nur pio run --target upload auf)
This commit is contained in:
@@ -1,10 +1,14 @@
|
|||||||
# M5Stack Core Dashboard
|
# WT32-SC01 Plus Dashboard
|
||||||
|
|
||||||
Wetter-, Kalender- und MVG-Abfahrten-Dashboard für den M5Stack Core (ESP32),
|
Wetter-, Kalender- und MVG-Abfahrten-Dashboard für den WT32-SC01 Plus
|
||||||
gesteuert über die 3 eingebauten Buttons (A, B, C).
|
(ESP32-S3, 3.5" kapazitiver Touch-IPS-Display, 320x480 im Hochformat),
|
||||||
|
gesteuert ausschließlich über Touch. Vollständig übernommene Backend-APIs
|
||||||
|
und Fachlogik aus dem [M5Stack-Vorgängerprojekt](https://github.com/skoelle/m5stack-dashboard),
|
||||||
|
Display- und Eingabeschicht neu aufgebaut mit LovyanGFX + LVGL 9.
|
||||||
|
|
||||||
Details zu Funktionsumfang, API-Formaten und Design-Entscheidungen stehen in
|
Details zu Funktionsumfang, API-Formaten und Design-Entscheidungen
|
||||||
`SPEC-final.md` im Space. Umsetzungsschritte stehen in `PLAN.md` und `TODO.md`.
|
stehen in [`SPEC.md`](SPEC.md). Die Migrationshistorie (Vorgänger-Spec,
|
||||||
|
Migrationsplan, Task-Liste) liegt unter [`docs/`](docs/).
|
||||||
|
|
||||||
## Setup
|
## Setup
|
||||||
|
|
||||||
@@ -13,14 +17,19 @@ Details zu Funktionsumfang, API-Formaten und Design-Entscheidungen stehen in
|
|||||||
pip install -U platformio
|
pip install -U platformio
|
||||||
```
|
```
|
||||||
|
|
||||||
2. WLAN-Zugangsdaten eintragen:
|
2. WLAN-Zugangsdaten + API-URLs eintragen:
|
||||||
```
|
```
|
||||||
cp include/secrets.h.example include/secrets.h
|
cp include/secrets.h.example include/secrets.h
|
||||||
```
|
```
|
||||||
Dann in `include/secrets.h` `WIFI_SSID` und `WIFI_PASSWORD` anpassen.
|
Dann in `include/secrets.h` `WIFI_SSID`, `WIFI_PASSWORD` und die drei
|
||||||
Die drei API-URLs sind bereits vorbefüllt.
|
`*_API_URL`-Konstanten anpassen. `include/secrets.h` ist über
|
||||||
|
`.gitignore` vom Repo ausgeschlossen.
|
||||||
|
|
||||||
3. Gerät per USB anschließen.
|
3. (Optional) Pinbelegung verifizieren: `include/board_pins.h` enthält die
|
||||||
|
Referenz-Pinout für das WT32-SC01 Plus (ST7796 8-Bit-Parallel +
|
||||||
|
FT6336U I2C-Touch). Bei abweichender Board-Revision hier anpassen.
|
||||||
|
|
||||||
|
4. Gerät per USB anschließen.
|
||||||
|
|
||||||
## Build & Flash
|
## Build & Flash
|
||||||
|
|
||||||
@@ -45,33 +54,48 @@ pio device monitor
|
|||||||
|
|
||||||
## Bedienung
|
## Bedienung
|
||||||
|
|
||||||
| Button | Funktion |
|
| Touch | Funktion |
|
||||||
|---|---|
|
|---|---|
|
||||||
| A | Wechselt zwischen Wetter-Detail und Kalender-Detail |
|
| Tap auf Wetter-Kachel (Home) | Wetter-Detailseite |
|
||||||
| B | Zurück zur Hauptseite |
|
| Tap auf Kalender-Kachel (Home) | Kalender-Detailseite |
|
||||||
| C | MVG-Abfahrtsseite |
|
| Tap auf MVG-Kachel (Home) | MVG-Abfahrtsseite |
|
||||||
|
| Tap auf Zurück-Button (unten links, Detailseiten) | Zurück zur Hauptseite |
|
||||||
|
| Tap auf Wetter-Kachel im Fehlerzustand | Manueller Retry |
|
||||||
|
|
||||||
Nach 5 Minuten ohne Tastendruck springt das Gerät automatisch zurück zur
|
Nach 5 Minuten ohne Touch-Eingabe springt das Gerät automatisch zurück
|
||||||
Hauptseite. Die Hauptseite aktualisiert sich alle 10 Minuten, die
|
zur Hauptseite. Die Hauptseite aktualisiert sich alle 10 Minuten, die
|
||||||
MVG-Seite jede Minute.
|
MVG-Seite jede Minute.
|
||||||
|
|
||||||
## Icons
|
## Projektstruktur
|
||||||
|
|
||||||
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 .
|
├── platformio.ini esp32-s3, LovyanGFX + LVGL9
|
||||||
git commit -m "Initial M5Stack dashboard"
|
├── lv_conf.h LVGL-Konfiguration
|
||||||
|
├── include/
|
||||||
|
│ ├── board_pins.h WT32-SC01-Plus-Pinout
|
||||||
|
│ ├── secrets.h.example Platzhalter für WLAN/API-URLs
|
||||||
|
│ ├── theme.h Dark-Mode-Farbschema (LVGL)
|
||||||
|
│ ├── text_utils.h UTF-8->ASCII-Transliteration
|
||||||
|
│ └── date_utils.h Datumsformatierung (kein NTP)
|
||||||
|
├── src/
|
||||||
|
│ ├── main.cpp Screen-Controller + Inaktivitäts-Timer
|
||||||
|
│ ├── display/ LovyanGFX-Setup + LVGL-Anbindung
|
||||||
|
│ ├── ui/ Screens + wiederverwendbare Widgets
|
||||||
|
│ │ ├── screen_base.h Screen-Lifecycle (create/show/refresh/tick)
|
||||||
|
│ │ ├── home_screen.* 3 Touch-Kacheln
|
||||||
|
│ │ ├── weather_detail_screen.*
|
||||||
|
│ │ ├── calendar_detail_screen.*
|
||||||
|
│ │ ├── mvg_screen.*
|
||||||
|
│ │ └── widgets/ tile_button, back_button
|
||||||
|
│ ├── api/ HTTP-Clients (1:1 aus m5stack-dashboard)
|
||||||
|
│ └── icons/ prozedurale LVGL-Canvas-Icons
|
||||||
|
├── scripts/
|
||||||
|
│ ├── deploy.sh Build + Flash
|
||||||
|
│ └── build.sh Nur Build
|
||||||
|
└── docs/ Migrationshistorie (SPEC-old, PLAN, TODO)
|
||||||
```
|
```
|
||||||
|
|
||||||
`include/secrets.h` ist bereits in `.gitignore` ausgeschlossen.
|
## Referenzprojekt
|
||||||
|
|
||||||
|
Vorgängerprojekt mit M5Stack Core: <https://github.com/skoelle/m5stack-dashboard>
|
||||||
|
|||||||
Reference in New Issue
Block a user