こんにちは。ファンリピートの樋口です。
皆様はiBeaconをご存知でしょうか?
iBeaconはBluetoothを活用したサービスで、GPSの苦手とする屋内の位置測位や効果的な情報発信が可能なことが特徴で、商業施設やテーマパークなどで利用されています。
BLEビーコンの一種で、代表ともいえるiBeaconの仕組みを事例とともに紹介していきます。
iBeaconとは?
iBeaconはApple社の商標でBluetoothの規格の一部であるBLE(Bluetooth Low Energy)を用いた近接通知機能です。
iOS7以降に搭載された機能で、発信端末からの情報を受信端末で受け取ることができます。
受信した情報をトリガーに屋内位置を特定したり、アプリケーション内でのアクションを設定することも可能です。
iBeaconの仕組み
iBeaconでは
- 発信端末(ビーコン)
- 受信端末(対応アプリケーション入)
- インターネットサーバー
の3点を用いて、機能を成立させているものがほとんどです。
発信端末はBLE規格に基づいた端末固有の情報の発信を一定時間間隔で行います。
受信端末は発信されている情報を受信可能な領域に入ることで対応アプリが起動します。
受信端末は受け取った情報をサーバーに送ることで、サーバーに受信情報を記録したり、受信情報と対応した情報をサーバーから獲得することが可能になります。
iBeaconで発信される情報について
発信端末(ビーコン)からは、複数の情報がまとめてパケットになって発信されています。
含まれる情報として
- UUID
- Major値
- Minor値
etc…
などの情報が含まれ、BLEフォーマットに準じています。
UUID:固有の識別子(Universally Unique Identifier)で、16進数で8桁-4桁-4桁-12桁で表されます。
例えば「196849ab-2d0f-4d4d-3410-a002b2e2e4f0」のようになります。
UUIDは上記のような表現をするために、重複することはほぼないといわれています。
Major値:同一UUIDのビーコンを区別するための16ビットで表現される値
Minor値:同一UUIDのビーコンを区別するための16ビットで表現される値
このようにビーコンから送信されるパケットには発信元を特定するような情報が含まれています。
Major値とMinor値は同一UUIDの区別で使われるような値ですが、UUIDは重複はほぼ発生しないといわれています。では、どのように2つの値は使われるのでしょうか?
例として二階建て同じ構造のチェーン店2店舗を想像してみましょう。
A店舗、B店舗のビーコンをそれぞれグループ化するために、UUIDを下記のように設定します。
A店舗のUUID = 12345678-1234-1234-12345678901a
B店舗のUUID = 12345678-1234-1234-12345678901b
各店舗の各フロアのビーコンをそれぞれグループ化するためにMajor値を下記のように設定します。
各店舗の一階のMajor値 = 1
各店舗の二階のMajor値 = 2
各フロアに二個ビーコンを置くとし、各フロアの各エリアのビーコンをそれぞれグループ化するために、Minor値を下記のように設定します。
AエリアのMinor値 = 1
BエリアのMinor値 = 2
このようにMajor値、Minor値を設定することで本来UUID8つ分必要であったところが、6つのパラメータの設定(UUID二つ、Majo値r二つ、Minor値二つ)で済むことになります。
今回は二店舗の想定でしたが、店舗数が増えればより、パラメータの設定を少なく済ますことも可能になります。
このように二つのMajor値、Minor値は使われることがあります。
iBeaconで取得可能な情報について
iBeaconでは信号強度を表すRSSIを獲得することが可能です。
このRSSIをもとに発信端末と受信端末の距離を求めるために使われます。
距離を表すグループは4つ存在し、下記のような分類となります。
- Immediate :0.5m未満
- Near :3m未満
- Far :70m未満
- Unknown :200m未満
このようにRSSIを用いることで大まかな位置の把握が可能になります。
さらに、このRSSIを用いてRSSI強度マップを作成することで、屋内においてもより正確に位置を把握することが可能になるはずなのですが…
信号強度は不安定で、障害物による減衰の影響を大きく受けるのでその精度にはぶれが生じるのが現実です。
まとめ
まとめとして、iBeaconは下記の要素を持ちます。
- BLEを用いた近接通知
- 発信端末、受信端末、サーバーでの三要素で機能を成す
- UUID, Major値, Minor値等の各ビーコン固有の情報が発信されている
- RSSI(信号強度)から4つの距離グループに分類され大まかな位置が測位できる
いかがでしたでしょうか?
街中でも応用されているiBeaconはこのような仕組みとなっています。
次回は我々の生活にどのように活用されているのか、見ていきます!
水族館や商業施設などでの利用方法を見ていきましょう!
メンバーを募集中!
当社ではお客様に向き合い、お客様の事業成功にコミットをできる仲間を募集しています。
正社員、インターンから副業まで、幅広く採用活動を進めております。プロジェクトマネージャーやシステムエンジニアとして当社のシステム開発業務に携わってみませんか?
当社と共に、業界トップを目指して挑戦したい方は未経験者から経験者まで広く募集しているので、ぜひエントリーをお待ちしています。