Raspberry Pi(Model B+)でiBeaconの信号を受信するためのメモ。
環境
使用した環境は以下の通り。なお、インストールしているディストリビューションはRaspbianです。
pi$ uname -a
Linux raspberrypi 3.12.29+ #714 PREEMPT Wed Oct 1 23:11:38 BST 2014 armv6l GNU/Linux
pi$ cat /etc/debian_version
7.6
Node.jsをインストールする
Node.jsをインストールします。
『Raspberry PiにnodebrewでNode.jsをインストールする - Qiita』などを参考にインストールしてください。
今回使用した環境は以下の通りです。
pi$ node -v
v0.10.28
pi$ npm -v
1.4.9
bleaconをインストールする
Node.jsのbleacon
パッケージをインストールします。予めlibbluetooth-dev
パッケージのインストールが必要です。
bleacon
パッケージの執筆時点でのバージョンは0.2.0でした。
pi$ sudo apt-get update
pi$ sudo apt-get install libbluetooth-dev
pi$ npm install bleacon
iBeaconの信号を受信する
iBeaconの信号を受信し、コンソールに出力するためのスクリプトを準備します。
beacon_discover.js
var Bleacon = require("bleacon");
Bleacon.startScanning();
Bleacon.on("discover", function(bleacon) {
console.dir(bleacon);
});
スクリプトを実行すると、コンソールに情報が出力されます。なお、root権限が必要です。
(UUIDはマスクしています)
root# node beacon_discover.js
{ uuid: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
major: 1,
minor: 1,
measuredPower: -76,
rssi: -70,
accuracy: 0.7450788247551209,
proximity: 'near' }
...
Node.jsとbleaconパッケージを使うことで、とても簡単にiBeaconの信号を受信することができました。