node.jsでiBeaconを発信
さてさて、前回に引き続きnode.jsでiBeaconの発信をしてみましょう。
環境さえ整えれば、すご~く気軽に発信できちゃいます。
事前準備
- node.jsを使える環境にしておく
- 筆者はMacOSを使用しています
1. bleaconの準備
以下のコマンドを使ってbleaconというモジュールをインストールします。以上!w
$ npm install bleacon
2. スクリプトを書こう
ここが、今回のメイン作業です。が、、、6行しかありません!!
とりあえず「sample.js」という名前を付けると仮定して説明します。
var Bleacon = require('bleacon'); var uuid = '04137D10-42C4-41D1-8E23-FCEB7FDE5856'; // テキトウ var major = 1; // テキトウ var minor = 1; // テキトウ var measuredPower = -59; // 私の環境はこの設定値でOKでした Bleacon.startAdvertising(uuid, major, minor, measuredPower);
UUIDとは
128bitで表される識別子です。主に組織単位で使用される事を想定したものとなっています。
簡単になりすまし出来ますね!ww
MAJORおよびMINORとは
16bitで表される識別子です。同一UUID同士をグルーピング、カテゴライズする際に使用します。
UUIDとMAJORが同一の場合はMINORを設定するといいかもしれません。
MeasuredPower(参照受信信号強度)とは
発信機と受信機を1m離した際の受信信号強度を設定します。
受信機は、この参照受信信号強度と実際に受信した信号強度から発信機と受信機器の間の距離を推定します。
3. 発信!!
心の準備はよろしいでしょうか?準備が整った方は
「ビーコンシステムオールグリーン、遠心カタパルト展開、作戦目標に向けて射出します!」
とでも叫びながら以下のコマンドを打ち込みましょう!
$ node sample.js
ヤッタネ!飛びました!!!って分からないですよね。
AndroidアプリでiBeaconをスキャンするものがいくつか出ているので、
事前にGooglePlayとかでインストールしておくといいかもしれませんね!
次回は、AndroidでiBeaconを受信する(実装編Part1)です。
Part1では、リージョン管理を行います。
お楽しみに。。。
iBeaconを使ってみよう(勉強編)
- ビーコンはUUIDと呼ばれる識別情報をアドバタイズ(伝達)する。
- UUIDが同一のビーコンは、アドバタイズしている追加情報(MEJORおよびMINOR)によって区別可能である。
- 半径約10mをカバーしている。(壁面や床・天井・人体などの影響を受けて反射・吸収・回折が生じることで、複雑な電波強度分布となる)
- 電波が減衰する性質を利用してビーコンとの距離を求めることができる。
→詳しくは、コチラに書かれていました。 - ビーコンはアプリがあって成り立つ。
- アプリ側はビーコンの受信をきっかけに、処理を行う。
実際に以下の様な使われ方をしています。
ってことで、実装してみました。
iBeacon自体も自社の研究会で購入したのですが、今回はnode.jsを使って電波を飛ばしたいと思います。