Skip to main content

Přehled

Spooler používá Bluetooth Low Energy (BLE 5.0) pro komunikaci s mobilní aplikací. Zařízení nepřetržitě vysílá reklamní pakety a čeká na připojení.

Reklamní pakety

Bez aktivního BLE spojení Spooler každých 500–1000 ms vysílá reklamní paket s aktuálními daty:
PoleTypPopis
Rotaceint32Celkový počet otáček (kumulativní)
Baterieuint8Stav baterie v % (0–100)
Flagsuint8Stavové příznaky
Zbýváint16Zbývající délka cívky v dm

Stavové příznaky (flags)

BitNázevPopis
0MEASURINGProbíhá měření (pohyb detekován)
1SPOOL_PAIREDCívka je přiřazena
2LOW_BATTERYBaterie pod 20%
3CHARGINGNabíjení
4CALIBRATEDKalibrace byla provedena
5IDLEŽádný pohyb po 60s

GATT Služby

Po připojení mobilní aplikace jsou dostupné tyto BLE charakteristiky:
CharakteristikaUUIDVlastnostiPopis
Measurement0xAA01READ + NOTIFYAktuální měření (12B)
Command0xAA02WRITE + NOTIFYPříkazy a odpovědi
Bulk0xAA03WRITE_NR + INDICATEPřenos historie (chunky)
Spool0xAA04READ + WRITE + NOTIFYData přiřazené cívky
Config0xAA05READ + WRITEKonfigurace zařízení
Všechny charakteristiky jsou součástí Meter Service (0x2233).

Synchronizace historie

Spooler ukládá historii měření do NVS flash paměti (ESP32). Při každém připojení mobilní aplikace proběhne automatická synchronizace:
  1. Aplikace odešle příkaz CMD_HISTORY_INFO (0x30)
  2. Zařízení odpoví počtem uložených událostí a časovým rozsahem
  3. Aplikace odešle CMD_HISTORY_EXPORT (0x31) s časovým rozsahem
  4. Zařízení odešle historii v blocích (chunks) po 0xAA03
Každá historická událost obsahuje: timestamp, délku v mm, úhel enkodéru a stavové příznaky.
Data v historii jsou přepočtena z rotací na milimetry přímo firmwarem, s použitím aktuálního kalibračního faktoru.