Costruisci un iBeacon fai da te con un Raspberry Pi

Le pubblicità rivolte a un particolare utente che cammina attraverso un centro metropolitano sono la roba del futuro distopico. Ma questo non è affatto un futuro distopico: la tecnologia è già qui.

Le pubblicità rivolte a un particolare utente che cammina attraverso un centro metropolitano sono la roba del futuro distopico.  Ma questo non è affatto un futuro distopico: la tecnologia è già qui.
Annuncio pubblicitario

Gli annunci mirati a un particolare utente che cammina attraverso un centro metropolitano sono la roba del futuro distopico, dimostrato in particolare dal film Minority Report di Tom Cruise. Ma questo non è un futuro distopico: la tecnologia è già qui. Anche se non si basa sulla rapida identificazione utilizzando la retina, utilizza il Bluetooth. Sviluppato da Apple, iBeacon è stato sviluppato per fornire informazioni basate sulla posizione agli utenti iOS. Come Bluetooth 4.0 sta plasmando il futuro della connettività mobile Come Bluetooth 4.0 sta plasmando il futuro della connettività mobile Bluetooth è la stella dimenticata nella scheda delle specifiche del dispositivo. Leggi altro, utilizzando la vicinanza di un dispositivo per attivare una pubblicità personalizzata o tracciare i movimenti di un utente. Google ha anche creato le proprie specifiche versatili Beacons, anche se il supporto per questo è limitato al momento in cui gli sviluppatori riescono ad afferrarlo.

muo-RPI-mediaready

Non sorprende che tu possa utilizzare un Raspberry Pi come iBeacon, aggiungendo un modulo USB Bluetooth a bassa energia (BLE). Più interessante, possiamo cooptare questa tecnologia e abbandonare i metodi pubblicitari futuristici a favore degli usi in casa.

Come funziona iBeacon

Costruire un trasmettitore Bluetooth a bassa energia che le app dei dispositivi intelligenti sono in grado di rilevare è semplice, ma come funziona un iBeacon?

muo-fai da te-pibeacon-ble2

BLE è progettato specificamente per la trasmissione su brevi distanze, ma con requisiti di alimentazione più bassi (una singola batteria a bottone dovrebbe durare tre anni). Piccoli pacchetti di dati, noti come "annunci pubblicitari" (non nel senso del marketing), vengono trasmessi dal beacon e utilizzati per attivare azioni nelle app per smartphone, visualizzare un messaggio commerciale o richiedere al lettore di eseguire un'azione.

Oltre al marketing, iBeacons vengono in genere utilizzati per inviare gli stati di posizione a un'app, ad esempio la visualizzazione di informazioni su un'esposizione mentre si cammina in un museo.

Costruisci il tuo iBeacon con un Raspberry Pi e un dongle Bluetooth

Per utilizzare il tuo Raspberry Pi come iBeacon, avrai bisogno di un adattatore USB Bluetooth. Tuttavia non è possibile allegare alcun vecchio dispositivo USB Bluetooth. Invece, dovrai utilizzare un dispositivo BLE (Bluetooth a bassa energia), che può essere acquistato in modo relativamente economico da Amazon o Adafruit. Puoi eseguire questo progetto su un'installazione standard di Raspbian Ottimizza la potenza del tuo Raspberry Pi con Raspbian Ottimizza la potenza del tuo Raspberry Pi con Raspbian Come si addice a un uomo con troppa tecnologia sulle sue mani, recentemente ho giocato con il mio Raspberry Pi, configurando il dispositivo in modo che funzioni al massimo potenziale. Continua a funzionare come ... Per saperne di più, sia installato il solito modo Come installare un sistema operativo sul tuo Raspberry Pi Come installare un sistema operativo sul tuo Raspberry Pi Ecco come ottenere un nuovo sistema operativo installato e in esecuzione sul tuo Pi - e come clonare la configurazione perfetta per un rapido ripristino di emergenza. Per saperne di più o tramite NOOBS Come NOOBS per Raspberry Pi può aiutare i primi utenti Come NOOBS per Raspberry Pi può aiutare i primi utenti C'è qualcosa in Raspberry Pi che potrebbe semplicemente mettere le persone fuori: fino ad ora, la sua configurazione non è stata particolarmente utente amichevole. NOOBS mira a cambiarlo! Leggi di più .

