Práca s protokolom BLE

otvorený štandard BTHome

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ší. Tento protokol je určený na vysielanie dát zo senzorov a tlačidiel pomocou Bluetooth LE.

BTHome: logo

A práve na Bluetooth LE a prácu s ním pomocou otvoreného štandardu BTHome sa pozrieme.

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