3

iBeacon のモバイル アプリケーションを開発しています。当社の製品は iOS および Android プラットフォーム用です。iOS では、iBeacon の監視がデフォルトの機能であるため、デフォルトの方法を使用します。Android に iBeacon を実装するには、AltBeacon を使用します。しかし、プラットフォーム間に 1 つの大きな違いが見つかりました。半径 1 メートル (iOS の場合) で動作する必要があるビーコン。私のアプリは 3 メートル離れた場所で見ることができます。ビーコンは両方のプラットフォームで同じ距離で機能する必要があるため、これは私たちの製品にとって大きな問題です. したがって、iOS では監視ロジックを変更することはできません。モニタリングの感度を変更できますか?

4

1 に答える 1

3

まったく同じ距離でビーコンを検出するために異なるデバイスを取得することは非常に困難です. 主な問題は、さまざまなモバイル デバイスがまったく異なる Bluetooth 無線とアンテナを持ち、そのゲインが大きく異なることです。検出された信号レベルは iOS デバイス間でかなり一貫していますが (より高いゲイン レシーバーを持ち、ビーコンをさらに検出する iPod touch デバイスを除いて)、Android デバイスはマップ全体にあります。

これをより一貫性のあるものにしようとする 1 つの方法は、監視と測距を組み合わせることです。モニタリング コールバックでアクションをトリガーする代わりに、ビーコンを検出したらすぐに測距を開始し、距離推定値を取得して、距離推定値が十分に近い場合にのみアクションをトリガーします。このプロセスを説明するブログ投稿を書きました。

正確な距離を推定するには、特定の Android デバイス モデルの Bluetooth レシーバーに一致する式が必要になるため、前述の手法は、特に Android では依然として問題があります。Android ビーコン ライブラリはデフォルトで Nexus 5 の計算を使用しますが、他のモデルでは距離を大幅に過大または過小評価する可能性があります。このため、デバイスごとに距離公式の拡張可能なデータベースをサポートするライブラリを作成し、他のデバイスの適切な公式を計算してデータベースに追加するための指示を提供しました。特定のデバイスをターゲットにしていることがわかっている場合は、これが選択肢になる可能性があります。

ただし、非常に特定の距離ですべての Android デバイスにビーコンを検出させたい場合、成功する可能性はほとんどありません。多数の Android デバイスが存在するため、すべてのデバイスで正確な距離推定値を取得できる可能性は低いため、一部のデバイスでは不正確な推定値を受け入れるか、ユース ケースを調整して、これが不要になるようにする必要があります。

于 2014-12-28T16:53:04.183 に答える