この記事は、iBeacon Advent Calendar 2013 の1日目です。
どうも、@yumu19 です。フリーランスエンジニアです。つい先日まで、PlaceEngine というWi-Fi測位技術を開発する Koozyt という会社で働いていており、iBeaconをはじめとする屋内測位技術に興味があります。ただ、まだこれから広まっていく段階ということもあり、まだ情報があまりように思われます。ということで、iBaecon Advent Calendar を立ち上げてみました。
立ち上げた責任を持って1日目の記事を投稿します。
iBeacon とは
iBeacon とは、Bluetooth Low Energy(BLE) を用いた、iOS での近距離無線測位の仕組みです。Bluetooth の電場強度の情報を使って、数m単位でのざっくりとした位置を測定することができます。
というのが超概要の説明で、詳細は、 以下のブログが完璧すぎるくらいまとまってるので、こちらも
コードを書かずにiBeaconで遊んでみる
本当はサンプルコードの一つでも書こうかと思っていたのですが、時間的余裕がなかったのと(反省。。。)、これまた iBeaconの解説 - Reinforce-Lab.'s Blog に素晴らしいサンプルコードが公開されています。そこで、方針を変えて、コードを書かずに、というかXcodeも立ち上げずに、iBeacon を触ってみる方法を紹介します。
Estimote Virtual Beacon という iOS アプリを使って、iBeacon を試してみます。
Estimote は、Bluetooth のビーコンを発信する iBeacon 互換のデバイスで、夏から pre-order を受け付け、先日配送がはじまりました。
Estimote Virtual Beacon を使えば、Estimote ビーコンの検出デモに加え、Estimote のエミュレータ機能も備えているので、Estimote の実機がなくても、iOS7 デバイスが2つあれば、iBeacon の発信と検出を試すことができます。
まず、発信側の設定。 アプリを立ち上げ、Beacons を選択
Turn this device into a beacon を選択
Estimote を模した画面が表示されればOK
検出側の端末でも同じくアプリを立ち上げ。 まずは Beacon をタップ。レーダー画面に、先ほど立ち上げた Virtual Beacon のデバイスのアイコンが見えます。 デバイスのアイコンをタップすると、UUIDや信号強度などの詳細情報が見れます。
トップに戻り、Distance Demo をタップ、先ほどと同じくレーダー画面でデバイスのアイコンを選択。 すると、デバイス間の距離を示すデモが開始します。デバイスを手に持って動いたりして、測位精度を把握することができます。
トップに戻り、次は、Proximity をタップ、またレーダー画面でデバイスのアイコンを選択。 ビーコン発信端末のすぐそば(店内の特定の棚みたいなのを想定しているのだと思う)にいるかどうかで表示画面が変わる、近接検知のデモ。
トップに戻り、最後に、Notification をタップ、レーダー画面でデバイスのアイコンを選択。
「20m 離れろ」と書いてあるので、離れます。ふつうのお家だと、20m離れるためには屋外に出ることになります。離れると画面が変わり、再び近づくとクーポン風の画面が表示されるという、お店への来店検知デモです。*1
という感じで、Estimote のデモアプリを使うだけでも、動作の概要と精度の感覚を掴むことができます。Estimote SDK は、このデモアプリも含めてソースコードが公開されているので、このデモの動作を踏まえて開発の参考にできると思います。
最後に。Advent Calendar 参加者まだまだ募集中なので、登録よろしくお願いします!