Perun Service
Custom serwis BLE definiujący protokół komunikacji z urządzeniami MWT.
UUID-y
| Element | UUID |
|---|---|
| Perun Service | 457bbb14-9c79-44a8-9810-f17bd358a200 |
| Data | 457bbb14-9c79-44a8-9810-f17bd358a201 |
| Control | 457bbb14-9c79-44a8-9810-f17bd358a202 |
| Device Info | 457bbb14-9c79-44a8-9810-f17bd358a203 |
| RTCM Stream | 457bbb14-9c79-44a8-9810-f17bd358a204 |
Charakterystyki
Data (Notify)
- Kierunek: Urządzenie → Klient
- Operacja: Notify (wymaga włączenia CCCD)
- Zawartość: Ramki Data Frame — nagłówek 12B + payload
Każdy aktywny moduł wysyła swoje dane jako notyfikacje na tej charakterystyce. Agregator pakuje próbki w ramki i wysyła je automatycznie.
MTU
Maksymalny rozmiar ramki to 244 bajty (header 12B + payload max 232B). Upewnij się, że MTU jest wynegocjowane na ≥ 247 (244 + 3B ATT overhead).
Control (Write + Indicate)
- Kierunek: Klient → Urządzenie (Write), Urządzenie → Klient (Indicate)
- Operacja: Write Without Response + Indicate (wymaga CCCD)
- Zawartość: Komendy SET/GET i odpowiedzi — patrz Protokół Control
Indicate vs Notify
Control używa Indicate (z potwierdzeniem ACK), nie Notify. Klient musi potwierdzić każdą indication zanim urządzenie wyśle następną.
Device Info (Read)
- Kierunek: Klient → Urządzenie (Read request), Urządzenie → Klient (Read response)
- Operacja: Read
- Zawartość: Payload TLV — patrz Device Info
RTCM Stream (Write Without Response)
- Kierunek: Klient → Urządzenie
- Operacja: Write Without Response
- Zawartość: Surowe dane RTCM3 przekazywane do modułu ZED-F9P (UART2)
Charakterystyka służy do przesyłania poprawek RTK (RTCM3) z serwera NTRIP do odbiornika GNSS. Dane są transparentnie przekazywane na UART2 (wejście korekcyjne ZED-F9P).
Fragmentacja
Pojedynczy zapis BLE może mieć max 244 bajty (przy MTU 247). Strumień RTCM3 może zawierać wiadomości dłuższe — klient powinien je dzielić na fragmenty ≤ MTU i wysyłać sekwencyjnie. Firmware nie buforuje ani nie składa fragmentów — każdy zapis jest natychmiast przekazywany na UART.
Advertising
Urządzenie rozgłasza:
- Flags: General Discoverable + BR/EDR Not Supported
- UUID128:
457bbb14-9c79-44a8-9810-f17bd358a200(Perun Service) - Manufacturer Data: Company ID
0x108B, następnie device type ID