- Què és BLE i Bluetooth Beacon?
- Com funciona i s'utilitza la tecnologia BLE amb les balises?
- Què és Eddystone Beacon?
- Requisits
- Configuració de Raspberry Pi per a Eddystone Beacon
- Optimitzeu la potència del senyal de transmissió mitjançant la calibració de la potència Tx
- Aplicacions d’Eddone Bluetooth Beacon
El Bluetooth és una de les revolucionàries tecnologies per transferir dades sense fils, controlar altres dispositius, construir sistemes domòtics, etc. caixa, etc. Hi ha un protocol desenvolupat per Google per realitzar la tasca del qual es pot desplegar fàcilment a Raspberry Pi per convertir-lo en un emissor Bluetooth Beacon.
En aquest tutorial coneixerem el BLE (Bluetooth Low Energy) i la balisa Bluetooth i instal·larem el Beacon Bluetooth Eddystone a Raspberry Pi per emetre un URL. És molt fàcil convertir Raspberry Pi en un fanal Bluetooth, ja que ha incorporat el Bluetooth.
Què és BLE i Bluetooth Beacon?
El Bluetooth Low Energy, com el seu nom indica, consumeix menys energia que el Bluetooth clàssic. S’aconsegueix enviant dades quan cal amb actualitzacions periòdiques predefinides. Però, a diferència del Bluetooth clàssic, no s’utilitza per transferir fitxers ni música. Un dispositiu BLE funciona amb Bluetooth V4.0 i pot funcionar amb poca potència com a servidor o com a client, cosa que converteix BLE en una opció ideal per a balises, rellotges intel·ligents, bandes de fitness, etc. El Bluetooth clàssic en canvi és només el simple Protocol Bluetooth que fem servir per transferir fitxers i altres dades. Gairebé tots els dispositius BLE tenen associada la funcionalitat Bluetooth clàssica. Prèviament hem explicat detalladament BLE amb ESP32.
![]()
Balises Bluetooth:
Les balises són els dispositius de maquinari que transmeten alguns missatges a dispositius electrònics propers i es comporten com a emissor. Aquesta tecnologia permet als dispositius portàtils realitzar algunes accions quan es troben molt a prop del dispositiu de balisa. Ara, les balises es poden implementar mitjançant BLE i Bluetooth clàssic. Atès que, la majoria de telèfons intel·ligents i altres dispositius electrònics són compatibles amb BLE i es poden utilitzar com a receptor de Beacon, de manera que implementar la balisa BLE és més eficient que la comparació amb la balisa Bluetooth clàssica per reduir el consum d'energia.
De mitjana, una balisa Bluetooth de baix consum pot transmetre senyals BLE a 80 metres.
Com funciona i s'utilitza la tecnologia BLE amb les balises?
BLE és una tecnologia de baix consum d'energia dissenyada per a comunicacions de curt abast i és preferible quan la durada de la bateria és un factor més important que la velocitat de dades elevada. La transferència de dades en aquesta comunicació és unidireccional. La balisa BLE transmet paquets de dades petits a intervals regulars de temps. Aquests paquets de dades són rebuts i descodificats per l’aplicació d’escàner de balises instal·lada als telèfons intel·ligents. Les dades rebudes activen accions com ara promocionar un producte o enviar un missatge.
A la balisa Bluetooth, un número d'identificació es transmet 10 vegades cada segon per mitjà de canals BLE. Aleshores, el número d’identificació el rep el dispositiu habilitat per Bluetooth i el reconeix l’aplicació d’escàner de balises, el vincula a una acció, com ara baixar una aplicació o un contingut emmagatzemat al núvol i el mostra al telèfon intel·ligent.
Què és Eddystone Beacon?
Eddystone és un protocol desenvolupat per Google que permet emetre missatges d'una manera única als dispositius BLE. El marc Eddystone-URL constitueix la columna vertebral de la web física, que ajuda a descobrir contingut web als voltants. Beacon pot emetre quatre tipus de dades mitjançant el protocol Eddystone. Són els següents:
- Eddystone-URL per emetre adreces URL
- Eddystone-UID per emetre identificadors de balises
- Eddystone-TLM per emetre telemetria de balises com la temperatura del dispositiu, la potència de la bateria, etc.
- Eddystone-EID per seguretat.
També hi ha altres tipus de balises com iBeacon, que és per a dispositius compatibles amb iOS, però Eddystone només és per a dispositius Android. Tingueu en compte també que Google ha deixat de rebre les notificacions properes, ara l’usuari haurà d’instal·lar una aplicació especialitzada d’escàner de balises que mostrarà el contingut emès.
En aquest tutorial, utilitzarem Raspberry Pi com a Eddystone Beacon i ens centrarem en la difusió de l'adreça URL mitjançant Eddystone URL perquè tothom pugui accedir fàcilment a la informació transmesa amb l'ajuda dels seus dispositius Android.
Requisits
Aquí només es necessita Raspberry Pi per construir aquesta balisa Bluetooth. Hauria de ser Raspberry Pi 2 o més recent amb Raspbian Jessie o un OD més recent instal·lat.
Aquí utilitzarem SSH per accedir a Raspberry Pi des del portàtil. Podeu utilitzar la connexió VNC o Escriptori remot a l'ordinador portàtil o bé connectar el vostre Raspberry pi amb un monitor. Obteniu més informació sobre com configurar Raspberry Pi aquí sense cap cap cap cap monitor.
Configuració de Raspberry Pi per a Eddystone Beacon
És molt fàcil configurar l’ emissor Eddystone a Raspberry Pi. Només inclou 3 ordres.
Això es pot fer mitjançant la configuració de l’HCI (Interfície del controlador d’amfitrió) al qual es pot accedir mitjançant la comanda hciconfig. Per comprovar què es pot fer mitjançant aquesta ordre, introduïu l'ordre següent al terminal.
hciconfig -h
1. En primer lloc, hem d' activar el dispositiu Bluetooth al nostre Raspberry Pi mitjançant l'ordre següent.
sudo hciconfig hci0 cap amunt
2. Ara, hem d’ establir el Bluetooth com a dispositiu “publicitari i no connectable” mitjançant l’ordre següent.
sudo hciconfig hci0 leadv 3
3. Les comandes anteriors fan que el dispositiu executi el servei de difusió; ara només heu d'introduir les dades de la balisa a l'ordre següent, que conté informació de marcs i URL diferents en format hexadecimal. Executeu l'ordre següent per iniciar l'emissió de balises.
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
Aquesta ordre emetrà l'URL
Per comprovar el missatge emès al telèfon intel·ligent, descarregueu l'aplicació Physical Web o l'escàner Beacon al vostre telèfon intel·ligent Android i inicieu l'escaneig. Veureu l’enllaç emès a l’aplicació com es mostra a continuació. Feu clic a l'enllaç per visitar i obrir el lloc web al navegador.
![]()
Ara entenem la codificació hexadecimal del missatge. A la taula següent hem explicat tots i cadascun dels valors presents al codi:
|
Valor |
Descripció |
|---|---|
|
0x08 |
#OGF = Camp del grup d’operacions = Grup d’ordres Bluetooth = 0x08 |
|
0x0008 |
#OCF = Camp d’ordres d’operació = HCI_LE_Set_Advertising_Data = 0x0008 |
|
1c |
Llargada. L'1c hexadecimal es converteix en 23 decimals, que és el nombre de bytes que segueixen. |
|
02 |
Llargada |
|
01 |
Marca el valor del tipus de dades |
|
06 |
Dades de les marques |
|
03 |
Llargada |
|
03 |
Llista completa del valor del tipus de dades de UUID de servei de 16 bits |
|
aa |
UUID Eddystone de 16 bits |
|
fe |
UUID Eddystone de 16 bits |
|
14 |
Llargada. El 14 hexadecimal es converteix en 15 decimal, que és el nombre de bytes que segueixen |
|
16 |
Valor del tipus de dades de dades de servei |
|
aa |
UUID Eddystone de 16 bits |
|
fe |
UUID Eddystone de 16 bits |
|
10 |
Tipus de marc = URL |
|
00 |
Potència TX (s'hauria de calibrar) |
|
02 |
Esquema d'URL (http: // = 0x02) |
|
63 |
'c' en hexadecimal |
|
69 |
'i' en hexadecimal |
|
72 |
'r' en hexadecimal |
|
63 |
'c' en hexadecimal |
|
75 |
'u' en hexadecimal |
|
69 |
'i' en hexadecimal |
|
74 |
't' en hexadecimal |
|
64 |
'd' en hexadecimal |
|
69 |
'i' en hexadecimal |
|
67 |
'g' en hexadecimal |
|
65 |
'e' en hexadecimal |
|
73 |
's' en hexadecimal |
|
74 |
't' en hexadecimal |
|
07 |
.com (.com = 0x07) |
|
00 |
|
|
00 |
|
|
00 |
Per emetre qualsevol URL personalitzat mitjançant Raspberry Pi Bluetooth Beacon, només heu de convertir els caràcters de l'URL en hexadecimal mitjançant qualsevol eina en línia i posar-lo a l'ordre anterior. El màxim de caràcters que es poden transmetre són 16, si l'URL és massa llarg, escurceu-lo mitjançant qualsevol servei de reductor d'URL com bitly.com i, a continuació, ajusteu les dades a la taula anterior.
Convertir cada personatge en equivalent hexadecimal és molt feixuc i consumeix molt de temps. Per fer el vostre treball fàcilment, hi ha una calculadora d’ordres Eddystone URL on només heu d’introduir l’URL que voleu que es transmeti i podreu preparar el vostre comandament així.
![]()
La balisa Bluetooth ara està emetent l’URL i funciona bé, però cal calibrar una altra cosa que és la potència Tx, que és un dels valors de l’ordre anterior per obtenir la distància exacta de la balisa Bluetooth.
Optimitzeu la potència del senyal de transmissió mitjançant la calibració de la potència Tx
Al quadre Eddystone hi ha pocs components que es transmeten i la potència Tx és un d’ells que indica la força del senyal. En descodificar la intensitat del senyal, el receptor troba la distància de l'emissora Beacon. El valor de la potència Tx pot oscil·lar entre -12 i 10. Hem de trobar el valor mitjançant el mètode de xoc i prova per obtenir la distància exacta. Per a això, ajusteu el valor de la potència Tx a l'ordre de missatge Eddystone i poseu el telèfon intel·ligent a una distància d'1 m amb l'aplicació escàner Beacon oberta. Ara comenceu a posar els valors de potència Tx a l'ordre de 0 a valors negatius. Recordeu convertir els valors decimals en format decimal hexa; per a això, utilitzeu les eines de conversió de valor en línia per descodificar fàcilment i agafeu els dos darrers dígits del valor convertit. En el meu cas, el valor hexa és f4. Comproveu la distància a l'aplicació de l'escàner, ajusteu els valors fins que mostri aproximadament 1 m i, després, utilitzeu l'emissor d'URL Eddystone amb una distància exacta.
Aplicacions d’Eddone Bluetooth Beacon
Aquests són alguns dels casos d’ús de la balisa BLE:
- Venda al detall habilitada per BLE: aquesta tecnologia es pot utilitzar per atraure clients a les rodalies de les botigues anunciant les ofertes i les vendes interessants.
- Esdeveniments habilitats per la balisa BLE: es pot utilitzar per fer registres fàcils als esdeveniments i als estadis amb pagaments fàcils.
- Balises BLE en propietat immobiliària: podeu obtenir tots els detalls de les propietats disponibles a prop vostre i reservar-les amb un sol toc.
Hi ha moltes altres aplicacions que podeu pensar i implementar segons els requisits.
Així doncs, es pot fer servir el Raspberry Pi per transmetre qualsevol missatge o URL convertint-lo en un Bluetooth Beacon mitjançant Eddystone. Consulteu el vídeo de demostració següent.
/>