Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

10. diel - Bluetooth Low Energy na module ESP-32 - Úvod

V predchádzajúcej lekcii, Webový server na module ESP-32 - Autentizácia užívateľa , sme sa venovali webovému serveru, ktorý sme zabezpečili prihlasovacím menom a heslom.

V tomto tutoriále Internetu vecí s ESP-32 už opustíme tému Wi-Fi a webového servera a vrhneme sa na novú tému, konkrétne na technológiu Bluetooth Low Energy, skrátene BLE. Ukážeme si rozdiel medzi touto a klasickou Bluetooth technológiou.

Bluetooth Low Energy

Vo svojej podstate sa jedná o variant technológie Bluetooth, ktorý však nie je tak náročný na spotrebu energie. To, že je menej náročná, ale bohužiaľ znamená rôzne obmedzenia. BLE je schopná prenášať malé obsahy dát na veľmi krátku vzdialenosť, pretože má veľmi malú šírku pásma. Technológia tiež stále pracuje v režime spánku a prebúdza sa iba vtedy, ak je vďaka nej pripojené zariadenie. Tým sa líši od klasického Bluetooth pripojenia, ktoré zostáva aktívne aj po odpojení zariadenia.

Spotreba energie pri používaní Bluetooth Low Energy je až 100x menšia. Čím menej procesov a inštrukcií, tým viac klesá spotreba energie.

Pozrime sa na rozdiely medzi Bluetooth Low Energy a klasickému Bluetooth:

BLE Bluetooth
Použitie Jednorazový tok dát Súvislý tok dát (napr. reproduktory, pripojenie v aute atď.)
Kanály 40 kanálov s rozdielom 2 MHz 79 kanálov s rozdielom 1 MHz
Spotreba cca 0,01 až 0,5 násobok referenčnej Bluetooth hodnoty 1 (referenčná hodnota Bluetooth)
Sieťové módy Point-to-Point, Broadcast, Mesh Point-to-Point
Využitie Bluetooth Low Energy je teda vhodné napríklad na výmenu malých súborov dát, ktoré chceme odosielať periodicky. Často sa BLE využíva v zdravotníctve, fitness, trasovaní, ochrane obydlia alebo v šikovných domácnostiach.

BLE server, klient a GATT

Tieto pojmy predstavujú kľúčové piliere pre prácu s touto technológiou. Nasledujúce informácie neskôr využijeme pri zostavovaní rôznych projektov využívajúcich technológiu BLE.

Server a klient

Časti server a klient už poznáme z lekcií, v ktorých sme pracovali s webovým serverom. Tu fungujú na takmer totožnom princípe. ESP-32 dokáže fungovať ako server aj ako klient. Server funguje tak, že je viditeľný všetkým zariadením v okolí a obsahuje dáta, ktoré dokáže klient prečítať. Klient skenuje okolie a zároveň kontroluje prichádzajúce dáta. Ak narazí na server, ktorý hľadal, vytvorí spojenie a je pripravený pracovať s prichádzajúcimi dátami. V tejto lekcii budeme pracovať s ESP-32 ako so serverom, ktorý bude reagovať na podnety z pripojeného klienta.

Tomuto typu komunikácie sa hovorí Point-to-Point.

Ako bolo spomenuté v tabuľke, Bluetooth Low Energy podporuje módy Broadcast a Mesh. V prípade Broadcast módu server odosiela dáta na toľko klientov, koľko je pripojených. Mesh mód znamená, že všetky zariadenia pripojené k serveru sú vzájomne prepojené.

GATT

Táto skratka označuje pojem Generic Attributes a označuje hierarchickú dátovú štruktúru, ktorá je viditeľná pre všetky zariadenia pripojené cez BLE. Vo svojej podstate sa dá povedať, že GATT definuje spôsob, akým pripojené zariadenia odosielajú a prijímajú štandardné správy.

