docs: Phase 7 Checkliste, README Test 7.7 Abschnitt und Implementierungsstand
This commit is contained in:
parent
16838fa265
commit
d6adc9f23e
|
|
@ -169,25 +169,27 @@
|
|||
|
||||
## Phase 7 – Webinterface (`WebServer`)
|
||||
|
||||
- [ ] **7.1** `include/web_server.h` + `src/web_server.cpp` erstellen
|
||||
- [x] **7.1** `include/web_server.h` + `src/web_server.cpp` erstellen
|
||||
Basierend auf `ESPAsyncWebServer`
|
||||
|
||||
- [ ] **7.2** Route `GET /` – Statusseite (HTML):
|
||||
- Aktuelle Laserzeit (Minuten)
|
||||
- Letzter Session-Wert (Sekunden)
|
||||
- WLAN-Status, MQTT-Status
|
||||
- IP-Adresse
|
||||
- [x] **7.2** Route `GET /` – Statusseite (HTML):
|
||||
- Session-Minuten, Gesamtzeit, letzter Burst
|
||||
- WLAN-Status (IP), MQTT-Status (verbunden/getrennt)
|
||||
- Broker-Info, Gratiszeit
|
||||
- Auto-Reload alle 10 s
|
||||
|
||||
- [ ] **7.3** Route `GET /config` – Konfigurationsformular (HTML):
|
||||
- [x] **7.3** Route `GET /config` – Konfigurationsformular (HTML):
|
||||
- MQTT Broker IP, Port, User, Passwort
|
||||
- Gratiszeit (Slider 0–120 s)
|
||||
- Signal-Polarität (Radio-Button)
|
||||
|
||||
- [ ] **7.4** Route `POST /config` – Konfiguration speichern (via `Settings`, NVS)
|
||||
- [x] **7.4** Route `POST /config` – Konfiguration speichern (via `Settings`, NVS)
|
||||
Redirect + Hinweis „Neustart für MQTT-Änderungen"
|
||||
|
||||
- [ ] **7.5** Route `POST /reset` – Laserzeit zurücksetzen (Button auf Statusseite)
|
||||
- [x] **7.5** Route `POST /reset` – Gesamtzeit zurücksetzen (`laserTracker.resetTotal()`)
|
||||
|
||||
- [ ] **7.6** ElegantOTA unter `/update` einbinden
|
||||
- [x] **7.6** ElegantOTA unter `/update` einbinden
|
||||
Flag `ELEGANTOTA_USE_ASYNC_WEBSERVER=1` in `platformio.ini`
|
||||
|
||||
- [ ] **7.7** Test: Alle Seiten im Browser aufrufen, Konfiguration ändern und nach Neustart prüfen
|
||||
|
||||
|
|
|
|||
28
README.md
28
README.md
|
|
@ -314,7 +314,8 @@ MQTT-Display-LaserCutter/
|
|||
│ ├── laser_tracker.cpp # Signal-Detektion, Burst-Logik, Zeiterfassung
|
||||
│ ├── settings.cpp # NVS-Persistenz (Preferences)
|
||||
│ ├── wifi_connector.cpp # WiFiManager-Wrapper
|
||||
│ └── mqtt_client.cpp # MQTT-Wrapper (PubSubClient, TLS, Phase 6)
|
||||
│ ├── mqtt_client.cpp # MQTT-Wrapper (PubSubClient, TLS, Phase 6)
|
||||
│ └── web_server.cpp # Webinterface (ESPAsyncWebServer, Phase 7)
|
||||
├── include/
|
||||
│ ├── config.h # Pin-Definitionen, Konstanten
|
||||
│ ├── display_manager.h # Display-API (showLaserTime, showCountdown, ...)
|
||||
|
|
@ -331,6 +332,7 @@ MQTT-Display-LaserCutter/
|
|||
│ ├── test_display_manager.cpp # 4.3 - DisplayManager
|
||||
│ ├── test_laser_tracker.cpp # 5.6 - LaserTracker
|
||||
│ ├── test_mqtt_client.cpp # 6.5 - MqttClient (TLS, Session, Heartbeat)
|
||||
│ ├── test_web_server.cpp # 7.7 - WebServer (Routen, Config, OTA)
|
||||
│ └── mqtt_test_secrets.h # (gitignoriert) persönliche Broker-Credentials
|
||||
├── platformio.ini
|
||||
└── README.md
|
||||
|
|
@ -352,6 +354,7 @@ Alle Tests sind Hardware-Tests (kein Unit-Test-Framework). Sie werden als separa
|
|||
| 4.3 | `test-display-mgr` | `test_display_manager.cpp` | DisplayManager API (alle show*-Methoden) |
|
||||
| 5.6 | `test-laser-tracker` | `test_laser_tracker.cpp` | LaserTracker Burst-Logik, Gratiszeit, Session/NVS |
|
||||
| 6.5 | `test-mqtt` | `test_mqtt_client.cpp` | MqttClient TLS, Heartbeat, Session-Publish, JSON-Reset, LWT |
|
||||
| 7.7 | `test-web` | `test_web_server.cpp` | WebServer Routen, Config-Formular, Reset, ElegantOTA OTA |
|
||||
|
||||
### Test 1.4 – Display Verdrahtungstest
|
||||
|
||||
|
|
@ -449,6 +452,27 @@ pio device monitor -e test-mqtt
|
|||
**Status:** ✅ Verbindung, Heartbeat, Session-Publish, JSON-Reset, LWT getestet
|
||||
⚠️ **Ungetestet:** MQTT-Error Modul 5 bei Verbindungsverlust, Reconnect nach WiFi-Ausfall
|
||||
|
||||
### Test 7.7 – WebServer (Phase 7)
|
||||
|
||||
```bash
|
||||
pio run -e test-web --target upload
|
||||
pio device monitor -e test-web
|
||||
```
|
||||
|
||||
IP-Adresse aus Serial Monitor ablesen, dann im Browser:
|
||||
|
||||
| URL | Erwartetes Verhalten |
|
||||
|---|---|
|
||||
| `http://<IP>/` | Statusseite: Session, Gesamtzeit, WLAN-IP, MQTT-Status, Broker |
|
||||
| `http://<IP>/config` | Formular: Broker, Port, User, PW, Gratiszeit, Polarität |
|
||||
| POST `/config` | Werte in NVS speichern, nach Neustart prüfen |
|
||||
| Button „Gesamtzeit löschen" | `resetTotal()` → 0.00 min auf Statusseite |
|
||||
| `http://<IP>/update` | ElegantOTA-Seite erreichbar |
|
||||
|
||||
Statusseite aktualisiert sich automatisch alle 10 s.
|
||||
|
||||
**Status:** ⏳ Hardware-Test ausstehend
|
||||
|
||||
---
|
||||
|
||||
## Implementierungsstand
|
||||
|
|
@ -461,7 +485,7 @@ pio device monitor -e test-mqtt
|
|||
| 4 | DisplayManager | ✅ abgeschlossen |
|
||||
| 5 | LaserTracker (Burst-Logik, Zeiterfassung) | ✅ abgeschlossen |
|
||||
| 6 | MqttClient (PubSubClient, TLS, Heartbeat, Session) | ✅ implementiert / ⚠️ 2 Punkte ungetestet |
|
||||
| 7 | WebServer (ESPAsyncWebServer, Config-UI, OTA) | ⏳ ausstehend |
|
||||
| 7 | WebServer (ESPAsyncWebServer, Config-UI, OTA) | ✅ implementiert / ⏳ Hardware-Test ausstehend |
|
||||
| 8 | Integrationstest (Display + MQTT + Web) | ⏳ ausstehend |
|
||||
| 9 | Gehäuse / Hardware-Finish | ⏳ ausstehend |
|
||||
| 10 | Produktiv-Deployment, Dokumentation final | ⏳ ausstehend |
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user