今回は「iBeacon」について。国内でも一部店舗で試験的に導入されているが、まだスマートフォン自体に新しさが伴う現状では"先端すぎて"よくわからない、現実味に乏しい技術だといえる。しかし、その特性を知れば今後(少なくとも現状より)普及することは確かで、新しもの好きを自認する向きには格好の材料になる。そのiBeaconがどのようなものか、自宅で気軽に体験してしまおうというのが今回の趣旨だ。

What's "iBeacon"?

iBeaconは、数あるワイヤレス通信規格のうち近距離をターゲットとした技術。ただしイチから策定されたものではなく、PCやスマートフォン/タブレットで急速に普及しつつあるBluetooth Low Energy/BLEを基礎としていることが特徴だ。

iBeaconはiOS 7のとき登場したが、iOS限定の機能ではない。通信そのものはBLEを利用するため、AndroidなどBLEをサポートした他のデバイスでも利用可能だ。Beaconが発する信号は(BLEの)AdvertiseパケットにUUIDなどの情報を加えた程度に過ぎないため、デバイス依存性は低い。ただし、iOS/OS XではCoreLocation.Frameworkでシステム標準の機能として整備されているが、Androidなど他のOSでは信号の解析処理を実装しなければならないため、iOS/OS Xのほうが対応しやすいことは確かだろう。

その用途だが、「Beaconが情報をブロードキャストする」という特性が鍵だ。発信機(ペリフェラル)の設置場所に近づくと情報提供を受けられるといったように、半径数メートル程度の狭い範囲にスマートフォンなどの受信機(セントラル)が近づいたときに動作するものになるだろう。クーポン配布や展示品の説明など、小売店での行動に付加価値を持たせるサービスに利用されるのではなかろうか。

BLEベースの近距離ワイヤレス通信「iBeacon」は、その特性から小売店での活用が期待される(画面は「popinfo Beacon」の利用想定シーン)

自宅で試せるiBeacon

そのiBeacon、国内でも試験的に導入されてはいるが、現実にはなかなかお目にかかることはない。興味津々で調べたところ試験実施店舗は都内のみ、しかもターミナル駅に数カ所あるだけでやむなく断念した、という読者も多いのではないか。iBeaconはペリフェラルとセントラルの両方が揃わなければ機能しないため、いくら近距離通信だクーポンだといったところでピンとこない。クーポンは入手できないにしても、どのような機能か自分の身をもって試すことができれば……

そんな向きには、Macをペリフェラル、iPhoneをセントラルとして利用する方法を紹介したい。OS X Mavericksで「BeaconOSX」を稼働させてペリフェラルとし、iPhoneでアプリ「BLUETUS for iBeacon」を動作させてセントラルとすれば、"素の状態"のiBeaconを試せるというわけだ。ほかにもOS X用ペリフェラルスタック、iOS用セントラルアプリも存在するが、ここでは扱いやすさと無償利用できるという点を評価し、この2つを選んでいる。

ペリフェラルとして動作するMacには「BeaconOSX」を用意する

ここに表示されたUUIDを、セントラルのiOSアプリ(BLUETUS for iBeacon)に登録する

まずはBeaconOSXの準備から。バイナリでの配布は行われていないので、上記リンクからソースコードを入手し、開発環境(Xcode)でコンパイルしよう。といっても作業はかんたん、プロジェクトファイル(BeaconOSX.xcodeproj)をダブルクリックして開き、メニューで「Product」→「Build」を実行すればOK。これで~Library/Developer/Xcode/DerivedData以下にバイナリ(BeaconOSX.app)が生成されるので、適当な位置に移動してから起動しよう。

続くはiOSアプリの準備だが、「BLUETUS for iBeacon」を起動して設定画面を開き、BeaconOS Xに表示されているMacのUUID(32桁の数値)を入力するだけだ。本来は株式会社イーアールアイのビーコン製品「BLUETUS」シリーズの受信状況をチェックするアプリだが、UUIDを登録すれば他社製品にも利用できる。ありがたく使わせていただこう。

BeaconOSXで「startAdvertising」ボタンをクリックしてAdvertiseパケットの送出を開始すれば、MacはBeaconに早変わり。「BLUETUS for iBeacon」を起動したiPhoneをもって近づけば、その距離や電波強度が変化する様子がわかるはずだ。アプリには距離や電波強度に応じてBeaconの検出をしないフィルタ機能も用意されているので、あわせて利用したい。あとは、この検出結果によりクーポンが送られてくるのだなと"脳内補完"すれば、iBeaconのテストはひとまず落着だ。

「BLUETUS for iBeacon」の設定画面に、BeaconOSXに表示されているUUIDを入力すれば準備完了

無事ペリフェラル(BeaconOSX)の信号を検出、距離に応じてリアルタイムに電波強度が変わる様子を確認できる

距離や電波強度に応じて検出しないよう設定するフィルタ機能も用意されている