- Kas ir BLE un Bluetooth bāksignāls?
- Kā BLE Technology darbojas un tiek izmantots kopā ar bākugunīm?
- Kas ir Eddystone Beacon?
- Prasības
- Iestatiet Raspberry Pi Eddystone Beacon
- Optimizējiet raidītāja signāla jaudu, kalibrējot Tx jaudu
- Eddystone Bluetooth bākas lietojumprogrammas
Bluetooth ir viena no revolucionārajām tehnoloģijām, lai bezvadu režīmā pārsūtītu datus, vadītu citas ierīces, izveidotu mājas automatizācijas sistēmas utt. Bet vai jūs kādreiz esat domājis, ka Bluetooth var izmantot arī jebkuras informācijas pārraidīšanai uz tuvējām ierīcēm, lai parādītu svarīgu informāciju, viegli norēķināšanās uc Ir Google izstrādāts protokols, kura uzdevuma izpildei to var viegli izvietot Raspberry Pi, lai padarītu to par Bluetooth Beacon raidorganizāciju.
Šajā apmācībā mēs uzzināsim par BLE (Bluetooth Low Energy) un Bluetooth bāku un instalēsim Eddystone Bluetooth bāku Raspberry Pi, lai pārraidītu URL. Raspberry Pi ir ļoti viegli pārveidot par Bluetooth bāku, jo tajā ir iebūvēts Bluetooth.
Kas ir BLE un Bluetooth bāksignāls?
Bluetooth Low Energy, kā nosaukums norāda, patērē mazāk jaudas nekā klasiskās Bluetooth. Tas tiek sasniegts, nosūtot datus, kad nepieciešams, ar iepriekš noteiktiem periodiskiem atjauninājumiem. Bet atšķirībā no klasiskā Bluetooth to neizmanto failu vai mūzikas pārsūtīšanai. BLE ierīce darbojas ar Bluetooth V4.0 un var darboties ar nelielu enerģijas patēriņu kā serveris vai kā klients, kas padara BLE par ideālu izvēli bākugunīm, viedpulksteņiem, fitnesa joslām utt. Klasiskais Bluetooth, no otras puses, ir vienkārši vienkāršs, vecs Bluetooth protokols, kuru izmantojam failu un citu datu pārsūtīšanai. Gandrīz visām BLE ierīcēm ir pievienota klasiskā Bluetooth funkcionalitāte. Iepriekš mēs detalizēti izskaidrojām BLE ar ESP32.
Bluetooth bākas:
Bākas ir aparatūras ierīces, kas pārraida dažus ziņojumus uz tuvumā esošām elektronikas ierīcēm un rīkojas kā raidorganizācija. Šī tehnoloģija ļauj portatīvajām ierīcēm veikt dažas darbības, kad tās atrodas bākas ierīces tuvumā. Tagad bākas var ieviest, izmantojot BLE un klasisko Bluetooth. Tā kā lielākā daļa viedtālruņu un citu elektronisko ierīču ir saderīgas ar BLE, un tās var izmantot kā bākas uztvērēju, tāpēc BLE bākas ieviešana ir efektīvāka, salīdzinot ar klasisko Bluetooth bāku, lai samazinātu enerģijas patēriņu.
Vidēji ar Bluetooth zemas enerģijas bāku var pārraidīt BLE signālus līdz 80 metriem.
Kā BLE Technology darbojas un tiek izmantots kopā ar bākugunīm?
BLE ir zema enerģijas patēriņa tehnoloģija, kas paredzēta neliela darbības attāluma sakariem, un tā ir vēlama, ja akumulatora darbības laiks ir svarīgāks faktors nekā liels datu pārraides ātrums. Datu pārsūtīšana šajā komunikācijā ir tikai vienvirziena. BLE bāka regulāri pārraida mazas datu paketes. Šīs datu paketes saņem un dekodē viedtālruņos instalēta bākas skenera lietotne. Šie saņemtie dati izraisa tādas darbības kā produkta reklamēšana vai ziņojuma nosūtīšana.
Bluetooth bākā ID numurs katru sekundi tiek pārsūtīts 10 reizes, izmantojot BLE kanālus. Tad šo ID numuru saņem ierīce, kurā iespējota Bluetooth, un atpazīst bākas skenera lietotne, tā to saista ar darbību, piemēram, lejupielādējiet mākonī saglabātu lietotni vai satura gabalu un parādiet to viedtālrunī.
Kas ir Eddystone Beacon?
Eddystone ir Google izstrādāts protokols, kas ļauj vienvirziena ziņojumus pārraidīt uz BLE ierīcēm. Eddystone URL rāmis veido fiziskā tīmekļa mugurkaulu, kas palīdz atklāt tīmekļa saturu apkārtējā vidē. Bāka var pārraidīt četrus datu veidus, izmantojot Eddystone protokolu. Tie ir šādi:
- Eddystone-URL apraides URL adresēm
- Eddystone-UID bāku ID apraidei
- Eddystone-TLM, lai apraidītu bākas telemetriju, piemēram, ierīces temperatūru, akumulatora izturību utt.
- Eddystone-EID drošībai.
Ir arī cita veida bākas, piemēram, iBeacon, kas paredzēta iOS atbalstītām ierīcēm, taču Eddystone ir paredzēts tikai Android ierīcēm. Ņemiet vērā arī to, ka Google ir pārtraucis lietotni Tuvumā esošie paziņojumi, tagad lietotājam būs jāinstalē specializēta bākas skenera lietotne, kas parādīs pārraidīto saturu.
Šajā apmācībā mēs izmantosim Raspberry Pi kā Eddystone Beacon un pievērsīsimies URL adreses apraidei, izmantojot Eddystone URL, lai ikviens varētu viegli piekļūt pārraidītajai informācijai ar savu Android ierīču palīdzību.
Prasības
Šeit ir nepieciešams tikai Raspberry Pi, lai izveidotu šo Bluetooth bāku. Tam vajadzētu būt Raspberry Pi 2 vai jaunākam ar tajā instalētu Raspbian Jessie vai jaunākam OD.
Šeit mēs izmantosim SSH, lai klēpjdatorā piekļūtu Raspberry Pi. Jūs varat izmantot VNC vai attālās darbvirsmas savienojumu klēpjdatorā vai arī savienot Raspberry pi ar monitoru. Uzziniet vairāk par Raspberry Pi iestatīšanu bez galvas šeit bez monitora.
Iestatiet Raspberry Pi Eddystone Beacon
Ir ļoti viegli iestatīt Eddystone apraidi uz Raspberry Pi. Tas ietver tikai 3 komandas.
To var izdarīt, konfigurējot HCI (resursdatora kontrollera saskarni), kurai var piekļūt, izmantojot hciconfig commad. Lai pārbaudītu, ko var izdarīt, izmantojot šo komandu, ievadiet šādu komandu terminālā.
hciconfig -h
1. Pirmkārt, mums ir jāiespējo Bluetooth ierīce mūsu Raspberry Pi, izmantojot komandu zemāk.
sudo hciconfig hci0 uz augšu
2. Tagad mums ir jāiestata Bluetooth ierīce “reklamēt un nav savienojama”, izmantojot komandu zemāk.
sudo hciconfig hci0 leadv 3
3. Iepriekš minētās komandas liek ierīcei palaist apraides pakalpojumu, tagad vienkārši ievadiet bākas datus nākamajā komandā, kas satur dažādu kadru informāciju un URL heksadecimālā formātā. Palaidiet zemāk esošo komandu, lai sāktu bākas apraidi.
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
Šī komanda pārraidīs vietrādi URL
Lai viedtālrunī pārbaudītu apraidīto ziņojumu, savā Android viedtālrunī lejupielādējiet Physical Web App vai Beacon skeneri un sāciet skenēšanu. Jūs redzēsiet apraidīto saiti lietotnē, kā parādīts zemāk. Noklikšķiniet uz saites, lai apmeklētu un atvērtu vietni pārlūkprogrammā.
Tagad ļauj saprast ziņojuma heksadecimālo kodēšanu. Zemāk esošajā tabulā mēs esam izskaidrojuši katru vērtību, kas atrodas kodā:
Vērtība |
Apraksts |
---|---|
0x08 |
#OGF = Operāciju grupas lauks = Bluetooth komandu grupa = 0x08 |
0x0008 |
#OCF = Operācijas komandu lauks = HCI_LE_Set_Advertising_Data = 0x0008 |
1.c |
Garums. Heksadecimālais skaitlis 1c tiek pārvērsts par 23 decimāldaļām, kas ir sekojošo baitu skaits. |
02 |
Garums |
01 |
Atzīmē datu veida vērtību |
06 |
Atzīmē datus |
03 |
Garums |
03 |
Pilnīgs 16 bitu pakalpojuma UUID datu veida vērtības saraksts |
aa |
16 bitu Eddystone UUID |
fe |
16 bitu Eddystone UUID |
14 |
Garums. Heksadecimālais skaitlis 14 tiek pārvērsts par 15 cipariem aiz komata, kas ir sekojošo baitu skaits |
16 |
Pakalpojuma datu datu veida vērtība |
aa |
16 bitu Eddystone UUID |
fe |
16 bitu Eddystone UUID |
10 |
Rāmja tips = URL |
00 |
TX jauda (tas jākalibrē) |
02 |
URL shēma (http: // = 0x02) |
63 |
“c” heksadecimālā |
69 |
“i” heksadecimāli |
72 |
“r” heksadecimālā |
63 |
“c” heksadecimālā |
75 |
“u” heksadecimālā |
69 |
“i” heksadecimāli |
74. |
“t” heksadecimālā |
64. |
“d” heksadecimālā |
69 |
“i” heksadecimāli |
67 |
“g” heksadecimālā |
65 |
“e” heksadecimālā |
73. |
's' heksadecimāli |
74. |
“t” heksadecimālā |
07 |
.com (.com = 0x07) |
00 |
|
00 |
|
00 |
Lai apraidītu jebkuru pielāgotu URL, izmantojot Raspberry Pi Bluetooth bāku, vienkārši pārveidojiet URL rakstzīmes heksadecimālajā zīmē, izmantojot jebkuru tiešsaistes rīku, un ievietojiet to iepriekš minētajā komandā. Maksimālais pārsūtāmo rakstzīmju skaits ir 16, ja URL ir pārāk garš, saīsiniet to, izmantojot jebkurus URL saīsināšanas pakalpojumus, piemēram, bitly.com, un pēc tam ievietojiet datus iepriekšējā tabulā.
Pārveidot katru rakstzīmi heksadecimālajā ekvivalentā ir ļoti apgrūtinoši un laikietilpīgi. Lai ērti paveiktu savu darbu, ir Eddystone URL komandu kalkulators, kurā jums vienkārši jāievada URL, kuru vēlaties pārraidīt, un jūs saņemsiet savu komandu gatavu šādi.
Bluetooth bāka tagad pārraida URL un darbojas labi, taču ir vēl jākalibrē vēl viena lieta, kas ir Tx jauda, kas ir viena no iepriekšminētās komandas vērtībām, lai iegūtu precīzu attālumu no Bluetooth bākas.
Optimizējiet raidītāja signāla jaudu, kalibrējot Tx jaudu
Eddystone rāmī ir maz pārraidāmo komponentu, un Tx jauda ir viena no tām, kas nosaka signāla stiprumu. Atkodējot signāla stiprumu, uztvērējs atrod attālumu no raidorganizācijas Beacon. Tx jaudas vērtība var svārstīties no -12 līdz 10. Mums ir jāatrod vērtība pēc sitiena un izmēģinājuma metodes, lai iegūtu precīzu attālumu. Lai to izdarītu, noregulējiet Tx jaudas vērtību komandā Eddystone un novietojiet viedtālruni 1 m attālumā ar atvērtu Beacon skenera lietotni. Tagad sāciet ievietot Tx jaudas vērtības komandā no 0 līdz negatīvām vērtībām. Atcerieties, ka decimāldaļas vērtības jāpārvērš heksas decimāldaļu formātā, lai vienkāršotu dekodēšanu, izmantojiet tiešsaistes vērtību pārveidotāja rīkus un ņemiet pēdējos divus pārveidotās vērtības ciparus. Manā gadījumā heksa vērtība ir f4. Pārbaudiet attālumu skenera lietotnē, noregulējiet vērtības, līdz tas parāda aptuveni 1 m, un pēc tam jums būs jāizmanto Eddystone URL raidītājs ar precīzu attālumu.
Eddystone Bluetooth bākas lietojumprogrammas
Šeit ir daži no BLE bākas lietošanas gadījumiem:
- BLE iespējota mazumtirdzniecība: šo tehnoloģiju var izmantot, lai piesaistītu klientus veikalu tuvumā, reklamējot aizraujošos piedāvājumus un pārdošanu.
- BLE signālu iespējoši notikumi: to var izmantot, lai ērti reģistrētos pasākumos un stadionos ar vienkāršām norēķiniem.
- BLE bākas nekustamajā īpašumā: jūs varat iegūt visu informāciju par tuvumā esošajiem īpašumiem un rezervēt ar vienu pieskārienu.
Ir daudz citu lietojumprogrammu, kuras varat iedomāties un ieviest atbilstoši prasībām.
Tātad, kā Raspberry Pi var izmantot jebkura ziņojuma vai URL pārraidīšanai, pārveidojot to par Bluetooth bāku, izmantojot Eddystone. Pārbaudiet demonstrācijas video zemāk.
/>