Práca s protokolom BLE

Motivácia

Na doskách rodiny RP2 s označením W sa nachádza WiFi modul CYW43439 od spoločnosti Infineon. Okrem podpory bezdrôtového protokolu WiFi podporuje aj bezdrôtový protokol Bluetooth vo verzii 5.2. Je teda možné z tejto dosky spraviť aj chytré zariadenie komunikujúce práve pomocou protokolu Bluetooth.

Ak doska obsahuje modul s podporou protokolu Bluetooth, jeho podporu obsahuje už základný firmvér s jazykom MicroPython. Na výber máme v podstate z dvoch možností:

  1. buď používať nízkoúrovňový prístup pomocou modulu bluetooth, alebo
  2. používať knižnicu aioble.

Na samotných stránkach dokumentácie jazyka odporúčajú samotní autori používať knižnicu aioble. Pomocou nej je totiž práca s technológiou Bluetooth výrazne jednoduchšia.

Existuje však ešte aj otvorený štandard s názvom BTHome, ktorý prácu s technológiou Bluetooth LE ešte viac zjednoduší. A práve na tento protokol a prácu s ním sa pozrieme.

BTHome: logo

Inštalácia

Podpora štandardu BTHome nie je súčasťou štandardného firmvéru a je potrebné ju pridať doinštalovaním potrebnej knižnice s názvom BTHome-MicroPython. Tú je možné nainštalovať priamo na mikrokontroléri pomocou modulu mip takto:

>>> mip.install('github:DavesCodeMusings/BTHome-MicroPython')

Inštaláciu je možné vykonať samozrejme aj pomocou nástroja mpremote:

$ mpremote mip install github:DavesCodeMusings/BTHome-MicroPython

Posledný spôsob inštalácie predstavuje stiahnutie príslušného modulu a jeho uloženie na mikrokontroléri do priečinku /lib.

Odkazy

  • BTHome - BTHome is an open standard for broadcasting sensor data and button presses over Bluetooth LE
  • BTHome-MicroPython - MicroPython module to format sensor readings for BTHome BLE advertising payloads