Skip to main content

1.4 Bluetooth proxy

Obmedzujúca fyzická vzdialenosť

Bluetooth prináša podobné obmedzenie ako Zigbee – smart zariadenia musia byť vo fyzickej blízkosti nášho servera. A kým pre Zigbee existuje možnosť preposielania signálu (Zigbee router), pre BLE nie je takáto funkcia implementovaná.

Riešením je prepojenie siete smart zariadení s bežnou „počítačovou“ IP sieťou. Už sme spomínali, že pre Zigbee existuje projekt, ktorý komunikáciu realizuje vo forme MQTT správ po IP protokole. Podobné riešenie, dokonca ešte jednoduchšie, máme k dispozícii aj pre BLE – ide o Bluetooth proxy.

Bluetooth proxy

Na jednoduchý mikrokontrolér ESP32, pokojne aj vo veľkosti mince a s cenou do 5 €, môžeme nahrať špeciálny firmvér, ktorý vytvorí agenta – akýsi „proxy server“ pre BLE. V prostredí Home Assistant (HA) sa označuje Bluetooth proxy.

Vytvoreniu spomínaného špeciálneho firmvéru a jeho nahrávaniu do mikrokontroléra sa budeme venovať neskôr.

Mikrokontrolér má k dispozícii BLE, sústavne vyhľadáva všetky BLE zariadenia. Má k dispozícii aj Wi-Fi – pripojí sa, dostane IP adresu a ak tomu nebráni firewall, môže sa k nemu pripojiť server HA, ktorý ani nemusí byť v tej istej sieti. Server HA môže takto získavať informácie od vzdialených agentov, tí sú jeho „predĺženými rukami“. Absolvent kurzu Počítačové siete 2 – Bezpečnosť a správa podnikových sietí dokáže zariadiť dokonca aj to, že školský server HA sa pripojí na Bluetooth proxy v jeho domácnosti.

Hoci server HA môže využívať služby viacerých agentov, ku každému agentovi sa môže pripojiť len jeden server HA!

Pridanie Bluetooth proxy do Home Assistant

Bluetooth proxy je súčasťou väčšieho projektu ESPHome, ktorým sa budeme zaoberať onedlho. Zatiaľ nám stačí vedieť, že do Home Assistant pridávame agenta Bluetooth proxy cez modul ESPHome: Nastavenia → Zariadenia a služby →  Pridať integráciu → ESPHome: zadať musíme jeho adresu (IP adresu alebo doménové meno), prípadný port (predvolený je 6053) a šifrovací kľúč, ktorý bol zadaný do konfigurácie firmvéru.

Ako zistím IP adresu agenta s Bluetooth proxy?

Pokiaľ je agent v rovnakej sieti ako server HA, dokáže ho nájsť automaticky a HA server nám sám ponúkne pridanie nájdeného zariadenia. Ak je v inej sieti, najjednoduchšie zistíme adresu agenta z DHCP servera jeho siete. Je, samozrejme, vhodné zarezervovať mu nemennú adresu, prípadne prideliť aj doménové meno.

A ako sa môžem pripojiť na agenta, ktorý je úplne niekde inde, napríklad u kamaráta doma?

Môžeme to dosiahnuť NAT prekladom (ak ich je v cieľovej sieti viac, rozlíšime ich číslom portu) alebo prístupom cez VPN – obe cesty sú nad rámec tohto kurzu.

Pridaného agenta potom nájdeme aj v sekcii ESPHome (kde nás však nebude veľmi zaujímať, pokiaľ neposkytuje aj iné služby) a zároveň i v sekcii Bluetooth, kde bude vystupovať ako bežný Bluetooth adaptér.

HA - Bluetooth proxy.webp