- Kas yra BLE ir „Bluetooth Beacon“?
- Kaip „BLE Technology“ veikia ir naudojama su švyturėliais?
- Kas yra „Eddystone Beacon“?
- Reikalavimai
- „Eddystone Beacon“ nustatykite „Raspberry Pi“
- Optimizuokite perdavimo signalo galią kalibruodami Tx galią
- „Eddystone Bluetooth Beacon“ programos
„Bluetooth“ yra viena iš revoliucinių technologijų bevieliu būdu perduoti duomenis, valdyti kitus įrenginius, kurti namų automatikos sistemas ir pan. Bet ar kada pagalvojote, kad „Bluetooth“ taip pat gali būti naudojamas bet kokiai informacijai perduoti į netoliese esančius įrenginius, kad būtų rodoma svarbi informacija, lengva atsiskaitymas ir pan. Yra „Google“ sukurtas protokolas, kurio užduočiai atlikti galima lengvai įdiegti „ Raspberry Pi“, kad jis taptų „Bluetooth Beacon“ transliuotoju.
Šioje pamokoje mes sužinosime apie BLE („Bluetooth Low Energy“) ir „Bluetooth“ švyturį ir įdiegsime „Eddystone“ „Bluetooth“ švyturį „Raspberry Pi“, kad galėtumėte transliuoti URL. Labai lengva konvertuoti „Raspberry Pi“ į „Bluetooth“ švyturį, nes jis turi integruotą „Bluetooth“.
Kas yra BLE ir „Bluetooth Beacon“?
„ Bluetooth“ energijos suvartojimas, nes pavadinimas rodo, sunaudoja mažiau energijos nei klasikinis „Bluetooth“. Tai pasiekiama siunčiant duomenis, kai reikia, su iš anksto nustatytais periodiniais atnaujinimais. Tačiau, skirtingai nei klasikinis „Bluetooth“, jis nenaudojamas perduodant failus ar muziką. „BLE“ įrenginys veikia su „Bluetooth V4.0“ ir gali veikti mažai naudodamas serverį arba kaip klientą, todėl „BLE“ yra idealus pasirinkimas švyturiams, išmaniesiems laikrodžiams, kūno rengybos juostoms ir pan. „Bluetooth“ protokolas, kurį naudojame failams ir kitiems duomenims perduoti. Beveik visi BLE įrenginiai turi klasikinę „Bluetooth“ funkciją, susietą su juo. Anksčiau mes išsamiai paaiškinome BLE su ESP32.
„Bluetooth“ švyturiai:
Švyturiai yra aparatinė įranga, kuri perduoda kai kuriuos pranešimus netoliese esantiems elektronikos prietaisams ir elgiasi kaip transliuotoja. Ši technologija suteikia galimybę nešiojamiesiems įrenginiams atlikti kai kuriuos veiksmus, kai jie yra arti švyturio įrenginio. Dabar švyturius galima įdiegti naudojant BLE ir klasikinį „Bluetooth“. Kadangi dauguma išmaniųjų telefonų ir kitų elektroninių prietaisų yra suderinami su BLE ir gali būti naudojami kaip „ Beacon“ imtuvas, todėl BLE švyturys yra efektyvesnis, palyginti su klasikiniu „Bluetooth“ švyturiu, siekiant sumažinti energijos suvartojimą.
Vidutiniškai „Bluetooth Low Energy“ švyturys gali perduoti BLE signalus iki 80 metrų.
Kaip „BLE Technology“ veikia ir naudojama su švyturėliais?
„BLE“ yra mažo energijos suvartojimo technologija, sukurta mažo nuotolio ryšiui palaikyti, ir ji yra pageidaujama, kai baterijos veikimo laikas yra svarbesnis veiksnys nei didelis duomenų perdavimo greitis. Duomenys šiuo ryšiu perduodami tik į vieną pusę. „BLE“ švyturys reguliariais laiko tarpais perduoda mažus duomenų paketus. Šiuos duomenų paketus gauna ir iššifruoja išmaniuosiuose telefonuose įdiegta švyturio skaitytuvo programa. Šie gauti duomenys suaktyvina veiksmus, pvz., Produkto reklamavimą ar pranešimo siuntimą.
„Bluetooth“ švyturyje ID numeris per sekundę perduodamas 10 kartų per BLE kanalus. Tada šį ID numerį gauna „Bluetooth“ įgalintas įrenginys ir atpažįsta švyturio skaitytuvo programa, jis susieja jį su veiksmu, pvz., Atsisiųskite programą arba turinio dalį, saugomą debesyje, ir parodys jį išmaniajame telefone.
Kas yra „Eddystone Beacon“?
„Eddystone“ yra „Google“ sukurtas protokolas, leidžiantis vienkartinius pranešimus transliuoti į BLE įrenginius. „Eddystone“ URL rėmelis sudaro fizinio žiniatinklio pagrindą, kuris padeda atrasti žiniatinklio turinį aplink. „Beacon“ gali perduoti keturių tipų duomenis naudodamas „Eddystone“ protokolą. Jie yra tokie:
- Eddystone-URL transliuoti URL adresus
- „Eddystone-UID“, skirtas transliuoti švyturių ID
- „Eddystone-TLM“, skirta transliuoti švyturių telemetriją, pvz., Įrenginio temperatūrą, baterijos stiprumą ir kt.
- „Eddystone-EID“ saugumui užtikrinti.
Taip pat yra kitų tipų švyturių, tokių kaip „iBeacon“, skirtas „iOS“ palaikomiems įrenginiams, tačiau „ Eddystone“ skirtas tik „Android“ įrenginiams. Taip pat atkreipkite dėmesį, kad „Google“ nutraukė netoliese esančius pranešimus, dabar vartotojas turės įdiegti specializuotą švyturių skaitytuvo programą, kuri parodys transliuojamą turinį.
Šioje pamokoje mes naudosime „ Raspberry Pi“ kaip „Eddystone Beacon“ ir sutelksime dėmesį į URL adreso transliaciją naudodami „Eddystone URL“, kad bet kas galėtų lengvai pasiekti transliuojamą informaciją naudodamas savo „Android“ įrenginius.
Reikalavimai
Čia norint sukurti šį „Bluetooth“ švyturį, reikia tik „Raspberry Pi“. Tai turėtų būti „Raspberry Pi 2“ arba naujesnė su „Raspbian Jessie“ arba joje įdiegta naujesnė OD.
Čia naudosime SSH norėdami pasiekti „Raspberry Pi“ nešiojamuoju kompiuteriu. Galite naudoti VNC arba nuotolinio darbalaukio ryšį nešiojamame kompiuteryje arba prijungti „Raspberry pi“ su monitoriumi. Sužinokite daugiau apie „Raspberry Pi“ nustatymą be galvos čia be monitoriaus.
„Eddystone Beacon“ nustatykite „Raspberry Pi“
Labai lengva nustatyti „ Eddystone“ transliuotoją „Raspberry Pi“. Tai apima tik 3 komandas.
Tai galima padaryti sukonfigūravus HCI (pagrindinio kompiuterio valdiklio sąsaja), prie kurios galima prisijungti naudojant „ hciconfig commad“. Norėdami patikrinti, ką galima padaryti naudojant šią komandą, įveskite žemiau esančią komandą terminale.
hciconfig -h
1. Pirmiausia turime įgalinti „Bluetooth“ įrenginį savo „Raspberry Pi“ naudodami žemiau esančią komandą.
sudo hciconfig hci0 aukštyn
2. Dabar mes turime nustatyti „Bluetooth“ įrenginį „reklamuoti ir neprisijungti“ naudojant komandą žemiau.
sudo hciconfig hci0 leadv 3
3. Pirmiau nurodytos komandos leidžia įrenginiui paleisti transliavimo paslaugą. Dabar tiesiog įveskite švyturio duomenis kitoje komandoje, kurioje yra skirtinga rėmelių informacija ir URL šešioliktainiu formatu. Paleiskite žemiau esančią komandą, kad pradėtumėte transliuoti švyturį.
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
Ši komanda transliuos URL
Norėdami patikrinti transliuojamą pranešimą išmaniajame telefone, atsisiųskite „Physical Web App“ arba „Beacon“ skaitytuvą į savo „Android“ išmanųjį telefoną ir pradėkite nuskaitymą. Programoje pamatysite transliuojamą nuorodą, kaip parodyta žemiau. Spustelėkite nuorodą, kad apsilankytumėte ir atidarytumėte svetainę naršyklėje.
Dabar leidžia suprasti šešioliktainį pranešimo kodavimą. Žemiau esančioje lentelėje mes pateikėme kiekvienos kode esančios vertės paaiškinimą:
Vertė |
apibūdinimas |
---|---|
0x08 |
#OGF = Operacijų grupės laukas = „Bluetooth“ komandų grupė = 0x08 |
0x0008 |
#OCF = Operacijos komandų laukas = HCI_LE_Set_Advertising_Data = 0x0008 |
1c |
Ilgis. Šešioliktainis 1c konvertuojamas į 23 dešimtainius skaičius, kuris yra paskui sekančių baitų skaičius. |
02 |
Ilgis |
01 |
Pažymi duomenų tipo vertę |
06 |
Pažymi duomenis |
03 |
Ilgis |
03 |
Išsamus 16 bitų „Service UUID“ duomenų tipo vertės sąrašas |
aa |
16 bitų „Eddystone“ UUID |
fe |
16 bitų „Eddystone“ UUID |
14 |
Ilgis. Šešioliktainis skaičius 14 konvertuojamas į 15 skaičių po kablelio, kuris yra paskui sekančių baitų skaičius |
16 |
„Service Data“ duomenų tipo vertė |
aa |
16 bitų „Eddystone“ UUID |
fe |
16 bitų „Eddystone“ UUID |
10 |
Rėmelio tipas = URL |
00 |
TX galia (tai turėtų būti sukalibruota) |
02 |
URL schema (http: // = 0x02) |
63 |
„c“ šešioliktainiu skaičiumi |
69 |
„i“ šešioliktainiu skaičiumi |
72 |
„r“ šešioliktainiu skaičiumi |
63 |
„c“ šešioliktainiu skaičiumi |
75 |
„u“ šešioliktainiu skaičiumi |
69 |
„i“ šešioliktainiu skaičiumi |
74 |
„t“ šešioliktainiu skaičiumi |
64 |
„d“ šešioliktainiu skaičiumi |
69 |
„i“ šešioliktainiu skaičiumi |
67 |
„g“ šešioliktainiu skaičiumi |
65 |
„e“ šešioliktainiu skaičiumi |
73 |
„s“ šešioliktainiu skaičiumi |
74 |
„t“ šešioliktainiu skaičiumi |
07 |
.com (.com = 0x07) |
00 |
|
00 |
|
00 |
Norėdami transliuoti bet kurį pasirinktinį URL naudodami „Raspberry Pi Bluetooth Beacon“, tiesiog konvertuokite URL simbolius į šešioliktainį skaičių naudodami bet kurį internetinį įrankį ir įdėkite jį į aukščiau nurodytą komandą. Maksimalus simbolių, kuriuos galima perduoti, skaičius yra 16, jei URL yra per ilgas, sutrumpinkite jį naudodami bet kokias URL trumpesnių tarnybų paslaugas, pvz., Bitly.com, ir tada pritaikykite duomenis aukščiau esančioje lentelėje.
Kiekvieną simbolį paversti šešioliktainiu atitikmeniu yra labai sudėtinga ir daug laiko reikalaujanti. Taigi, kad galėtumėte lengvai atlikti savo darbą, yra „Eddystone“ URL komandų skaičiuoklė, kur jums tiesiog reikia įvesti URL, kurį norite transliuoti, ir taip pasiruošite komandai.
„Bluetooth“ švyturys dabar transliuoja URL ir veikia gerai, tačiau reikia sukalibruoti dar vieną dalyką - Tx galią, kuri yra viena iš aukščiau nurodytos komandos vertės, kad gautumėte tikslų atstumą nuo „Bluetooth“ švyturio.
Optimizuokite perdavimo signalo galią kalibruodami Tx galią
„Eddystone“ rėmelyje yra nedaug komponentų, kurie yra perduodami, o Tx galia yra viena iš jų, nurodanti signalo stiprumą. Dekoduodamas signalo stiprumą, imtuvas nustato atstumą nuo „Beacon“ transliuotojo. Tx galios vertė gali svyruoti nuo -12 iki 10. Turime rasti vertę pagal smūgį ir bandymo metodą, kad gautume tikslų atstumą. Norėdami tai padaryti, „Eddystone“ pranešimų komandoje sureguliuokite Tx galios vertę ir atidarykite „Beacon“ skaitytuvo programą išmanųjį telefoną 1 m atstumu. Dabar pradėkite įvesti Tx galios reikšmes į komandą nuo 0 iki neigiamų reikšmių. Nepamirškite dešimtainių reikšmių konvertuoti dešimtainio dešimtainio formato formatu, tam naudokite internetinius vertės keitiklio įrankius, kad galėtumėte lengvai dekoduoti, ir paimkite paskutinius du konvertuotos vertės skaitmenis. Mano atveju heksa vertė yra f4. Patikrinkite atstumą skaitytuvo programoje, sureguliuokite vertes, kol jis bus maždaug 1 m. Po to turėsite naudoti „Eddystone URL“ transliuotoją tiksliai atstumu.
„Eddystone Bluetooth Beacon“ programos
Štai keletas BLE švyturio naudojimo atvejų:
- BLE leido mažmeninę prekybą: ši technologija gali būti naudojama pritraukti klientus šalia parduotuvių, reklamuojant įdomius pasiūlymus ir išpardavimus.
- „BLE“ švyturį įgalinantys renginiai: jis gali būti naudojamas lengvai registruojantis renginiuose ir stadionuose su lengvais atsiskaitymais.
- Nekilnojamojo turto „BLE“ švyturiai: galite gauti visą išsamią informaciją apie turimus objektus ir užsisakyti vienu paspaudimu.
Yra daugybė kitų programų, kurias galite sugalvoti ir įgyvendinti pagal reikalavimus.
Taigi, kaip „Raspberry Pi“ gali būti naudojamas bet kokiam pranešimui ar URL transliuoti, paverčiant jį „ Bluetooth“ švyturiu naudojant „Eddystone“. Patikrinkite demonstracinį vaizdo įrašą žemiau.
/>