Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevok: 1 ] 
AutorSpráva
Offline

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

Registrovaný: 17.02.14
Prihlásený: 31.03.24
Príspevky: 450
Témy: 198
Bydlisko: Poprad-okolie
Príspevok NapísalOffline : 27.08.2023 1:01

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.


Odpovedať na tému [ Príspevok: 1 ] 


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

531

10.04.2016 14:51

doubleR Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Predaj vlastných produktov !

v Obchody, reklamácie a právo

0

576

13.01.2012 18:06

reincarnate Zobrazenie posledných príspevkov

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

v Redakčné systémy

7

1036

18.06.2010 18:31

ansysko Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. postavenie vlastných repro 2.1

v Zvuk

3

888

02.12.2007 15:41

KocuR Zobrazenie posledných príspevkov

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

v Operačné systémy Microsoft

1

510

15.09.2012 16:39

Denco1 Zobrazenie posledných príspevkov

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

4259

04.05.2008 9:21

CyberFairy Zobrazenie posledných príspevkov

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

v Mikropočítače

0

676

15.05.2021 23:23

stevo512 Zobrazenie posledných príspevkov

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

v Články

0

1802

20.10.2022 21:00

martinius96 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Hladinomer - Arduino, ESP32, ESP8266 + ultrazvuk

v Články

0

1303

22.09.2019 0:01

martinius96 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Ovládanie ESP32 prostredníctvom UDP datagramov

v Články

0

1155

31.08.2019 0:13

martinius96 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Hladinomer + Zrážkomer - Arduino / ESP8266 / ESP32

v Články

0

935

05.11.2020 13:02

martinius96 Zobrazenie posledných príspevkov

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

1083

26.10.2021 12:14

sento01 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Kurzy (krypto)mien - Arduino / ESP32 / ESP8266

v Články

0

1025

15.11.2019 1:03

martinius96 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. ESP-IDF v simulátore Wokwi - ESP32

v Články

0

576

20.10.2022 20:58

martinius96 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. OTA (Over The Air) - ESP32 - Arduino IDE

v Články

2

927

11.08.2020 7:37

martinius96 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. ThingSpeak - IoT platforma pre Arduino / ESP8266 / ESP32

v Články

0

1334

16.01.2020 23:59

martinius96 Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra