LoginSignup
14
14

More than 5 years have passed since last update.

Raspberry Piでbleaconを使ってiBeaconする

Last updated at Posted at 2015-11-08

はじめに

過去にRASPBERRY PIをIBEACON化する(1)というのを書いたが、大分時間が経過してbluezもビルド不要で導入できるようになったみたい。
DebianのPackage: bluez (4.99-2)を参照。

この記事は基本的にBLE対応のアダプタ接続済み、bluez導入済みで、node.jsのbleaconを使うところからスタートします。
bleaconではアドバタイジングにblenoをセントラルにnobleを利用しているみたい。

Raspberry PiでiBeaconを受信する(Node.js + bleacon)がよくまとまっているので、こちらを参照するといいかも。

ためしてみる

とりあえずbluezが動いているかhciconfigを利用して確認する。
UP RUNNINGになっていればOK。

pi@raspberrypi2 ~/bleacon $ hciconfig
hci0:   Type: BR/EDR  Bus: USB
        BD Address: <MAC_ADDRESS>  ACL MTU: 310:10  SCO MTU: 64:8
        UP RUNNING PSCAN
        RX bytes:2757 acl:6 sco:0 events:201 errors:0
        TX bytes:2565 acl:1 sco:0 commands:185 errors:0

ある筋では有名な一行でiBeaconできるコードを利用する。
measurePowerの値を調整することでキャリブレーションできるようなので、少しいじってみる。

bleacon.js
bleacon = require('bleacon');

var uuid = 'E86367B8D8A84BE082DE4653A7333113';
var major = 0;
var minor = 0;
var measuredPower = -59;

bleacon.startAdvertising(uuid, major, minor, measuredPower);

Androidから探してみる

iPhoneでもいいのですが、今回はAndroidでチェックしてみた。
アプリはBluetooth LE Scannerを使用した。なんでもいいと思う。

基本いい感じなんだが少し不安定な気もする。
「部屋に入ってきたら」というトリガにするためにはもう少し精度が高くないとダメかな?という印象だった。
今後詰めてゆく。

IMMEDIATE

Raspberry Piが設置してある部屋のPCテーブルにAndroid端末を置いた時。

Screenshot_2015-11-08-18-00-03.png

NEAR

Raspberry Piが設置してある部屋の出口付近。

Screenshot_2015-11-08-18-12-57.png

FAR

Raspberry Piが設置してある部屋から出て離れた時。

Screenshot_2015-11-08-17-59-52.png

さいごに

bleaconは一行でiBeacon化できるのが本当にすごい。
あと、自分自身がBLEで使うUUIDをあまり理解していないので、追記ではbleaconの使い方を補強してゆく予定。

14
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
14