MWT API V2.0
Dokumentacja API BLE dla klientów urządzeń MWT (Perun).
Architektura komunikacji
Urządzenie udostępnia jeden custom serwis BLE Perun Service z trzema charakterystykami:
| Charakterystyka | UUID (suffix) | Operacje | Przeznaczenie |
|---|---|---|---|
| Data | ...a201 |
Notify | Strumień danych z sensorów |
| Control | ...a202 |
Write + Indicate | Komendy SET/GET i odpowiedzi |
| Device Info | ...a203 |
Read | Informacje o urządzeniu |
flowchart TB
S[Services]
S --> BAS["BAS (Battery service)"]
S --> PERUN["Perun (Custom service)"]
%% BAS
BAS --> BL["Battery Level"]
BL --> BL_OP["READ | NOTIFY"]
BL_OP --> BAT["Battery"]
%% Perun
PERUN --> DI["Device Info"]
DI --> DI_OP["READ"]
DI_OP --> INFO["Info"]
PERUN --> CTRL["Control"]
CTRL --> W["WRITE"]
W --> MOD["Module"]
MOD --> IND["INDICATE"]
IND --> CTRL
PERUN --> DATA["Data"]
MOD --> N["NOTIFY"]
N --> DATA
%% Styling (opcjonalnie, żeby było podobnie do obrazka)
classDef top fill:#0b2aa8,stroke:#000,stroke-width:3px,color:#000,font-weight:bold;
classDef service fill:#41e6e6,stroke:#000,stroke-width:3px,color:#000,font-weight:bold;
classDef char fill:#bff7ff,stroke:#000,stroke-width:3px,color:#000,font-weight:bold;
classDef op fill:#2b2b2b,stroke:#000,stroke-width:2px,color:#fff,font-weight:bold;
classDef yellow fill:#ffe600,stroke:#000,stroke-width:3px,color:#000,font-weight:bold;
classDef gray fill:#9b9b9b,stroke:#000,stroke-width:3px,color:#000,font-weight:bold;
class S top;
class BAS,PERUN service;
class BL,DI,CTRL,DATA char;
class BL_OP,DI_OP,W,IND,N op;
class BAT,MOD yellow;
class INFO gray;
Quick Start
- Połącz się z urządzeniem (advertising z UUID service
457bbb14-...-a200) - Ustaw MTU na 247 B.
- Włącz Notify na Data (CCCD) — zaczniesz otrzymywać ramki danych
- Włącz Indicate na Control (CCCD) — umożliwi odbiór odpowiedzi
- Wysyłaj komendy Write na Control — steruj modułami
Sekcje
- Serwis Perun BLE — UUID-y, MTU, format advertising
- Ramka Data — format nagłówka i payload
- Protokół Control — SET/GET, statusy, format ramek
- Moduły — lista modułów i ich ID
- Klucze komend — uniwersalne i moduł-specyficzne
- Kody błędów — poziomy, źródła, przyczyny
- Kontekst AI — całe API w jednym pliku do wrzucenia do AI