# BLE Protocol (V1 Stub) Diese Datei beschreibt die geplante BLE-Maintenance-Schnittstelle. In V1 ist die Firmware-Seite noch als Stub angelegt, damit API und Lebenszyklus bereits stabil sind. ## Geplante Services - Service UUID: `4f4b0001-4b52-4146-544f-525400000001` - Characteristic `status` (notify/read) - Characteristic `places_upload` (write) - Characteristic `cmd` (write): z.B. `reboot`, `save_places` ## Verhalten - BLE startet nur im Wartungsfenster nach Boot. - Wartungsfenster endet per Timeout oder Button-Short-Press. - Danach wird BLE deaktiviert und das Geraet wechselt in `GPS_WAIT`. ## Nächste Iteration - Chunked Upload fuer `places.json` - Validierung und atomarer File-Rewrite - Optional OTA-Datenpfad ## Aktuelles Verhalten (V1) - BLE-Maintenance wird per Serial-Monitor sichtbar: beim Betreten der `BleMaintenance`-State wird das Fenster geloggt und alle `config::kBleWindowMs` Millisekunden aktualisiert. - Während der Wartung akzeptiert die Firmware einfache newline-getrennte Befehle (`status`, `stop`, `help`), damit man den Zustand inspizieren und die Wartung manuell beenden kann. - Upload- und OTA-Charakteristiken bleiben V1-Stubs; die Serial-Kommandos dienen als pragmatischer Platzhalter und klare Abgrenzung.