Trasformare un dispositivo basato su Linux in un IBeacon e' piuttosto semplice
Per prima cosa si deve avere un dongle USB Bluetooth LTE 4.0
La preparazione e' differente per i dispositivi ma una volta che sono installate le librerie BT i comandi successivi sono comunu
Preparazione Arduino YUN
Per trasformare Arduino Yun in un IBeacon si possono seguire le istruzioni a
questo link
Una volta collegati in shell SSH con Yun si digitano i seguenti comandi per installare lo stack bluetooth
opkg update
opkg install kmod-bluetooth
(Yun non ha abilitato SFTP e quindi e' meglio scaricare il file direttamente su Yun)
wget http://fibasile.github.io/images/arduino-yun-ibeacon/bluez_5.13-1_ar71xx.ipk
opkg install bluez_5.13-1_ar71xx.ipk
Preparazione Linux (Ubuntu 12.04) e Raspberry PI
In questo caso si deve aggiornare la libreria BT si default scaricando i sorgenti
Si scarica quindi la libreria da qui (o versione successiva)
wget www.kernel.org/pub/linux/bluetooth/bluez-5.11.tar.gz (attualmente la piu' recente e' 5.18)
si compila con il classico
configure --disable-systemd
make
make install
soddisfacendo le dipendenze. Io ho dovuto eseguire
apt-get install libusb-dev libdbus-1-dev libglib2.0-dev libudev-dev libical-dev libreadline-dev
Parte Comune
da qui in poi i comandi sono comuni
hciconfig hci0 up
hciconfig hci0 leadv
hciconfig hci0 noscan
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
dove la sintassi dell'ultimo comando e' la seguente
hcitool -i hci0 cmd 0x08 0x0008 1E 02 01 1A 1A FF 4C 00 02 15
<UUID> <MAJOR> <MINOR> <POWER> 00
a questo punto il beacon e' rilevabile