- Co je BLE a Bluetooth Beacon?
- Jak technologie BLE funguje a používá se s majáky?
- Co je Eddystone Beacon?
- Požadavky
- Nastavte Raspberry Pi pro Eddystone Beacon
- Optimalizujte výkon vysílacího signálu kalibrací výkonu Tx
- Aplikace Eddystone Bluetooth Beacon
Bluetooth je jednou z revolučních technologií pro bezdrátový přenos dat, ovládání dalších zařízení, budování systémů domácí automatizace atd. Ale už jste někdy přemýšleli, že Bluetooth lze použít také pro vysílání jakýchkoli informací do okolních zařízení pro zobrazení důležitých informací, snadno Pokladna atd. Existuje protokol vyvinutý společností Google k provedení úkolu, který lze snadno nasadit do Raspberry Pi, aby se stal vysílačem Bluetooth Beacon.
V tomto tutoriálu se seznámíme s BLE (Bluetooth Low Energy) a Bluetooth majákem a nainstalujeme Eddystone Bluetooth Beacon do Raspberry Pi pro vysílání URL. Je velmi snadné převést Raspberry Pi na Bluetooth Beacon, protože má vestavěný Bluetooth.
Co je BLE a Bluetooth Beacon?
Bluetooth Low Energy, jak název naznačuje, spotřebuje méně energie než klasické Bluetooth. Toho je dosaženo zasíláním dat v případě potřeby s předdefinovanými periodickými aktualizacemi. Ale na rozdíl od klasického Bluetooth se nepoužívá k přenosu souborů nebo hudby. Zařízení BLE pracuje s Bluetooth V4.0 a může pracovat s nízkým výkonem jako server nebo jako klient, což z BLE dělá ideální volbu pro majáky, chytré hodinky, fitness pásky atd. Klasické Bluetooth na druhé straně je jen jednoduchý obyčejný starý Protokol Bluetooth, který používáme k přenosu souborů a dalších dat. Téměř všechna zařízení BLE jsou spojena s klasickou funkcí Bluetooth. Dříve jsme podrobně vysvětlili BLE s ESP32.
Bluetooth majáky:
Majáky jsou hardwarová zařízení, která vysílají některé zprávy do okolních elektronických zařízení a chovají se jako vysílací stanice. Tato technologie umožňuje přenosným zařízením provádět některé akce, jsou-li v těsné blízkosti majákového zařízení. Nyní lze majáky implementovat pomocí BLE a klasického Bluetooth. Protože většina smartphonů a dalších elektronických zařízení je kompatibilní s BLE a lze je použít jako přijímač Beacon, takže implementace majáku BLE je efektivnější ve srovnání s klasickým Bluetooth majákem pro snížení spotřeby energie.
V průměru může maják Bluetooth Low Energy přenášet signály BLE na 80 metrů.
Jak technologie BLE funguje a používá se s majáky?
BLE je technologie s nízkou spotřebou energie, která je navržena pro komunikaci na krátkou vzdálenost a je preferována tam, kde je životnost baterie důležitějším faktorem než vysoká rychlost dat. Přenos dat v této komunikaci je pouze jednosměrný. Maják BLE vysílá malé datové pakety v pravidelných časových intervalech. Tyto datové pakety jsou přijímány a dekódovány pomocí aplikace beacon scanner nainstalované ve smartphonech. Tato přijatá data spouští akce, jako je propagace produktu nebo odeslání zprávy.
V majáku Bluetooth je ID číslo přenášeno 10krát každou sekundu prostřednictvím kanálů BLE. Poté toto ID číslo přijme zařízení podporující Bluetooth a rozpozná ho aplikace pro skenování majáku, propojí ho s akcí, jako je stažení aplikace nebo části obsahu uloženého v cloudu, a zobrazení na smartphonu.
Co je Eddystone Beacon?
Eddystone je protokol vyvinutý společností Google, který umožňuje vysílat jednosměrné zprávy na zařízení BLE. Rámec Eddystone-URL tvoří páteř fyzického webu, který pomáhá při objevování webového obsahu v jeho okolí. Beacon může vysílat čtyři typy dat pomocí protokolu Eddystone. Jsou to následující:
- Eddystone-URL pro vysílání URL adres
- Eddystone-UID pro vysílání ID majáků
- Eddystone-TLM pro vysílání telemetrie majáku, jako je teplota zařízení, síla baterie atd.
- Eddystone-EID pro bezpečnost.
Existují také další typy majáků, jako je iBeacon, který je určen pro zařízení podporující iOS, ale Eddystone je pouze pro zařízení Android. Všimněte si také, že Google ukončil Oznámení v okolí, nyní si uživatel bude muset nainstalovat specializovanou aplikaci pro skenování majáků, která bude zobrazovat vysílaný obsah.
V tomto tutoriálu použijeme Raspberry Pi jako Eddystone Beacon a zaměříme se na vysílání adresy URL pomocí adresy Eddystone URL, aby kdokoli mohl snadno přistupovat k vysílaným informacím pomocí svých zařízení Android.
Požadavky
K sestavení tohoto Bluetooth Beacon je zde potřeba pouze Raspberry Pi. Mělo by to být Raspberry Pi 2 nebo novější s nainstalovanou Raspbian Jessie nebo novější OD.
Zde použijeme SSH pro přístup k Raspberry Pi na notebooku. Můžete použít připojení VNC nebo vzdálené plochy na notebooku nebo můžete připojit Raspberry pi k monitoru. Zde se dozvíte více o bezhlavém nastavení Raspberry Pi bez monitoru.
Nastavte Raspberry Pi pro Eddystone Beacon
Nastavení vysílače Eddystone na Raspberry Pi je velmi snadné. Zahrnuje pouze 3 příkazy.
Toho lze dosáhnout konfigurací rozhraní HCI (Host Controller Interface), ke kterému lze přistupovat pomocí hciconfig Commad. Chcete-li zkontrolovat, co lze provést pomocí tohoto příkazu, zadejte do terminálu níže uvedený příkaz.
hciconfig -h
1. Nejprve musíme povolit zařízení Bluetooth na našem Raspberry Pi pomocí níže uvedeného příkazu.
sudo hciconfig hci0 nahoru
2. Nyní musíme pomocí níže uvedeného příkazu nastavit Bluetooth na „reklamní a nepřipojitelné“ zařízení.
sudo hciconfig hci0 leadv 3
3. Výše uvedené příkazy umožňují zařízení spustit vysílací službu, nyní stačí zadat data majáku do dalšího příkazu, který obsahuje různé informace o rámcích a URL v hexadecimálním formátu. Spuštěním níže uvedeného příkazu spusťte vysílání majáku.
sudo hcitool -i hci0 cmd 0x08 0x0008 1c 02 01 06 03 03 aa fe 14 16 aa fe 10 00 02 63 69 72 63 75 69 74 64 69 67 65 73 74 07 00 00 00
Tento příkaz vysílá URL
Chcete-li zkontrolovat vysílanou zprávu na svém chytrém telefonu, stáhněte si do smartphonu s Androidem fyzickou webovou aplikaci nebo skener Beacon a spusťte skenování. Vysílaný odkaz se zobrazí v aplikaci, jak je uvedeno níže. Kliknutím na odkaz navštívíte a otevřete webovou stránku v prohlížeči.
Nyní porozumíme hexadecimálnímu kódování zprávy. V níže uvedené tabulce jsme vysvětlili každou hodnotu obsaženou v kódu:
Hodnota |
Popis |
---|---|
0x08 |
#OGF = Pole provozní skupiny = skupina příkazů Bluetooth = 0x08 |
0x0008 |
#OCF = Pole operačního příkazu = HCI_LE_Set_Advertising_Data = 0x0008 |
1c |
Délka. Šestnáctková 1c se převede na 23 desetinných míst, což je počet následujících bajtů. |
02 |
Délka |
01 |
Označuje hodnotu datového typu |
06 |
Označuje data |
03 |
Délka |
03 |
Kompletní seznam 16bitové hodnoty datového typu UUID služby |
aa |
16bitový Eddystone UUID |
fe |
16bitový Eddystone UUID |
14 |
Délka. Šestnáctková 14 převede na 15 desetinných míst, což je počet bajtů, které následují |
16 |
Hodnota datového typu dat služby |
aa |
16bitový Eddystone UUID |
fe |
16bitový Eddystone UUID |
10 |
Typ rámu = URL |
00 |
TX Power (toto by mělo být kalibrováno) |
02 |
Schéma URL (http: // = 0x02) |
63 |
„c“ v šestnáctkové soustavě |
69 |
„i“ v šestnáctkové soustavě |
72 |
„r“ v šestnáctkové soustavě |
63 |
„c“ v šestnáctkové soustavě |
75 |
'u' v šestnáctkové soustavě |
69 |
„i“ v šestnáctkové soustavě |
74 |
't' v šestnáctkové soustavě |
64 |
'd' v šestnáctkové soustavě |
69 |
„i“ v šestnáctkové soustavě |
67 |
'g' v šestnáctkové soustavě |
65 |
'e' v šestnáctkové soustavě |
73 |
's' v šestnáctkové soustavě |
74 |
't' v šestnáctkové soustavě |
07 |
.com (.com = 0x07) |
00 |
|
00 |
|
00 |
Chcete-li vyslat libovolnou vlastní adresu URL pomocí Raspberry Pi Bluetooth Beacon, stačí převést znaky adresy URL na hexadecimální pomocí libovolného online nástroje a umístit jej do výše uvedeného příkazu. Maximální počet znaků, které lze přenést, je 16, pokud je adresa URL příliš dlouhá, zkraťte ji pomocí libovolných služeb pro zkrácení adresy URL, jako je bitly.com, a poté vložte data do výše uvedené tabulky.
Převést každou postavu na hexadecimální ekvivalent je velmi těžkopádné a časově náročné. Pro usnadnění práce je k dispozici kalkulačka příkazů Eddystone URL, kde stačí zadat adresu URL, kterou chcete vysílat, a svůj příkaz takto připravíte.
Bluetooth maják nyní vysílá URL a funguje dobře, ale je třeba kalibrovat ještě jednu věc, a to výkon Tx, který je jednou z hodnot výše uvedeného příkazu pro získání přesné vzdálenosti od Bluetooth majáku.
Optimalizujte výkon vysílacího signálu kalibrací výkonu Tx
V rámu Eddystone je několik komponent, které jsou přenášeny a Tx power je jednou z nich, která udává sílu signálu. Dekódováním síly signálu zjistí přijímač vzdálenost od vysílače Beacon. Hodnota výkonu Tx může být v rozmezí od -12 do 10. Abychom získali přesnou vzdálenost, musíme najít hodnotu metodou zásahu a pokusu. Za tímto účelem upravte hodnotu příjmu Tx v příkazu zprávy Eddystone a umístěte smartphone do vzdálenosti 1 m s otevřenou aplikací skeneru Beacon. Nyní začněte do příkazu zadávat hodnoty výkonu Tx od 0 do záporných hodnot. Nezapomeňte převést desítkové hodnoty v hexadecimálním formátu, k tomu použijte nástroje online převaděče hodnot pro snadné dekódování a vezměte poslední dvě číslice převedené hodnoty. V mém případě je hexa hodnota f4. Zkontrolujte vzdálenost v aplikaci skeneru, upravte hodnoty, dokud se nezobrazí přibližně 1 m, a poté budete používat vysílač URL Eddystone s přesnou vzdáleností.
Aplikace Eddystone Bluetooth Beacon
Zde jsou některé z případů použití majáku BLE:
- Maloobchod s povolením BLE: Tuto technologii lze použít k přilákání zákazníků v blízkosti obchodů inzerováním vzrušujících nabídek a prodejů.
- Události s povoleným majákem BLE: Lze jej použít ke snadné registraci na akcích a na stadionech se snadnými výplatami.
- Majáky BLE v oblasti nemovitostí: Můžete získat všechny podrobnosti o vlastnostech dostupných ve vašem okolí a můžete je rezervovat jediným dotykem.
Existuje mnoho dalších aplikací, na které si můžete myslet a implementovat je podle požadavků.
Takto lze Raspberry Pi použít k vysílání jakékoli zprávy nebo adresy URL převedením na Bluetooth Beacon pomocí Eddystone. Podívejte se na ukázkové video níže.
/>