Znalosť GATT hierarchie je základný kameň pre tvorbu programov využívajúci Bluetooth Low Energy.

Hierarchia GATT pre ESP-32 vyzerá takto:

Hierarchia GATT - Internet vecí s ESP32 - Internet vecí s ESP32

Táto štruktúra je pri používaní mikrokontroléru ESP-32 vo väčšine prípadov totožná alebo veľmi podobná. Existujú síce prípady, keď si tvorca projektu GATT prispôsobil podľa svojich preferencií, my sa touto problematikou zaťažovať nebudeme.

BLE služba

Najvyššiu úroveň v hierarchii GATT tvorí profil, ktorý sa skladá z jednej alebo viacerých služby. Služba je v podstate kolekcia informácií, napríklad čítanie zo senzora, úroveň napätia a podobne. Typicky jedno BLE zariadenie obsahuje viac ako jednu službu. Každá služba obsahuje aspoň jednu charakteristiku alebo aj referenciu na iné služby. Pre BLE existujú preddefinované služby pre rôzne typy dát, ako napríklad úroveň batérie, tlak, tlkot srdca a podobne.

Tieto preddefinované služby definuje organizácia Bluetooth Special Interest Group.

BLE charakteristika

BLE charakteristika je vždy obsiahnutá v službe a zároveň sú už všetky reálne dáta obsiahnuté práve v tejto charakteristike. Charakteristika vždy obsahuje dva atribúty a voliteľne deskriptor:

deklaráciu, ktorá obsahuje metadáta reálnych dát, hodnotu, deskriptor, čo je rozširujúca charakteristika vo vnútri hodnoty.

Základné procedúry a operácie, ktoré je možné použiť s charakteristikou, sú okrem iného Broadcast, čítanie dát, zápis dát alebo indikácia akejkoľvek zmeny.

UUID

Pred samotnou tvorbou programu si ešte poďme priblížiť pojem UUID. Táto skratka znamená Universally Unique IDentifier. Ako z názvu vyplýva, tento jedinečný identifikátor má každá služba, charakteristika alebo deskriptor. Typicky sú UUID 128-bitové čísla, vyzerajú napríklad takto: 67373806-1808-4580-aafd-94f8bc021dd9. Pre všetky služby, profily a podobne existujú skrátené UUID. V prípade nutnosti si je možné vygenerovať svoj vlastný UUID napríklad v tomto generátore UUID. Takto vygenerovaný identifikátor budeme využívať v našich budúcich projektoch aj my.

Porovnanie BLE s inými bezdrôtovými technológiami

BLE sa líši od iných bezdrôtových technológií, ako sú Wi-Fi, Zigbee alebo Z-Wave, predovšetkým vo svojom zameraní na nízku spotrebu energie a efektivitu v krátkom dosahu. Na rozdiel od Wi-Fi, ktoré poskytuje vyššiu priepustnosť a väčší dosah, je BLE ideálna pre aplikácie s nízkou spotrebou energie a nízkym objemom dát. V porovnaní so Zigbee a Z-Wave, ktoré sú tiež zamerané na nízku spotrebu energie, ponúka BLE jednoduchšiu integráciu s mobilnými zariadeniami vďaka širokej podpore v smartfónoch.

V budúcej lekcii, Bluetooth Low Energy na module ESP-32 - praktický príklad , využijeme nadobudnutých teoretických vedomostí o Bluetooth Low Energy vytvorením jednoduchého projektu.


 

Predchádzajúci článok
Webový server na module ESP-32 - Autentizácia užívateľa
Všetky články v sekcii
Internet vecí s ESP32
Preskočiť článok
(neodporúčame)
Bluetooth Low Energy na module ESP-32 - praktický príklad
Článok pre vás napísal Adam Hudeczek
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Autor se věnuje zejména programování mikrokontrolerů a tvorbou a provozem webových stránek a webových aplikací.
Aktivity