[ Príspevok: 1 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 17.02.14
Prihlásený: 22.12.24
Príspevky: 450
Témy: 197 | 197
Bydlisko: Poprad-okolie

Populárny mikrokontróler ESP32 okrem WiFi podporuje aj Bluetooth s ktorým zdieľa 2,4 GHz anténu, ktorú má čip integrovanú na PCB, alebo externú zapojenú na u.FL konektor, ak ním verzia modulu ESP32 disponuje. Verzia Bluetooth, ktorú ESP32 podporuje sa líši na verziách modulov. Najpopulárnejší modul ESP32-WROOM-32 podporuje Bluetooth vo verzii 4.2 s BLE (Bluetooth Low Energy). ESP32-S3 podporuje Bluetooth 5 vrátane BLE. Zároveň je tento Bluetooth spätne kompatibilný aj s verziami 4, teda aj tieto mikrokontroléri je možné využívať súčasne v jednom projekte a komunikovať s identickým zdrojovým kódom. BLE zariadenia nemusia byť viditeľné v prípade skenovania okolitých Bluetooth zariadení napr. pre párovanie, keďže v danom čase vôbec nemusia byť aktívne.
BLE Beacon na ESP32 - vysielanie vlastných dát
BLE má využitie najmä v projektoch prevádzkovaných na batériu s ESP32 fungujúcim ako Beacon. Beacon funguje ako vysielač a nepríjma správy, nakoľko vysiela iba raz za určitú dobu krátku správu a následne je neaktívny, v prípade ESP32 je v režime hlbokého spánku s minimalizovaním spotreby na jednotky až desiatky mikroampérov (najmä devkity majú vyššiu spotrebu z dôvodu stabilizátorov napätia a integrovaných stavových LED diód). Všetky BLE zariadenia v dosahu môžu túto informáciu prijať. Pre BLE Beacon nie je potrebné párovanie. BLE Beacon má nespočetne veľa použití. Môže fungovať ako tzv. rádiomaják, kedy môže slúžiť ako referenčný bod napríklad pre lokáciu v priestore, alebo aj ako tag, ktorý vysiela informáciu pre brány (Anchors) v dosahu, ktoré môžu určiť jeho polohu najmä pre vnútornú (indoor) lokáciu najmä na spôsob RSSI, či s posielaním payloadu GPS súradníc. Výhodou je najmä ultra nízka spotreba elektrickej energie a keďže zariadenie vysiela iba niekoľko milisekúnd, je spotreba zariadenia minimálna a menšia ako pri WiFi, nakoľko sa zariadenie nemusí pripájať na WiFi sieť a získavať IP adresu z DHCP služby, čo môže trvať aj niekoľko sekúnd.

Pri použití rôznych predvolených profilov BLE Beaconu je možné použiť príklady z BLE knižnice pre ESP32, ktoré umožnia spustiť BLE profil iBeacon (Apple), prípadne aj Eddystone s možnosťou zdieľania URL adresy (napr. otváracie hodiny pre podnik, kde sú v dosahu BLE zariadenia, najmä smartfóny). Eddystone má predvolený profil aj pre telemetriu - TLM, čo umožňuje prenášať predvolené údaje, napr. stav batérie, počítadlo vysielaní, okolitá teplota a podobne. Nakoľko má profil predvolených len niekoľko parametrov, existuje aj možnosť vytvoriť si vlastný profil a vysielať dáta vlastné, čo si dnes ukážeme.
BLE Beacon na ESP32 - vysielanie vlastných dát
Vytvoril som na ESP3 vlastnú implementáciu pre BLE Beacon s "custom" profilom, ktorý vysiela vzorové dáta každých 30 sekúnd, ale v reálnej aplikácii to môže byť raz za niekoľko hodín, či dní (timer umožňuje aj niekoľko rokov). Ako môžeme vidieť v serial monitore, je tam celkovo 6 hodnôt oddelených čiarkou. Custom profil mi umožňuje vysielať naraz až 31 bajtov RAW payloadu v Manufacturer-specific data (formátovaný reťazec znakov reprezentujúci payload), ktorý môže prečítať akékoľvek BLE zariadenie v dosahu. Bežnému používateľovi sa môže zdať enkódovaný payload do HEX formátu nečitateľný, avšak prijímač, ktorý má vhodne nastavené dekódovanie je schopný data vyjadriť v reprezentácii, ktorej porozumie aj laik. Použil som aplikáciu nRF connect, ktorá umožňuje skenovať BLE zariadenia v dosahu smartfónu. Aplikácia je dostupná zdarma pre Android, aj iOS zariadenia. Na danom výpise môžeme vidieť meno zariadenia (z príkladu pre môj blog na sectore), jeho MAC adresu, ale taktiež aj výrobcu - Espressif Incorporated definovaný cez manufacturer code 0x02E5, následuje reťazec manufacturer-specific data s našimi dátami.
BLE Beacon na ESP32 - vysielanie vlastných dát
Predstavme si RAW data, ktoré sú enkódované do HEX (16-tkovej sústavy) 0x1709646561646177702E626C6F672E736563746F722E736B1BFFE50232352E372C31392E342C3936392C3139332C323433322C30. Po dekódovaní získame viacero dát, medzi nimi dĺžku payloadu, lokálne meno pod ktorým BLE Beacon vystupuje, ale hlavne aj samotné dáta (v podstate všetko to, čo je spomenuté vyššie). V našom prípade je to časť pôvodného reťazca 0x32352E372C31392E342C3936392C3139332C323433322C30. Po jeho dekódovaní získame 25.7,19.4,969,193,2432,0, čo bude zhodné ako na strane BLE Beaconu, tak i na strane BLE prijímača.
BLE Beacon na ESP32 - vysielanie vlastných dát
Po vyparsovaní týchto čísel podľa terminátora (znaku ,) získame jednotlivé čísla. 25.7 môže reprezentovať napríklad teplotu v miestnosti, 19.7 vonkajšiu teplotu, 969 koncentráciu látok v ovzduší a 193 hodnotu ADC prevodníka a 2432 hodnotu CO2. Nula môže reprezentovať príznak - flag pre podmienené spustenie, napr. relé, či inú akciu. Aby sme ušetrili množstvo bajtov, ktoré chceme prenášať, je nutné vynechať medzery, čo umožní integrovať aj väčšie množstvo dát. V prípade potreby extrémneho využitia celého payloadu je možné zasielať aj priamo text, čo enkóduje jeden znak na 1 bajt.
BLE Beacon na ESP32 - vysielanie vlastných dát
Teda s vhodne nastaveným prijímačom, ktorý vie tieto dáta dekódovať, vyparsovať ich, je možné použiť tieto dáta aj pre logiku jeho systému, či riadenie vyššieho systému a automatizácie. Využitie systému BLE Beaconu je prakticky nekonečné, dnes máme Beacony všade okolo nás. Existujú najmä ako fit náramky, Airpods, vyhľadávače kľúčov, či ako detekcia domácich miláčikov v dosahu domu, alebo automatického dopĺňača misky, keď je BLE Beacon umiestnený do obojku.
Príklad BLE prijímača s dekódovaním dát - ESP32 UART output:
BLE Beacon na ESP32 - vysielanie vlastných dát
Viem si predstaviť využitie projektu aj v mojich predchádzajúcich projektov ako vhodnú alternatívu, kedy napríklad pre projekt hladinomer je možné vykonávať diaľkový odpočet aj na desiatky metrov s dobrou externou anténou na ESP32 pripojenú na u.FL konektor, kedy je prijímač vo vnútri domu pripojený do aktívneho USB portu počítača a sekundárne ESP32 vykonávajúce periodické merania s implementovaným režimom spánku a batériou. Prijímač pripojený do USB portu počítača aktívny po celý deň zareaguje na každú prichádzajúcu BLE správu od Beaconu, ktorý ju bezprostredne po meraní odošle a následne môže cez WiFi / PHY Ethernet, či LoRaWAN zapísať dáta do databázy projektu vo webaplikácii.

Tento prijímač však musí po odoslaní dát cez WiFi okamžite prepnúť na BLE scanner, aby dokázalo prijať aj ďalšie meranie, keďže anténa je zdieľaná pre obe technológie a nie je možné používať obe súčasne. Nakoľko však senzorový uzol meria v 5 až 15 minútových intervaloch, nie je to problémom, nakoľko sa po rutine je WiFi schopné prepnúť na Bluetooth v ráde milisekúnd, taktiež môže byť v systéme využitých viacero BLE Beaconov, ktoré vie prijímač rozlíšiť či už podľa MAC adresy, jeho mena, alebo typu dát, ktoré odosiela.


 [ Príspevok: 1 ] 


BLE Beacon na ESP32 - vysielanie vlastných dát



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

CMS pre beacon zariadenia

v Redakčné systémy

0

579

10.04.2016 14:51

doubleR

V tomto fóre nie sú ďalšie neprečítané témy.

Predaj vlastných produktov !

v Obchody, reklamácie a právo

0

625

13.01.2012 18:06

reincarnate

V tomto fóre nie sú ďalšie neprečítané témy.

Pridanie Vlastnych tagov - phpBB3

v Redakčné systémy

7

1091

18.06.2010 18:31

ansysko

V tomto fóre nie sú ďalšie neprečítané témy.

postavenie vlastných repro 2.1

v Zvuk

3

1029

02.12.2007 15:41

KocuR

V tomto fóre nie sú ďalšie neprečítané témy.

upravit grub podla vlastnych predstav

v Operačné systémy Microsoft

1

551

15.09.2012 16:39

Denco1

V tomto fóre nie sú ďalšie neprečítané témy.

Kupili ste si pc z vlastnych zdrojov?

[ Choď na stránku:Choď na stránku: 1, 2 ]

v Krčma

50

4332

04.05.2008 9:21

CyberFairy

V tomto fóre nie sú ďalšie neprečítané témy.

GRBL, UNO+ ESP32

v Mikropočítače

0

1016

15.05.2021 23:23

stevo512

V tomto fóre nie sú ďalšie neprečítané témy.

ESP32 - PHY Ethernet LAN8720

v Články

0

2052

20.10.2022 21:00

martinius96

V tomto fóre nie sú ďalšie neprečítané témy.

Hladinomer - Arduino, ESP32, ESP8266 + ultrazvuk

v Články

0

1748

22.09.2019 0:01

martinius96

V tomto fóre nie sú ďalšie neprečítané témy.

Ovládanie ESP32 prostredníctvom UDP datagramov

v Články

0

1333

31.08.2019 0:13

martinius96

V tomto fóre nie sú ďalšie neprečítané témy.

Kurzy (krypto)mien - Arduino / ESP32 / ESP8266

v Články

0

1441

15.11.2019 1:03

martinius96

V tomto fóre nie sú ďalšie neprečítané témy.

Android s Arduinom/ESP32 - vzájomná komunikácia

v Android, iOS, Windows Phone (Mobile)

1

1147

26.10.2021 12:14

sento01

V tomto fóre nie sú ďalšie neprečítané témy.

ESP-IDF v simulátore Wokwi - ESP32

v Články

0

748

20.10.2022 20:58

martinius96

V tomto fóre nie sú ďalšie neprečítané témy.

OTA (Over The Air) - ESP32 - Arduino IDE

v Články

4

2279

27.08.2024 23:23

martinius96

V tomto fóre nie sú ďalšie neprečítané témy.

ThingSpeak - IoT platforma pre Arduino / ESP8266 / ESP32

v Články

0

1774

16.01.2020 23:59

martinius96

V tomto fóre nie sú ďalšie neprečítané témy.

digitalne vysielanie

v TV

10

1265

27.11.2010 16:39

dafo



© 2005 - 2024 PCforum, edited by JanoF