- Ce este BLE și Bluetooth Beacon?
- Cum funcționează și se utilizează tehnologia BLE cu balize?
- Ce este Eddystone Beacon?
- Cerințe
- Configurați Raspberry Pi pentru Eddystone Beacon
- Optimizați puterea semnalului de transmisie prin calibrarea puterii Tx
- Aplicații Eddystone Bluetooth Beacon
Bluetooth este una dintre tehnologiile revoluționare de a transfera datele fără fir, de a controla alte dispozitive, de a construi sisteme de automatizare la domiciliu etc. checkout etc. Există un protocol dezvoltat de Google pentru a îndeplini sarcina care poate fi implementată cu ușurință în Raspberry Pi pentru a-l transforma în difuzor Bluetooth Beacon.
În acest tutorial vom afla despre BLE (Bluetooth Low Energy) și baliza Bluetooth și vom instala Eddystone Bluetooth Beacon în Raspberry Pi pentru a difuza o adresă URL. Este foarte ușor de convertit Raspberry Pi într-un dispozitiv Bluetooth Beacon, deoarece are incorporat Bluetooth.
Ce este BLE și Bluetooth Beacon?
Bluetooth Low Energy, așa cum indică și numele consumă mai puțină energie decât Bluetooth clasic. Se realizează prin trimiterea de date atunci când este necesar, cu actualizări periodice predefinite. Dar, spre deosebire de Bluetooth-ul clasic, nu este folosit pentru a transfera fișiere sau muzică. Un dispozitiv BLE funcționează cu Bluetooth V4.0 și poate funcționa cu putere redusă ca server sau ca client ceea ce face din BLE o alegere ideală pentru balize, ceasuri inteligente, benzi de fitness etc. Bluetooth clasic, pe de altă parte, este doar simplu vechi Protocolul Bluetooth pe care îl folosim pentru a transfera fișiere și alte date. Aproape toate dispozitivele BLE au funcționalitate Bluetooth clasică asociată. Am explicat anterior BLE în detaliu cu ESP32.
Balize Bluetooth:
Balizele sunt dispozitivele hardware care difuzează unele mesaje către dispozitivele electronice din apropiere și se comportă ca un difuzor. Această tehnologie permite dispozitivelor portabile să efectueze unele acțiuni atunci când sunt în imediata apropiere a dispozitivului cu baliză. Acum, balizele pot fi implementate folosind BLE și Bluetooth clasic. Deoarece majoritatea smartphone-urilor și a altor dispozitive electronice sunt compatibile cu BLE și pot fi utilizate ca receptor Beacon, implementarea balizei BLE este mai eficientă în comparație cu baliza Bluetooth clasică pentru a reduce consumul de energie.
În medie, un far Bluetooth Low Energy poate transmite semnale BLE la 80 de metri.
Cum funcționează și se utilizează tehnologia BLE cu balize?
BLE este o tehnologie cu consum redus de energie, care este proiectată pentru comunicarea pe distanțe scurte și este preferată acolo unde durata de viață a bateriei este un factor mai important decât rata mare de date. Transferul de date în această comunicare este doar într-un singur sens. Baliza BLE transmite pachete de date mici la intervale regulate de timp. Aceste pachete de date sunt recepționate și decodate de aplicația de scanare a balizelor instalată pe smartphone-uri. Aceste date primite declanșează acțiuni precum promovarea unui produs sau transmiterea unui mesaj.
În baliza Bluetooth, un număr de identificare este transmis de 10 ori în fiecare secundă prin intermediul acestuia prin canale BLE. Apoi, acest număr de ID este primit de dispozitivul activat Bluetooth și recunoscut de aplicația de scanare a balizelor, îl leagă de o acțiune, cum ar fi descărcarea unei aplicații sau a unei bucăți de conținut stocate pe cloud și afișarea acestuia pe smartphone.
Ce este Eddystone Beacon?
Eddystone este un protocol dezvoltat de Google care permite difuzarea de mesaje într-un singur sens către dispozitivele BLE. Cadrul Eddystone-URL formează coloana vertebrală a Webului fizic, care ajută la descoperirea conținutului web din împrejurimi. Beacon poate difuza patru tipuri de date folosind protocolul Eddystone. Acestea sunt după cum urmează:
- Eddystone-URL pentru difuzarea adreselor URL
- Eddystone-UID pentru difuzarea ID-urilor de balize
- Eddystone-TLM pentru difuzarea telemetriei cu balize precum temperatura dispozitivului, puterea bateriei etc.
- Eddystone-EID pentru securitate.
Există, de asemenea, alte tipuri de balize, cum ar fi iBeacon, care este pentru dispozitivele acceptate de iOS, dar Eddystone este numai pentru dispozitivele Android. De asemenea, rețineți că Google a întrerupt notificările din apropiere, acum utilizatorul va trebui să instaleze aplicația specializată de scanare a balizelor care va afișa conținutul difuzat.
În acest tutorial, vom folosi Raspberry Pi ca Eddystone Beacon și ne vom concentra pe transmiterea adresei URL utilizând Eddystone URL, astfel încât oricine să poată accesa cu ușurință informațiile difuzate cu ajutorul dispozitivelor lor Android.
Cerințe
Aici este nevoie doar de Raspberry Pi pentru a construi acest Beacon Bluetooth. Ar trebui să fie Raspberry Pi 2 sau mai nou cu Raspbian Jessie sau un OD mai nou instalat în el.
Aici vom folosi SSH pentru a accesa Raspberry Pi pe laptop. Puteți utiliza conexiunea VNC sau Remote Desktop pe laptop sau puteți conecta Raspberry pi cu un monitor. Aflați mai multe despre configurarea Raspberry Pi fără cap aici fără monitor.
Configurați Raspberry Pi pentru Eddystone Beacon
Este foarte ușor să configurați radiodifuzorul Eddystone pe Raspberry Pi. Implică doar 3 comenzi.
Acest lucru se poate face prin configurarea HCI (Host controller Interface) care poate fi accesată folosind hciconfig commad. Pentru a verifica ce se poate face folosind această comandă, introduceți comanda de mai jos în terminal.
hciconfig -h
1. Mai întâi, trebuie să activăm dispozitivul Bluetooth pe Raspberry Pi folosind comanda de mai jos.
sudo hciconfig hci0 sus
2. Acum, trebuie să setăm dispozitivul Bluetooth la dispozitivul „publicitar și care nu poate fi conectat ” folosind comanda de mai jos.
sudo hciconfig hci0 leadv 3
3. Comenzile de mai sus fac ca dispozitivul să ruleze serviciul de difuzare, acum doar introduceți datele balizei în comanda următoare, care conține informații de cadre diferite și URL în format hexazecimal. Rulați comanda de mai jos pentru a începe difuzarea cu faruri.
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
Această comandă va difuza adresa URL
Pentru a verifica mesajul difuzat pe telefonul dvs. inteligent, descărcați aplicația Web fizică sau scanerul Beacon de pe smartphone-ul dvs. Android și începeți scanarea. Veți vedea linkul difuzat în aplicație așa cum se arată mai jos. Faceți clic pe link pentru a vizita și deschide site-ul web în browser.
Acum, să înțelegem codarea hexazecimală a mesajului. În tabelul de mai jos am dat explicații pentru fiecare valoare prezentă în cod:
Valoare |
Descriere |
---|---|
0x08 |
#OGF = Câmpul grupului de operații = Grupul de comandă Bluetooth = 0x08 |
0x0008 |
#OCF = Câmp de comandă operațiune = HCI_LE_Set_Advertising_Data = 0x0008 |
1c |
Lungime. 1c hexazecimal convertește la 23 zecimale, care este numărul de octeți care urmează. |
02 |
Lungime |
01 |
Semnalizează valoarea tipului de date |
06 |
Date de semnalizare |
03 |
Lungime |
03 |
Lista completă a valorii tipului de date UUID-uri de serviciu pe 16 biți |
aa |
UUID Eddystone pe 16 biți |
fe |
UUID Eddystone pe 16 biți |
14 |
Lungime. 14 hexazecimal se convertește în 15 zecimal, care este numărul de octeți care urmează |
16 |
Valoarea tipului de date cu date de serviciu |
aa |
UUID Eddystone pe 16 biți |
fe |
UUID Eddystone pe 16 biți |
10 |
Tipul cadrului = URL |
00 |
Putere TX (aceasta ar trebui calibrată) |
02 |
Schemă URL (http: // = 0x02) |
63 |
„c” în hexazecimal |
69 |
„i” în hexazecimal |
72 |
„r” în hexazecimal |
63 |
„c” în hexazecimal |
75 |
„u” în hexazecimal |
69 |
„i” în hexazecimal |
74 |
„t” în hexazecimal |
64 |
„d” în hexazecimal |
69 |
„i” în hexazecimal |
67 |
„g” în hexazecimal |
65 |
„e” în hexazecimal |
73 |
's' în hexazecimal |
74 |
„t” în hexazecimal |
07 |
.com (.com = 0x07) |
00 |
|
00 |
|
00 |
Pentru a difuza orice adresă URL personalizată utilizând Raspberry Pi Bluetooth Beacon, trebuie doar să convertiți caracterele URL în hexazecimale folosind orice instrument online și să le puneți în comanda de mai sus. Numărul maxim de caractere care pot fi transmise este de 16, dacă adresa URL este prea lungă, apoi scurtați-o folosind orice serviciu de scurtare a adresei URL, cum ar fi bitly.com și apoi potriviți datele din tabelul de mai sus.
Este foarte greoaie și necesită mult timp pentru a converti fiecare personaj în echivalent hexazecimal. Deci, pentru a-ți face treaba cu ușurință, există un calculator de comandă URL Eddystone în care trebuie doar să introduci adresa URL pe care vrei să o difuzezi și vei pregăti comanda astfel.
Baliza Bluetooth transmite acum adresa URL și funcționează bine, dar mai este un lucru de calibrat, care este puterea Tx, care este una dintre valorile din comanda de mai sus pentru a obține distanța exactă de la baliza Bluetooth.
Optimizați puterea semnalului de transmisie prin calibrarea puterii Tx
În cadrul Eddystone există puține componente care sunt transmise și puterea Tx este una dintre ele care spune puterea semnalului. Decodând puterea semnalului, receptorul găsește distanța față de radiodifuzorul Beacon. Valoarea puterii Tx poate fi cuprinsă între -12 și 10. Trebuie să găsim valoarea prin metoda de încercare și încercare pentru a obține distanța exactă. Pentru aceasta, reglați valoarea puterii Tx în comanda de mesaj Eddystone și puneți smartphone-ul la o distanță de 1 m cu aplicația de scanare Beacon deschisă. Acum începeți să puneți valorile puterii Tx în comanda de la 0 la valori negative. Nu uitați să convertiți valorile zecimale în format zecimal hexa, pentru aceasta utilizați instrumentele de conversie a valorii online pentru decodificare ușoară și luați ultimele două cifre ale valorii convertite. În cazul meu, valoarea hexa este f4. Verificați distanța în aplicația de scanare, reglați valorile până când arată aproximativ 1m și, după aceea, utilizați radiodifuzorul URL Eddystone cu distanță exactă.
Aplicații Eddystone Bluetooth Beacon
Iată câteva dintre cazurile de utilizare pentru baliza BLE:
- Comerț cu amănuntul activat BLE: Această tehnologie poate fi utilizată pentru a atrage clienți în vecinătatea magazinelor prin publicitatea ofertelor și vânzărilor interesante.
- Evenimente cu baliză BLE: Poate fi utilizată pentru înregistrări ușoare la evenimente și pe stadioane, cu plăți ușoare.
- Semnalizatoare BLE în domeniul imobiliar: puteți obține toate detaliile proprietăților disponibile în apropierea dvs. și puteți rezerva dintr-o singură atingere.
Există multe alte aplicații la care vă puteți gândi și implementa în funcție de cerințe.
Deci, așa se poate folosi Raspberry Pi pentru a difuza orice mesaj sau adresă URL prin convertirea acestuia într-un Beacon Bluetooth folosind Eddystone. Verificați videoclipul demonstrativ de mai jos.
/>