.jpg/500px-Beacons_by_jnxyz.education_(13570846665).jpg)
iBeaconはAppleが開発し、 2013年にApple Worldwide Developers Conferenceで発表されたプロトコルです。[1] それ以来、さまざまなベンダーがiBeacon互換のハードウェア送信機(通常はビーコンと呼ばれます)を製造してきました。これは、近くのポータブル電子デバイスに識別子をブロードキャストするBluetooth Low Energy (BLE)デバイス の一種です。この技術により、スマートフォン、タブレット、その他のデバイスはiBeaconに近づくとアクションを実行できます。[2] [3]
iBeaconは、互換性のあるアプリやオペレーティングシステムによって取得されたユニバーサルユニーク識別子[4]を送信することにより、Bluetooth低エネルギー近接センシングに基づいています。識別子とそれとともに送信されるいくつかのバイトは、デバイスの物理的な場所を特定したり、 [5]顧客を追跡したり、ソーシャルメディアへのチェックインやプッシュ通知などのデバイス上の位置ベースのアクションをトリガーしたりするために使用できます。
iBeaconは、屋内測位システム[6] [7] [8]としてアプリケーションで使用することもできます。これにより、スマートフォンは自分のおおよその位置や状況を判断することができます。iBeaconの助けを借りて、スマートフォンのソフトウェアは、店舗内のiBeaconに対する相対的な位置を大まかに見つけることができます。実店舗の小売店は、モバイルコマースにビーコンを使用し、モバイルマーケティングを通じて顧客に特別な取引を提供し、[9] POSシステムを通じてモバイル決済を可能にします。
もう 1 つの用途は、店舗、バス停、部屋、または家具や自動販売機などのより具体的な場所など、特定のPoint of Interestにメッセージを配信することです。これは、以前使用されていたGPSに基づく geopush テクノロジに似ていますが、バッテリー寿命への影響が大幅に軽減され、精度が向上しています。
iBeacon は、ブロードキャスト デバイス (ビーコン) が受信側のスマートフォンまたは受信デバイスへの一方向の送信機に過ぎず、ビーコンとやり取りするにはデバイスに特定のアプリをインストールする必要がある点で、他の位置情報ベースのテクノロジーとは異なります。これにより、ユーザーが送信機の周りを歩いているときに、インストールされたアプリ (iBeacon 送信機ではない) だけがユーザーを追跡できるようになります。
iBeacon対応の送信機には、小型コイン型電池デバイス、USBスティック、汎用Bluetooth 4.0対応USBドングルなど、さまざまなフォームファクタがあります。[10]

機能
iBeacon の展開は、ローカル エリアに独自の識別番号を送信する 1 つ以上の iBeacon デバイスで構成されます。受信デバイスのソフトウェアは、iBeacon を検索し、ユーザーへの通知などのさまざまな機能を実行できます。受信デバイスは iBeacon に接続して、iBeacon の GATT (汎用属性プロファイル) サービスから値を取得することもできます。iBeacon は、受信デバイスに通知をプッシュしません (独自の ID を除く)。ただし、モバイル ソフトウェアは、iBeacon から受信した信号を使用して、独自のプッシュ通知をトリガーできます。[11]
地域監視
領域監視 (iOS では 20 領域に制限) は、(リスニング デバイスの) バックグラウンドで機能し、アプリがバックグラウンドにある場合や電話がロックされている場合でも、領域への出入りをリスニング アプリ (およびユーザー) に通知するためのさまざまなデリゲートを備えています。領域監視では、iOS が閉じたアプリに領域への出入りに反応する機会を与える小さなウィンドウも使用できます。
範囲
ビーコンの範囲内と範囲外の動きをユーザーが検出できるようにするモニタリングとは対照的に、測距は、特定の領域で検出されたビーコンのリストと、ユーザーのデバイスから各ビーコンまでの推定距離を提供します。[12] 測距はフォアグラウンドでのみ機能しますが、見つかったすべてのiBeaconの配列(無制限)とそのプロパティ(UUIDなど)を(リスニングデバイスに)返します。 [13]
iBeaconの送信を受信するiOSデバイスは、iBeaconからの距離を概算することができます。距離(iBeaconの送信元と受信デバイス間の距離)は、3つの異なる範囲に分類されます。[14]
- 即時:数センチ以内
- 近く: 数メートル以内
- 遠い: 10メートル以上離れている
iBeaconブロードキャストは、ユーザーがいつ地域に入ったか、出たか、またはそこに留まったかを推定する機能を持っています。顧客とビーコンの距離に応じて、これらの3つの範囲のそれぞれで異なるレベルのインタラクションを受け取ることができます。[15]
iBeacon 送信の最大範囲は、場所と配置、環境内の障害物、デバイスの保管場所 (革製のハンドバッグ内や厚いケース内など) によって異なります。標準ビーコンの範囲は約 70 メートルです。長距離ビーコンは最大 450 メートルまで到達できます。
設定
iBeacon 送信の頻度は iBeacon の構成によって異なり、デバイス固有の方法を使用して変更できます。レートと送信電力の両方が iBeacon のバッテリー寿命に影響します。iBeacon には定義済みの設定が付属しており、レート、送信電力、メジャー値とマイナー値など、開発者が変更できる設定がいくつかあります。メジャー値とマイナー値は、特定の iBeacon に接続したり、複数の iBeacon を同時に操作したりするために使用できる設定です。通常、会場での複数の iBeacon 展開は同じ UUID を持ち、メジャー値とマイナー値のペアを使用して会場内のサブスペースをセグメント化して区別します。たとえば、特定の店舗内のすべての iBeacon のメジャー値を同じ値に設定し、マイナー値を使用して店舗内の特定の iBeacon を識別できます。
消費電力

