- Što su BLE i Bluetooth Beacon?
- Kako BLE tehnologija radi i koristi se s Beaconsima?
- Što je Eddystone Beacon?
- Zahtjevi
- Postavljanje Raspberry Pi za Eddystone Beacon
- Optimizirajte snagu odašiljanja signala kalibriranjem Tx snage
- Primjene Eddystone Bluetooth Beacon-a
Bluetooth je jedna od revolucionarnih tehnologija za bežični prijenos podataka, upravljanje drugim uređajima, izgradnju sustava kućne automatizacije itd. Ali jeste li se ikad zapitali da se Bluetooth također može koristiti za emitiranje bilo kakvih podataka na obližnje uređaje za prikaz važnih informacija, lako naplata itd. Google je razvio protokol za izvršenje zadatka koji se može lako implementirati u Raspberry Pi kako bi postao radio Beacon Broadcast.
U ovom uputstvu upoznat ćemo se s BLE (Bluetooth Low Energy) i Bluetooth svjetionikom te instalirati Eddystone Bluetooth Beacon u Raspberry Pi za emitiranje URL-a. Vrlo je jednostavno pretvoriti Raspberry Pi u Bluetooth svjetionik jer ima ugrađeni Bluetooth.
Što su BLE i Bluetooth Beacon?
Bluetooth Low Energy, kao što ime ukazuje troši manje energije nego klasične Bluetooth. To se postiže slanjem podataka po potrebi s unaprijed definiranim povremenim ažuriranjima. No, za razliku od klasičnog Bluetootha, on se ne koristi za prijenos datoteka ili glazbe. BLE uređaj radi s Bluetoothom V4.0 i može raditi s malom snagom kao poslužitelj ili kao klijent što BLE čini idealnim izborom za svjetionike, pametne satove, fitness trake itd. Klasični Bluetooth s druge strane samo je jednostavna obična stara Bluetooth protokol koji koristimo za prijenos datoteka i drugih podataka. Gotovo svi BLE uređaji imaju klasičnu Bluetooth funkcionalnost povezanu s njim. Prethodno smo detaljno objasnili BLE s ESP32.
![]()
Bluetooth svjetionici:
Svjetionici su hardverski uređaji koji emitiraju neke poruke obližnjim elektroničkim uređajima i ponašaju se kao emiteri. Ova tehnologija omogućuje prijenosnim uređajima da izvrše neke radnje kada su u neposrednoj blizini svjetionika. Sada se svjetionici mogu implementirati pomoću BLE i klasičnog Bluetootha. Budući da je većina pametnih telefona i drugih elektroničkih uređaja kompatibilna s BLE-om i mogu se koristiti kao Beacon prijamnik, pa je implementacija BLE beacon-a učinkovitija u usporedbi s klasičnim Bluetooth beacon-om radi smanjenja potrošnje energije.
U prosjeku, Bluetooth niskoenergijski svjetionik može prenositi BLE signale na 80 metara.
Kako BLE tehnologija radi i koristi se s Beaconsima?
BLE je tehnologija male potrošnje energije koja je dizajnirana za komunikaciju kratkog dometa i poželjna je tamo gdje je trajanje baterije važniji faktor od velike brzine prijenosa podataka. Prijenos podataka u ovoj komunikaciji samo je jednosmjeran. BLE beacon prenosi male pakete podataka u redovitim intervalima. Ovi podatkovni paketi primaju se i dekodiraju pomoću aplikacije za skeniranje svjetionnika instalirane na pametnim telefonima. Ovi primljeni podaci pokreću radnje poput promocije proizvoda ili guranja poruke.
U Bluetooth pratiocu ID broj se šalje 10 puta svake sekunde putem BLE kanala. Potom uređaj s omogućenim Bluetoothom primi ovaj ID broj i prepozna ga aplikacija beacon scanner, povezuje ga s radnjom, poput preuzimanja aplikacije ili dijela sadržaja pohranjenog u oblaku, i prikazuje ga na pametnom telefonu.
Što je Eddystone Beacon?
Eddystone je protokol koji je razvio Google koji omogućuje emitiranje jednosmjernih poruka na BLE uređaje. Okvir Eddystone-URL čini okosnicu Fizičkog weba, što pomaže u otkrivanju web sadržaja u okolini. Beacon može emitirati četiri vrste podataka koristeći Eddystone protokol. Oni su sljedeći:
- Eddystone-URL za emitiranje URL adresa
- Eddystone-UID za emitiranje ID-ova svjetionika
- Eddystone-TLM za emitiranje telemetrijskih signala poput temperature uređaja, jačine baterije itd.
- Eddystone-EID za sigurnost.
Postoje i druge vrste svjetionika poput iBeacon-a koji je za uređaje koji podržavaju iOS, ali Eddystone je samo za Android uređaje. Također imajte na umu da je Google ukinuo Obavijesti u blizini, sada će korisnik morati instalirati specijaliziranu aplikaciju za skeniranje svjetionika koja će prikazivati emitirani sadržaj.
U ovom uputstvu koristit ćemo Raspberry Pi kao Eddystone Beacon i usredotočiti se na emitiranje URL adrese pomoću Eddystone URL-a, tako da svatko može lako pristupiti emitiranim informacijama uz pomoć svojih Android uređaja.
Zahtjevi
Ovdje je za izradu ovog Bluetooth svjetionika potreban samo Raspberry Pi. Trebao bi biti Raspberry Pi 2 ili noviji s Raspbian Jessie ili novijim OD-om instaliranim u njemu.
Ovdje ćemo koristiti SSH za pristup Raspberry Pi na prijenosnom računalu. Na prijenosnom računalu možete koristiti vezu VNC ili udaljenu radnu površinu ili možete povezati svoj Raspberry pi s monitorom. Saznajte više o postavljanju Raspberry Pi-a bez glave ovdje bez monitora.
Postavljanje Raspberry Pi za Eddystone Beacon
Vrlo je jednostavno postaviti emitera Eddystone na Raspberry Pi. Uključuje samo 3 naredbe.
To se može učiniti konfiguriranjem HCI-ja (sučelja kontrolera hosta) kojem se može pristupiti pomoću hciconfig commad-a. Da biste provjerili što se može učiniti pomoću ove naredbe, unesite donju naredbu u terminal.
hciconfig -h
1. Prvo, moramo omogućiti Bluetooth uređaj na našem Raspberry Pi pomoću naredbe u nastavku.
sudo hciconfig hci0 gore
2. Sada moramo podesiti Bluetooth da "oglašava i ne može se povezati" pomoću sljedeće naredbe.
sudo hciconfig hci0 leadv 3
3. Iznad naredbi čine uređaj da pokreće uslugu emitiranja, sada samo unesite podatke o beaconu u sljedeću naredbu koja sadrži informacije o različitim okvirima i URL u heksadecimalnom formatu. Pokrenite donju naredbu da započnete emitiranje svjetionika.
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
Ova će naredba emitirati URL
Da biste provjerili emitiranu poruku na pametnom telefonu, preuzmite Physical Web App ili Beacon skener na Android pametni telefon i započnite skeniranje. U aplikaciji ćete vidjeti emitiranu vezu, kao što je prikazano u nastavku. Kliknite vezu da biste posjetili i otvorili web stranicu u pregledniku.
![]()
Sada razumijemo heksadecimalno kodiranje poruke. U donjoj tablici dali smo objašnjenje svake vrijednosti prisutne u kodu:
|
Vrijednost |
Opis |
|---|---|
|
0x08 |
#OGF = Polje operativne grupe = Bluetooth naredbena grupa = 0x08 |
|
0x0008 |
#OCF = Polje naredbe za rad = HCI_LE_Set_Advertising_Data = 0x0008 |
|
1c |
Duljina. Heksadecimalni 1c pretvara se u 23 decimale što je broj bajtova koji slijede. |
|
02 |
Duljina |
|
01 |
Vrijednost tipa podataka oznake |
|
06 |
Podaci o zastavama |
|
03 |
Duljina |
|
03 |
Potpuni popis vrijednosti tipa podataka 16-bitnih UUID-ova usluge |
|
aa |
16-bitni Eddystone UUID |
|
fe |
16-bitni Eddystone UUID |
|
14 |
Duljina. Heksadecimalni broj 14 pretvara se u 15 decimalnih mjesta, što je broj bajtova koji slijede |
|
16 |
Vrijednost tipa podataka podataka usluge |
|
aa |
16-bitni Eddystone UUID |
|
fe |
16-bitni Eddystone UUID |
|
10 |
Vrsta okvira = URL |
|
00 |
TX snaga (ovo treba kalibrirati) |
|
02 |
URL shema (http: // = 0x02) |
|
63 |
'c' u heksadecimalnom |
|
69 |
'i' u heksadecimalnom |
|
72 |
'r' u heksadecimalnom |
|
63 |
'c' u heksadecimalnom |
|
75 |
'u' u heksadecimalnom |
|
69 |
'i' u heksadecimalnom |
|
74 |
't' u heksadecimalnom |
|
64 |
'd' u heksadecimalnom |
|
69 |
'i' u heksadecimalnom |
|
67 |
'g' u heksadecimalnom |
|
65 |
'e' u heksadecimalnom |
|
73 |
's' u heksadecimalnom |
|
74 |
't' u heksadecimalnom |
|
07 |
.com (.com = 0x07) |
|
00 |
|
|
00 |
|
|
00 |
Da biste emitirali bilo koji prilagođeni URL pomoću Raspberry Pi Bluetooth Beacon, samo pretvorite znakove URL-a u heksadecimalne pomoću bilo kojeg mrežnog alata i stavite ga u gornju naredbu. Maksimalni broj znakova koji se mogu prenijeti je 16, ako je URL predug, skratite ga pomoću bilo koje usluge skraćivača URL-a, poput bitly.com, a zatim unesite podatke u gornju tablicu.
Vrlo je glomazno i dugotrajno pretvarati svaki znak u heksadecimalni ekvivalent. Dakle, da biste lako izvršili svoj posao, postoji Eddystone URL kalkulator naredbi u koji samo trebate unijeti URL koji želite emitirati i tako ćete pripremiti svoju naredbu.
![]()
Bluetooth svjetionik sada emitira URL i radi u redu, ali još jednu stvar treba kalibrirati, a to je Tx snaga koja je jedna od vrijednosti u gornjoj naredbi za dobivanje točne udaljenosti od Bluetooth svjetionika.
Optimizirajte snagu odašiljanja signala kalibriranjem Tx snage
U Eddystoneovom okviru postoji nekoliko komponenata koje se prenose, a Tx snaga je jedna od njih koja govori o snazi signala. Dekodiranjem jačine signala, prijamnik pronalazi udaljenost od Beacon emitera. Vrijednost Tx snage može se kretati u rasponu od -12 do 10. Moramo pronaći vrijednost metodom pogotka i pokusa da bismo dobili točnu udaljenost. Za to prilagodite vrijednost snage Tx u naredbi poruke Eddystone i stavite svoj pametni telefon na udaljenost od 1 m s otvorenom aplikacijom Beacon scanner. Sada počnite stavljati vrijednosti snage Tx u naredbu od 0 do negativnih vrijednosti. Ne zaboravite pretvoriti decimalne vrijednosti u heksa decimalni format, za to koristite alate mrežnog pretvarača vrijednosti za jednostavno dekodiranje i uzmite posljednje dvije znamenke pretvorene vrijednosti. U mom slučaju heksa vrijednost je f4. Provjerite udaljenost u aplikaciji skenera, prilagodite vrijednosti dok ne pokaže približno 1 m, a nakon toga ćete koristiti Eddystone URL emitera s točnom udaljenostom.
Primjene Eddystone Bluetooth Beacon-a
Evo nekoliko slučajeva upotrebe BLE svjetionika:
- Maloprodaja s omogućenim BLE-om: Ova se tehnologija može koristiti za privlačenje kupaca u blizini trgovina oglašavanjem uzbudljivih ponuda i prodaja.
- Događaji koji omogućavaju BLE beacon: Može se koristiti za jednostavne registracije na događajima i na stadionima uz jednostavnu naplatu.
- BLE svjetionici u nekretninama: Sve detalje o nekretninama dostupnim u vašoj blizini možete dobiti jednim dodirom.
Postoji mnogo drugih aplikacija koje možete smisliti i implementirati u skladu sa zahtjevima.
Dakle, na ovaj se način Raspberry Pi može koristiti za emitiranje bilo koje poruke ili URL-a pretvaranjem u Bluetooth svjetionik pomoću Eddystonea. Pogledajte demonstracijski video u nastavku.
/>