- Kaj sta svetilnik BLE in Bluetooth?
- Kako tehnologija BLE deluje in se uporablja s svetilniki?
- Kaj je Eddystone Beacon?
- Zahteve
- Nastavite Raspberry Pi za Eddystone Beacon
- Optimizirajte moč oddajnega signala s kalibriranjem moči Tx
- Aplikacije Eddystone Bluetooth Beacon
Bluetooth je ena izmed revolucionarnih tehnologij za brezžični prenos podatkov, nadzor nad drugimi napravami, gradnjo sistemov za avtomatizacijo doma itd. Ste se pa kdaj vprašali, da se Bluetooth lahko uporablja tudi za oddajanje kakršnih koli informacij v bližnje naprave za prikaz pomembnih informacij, enostavno, enostavno Google Checkout je razvil protokol, za izvedbo katerega nalogo je mogoče zlahka namestiti v Raspberry Pi, da postane oddajnik Bluetooth Beacon.
V tej vadnici bomo spoznali BLE (Bluetooth Low Energy) in Bluetooth svetilnik ter namestili Eddystone Bluetooth Beacon v Raspberry Pi za oddajanje URL-ja. Zelo enostavno je pretvoriti Raspberry Pi v svetilnik Bluetooth, saj ima vgrajen Bluetooth.
Kaj sta svetilnik BLE in Bluetooth?
Bluetooth Low Energy, kot že ime nakazuje porabi manj energije kot klasične Bluetooth. To dosežemo s pošiljanjem podatkov po potrebi s predhodno določenimi rednimi posodobitvami. Toda v nasprotju s klasičnim Bluetoothom se ne uporablja za prenos datotek ali glasbe. Naprava BLE deluje z Bluetoothom V4.0 in lahko deluje z nizko porabo kot strežnik ali kot odjemalec, zaradi česar je BLE idealna izbira za svetilnike, pametne ure, fitnes pasove itd. Klasični Bluetooth pa je preprosto preprosto staro Bluetooth protokol, ki ga uporabljamo za prenos datotek in drugih podatkov. Skoraj vse naprave BLE imajo s tem povezano funkcijo Classic Bluetooth. Prej smo BLE podrobno razložili z ESP32.
Bluetooth svetilniki:
Svetilniki so strojne naprave, ki oddajajo nekatera sporočila bližnjim elektronskim napravam in se obnašajo kot izdajatelj televizijskih programov. Ta tehnologija omogoča prenosnim napravam izvajanje nekaterih dejanj, ko so v neposredni bližini svetilnika. Zdaj lahko svetilnike implementiramo z uporabo BLE in klasičnega Bluetootha. Ker je večina pametnih telefonov in drugih elektronskih naprav združljivih z BLE in jih je mogoče uporabljati kot sprejemnik svetilnikov, je uporaba svetilnika BLE učinkovitejša v primerjavi s klasičnim svetilnikom Bluetooth za zmanjšanje porabe energije.
V povprečju lahko Bluetooth svetilnik z nizko energijo oddaja BLE signale na 80 metrov.
Kako tehnologija BLE deluje in se uporablja s svetilniki?
BLE je tehnologija nizke porabe energije, ki je zasnovana za komunikacijo kratkega dosega in je najprimernejša tam, kjer je življenjska doba baterije pomembnejša od visoke hitrosti prenosa podatkov. Prenos podatkov v tej komunikaciji je samo enosmeren. Svetilnik BLE v rednih časovnih presledkih prenaša majhne podatkovne pakete. Te podatkovne pakete sprejema in dešifrira aplikacija za optični bralnik, nameščena v pametnih telefonih. Ti prejeti podatki sprožijo dejanja, kot je promocija izdelka ali potiskanje sporočila.
V svetilniku Bluetooth se ID-številka pošlje 10-krat vsako sekundo prek kanalov BLE. Nato naprava z omogočenim Bluetoothom prejme to identifikacijsko številko in jo prepozna aplikacija za optični bralnik, jo poveže z dejanjem, na primer s prenosom aplikacije ali dela vsebine, shranjene v oblaku, in jo prikaže v pametnem telefonu.
Kaj je Eddystone Beacon?
Eddystone je protokol, ki ga je razvil Google in omogoča oddajanje enosmernih sporočil napravam BLE. Okvir Eddystone-URL tvori hrbtenico fizičnega spleta, ki pomaga pri odkrivanju spletnih vsebin v okolici. Beacon lahko oddaja štiri vrste podatkov po protokolu Eddystone. Ti so naslednji:
- Eddystone-URL za oddajanje naslovov URL
- Eddystone-UID za oddajanje ID-jev svetilnikov
- Eddystone-TLM za oddajanje telemetrije svetilnikov, kot so temperatura naprave, moč baterije itd.
- Eddystone-EID za varnost.
Obstajajo tudi druge vrste svetilnikov, kot je iBeacon, ki je za naprave, ki podpirajo iOS, Eddystone pa samo za naprave Android. Upoštevajte tudi, da je Google ukinil obvestila v bližini, zdaj bo moral uporabnik namestiti posebno aplikacijo za skeniranje svetilnikov, ki bo prikazovala predvajano vsebino.
V tej vadnici bomo Raspberry Pi uporabili kot svetilnika Eddystone in se osredotočili na oddajanje URL-naslovov z uporabo URL-ja Eddystone, tako da bo lahko kdor koli enostavno dostopal do oddanih informacij s pomočjo svojih naprav Android.
Zahteve
Tu je za izdelavo tega svetilnika Bluetooth potreben le Raspberry Pi. To bi moral biti Raspberry Pi 2 ali novejši, v katerem je nameščen Raspbian Jessie, ali novejši OD.
Tu bomo uporabili SSH za dostop do Raspberry Pi na prenosnem računalniku. Na prenosnem računalniku lahko uporabite povezavo VNC ali oddaljeno namizje ali pa Raspberry pi povežete z monitorjem. Več o nastavitvi Raspberry Pi brez glave tukaj brez monitorja.
Nastavite Raspberry Pi za Eddystone Beacon
Nastavitev programa Eddystone na Raspberry Pi je zelo enostavno. Vključuje le 3 ukaze.
To lahko naredite s konfiguracijo HCI (vmesnik krmilnika gostitelja), do katerega lahko dostopate s pomočjo hciconfig commad. Če želite preveriti, kaj lahko naredite s tem ukazom, vnesite spodnji ukaz v terminalu.
hciconfig -h
1. Najprej moramo na spodnjem ukazu omogočiti napravo Bluetooth na naši Raspberry Pi.
sudo hciconfig hci0 gor
2. Zdaj moramo Bluetooth nastaviti tako, da »oglašuje in ne poveže« z uporabo spodnjega ukaza.
sudo hciconfig hci0 leadv 3
3. Zgoraj ukazi poskrbijo, da naprava zažene oddajno storitev, zdaj samo vnesite podatke o svetilniku v naslednji ukaz, ki vsebuje informacije o različnih okvirih in URL v šestnajstiški obliki. Zaženite spodnji ukaz, da začnete oddajati svetilnike.
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
Ta ukaz bo predvajal URL
Če želite preveriti predvajano sporočilo v pametnem telefonu, prenesite optični bralnik Physical Web App ali Beacon na pametni telefon Android in začnite z optičnim branjem. V aplikaciji boste videli predvajano povezavo, kot je prikazano spodaj. Kliknite povezavo za obisk in odprite spletno mesto v brskalniku.
Zdaj razumemo šestnajstiško kodiranje sporočila. V spodnji tabeli smo pojasnili vsako vrednost, ki je prisotna v kodi:
Vrednost |
Opis |
---|---|
0x08 |
#OGF = Polje operacijske skupine = Ukazna skupina Bluetooth = 0x08 |
0x0008 |
#OCF = Polje ukaza za operacijo = HCI_LE_Set_Advertising_Data = 0x0008 |
1c |
Dolžina. Šestnajstiški 1c se pretvori v 23 decimalnih mest, kar je število bajtov, ki sledijo. |
02 |
Dolžina |
01 |
Vrednost podatkovnega tipa zastavic |
06 |
Podatki o zastavah |
03 |
Dolžina |
03 |
Popoln seznam vrednosti podatkovnega tipa 16-bitnih UUID-jev storitve |
aa |
16-bitni Eddystone UUID |
fe |
16-bitni Eddystone UUID |
14. |
Dolžina. Šestnajstiška 14 se pretvori v 15 decimalnih mest, kar je število bajtov, ki sledijo |
16. |
Vrednost podatkovnega tipa storitvenih podatkov |
aa |
16-bitni Eddystone UUID |
fe |
16-bitni Eddystone UUID |
10. |
Vrsta okvirja = URL |
00 |
TX Power (to je treba umeriti) |
02 |
Shema URL-jev (http: // = 0x02) |
63 |
'c' v šestnajstiški |
69 |
'i' v šestnajstiški |
72 |
'r' v šestnajstiški |
63 |
'c' v šestnajstiški |
75 |
'u' v šestnajstiški |
69 |
'i' v šestnajstiški |
74 |
't' v šestnajstiški |
64 |
'd' v šestnajstiški |
69 |
'i' v šestnajstiški |
67 |
'g' v šestnajstiški |
65 |
'e' v šestnajstiški |
73 |
's' v šestnajstiški |
74 |
't' v šestnajstiški |
07 |
.com (.com = 0x07) |
00 |
|
00 |
|
00 |
Če želite s pomočjo svetilnika Raspberry Pi Bluetooth oddajati poljuben URL po meri, preprosto s katerim koli spletnim orodjem pretvorite znake URL-jev v šestnajstiške in jih vnesite v zgornji ukaz. Največ znakov, ki jih je mogoče prenesti, je 16, če je URL predolg, ga skrajšajte s pomočjo kakršnih koli storitev za skrajšanje URL-jev, kot je bitly.com, in nato prilegajte podatke v zgornjo tabelo.
Pretvarjanje vsakega znaka v šestnajstiški ekvivalent je zelo okorno in dolgotrajno. Za lažje opravljanje svojega dela obstaja kalkulator ukazov Eddystone URL, kjer morate vnesti URL, ki ga želite predvajati, in vaš ukaz bo pripravljen tako.
Bluetooth svetilnik zdaj oddaja URL in deluje v redu, vendar je treba umeriti še eno stvar, to je moč Tx, ki je ena od vrednosti v zgornjem ukazu, da dobimo natančno razdaljo od svetilnika Bluetooth.
Optimizirajte moč oddajnega signala s kalibriranjem moči Tx
V okvirju Eddystone je malo komponent, ki se prenašajo, Tx moč pa je ena izmed njih, ki pove moč signala. Z dekodiranjem moči signala sprejemnik ugotovi razdaljo od oddajnika Beacon. Vrednost moči Tx se lahko giblje od -12 do 10. Za natančno razdaljo moramo poiskati vrednost po metodi zadetkov in poskusov. V ta namen prilagodite vrednost moči Tx v ukazu za sporočilo Eddystone in postavite pametni telefon na razdaljo 1 m z odprto aplikacijo za optični bralnik Beacon. Zdaj začnite postavljati vrednosti moči Tx v ukaz od 0 do negativne vrednosti. Ne pozabite pretvoriti decimalnih vrednosti v šestnajstiško decimalno obliko, za to uporabite orodja spletnega pretvornika vrednosti za enostavno dekodiranje in vnesite zadnji dve števki pretvorjene vrednosti. V mojem primeru je heksa vrednost f4. Preverite razdaljo v aplikaciji za optični bralnik, prilagodite vrednosti, da se prikaže približno 1 m, po tem pa boste morali uporabljati oddajnik URL Eddystone z natančno razdaljo.
Aplikacije Eddystone Bluetooth Beacon
Tu je nekaj primerov uporabe za svetilnik BLE:
- Trgovina na drobno z omogočeno tehnologijo BLE: To tehnologijo lahko uporabite za privabljanje kupcev v bližini trgovin z oglaševanjem zanimivih ponudb in razprodaj.
- Dogodki z omogočenim svetilnikom BLE: z lahkoto se lahko prijavijo na prireditve in na stadione.
- Svetilniki BLE v nepremičninah: vse podrobnosti o nepremičninah, ki so na voljo v vaši bližini, lahko dobite z enim dotikom.
Obstaja veliko drugih aplikacij, ki si jih lahko omislite in jih uporabite v skladu z zahtevami.
Torej, kako lahko Raspberry Pi uporabimo za oddajanje katerega koli sporočila ali URL-ja, tako da ga pretvorimo v svetilnik Bluetooth z uporabo Eddystonea. Oglejte si spodnji predstavitveni video.
/>