Android上のiBeacon SDK

ibeacon sdk

建物の内部でも場所に依存したユーザー操作を可能にするビーコンの可能なユースケースとビジネスモデル. 店内広告と割引, モバイル決済, 航海, 公共交通機関, 公共の建物や美術館でのローカリゼーションとホームオートメーションは、氷山の一角にすぎません。. そしてもちろん、データの遍在するコレクション – 今では新しく、正確な位置情報があります. iBeaconテクノロジーについてさらに学ぶ前に, 記事ではiBeaconSDKについても言及します.

誇大広告は何ですか?

Bluetooth Low Energyに基づいてAppleが開発したiBeaconプロトコルは、さまざまなデバイスでサポートされています. この記事では、iBeaconsとBluetooth Low Energyについて説明し、場所に依存する買い物リスト用のAndroidアプリを開発する例を使用して、アプリとiBeaconsの場所に依存する相互作用を示します。. 実装はMOKOSmartiBeaconSDKに基づいています.

iBeacon, ブルートゥース 4.0, なりました, スマート. Wot?

iBeaconの基本技術はBluetoothです. Bluetooth低エネルギー (なりました), これはしばしばBluetoothSmartマーケティングラベルと呼ばれます, バージョンに含まれています 4.0 Bluetooth規格の. BLEは、BluetoothClassicと呼ばれる以前のバージョンとの下位互換性がありません. ブルートゥース 4.0 標準準拠のデバイスが一方または両方のバリアントを実装する必要があることを指定します, つまり. 低エネルギーまたはクラシック.

BLEは、iPhoneなどの現在のほぼすべてのスマートフォンに実装されています 4+ とサムスンギャラクシー 3+. iPhoneはiBeacon信号の受信機としても機能することもできます – Androidとは異なり – 持っている ビーコン 自体. AndroidにはAPIバージョンのBLEドライバーが含まれています 18, つまり. アンドロイド 4.3. ちなみに, 現在のコンピューターもBLE対応です. Windowsの場合, しかしながら, ドライバーはWindowsからのみ搭載されています 8 そして2011年半ば頃から, BLEはAppleコンピューターで利用可能になりました.

BLEは、心拍数モニターやおもちゃのヘリコプターなど、さまざまな周辺機器を引き続きサポートします。, 温度計, フィットネス機器と歯ブラシ, はい, 歯ブラシとスニーカー.

iBeaconsに関連して興味深いのはセンサーです

TexasInstrumentsのタグ, iBeaconとしての機能に加えて、温度も測定できます, 湿度, 圧力, と加速. センサータグにはジャイロスコープも付属しています, 磁力計, および2つのハードウェアボタン. スピーカーの手の湿気と温度を送信および表示しながら、プレゼンテーションをリモートで制御するための理想的なデバイス. 私の次の砂場プロジェクトはステージfright-o-matになると思います. デバイスの詳細なリストは、Bluetoothの公式Webサイトにあります。.

GATT対応

デバイスがデータを交換するために使用する通信モデルはGATTと呼ばれます – 一般的な属性プロファイル. GATTはクライアントとサーバーの役割を定義します. クライアントはサービスを介してサーバーにデータを要求します. サービスは、いくつかのアトミックキー/値ペアをグループ化します, 特性と呼ばれる. サービスと特性の両方がUUIDを介して識別され、詳細な説明を含めることもできます. サービスとその特性は、プロファイルの形式でカタログ化されています; 仕様は、ヘルスケアの分野からそれらの全範囲を定義します, スポーツとフィットネスと – 私たちの場合は興味深い – 近接センシング. 個々のプロファイルとそのサービスおよび特性は、Bluetooth開発者ポータルのGATT仕様にあります。.

gatt ibeacon sdk

ビーコンに到達する

では、iBeaconsとは何ですか? iBeaconは非常にシンプルなテクノロジーです (およびアプリケーションとの場所に依存した対話を可能にするAppleの商標. ビーコンは、BLE互換デバイスで受信し、インストールされているアプリケーションで処理できる信号を送信します。信号には、ビーコンのIDと受信強度が含まれます。. iBeacons自体は, したがって – マスコミの不正確な発言に反して – コンテンツを配信したり、顧客の行動を追跡したりすることができません. これは受信側のアプリケーション、したがって開発者の責任です.

iBeacon IRL

ドイツでのiBeaconsの大規模な展開は、おそらく長い時間がかかるでしょう, しかし、アメリカとオランダからのいくつかの例があります. 例えば, メジャーリーグが装備 28 iBeaconsを備えたスタジアムとそれらを使用, とりわけ, MLBアプリでのチェックイン用 “球場で”.

アントワープのルーベンスの家にショーケースが実装されました, 訪問者に絵画のX線写真やジオキャッシングゲームなどの背景情報を提供します.

サイズの代表的な例はApple自体から来ています. 以上 250 AppleStoreにはiBeaconsが搭載されています. AppleStoreアプリとの組み合わせ, 場所に依存するメッセージは、ストアにいるバイヤーに送信されます. しかしながら, 可能な相互作用は現在かなり限られているようです: 最初のレビューは2つの異なるだけを報告します (非常に一般的です) 彼らが受け取ったであろうメッセージ. 近くの個々の製品に関する特別オファーや特定の情報は提供されませんでした.

機能性

iBeaconSDKは個別のBLEプロファイルを使用しません, むしろBluetooth広告パッケージ, つまり. 放送パッケージ, Bluetoothデバイスの検出に使用されます. パッケージの正確な構造に興味がある場合, あなたはこれを読むことができます, 例えば, AdamWarskiのブログで.

このようなパッケージは、GATTを介して構成できる定期的な間隔で送信されます. ビーコンのUUIDが含まれています, これは通常、メーカーによって事前構成されています. したがって、すべてのMOKOSmartビーコンは同じUUIDを送信します. メジャーIDとマイナーIDは、個々のビーコンを識別するためにも使用されます. メジャーIDは表すことができます, 例えば, フランチャイズチェーンのショップまたはレストランの支店, マイナーIDは単一のシェルフまたはテーブルです.

さらに, 信号強度は広告パッケージに含まれています, ビーコンからの受信機の距離を測定するために使用できます. しかしながら, ここでは高精度は期待できません, 家具や人などの空間的な障害物によって信号が遮られる可能性があるため.

IBeacon SDKは、アプリとこの情報との相互作用について2つの概念を提供します: 測距と地域監視. レンジングする場合, ビーコンまでの距離が決定されます. 上記の不正確さのため, これは3段階でのみ行われます. “すぐ” 数センチの距離です, “近く” 数メートルであり、 “遠い” 10メートル以上の距離です. 測距は、受信アプリがアクティブな場合にのみ可能です.

これは地域の監視には必要ありません. このモードでは, 非アクティブなアプリは、1つ以上のビーコンで定義されたリージョンに出入りするときにも通知できます. 遅くとも今、このテクノロジーが広告や小売業にとって魅力的な理由が明らかになりつつあります。. 加えて, ほとんどのビーコンの場合, 地域の状況に基づいてバッテリー寿命を最適化するために、伝送強度と間隔を構成できます.

“ほとんどのビーコン” 市場にiBeaconsの複数のメーカーがあることを意味します. 実際には, かなりの数があります: MOKOSmart, Kontakt.io, 氷, あなたに感謝する, とジンバル. ハードウェアに加えて, これらのメーカーは、ビーコンを管理するためのiBeaconSDKサービスとクラウドソリューションも提供しています. 私たちの間の愛好家は、Raspberry PiまたはArduinoを使用して、比較的少ない労力でiBeacon送信機を自分でセットアップできます.

点滅リスト

実装例として以下の状況を想定します。: 開発者は土曜日の朝にスーパーマーケットにいます. 空腹の子供たちが家で待っていて、午後には学校でベークセールがあります. そうして初めて週末は本当に始まります. 急ぐのに十分な理由. 残念ながら, 買い物リストは長く、スーパーマーケットのレイアウトに適合していません. スーパーマーケットにさまざまな部門のiBeaconsが装備されている場合, 買い物リストアプリは、適切なエントリを強調表示し、のストレスレベルを大幅に減らすことができます (もちろん完全に架空のもの) 開発者.

私たちのアプリはBluetoothと通信する必要があるので, まず、AndroidマニフェストでBLUETOOTHおよびBLUETOOTH_ADMIN認証が必要です. EstimoteAPIが提供するサービスを使用してiBeaconsと対話できるようにするため, また、それを知らせて、ダウンロードしたAPIをlibs /ディレクトリに配置する必要があります.

私たちのプロトタイプはシンプルなもので構成されています, 事前に入力されたリストと事前定義された領域, つまり. 私たちのスーパーマーケットの部門. リストエントリは、割り当てられているリージョンを認識しています. この例では, 各地域に1つのビーコンのみを割り当てます. ビーコンのリストを1つのリージョンに結合することも可能です. 主なアクティビティは、現在のリージョンを認識し、この情報をアダプタに転送する役割を果たします。, リストエントリの強調表示を担当します. 加えて, 追加のハードウェアなしでUIをテスト可能にするために、ビーコンなしでアクティブ領域を選択するオプションを追加します.

アクティビティのCreateメソッドで, アプリ用にMOKOSmartのビーコンマネージャーをインスタンス化します. 現在のリージョンをアダプタに認識させ、ビーコンスキャンの間隔を定義することにより、リージョンモニタリングにリスナーを使用します. 例では, 1秒をスキャンしてからスキャンする必要があると定義します 250 msは待つ必要があります. これらの値は、テストで迅速な結果を得るために比較的積極的に選択されています. 実際には, 応答性と応答性の難しいバランス. バッテリー寿命を満たすために. このプロトタイプでは, また、買い物リストにダミーの値を入力します. オンで監視を開始または停止します () 開始またはonStop () 主な活動の方法.

ItemList

アダプターはandroid.widget.Arrayアダプターの派生物として実装され、getViewをオーバーライドします () 方法, これは、表示される各行に対して呼び出されます. アイテムのタイトルは、レイアウトで定義されたレビューの最初の行に書かれています, 2番目に割り当てられた地域.

リストに見られるように 1, 入力された領域は、入力された領域のアダプタに転送されます () MonitoringListenerのコールバック, BeaconManagerに割り当てられています: アイテムリストアダプタ. 分離 (領域). getViewを呼び出すとき (), これにより、行のエントリの領域が現在の領域と一致するかどうかがチェックされます. このような場合は, 線の背景に色を付けます. 追加または代替, リストを並べ替えることで、現在のゾーンのエントリを最初に配置することもできます。.

アプリケーションのコードは明確です; iBeaconシグナルを受信し、アプリで処理するのに多くの実装作業は必要ありません. iBeaconの概念の範囲設定と監視は、MOKOSmart iBeacon SDKにマッピングされているため、直感的に使用できます。. アプリの完全なソースコードはGitHubにあります.

結論と展望

MOKOSmart iBeaconSDKを使用してiBeaconsを操作するのは簡単であることがわかりました. ですから、実装技術に大きなハードルはないと思います, むしろビーコンの配備と送信電力の調整において. これらのパラメータは、場所が変更されたときのアプリケーションの応答性に直接影響します. とにかく, バランスを取るのは難しいはずです.

特に興味深い, 例えば. B. ホームオートメーションの分野で, iBeaconsとセンサーの組み合わせを検討します, 上記のTexasInstrumentsのセンサータグのように. Estimoteはまた、Estimoteステッカーを使用して、モーションセンサーと温度センサーを備えたモバイルビーコンを市場に投入します。. 最初の開発者プレビューは10月末に配信されるべきでした 2014, しかし、キットは終わりまでに出荷されませんでした 2014.

「屋内ナビゲーション」アプリケーションエリアをこのテクノロジーで堅牢にマッピングできるかどうかはまだわかりません。. Bluetooth信号が干渉要因に影響を受けやすいため, 対応するエリアのiBeacon信号による強力な照明と、部屋の計画による三角測量を使用した位置計算が必要になります. 適切なソリューションがMOKOSmartによって提供されます (屋内ナビゲーションiBeaconSDK) およびLabWerkなどの他のさまざまなメーカー, しかし、著者は実際的な報告を認識していません.

iBeaconsと相互作用するアプリの開発に伴い, セキュリティとデータ保護の側面も考慮に入れる必要があります. 信号が単純なため, iBeaconはなりすましを起こしやすい, 開発中に忘れてはならないもの. ユーザーの行動に基づいて収集できる現在地や移動プロファイルなどのデータも、保護の必要性が高い.

MOKOSMART iBeacon SDK

ibeaconsDKソリューション

 

専門家に相談する