LoginSignup
95
97

More than 5 years have passed since last update.

Node.jsとiPhoneでiBeaconの送受信テスト

Last updated at Posted at 2014-02-04

iBeaconの送受信をMac(Node.js)とiPhoneでやってみた。

Node.js -> iPhone

まずはNode.jsでiBeaconを送信するスクリプトを書く。bleaconというモジュールを使えばすぐできるらしい。

$ npm install bleacon

スクリプトはこんな感じ。

sender.js
var Bleacon = require('bleacon');

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

Bleacon.startAdvertising(uuid, major, minor, measuredPower);
$ node sender.js

これでiBeaconが送信される状態になる。

iPhone側ではこれを受信したいので、受信テストアプリみたいのを入れる。これを使った。

BLUETUS for iBeacon

これでアプリを立ち上げるとNode.jsで送信されてるiBeaconを受信できる。こんな感じ。

bluetus.png

iPhone -> Node.js

次にiPhoneで送信したiBeaconをNode.jsで受信する。Node.js側で受信するスクリプトはこんな感じ。

reciever.js
var Bleacon = require('bleacon');
Bleacon.startScanning();

Bleacon.on('discover', function(bleacon) {
   console.dir(bleacon);
});

これを実行する。

$ node reciever.js

送信側のiPhone側のアプリはこれを使った。(無駄におしゃれで有料)

iBeacon Emitter

このアプリでiBeacon送信するとコンソールにこんな感じで表示される。

{ uuid: 'f86b62516a014c80ba1b717c774b160a',
  major: 1,
  minor: 1,
  measuredPower: -60,
  rssi: -40,
  accuracy: 0.2886751345948129,
  proximity: 'immediate' }
{ uuid: 'f86b62516a014c80ba1b717c774b160a',
  major: 1,
  minor: 1,
  measuredPower: -60,
  rssi: -38,
  accuracy: 0.254947239951116,
  proximity: 'immediate' }
{ uuid: 'f86b62516a014c80ba1b717c774b160a',
  major: 1,
  minor: 1,
  measuredPower: -60,
  rssi: -39,
  accuracy: 0.2712875389830217,
  proximity: 'immediate' }
...

ただしMac OSX 10.9 じゃないと動かないっぽい。

以上。

参考

95
97
2

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
95
97