Bluetooth LEプロトコルは、Bluetooth Classicよりも大幅に電力効率に優れています。現在、Texas Instruments [17]やNordic Semiconductorを含むいくつかのチップセットメーカーが、iBeacon用に最適化されたチップセットを供給しています。消費電力は、iBeaconの広告間隔と送信電力の設定パラメータによって異なります。16の異なるiBeaconベンダーに関する調査では、バッテリー寿命は1〜24か月の範囲であると報告されています。コイン型電池を使用したAppleの推奨設定である100msの広告間隔では、1〜3か月の寿命があり、広告間隔を900msに増やすと2〜3年に延びます。[18]
携帯電話のバッテリー消費は、ビーコン対応アプリを展開する際に考慮しなければならない要素です。最近のレポートによると、古い携帯電話は iBeacon の近くではより多くのバッテリーを消費する傾向がありますが、新しい携帯電話は同じ環境でもより効率的である可能性があります。[19]携帯電話のスキャンにかかる時間に加えて、スキャンの回数と近くのビーコンの数もバッテリー消耗の重要な要因であり、Aislelabs のレポートで指摘されています。[20] フォローアップ レポートで、Aislelabs は、iPhone 5s、iPhone 5c のバッテリー消費が、旧モデルの iPhone 4s と比較して大幅に改善されていることを発見しました。周囲に 10 個の iBeacon がある場合、iPhone 4s は 1 時間あたり最大 11% のバッテリーを消費する可能性がありますが、iPhone 5s は 1 時間あたり 5% 弱のバッテリーを消費します。 [21] エネルギー効率の高い iBeacon アプリケーションでは、アプリの応答性とバッテリー消費のバランスをとるために、これらの側面を考慮する必要があります。
歴史と発展
2013年半ばにアップルはiBeaconを導入し、専門家はそれが支払いを簡素化し、店頭でのオファーを可能にすることで小売業界を支援するように設計されていると書いています。2013年12月6日、アップルは米国の254の小売店でiBeaconを有効化しました。[22] マクドナルドは、ファストフード店で消費者に特別オファーを提供するためにこのデバイスを使用しています。[9]
2014年5月現在、さまざまなハードウェアiBeaconが、1台あたり5ドルから30ドル以上で購入できます。[23] これらのさまざまなiBeaconにはそれぞれ、デフォルトの送信電力とiBeacon広告周波数のデフォルト設定が異なります。一部のハードウェアiBeaconは1Hzという低い周波数で広告しますが、他のiBeaconは10Hzという高い周波数で広告します。
iBeacon技術はまだ初期段階にあります。Android 4.2および4.3システムには、多くのiBeaconが表示されるとシステムのBluetoothスタックがクラッシュするという、よく報告されているソフトウェアの不具合があります。 [24]これはAndroid 4.4.4で修正されたと報告されています。[25]
技術的な詳細
Bluetooth 低エネルギーデバイスは、アドバタイズモードで動作して、近くのデバイスにその存在を通知することができます。[26] 最も単純な形式では、iBeacon は、Apple が定義した iBeacon プレフィックス、それに続く可変 UUID、メジャーとマイナーのペアという厳密な形式に従ってアドバタイズを発信する Bluetooth 低エネルギーデバイスです。[27] iBeacon アドバタイズフレームの例は次のようになります。
fb0b57a2-8228-44cd-913a-94a122ba1206 メジャー 1 マイナー 2
ここで、fb0b57a2-8228-44cd-913a-94a122ba1206はUUIDです。iBeacon広告は一般的なBluetooth Low Energy広告の応用に過ぎないため、上記のiBeaconは、Linuxで最新のカーネルでサポートされているBluetooth 4 Low Energyデバイスに次のコマンドを発行することで送信できます。[28]
(LE広告パラメータの設定) hcitool -i hci0 コマンド 0x08 0x0006 a0 00 a0 00 03 00 00 00 00 00 00 00 00 07 00 ################################ a0 00: 最小広告間隔 (16 ビット リトルエンディアン) (0.625ms* 00 a0) ####################################### a0 00: 最大アドバタイズメント間隔 (16 ビット リトルエンディアン) (0.625ms* 00 a0)
(LE広告データの設定) hcitool -i hci0 コマンド 0x08 0x0008 1E 02 01 06 1A FF 4C 00 02 15 FB 0B 57 A2 82 28 44 CD 91 3A 94 A1 22 BA 12 06 00 01 00 02 D1 00 ############################### 1E: 合計 ADV バイト数。1F を超えることはできません (BLE 広告の最大長は 31 バイト) ################################### 02 01 06 1A FF 4C 00 02 15: Apple の iBeacon 広告プレフィックス
(LE 広告の有効化) hcitool -i hci0 コマンド 0x08 0x000a 01
再送信間隔設定 (上記のコマンドの最初のもの) を再び機能させるには、次のコマンドで送信を停止する必要があります。
(LE 広告無効化) hcitool -i hci0 コマンド 0x08 0x000a 00
Android 4.3より前のバージョンを実行しているデバイスは、iBeacon広告を受信することはできますが、iBeacon広告を送信することはできません。Android 5.0(「Lollipop」)では、セントラルモードとペリフェラルモードの両方のサポートが追加されました。[29]
BLE アドバタイズメント パケット構造バイト マップ
バイト 0-2: 標準 BLE フラグ (必須ではないが標準)
バイト0: 長さ: 0x02 バイト 1: タイプ: 0x01 (フラグ) バイト 2: 値: 0x06 (標準フラグ 0b00000110) (LE 一般検出可能モード、BR/EDR はサポートされていません)
バイト 3-29: Apple が定義した iBeacon データ
バイト3: 長さ: 0x1a (次のセクション) バイト 4: タイプ: 0xff (カスタム製造元データ) バイト 5-6: 製造元 ID: 0x4c00 (Apple の Bluetooth SIG 登録企業コード、16 ビット リトルエンディアン) バイト 7: サブタイプ: 0x02 (Apple の iBeacon タイプのカスタム製造元データ) バイト 8: サブタイプの長さ: 0x15 (残りの iBeacon データ; UUID + メジャー + マイナー + TXPower) バイト 9-24: 近接 UUID (特定のビーコンのランダムまたはパブリック/登録 UUID) バイト 25-26: メジャー (ユーザー定義値) バイト 27-28: マイナー (ユーザー定義値) バイト 29: 測定電力 (8 ビットの符号付き値、範囲は -128 ~ 127、必要に応じて 2 の補数を使用して「変換」、単位: ビーコンから 1 メートルの距離での dBm 単位の測定送信電力) (ユーザーが設定し、動的ではなく、受信機で受信した RSSI と組み合わせてビーコンまでの大まかな距離を計算できます)
Android iBeacon サポート
iOS とは異なり、Android にはネイティブの iBeacon サポートがありません。このため、Android で iBeacon を使用するには、開発者は既存のライブラリを使用するか、BLE パケットを解析して iBeacon 広告を見つけるコードを作成する必要があります。BLE サポートはAndroid Jelly Beanで導入され、 Android KitKatで大きなバグが修正されました。その後、安定性の向上と追加の BLE 機能が徐々に追加され、 Android Marshmallowバージョン 6.01 ではアプリ間の接続リークを防ぐ大きな安定性の向上が図られました。
なりすまし
設計上、iBeacon の広告フレームははっきりと見えるようになっています。そのため、関心のある第三者が別の物理的な場所で iBeacon の広告フレームをキャプチャ、コピー、複製することが可能です。これは、互換性のある Bluetooth 4.0 USB ドングルに正しいコマンド シーケンスを発行するだけで実行できます。2014 年 2 月には、Apple ストアの iBeacon のなりすましが成功したことが報告されています。[30] これは iBeacon 自体のセキュリティ上の欠陥ではありませんが、アプリケーション開発者は iBeacon を使用したアプリケーションを設計する際にこの点に留意する必要があります。
PayPalはより堅牢なアプローチを採用しており、iBeaconは単に複雑なセキュリティネゴシエーション(チャレンジレスポンス認証)の始まりに過ぎません。これはハッキングされる可能性は低く、ビーコンのコピーによって妨害される可能性も低いです。[31]
iBeacon のリッスンは、最新の Linux ディストリビューションで次のコマンドを使用して実行できます。
hcitool -i hci0 lescan --passive --duplicates D6:EE:D4:16:ED:FC (不明) F6:BE:90:32:3C:5E (不明) ...
別の端末で、プロトコル ダンプ プログラムを起動します。
hcidump -R -i hci0 > 04 3E 2A 02 01 00 01 FC ED 16 D4 EE D6 1E 02 01 06 1A FF 4C 00 02 15 B9 40 7F 30 F5 F8 46 6E AF F9 25 55 6B 57 FE 6D ED FC D4 16 B6 B4 ...
hcidump 出力の詳細については、Bluetooth Core Spec. Volume 4、Part E、7.7.65.2: LE Meta Event::LE Advertising Report Sub-Event を参照してください。
iBeacon のMACアドレスと iBeacon ペイロードは明確に識別できます。技術的な詳細のコマンドのシーケンスを使用して、iBeacon フレームを再現できます。
対応デバイス
- Bluetooth 4.0以降を搭載したiOSデバイス(iPhone 4s以降、iPad(第3世代)以降、iPad Mini(第1世代)以降、iPod Touch(第5世代)以降)[32] [33]
- OS X Mavericks (10.9) 以降および Bluetooth 4.0を搭載した Macintosh コンピュータ[引用が必要]
- Bluetooth 4.0以上およびAndroid OS 4.3以上を搭載したAndroidデバイス(例:Samsung Galaxy S7/J1 mini Prime、Samsung Galaxy Note 2/3、HTC One、Google/LG Nexus 7 2013 /Nexus 4/Nexus 5、OnePlus One、LG G3)[34]
- Bluetooth 4.0 以降と Lumia Cyan アップデート以降を搭載したWindows Phoneデバイス (報告によると、Windows Phone 8.1 にはサポートが含まれていないようです)。 [引用が必要]
類似技術
NFC環境は非常に異なり、重複しないアプリケーションが多数ありますが、それでも iBeacon と比較できます 。
NFC の範囲は最大 20 cm (7.87 インチ) ですが、最適な範囲は 4 cm (1.57 インチ) 未満です。iBeacon の範囲は大幅に広くなります。
すべての携帯電話に NFC チップが搭載されているわけではありません。Apple が NFC チップを搭載した最初の iPhone モデルは、2014 年 9 月に発表された iPhone 6 でしたが、最近の携帯電話のほとんどは、それより数年前から Bluetooth 4.0 以降の機能を搭載しています。
参照
参考文献
- ^ 「iOS: iBeacon を理解する」 Apple Inc. 2015 年 2 月。
- ^ "Bfonics Inc". Bfonics.com. 2014年11月8日時点のオリジナルよりアーカイブ。2014年11月10日閲覧。
- ^ 「ビーコン:知っておくべきことすべて」。Pointrlabs.com。2015年1月18日。 2015年4月15日閲覧。
- ^ 「iBeacons」。Dave Addey。2013年9月22日。2013年12月3日時点のオリジナルよりアーカイブ。2013年12月11日閲覧。
- ^ 「iOS 7 内部情報: iBeacons が Bluetooth LE 経由でアプリの位置情報認識を強化」 Forums.appleinsider.com。2013 年 6 月 18 日。2013年12 月 11 日閲覧。
- ^ 「iBeacon Bible」(PDF) . Andy Cavallini . 2014年1月1日閲覧。
- ^ 「Apple iBeacons の説明 – スマートホームの占有検知は解決されるか?」Automated Home。2013 年 10 月 3 日。2013年12 月 11 日閲覧。
- ^ 「iBeacon - 店内ナビゲーションのゲームチェンジャー」。2014年10月31日時点のオリジナルよりアーカイブ。2013年12月11日閲覧。
- ^ ab 「Apple iBeacons がマクドナルドに導入される」Forbes 2014年12月18日。
- ^ 「Raspberry Pi Adafruit 学習システムを使用した piBeacon DIY iBeacon の概要」 。2014年5 月 14 日閲覧。
- ^ 「訪問者向けプッシュ通知」MyOrpheo、2014年11月4日。2017年8月5日時点のオリジナルよりアーカイブ。2016年10月26日閲覧。
- ^ 「地域監視と測距とは?」 estimote.com 。 2015 年8 月 26 日閲覧。
- ^ 「Charles Capps - バックグラウンドでの iBeacon」。Stackoverflow.com。2014年11 月 10 日閲覧。
- ^ 「ビーコンレンジとは」ビデオチュートリアル。YouTube 。 2014年3月10日。 2014年11月10日閲覧。
- ^ 「iBeacon の「遠い」、「近い」、「即時」の公称距離はどれくらいですか」。Stackoverflow.com。2014年5 月 19 日閲覧。
- ^ 「iBeacon ハードウェアのヒッチハイクガイド: Aislelabs による包括的レポート」。Aislelabs。2014 年 11 月 3 日。2014年11 月 3 日に閲覧。
- ^ Dignan, Larry (2014 年 4 月 14 日)。「TI の Apple iBeacon サポートにより、企業や IoT の力が強化される」ZD Net。2016年10 月 26 日閲覧。
- ^ 「徹底的なストレステストの結果、最高の iBeacon ハードウェアが決定」9to5 mac、2014 年 11 月 3 日。2014年11 月 3 日閲覧。
- ^ 「小売業者はビーコンに期待しているが、スマートフォンのバッテリーはどのくらい早く消耗するのだろうか?」GIGAOM。2014年7月9日。2014年7月12日時点のオリジナルよりアーカイブ。 2014年7月9日閲覧。
- ^ 「iBeacon と携帯電話のバッテリー消耗: 技術レポート」 Aislelabs。2014 年 7 月 9 日。2014 年7 月 9 日閲覧。
- ^ 「Apple vs Android の iBeacon バッテリー消耗: 技術レポート - Aislelabs」。Aislelabs。2014 年 8 月 14 日。2014年8 月 14 日閲覧。
- ^ 「Apple、ショッピング体験を効率化するため254店舗でiBeaconを導入」ZDNet 2013年12月18日閲覧。
- ^ 「C# と Xamarin を使用した iOS、Android、Windows 向けクロスプラットフォーム iBeacon アプリの構築」。2014 年 4 月 24 日。2014年5 月 14 日閲覧。
- ^ 「Android Bluetooth クラッシュの解決策」 。Developer.radiusnetworks.com。2014年5 月 14 日閲覧。
- ^ 「Android Issue Tracker」 。 2015年3月25日閲覧。
- ^ 「How do iBeacons work? Blog of Adam Warski」. Warski.org. 2014 年 1 月 13 日. 2014 年5 月 14 日閲覧。
- ^ 「iBeacon とは? iBeacon ガイド」ibeacon.com。2015 年 3 月 18 日時点のオリジナルよりアーカイブ。2014 年4 月 20 日閲覧。
- ^ 「BlueZ で BLE 広告の頻度を増やす方法はありますか?」。Stackoverflow.com。2014年5 月 14 日閲覧。
- ^ 「SDK により Android ユーザーは iBeacon パーティに参加可能」。MobilePaymentsToday.com。2013 年 10 月 11 日。2013 年 12 月 12 日時点のオリジナルよりアーカイブ。2013年12 月 11 日閲覧。
- ^ 「android - iBeacons のスプーフィングを防ぐ方法 - Stack Overflow」。Stackoverflow.com。2014年5 月 14 日閲覧。
- ^ 「Bluetooth Low Energy、ビーコン、小売 - VeriFone Systems, Inc」(PDF) 。Global.verifone.com。 2014年11月10日時点のオリジナル(PDF)からアーカイブ。 2014年6月3日閲覧。
- ^ 「iOS: iBeacon を理解する」 Apple Inc. 2013 年 12 月 4 日. 2014 年3 月 13 日閲覧。
- ^ 「iPhone を iBeacon トランスミッターとして設定する方法」。Bluetoothbeacons.com。2014 年 3 月 17 日時点のオリジナルよりアーカイブ。2014 年2 月 17 日閲覧。
- ^ 「Bluetooth Low Energy の概要」。Google Inc. 2019 年11 月 9 日閲覧。