(Se vuoi una scorciatoia per tutto questo, l'immagine PiBeacon è la soluzione migliore, da RadiusNetworks. Basta scaricare, scrivere su scheda SD e avviare.)

Prima di collegare il BLE, tuttavia, è il momento di installare alcune librerie:

sudo apt-get install libusb-dev libdbus-1-dev libglib2.0-dev libudev-dev libical-dev libreadline-dev 

A questo punto, dovrai installare Bluez, lo stack Bluetooth per Linux.

 sudo mkdir bluez cd bluez sudo wget www.kernel.org/pub/linux/bluetooth/bluez-5.11.tar.xz 

muo-fai da te-pibeacon-code1

Una volta scaricato, Bluez deve essere compilato.

 sudo unxz bluez-5.11.tar.xz sudo tar xvf bluez-5.11.tar cd bluez-5.11 sudo ./configure --disable-systemd sudo make 

(Questo passaggio può richiedere un po 'di tempo. Vai a prendere una tazza di tè o prepara una torta di lamponi.)

 sudo make install 

Sei quasi pronto per andare. Emetti un comando shutdown, e poi quando il Pi viene spento, connetti il ​​BLE.

 sudo shutdown -h now 

Trasmetti il ​​PiBeacon

Per configurare PiBeacon per la trasmissione, verificare prima che il modulo BLE sia stato rilevato

 hciconfig 

Noterai che se il modulo viene rilevato, il suo stato è attualmente GIÙ.

Per risolvere questo problema, configura il dispositivo:

 sudo tools/hciconfig hci0 up sudo tools/hciconfig hci0 leadv 3 sudo tools/hciconfig hci0 noscanc 

(Notare che la linea finale disabilita la scansione Bluetooth, poiché ciò potrebbe causare problemi).

Ripeti il ​​comando precedente per eseguire hciconfig:

 hciconfig 

Ora vedrai che lo stato del dispositivo è SU CORRENTE.

Come fai pubblicità con il PiBeacon?

muo-fai da te-pibeacon-ipad

Quindi hai un iBeacon funzionante, alimentato da un Raspberry Pi. Ma come si usa per identificarsi con i dispositivi Bluetooth vicini? Come spiegato da Adafruit, il beacon necessita di dati pubblicitari da inserire. Si consiglia di inserire la seguente stringa con il comando hcitool:

 sudo hcitool -i hci0 cmd 0x08 0x0008 1E 02 01 1A 1A FF 4C 00 02 15 E2 0A 39 F4 73 F5 4B C4 A1 2F 17 D1 AD 07 A9 61 00 00 00 00 C8 00 

Cosa c'è nel pacchetto di dati?

Sì, questa è una lunga serie di numeri e lettere. È scritto in esadecimale e, sebbene non possiamo vederlo, la stringa è suddivisa in sezioni. Ad esempio, il segno FF indica che i dati specifici del produttore seguiranno, in questo caso il 4C 00 che è l'ID di Apple. Questa stringa può essere cambiata come appropriato.

Let's rompere:

muo-fai da te-pibeacon-dati

Come puoi vedere, la stringa significa poco finché non puoi vedere a cosa serve ciascun segmento di dati. Si noti che l'ID sarà sempre lo stesso, per identificare il tipo di pacchetto e che la lunghezza dei dati deve essere convertita in decimale per poter apprezzare la lunghezza effettiva del pacchetto.

Con il segno FF vediamo l'ID a 128 bit come spiegato sopra, seguito dai dati principali e dai dati secondari. Questi identificano posizioni o note in modo gerarchico (primo maggiore, secondo minore). Infine, il TX Power aiuta a stimare la distanza.

Il PiBeacon, come un iBeacon, ha tre gamme: immediate (localizzate fino a pochi centimetri), vicine (pochi metri) e lontane (circa 10 metri). Qualsiasi distanza misurata è solo approssimativa in quanto il segnale BLE è indebolito da mobili, porte e pareti.

Se prevedi di utilizzare la tecnologia iBeacon, è importante avere un ID univoco per la tua app. Potresti usare qualcosa come www.uuidgenerator.net o se usi un Mac, la utility della riga di comando uuidgen genererà un ID univoco.

PiBeacon è in diretta!

Con questo inserito, il PiBeacon ora sta pubblicizzando. Tutto quello che devi fare ora è trovare un'app di iBeacon adatta sul negozio iOS come Beacon Toolkit ($ 0, 99) per rilevarla, selezionando Ascolta . La stringa sopra è fornita come UUID nell'app Beacon Toolkit. È possibile utilizzare altri UUID, ma questi non funzioneranno con tale app: utilizzare il Beacon Toolbox leggermente più costoso ($ 4, 99), che dovrebbe essere in grado di identificare la maggior parte di tutti iBeacons nel raggio d'azione.

Sei infelice nel dedicare un Raspberry Pi a questo singolo compito? Non preoccuparti: puoi costruire un iBeacon Arduino, purché possieda uno scudo BLE (che potrebbe essere disponibile nel tuo kit di partenza Arduino. Cosa c'è nel tuo kit di avvio Arduino? [Arduino Beginners] Cosa c'è nel tuo Arduino Starter Kit? [ Arduino Beginners] Di fronte a una scatola piena di componenti elettronici, è facile lasciarsi travolgere. Ecco una guida per esattamente ciò che troverai nel tuo kit. Ecco una demo:

Ti senti ancora più avventuroso? $ 10 di elettronica e alcune abilità di saldatura Scopri come saldare, con questi semplici consigli e progetti Impara come saldare, con questi semplici suggerimenti e progetti Sei un po 'intimidito dal pensiero di un ferro caldo e di metallo fuso? Se vuoi iniziare a lavorare con l'elettronica, avrai bisogno di imparare a saldare. Lasciaci aiutare. Leggi di più ti farà anche un net iBeacon fai da te.

Domande o commenti? Lasciali sotto.

In this article