More than 1 year has passed since last update.

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の信号を受信することができました。

参考