- Cosa sono BLE e Bluetooth Beacon?
- Come funziona la tecnologia BLE e come viene utilizzata con i beacon?
- Cos'è Eddystone Beacon?
- Requisiti
- Imposta Raspberry Pi per Eddystone Beacon
- Ottimizza la potenza del segnale di trasmissione calibrando la potenza di trasmissione
- Applicazioni di Eddystone Bluetooth Beacon
Il Bluetooth è una delle tecnologie rivoluzionarie per trasferire i dati in modalità wireless, controllare altri dispositivi, costruire sistemi di automazione domestica ecc. Ma ti sei mai chiesto che il Bluetooth possa essere utilizzato anche per trasmettere qualsiasi informazione ai dispositivi vicini per visualizzare informazioni importanti, s, facile checkout ecc. Esiste un protocollo sviluppato da Google per eseguire il compito che può essere facilmente distribuito in Raspberry Pi per renderlo emittente Bluetooth Beacon.
In questo tutorial conosceremo BLE (Bluetooth Low Energy) e il beacon Bluetooth e installeremo il Beacon Bluetooth Eddystone in Raspberry Pi per trasmettere un URL. È molto facile convertire Raspberry Pi in un Bluetooth Beacon poiché ha Bluetooth integrato.
Cosa sono BLE e Bluetooth Beacon?
Il Bluetooth Low Energy, come indica il nome, consuma meno energia rispetto al Bluetooth classico. Si ottiene inviando i dati quando necessario con aggiornamenti periodici predefiniti. Ma a differenza del Bluetooth classico, non viene utilizzato per trasferire file o musica. Un dispositivo BLE funziona con Bluetooth V4.0 e può funzionare a bassa potenza come server o come client, il che rende BLE la scelta ideale per beacon, smartwatch, cinturini per il fitness ecc. Il Bluetooth classico, d'altra parte, è solo il semplice vecchio Protocollo Bluetooth che utilizziamo per trasferire file e altri dati. Quasi tutti i dispositivi BLE sono associati alla funzionalità Bluetooth classica. In precedenza abbiamo spiegato BLE in dettaglio con ESP32.
Beacon Bluetooth:
I beacon sono i dispositivi hardware che trasmettono alcuni messaggi ai dispositivi elettronici vicini e si comportano come un Broadcaster. Questa tecnologia consente ai dispositivi portatili di eseguire alcune azioni quando si trovano in prossimità del dispositivo beacon. Ora, i beacon possono essere implementati utilizzando BLE e il classico Bluetooth. Poiché la maggior parte degli smartphone e degli altri dispositivi elettronici sono compatibili con BLE e possono essere utilizzati come ricevitore Beacon, l' implementazione del beacon BLE è più efficiente rispetto al classico beacon Bluetooth per ridurre il consumo energetico.
In media, un radiofaro Bluetooth Low Energy può trasmettere segnali BLE a 80 metri.
Come funziona la tecnologia BLE e come viene utilizzata con i beacon?
BLE è una tecnologia a basso consumo energetico progettata per comunicazioni a corto raggio ed è preferibile quando la durata della batteria è un fattore più importante rispetto all'elevata velocità di trasmissione dati. Il trasferimento dei dati in questa comunicazione è unidirezionale. Il beacon BLE trasmette piccoli pacchetti di dati a intervalli di tempo regolari. Questi pacchetti di dati vengono ricevuti e decodificati dall'app beacon scanner installata negli smartphone. Questi dati ricevuti attivano azioni come promuovere un prodotto o inviare un messaggio.
Nel beacon Bluetooth un numero ID viene trasmesso 10 volte al secondo dall'IT tramite i canali BLE. Quindi questo numero ID viene ricevuto dal dispositivo abilitato Bluetooth e riconosciuto dall'app beacon scanner, lo collega a un'azione, come scaricare un'app o un contenuto archiviato sul cloud, e lo visualizza sullo smartphone.
Cos'è Eddystone Beacon?
Eddystone è un protocollo sviluppato da Google che consente di trasmettere messaggi unidirezionali ai dispositivi BLE. Il frame Eddystone-URL costituisce la spina dorsale del Physical Web, che aiuta nella scoperta dei contenuti web nei dintorni. Beacon può trasmettere quattro tipi di dati utilizzando il protocollo Eddystone. Sono i seguenti:
- Eddystone-URL per la trasmissione di indirizzi URL
- Eddystone-UID per la trasmissione di ID beacon
- Eddystone-TLM per la trasmissione di dati di telemetria beacon come la temperatura del dispositivo, la carica della batteria, ecc.
- Eddystone-EID per la sicurezza.
Esistono anche altri tipi di beacon come iBeacon che è per dispositivi supportati da iOS, ma Eddystone è solo per dispositivi Android. Si noti inoltre che Google ha interrotto le notifiche nelle vicinanze, ora l'utente dovrà installare un'app beacon scanner specializzata che mostrerà il contenuto trasmesso.
In questo tutorial, useremo Raspberry Pi come Eddystone Beacon e ci concentreremo sulla trasmissione dell'indirizzo URL utilizzando l'URL di Eddystone in modo che chiunque possa accedere facilmente alle informazioni trasmesse con l'aiuto dei propri dispositivi Android.
Requisiti
Qui è necessario solo Raspberry Pi per costruire questo Bluetooth Beacon. Dovrebbe essere Raspberry Pi 2 o più recente con Raspbian Jessie o un OD più recente installato al suo interno.
Qui, useremo SSH per accedere a Raspberry Pi sul laptop. Puoi utilizzare la connessione VNC o Desktop remoto sul laptop oppure puoi collegare il tuo Raspberry pi a un monitor. Scopri di più sulla configurazione di Raspberry Pi senza testa qui senza un monitor.
Imposta Raspberry Pi per Eddystone Beacon
È molto facile configurare l' emittente Eddystone su Raspberry Pi. Coinvolge solo 3 comandi.
Questo può essere fatto configurando l'HCI (Host controller Interface) a cui si può accedere usando hciconfig commad. Per verificare cosa è possibile fare utilizzando questo comando, immettere il comando seguente nel terminale.
hciconfig -h
1. Innanzitutto, dobbiamo abilitare il dispositivo Bluetooth sul nostro Raspberry Pi utilizzando il comando seguente.
sudo hciconfig hci0 up
2. Ora, dobbiamo impostare il Bluetooth su dispositivo "pubblicitario e non collegabile" utilizzando il comando seguente.
sudo hciconfig hci0 leadv 3
3. I comandi precedenti fanno in modo che il dispositivo esegua il servizio di trasmissione, ora inserisci i dati del beacon nel comando successivo che contiene diverse informazioni sui frame e URL in formato esadecimale. Eseguire il comando seguente per avviare la trasmissione del beacon.
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
Questo comando trasmetterà l'URL
Per controllare il messaggio trasmesso sul tuo smartphone, scarica la Physical Web App o lo scanner Beacon sul tuo smartphone Android e avvia la scansione. Vedrai il collegamento trasmesso nell'app come mostrato di seguito. Fare clic sul collegamento per visitare e aprire il sito Web nel browser.
Ora capiamo la codifica esadecimale del messaggio. Nella tabella sottostante abbiamo dato spiegazione di ogni singolo valore presente nel codice:
Valore |
Descrizione |
---|---|
0x08 |
#OGF = Operation Group Field = Bluetooth Command Group = 0x08 |
0x0008 |
#OCF = Campo comando operazione = HCI_LE_Set_Advertising_Data = 0x0008 |
1c |
Lunghezza. L'1c esadecimale viene convertito in 23 decimali che è il numero di byte che seguono. |
02 |
Lunghezza |
01 |
Contrassegna il valore del tipo di dati |
06 |
Contrassegna i dati |
03 |
Lunghezza |
03 |
Elenco completo del valore del tipo di dati degli UUID del servizio a 16 bit |
aa |
UUID Eddystone a 16 bit |
fe |
UUID Eddystone a 16 bit |
14 |
Lunghezza. Il 14 esadecimale viene convertito in 15 decimale che è il numero di byte che seguono |
16 |
Valore del tipo di dati dei dati di servizio |
aa |
UUID Eddystone a 16 bit |
fe |
UUID Eddystone a 16 bit |
10 |
Tipo di frame = URL |
00 |
TX Power (dovrebbe essere calibrato) |
02 |
Schema URL (http: // = 0x02) |
63 |
'c' in esadecimale |
69 |
"i" in esadecimale |
72 |
'r' in esadecimale |
63 |
'c' in esadecimale |
75 |
'u' in esadecimale |
69 |
"i" in esadecimale |
74 |
't' in esadecimale |
64 |
'd' in esadecimale |
69 |
"i" in esadecimale |
67 |
"g" in esadecimale |
65 |
'e' in esadecimale |
73 |
's' in esadecimale |
74 |
't' in esadecimale |
07 |
.com (.com = 0x07) |
00 |
|
00 |
|
00 |
Per trasmettere qualsiasi URL personalizzato utilizzando Raspberry Pi Bluetooth Beacon, basta convertire i caratteri dell'URL in esadecimali utilizzando qualsiasi strumento online e inserirlo nel comando precedente. I caratteri massimi che possono essere trasmessi sono 16, se l'URL è troppo lungo, accorciarlo utilizzando qualsiasi servizio di abbreviazione di URL come bitly.com e quindi adattare i dati nella tabella sopra.
È molto macchinoso e richiede tempo convertire ogni carattere in un equivalente esadecimale. Quindi, per fare il tuo lavoro facilmente, c'è un calcolatore di comandi URL di Eddystone in cui devi solo inserire l'URL che desideri venga trasmesso e otterrai il tuo comando pronto in questo modo.
Il beacon Bluetooth ora trasmette l'URL e funziona correttamente, ma c'è ancora una cosa da calibrare che è la potenza Tx, che è uno dei valori nel comando sopra per ottenere la distanza precisa dal beacon Bluetooth.
Ottimizza la potenza del segnale di trasmissione calibrando la potenza di trasmissione
Nel frame di Eddystone ci sono pochi componenti che vengono trasmessi e la potenza di trasmissione è una di queste che indica la forza del segnale. Decodificando la forza del segnale, il ricevitore rileva la distanza dall'emittente Beacon. Il valore della potenza Tx può essere compreso tra -12 e 10. Dobbiamo trovare il valore in base al metodo di prova e colpo per ottenere la distanza precisa. Per questo, regola il valore della potenza Tx nel comando del messaggio Eddystone e metti lo smartphone a una distanza di 1 m con l'app Beacon scanner aperta. Ora inizia a inserire i valori della potenza Tx nel comando da 0 a valori negativi. Ricordarsi di convertire i valori decimali in formato esadecimale, per questo utilizzare gli strumenti di conversione del valore online per una facile decodifica e prendere le ultime due cifre del valore convertito. Nel mio caso il valore hexa è f4. Controllare la distanza nell'app dello scanner, regolare i valori fino a quando non mostra circa 1 m, dopodiché si deve utilizzare il broadcaster URL Eddystone con una distanza precisa.
Applicazioni di Eddystone Bluetooth Beacon
Ecco alcuni dei casi d'uso per il beacon BLE:
- Vendita al dettaglio abilitata BLE: questa tecnologia può essere utilizzata per attirare i clienti nelle vicinanze dei negozi pubblicizzando le interessanti offerte e vendite.
- Eventi abilitati per beacon BLE: può essere utilizzato per registrarsi facilmente agli eventi e negli stadi con facili pagamenti.
- Beacon BLE nel settore immobiliare: puoi ottenere tutti i dettagli delle proprietà disponibili vicino a te e puoi prenotare in un solo tocco.
Ci sono molte altre applicazioni che puoi pensare e implementare in base ai requisiti.
Quindi è così che il Raspberry Pi può essere utilizzato per trasmettere qualsiasi messaggio o URL convertendolo in un beacon Bluetooth utilizzando Eddystone. Guarda il video dimostrativo qui sotto.
/>