BLE Beacon - ESP32 - Eddystone TLM / URL

16.06.2020

BLE (Bluetooth Low Energy) Beacon je hardvérový - jednosmerný vysielač nazývaný aj maják, ktorý cyklicky vysiela svoj identifikátor a rôzne informácie všetkým dostupným elektronickým zariadeniam v dosahu. Najčastejšie vysiela telemetrické údaje (teplota, napájacie napätie, uptime, GPS súradnice, počítadlo odoslaných správ, čas). Pre interakciu zariadenia s majákom je nutné mať špecifickú aplikáciu / softvér, ktorý je schopný dáta spracovať, notifikovať používateľa.

Vývojová platforma ESP32 má jednu 2,4 GHz anténu, ktorú je možné využívať pre WiFi, alebo Bluetooth jednotlivo. Okrem podpory Bluetooth 4.2 podporuje ESP32 aj BLE. Jedným z režimov, ktorý je možné využiť pre BLE je aj vytvorenie Beaconu.
V závislosti od konfigurácie a prednastavených akciách môže byť používateľ Android / iOS systému automaticky upovedomený o Beacone v dosahu notifikáciou systému. Pri rozkliknutí môže získať viac informácii.

Programové implementácie pre ESP32 v Arduino IDE umožňujú vytvoriť tieto profily BLE Beaconov:

  • iBeacon - Apple profil z roku 2013 navrhnutý pre indoor navigáciu, využíva sa v Apple storoch, ale napríklad aj v múzeu voskových figurín Grévin v Prahe.
  • Eddystone - populárnejší BLE Beacon profil od Googlu z roku 2015, navrhnutý pre distribúciu telemetrických dát, ale aj URL adries.

Bližšie si dnes ukážeme implementáciu profilu Eddystone, konkrétne variantu telemetrie - Eddystone-TLM a Eddystone-URL obsahujúci spustiteľný hypertextový odkaz.
Eddystone obsahuje 4 typy rámcov:

  • Eddystone-UID - viditeľný (plaintext) identifikátor. Môže byť využitý pre indoor lokalizáciu, identifikáciu fyzického objektu
  • Eddystone-EID - šifrovaný identifikátor
  • Eddystone-TLM - informácie o Beacone. Napätie batérie, systémové dáta, senzorové dáta
  • Eddystone-URL - URL adresa tvorená maximálne 18-timi znakmi, ktorá presmeruje zariadenie na webovú stránku, ktorá beží pod SSL (HTTPS). Tento typ Beaconu obsahuje v záhlaví identifikátor: Physical Web

Eddystone-TLM ukážková implementácia:

  • Beacon vysiela každých 100ms
  • Vysiela informácie o verzii bežiaceho firmvéru, napätí batérie (napájacie napätie), teplota procesora, počítadlo vysielaní, uptime Beaconu
  • Po vysielaní sa ESP32 uspí až do času ďalšieho vysielania

Pre získanie informácii od Beaconu na Android zariadení môžeme využiť aplikáciu nRF Connect for Mobile od Nordic Semiconductor ASA. Po nainštalovaní a otvorení aplikácie môžeme skenovať okolie a zobraziť si distribuované dáta Beaconom v dosahu.

Eddystone-URL ukážková implementácia:

  • Beacon vysiela každých 100ms
  • Vysiela jednu telemetrickú informáciu - výkon TX signálu a URL (hypertextový odkaz na link shortener s presmerovaním na HTTPS stránku)
  • Po vysielaní sa ESP32 uspí až do času ďalšieho vysielania

V profile Eddystone-URL pribudla aj možnosť priameho otvorenia hypertextového odkazu v hlavnom prehľade.

UART výstup cyklického vysielania informácii:

Na aké účely Beacon postavený na ESP32 využiť?

  • Informácie o obchode, prevádzke, distribúcia otváracích hodín, kontaktov, odkaz na e-shop
  • Informačné panely na hradoch, zámkoch, múzeách či skanzenoch ku každému objektu
  • Mobilný prenosný Beacon vysielaci reklamu na prevádzku (vďaka veľkosti môže byť umiestnený do kabelky, či hodiniek [ESP32-PICO-D4])
  • Beacon v aute - šírenie informácii o VIN čísle vozidla, napätí batérie, evidenčnom čísle, počet najazdených kilometrov
  • Vnútorný navigačný systém pre zlepšenie orientácie
  • Implementácia do vlastnej aplikácie s client-side prepočtom vzdialenosti k Beaconu na základe výkonu prijatého signálu
  • Využitie do Escape Room hier
  • iné interaktívne využitia

Viac zaujímavých projektov možné nájsť na: https://arduino.php5.sk/

© 2024-2025 Arduino Blog - Všetky práva vyhradené.
Vytvorené službou Webnode Cookies
Vytvorte si webové stránky zdarma! Táto stránka bola vytvorená pomocou služby Webnode. Vytvorte si vlastný web zdarma ešte dnes! Vytvoriť stránky