ビーコン距離の推定値は常に変動するため、期待値を適切に設定する必要があります。 ビーコン距離の推定は、モバイル デバイスの Bluetooth 無線を使用して無線信号強度の測定から開始します。信号が強いほどビーコンが近いことを意味し、信号が弱いほどビーコンが遠いことを意味します。ビーコンは、1 メートル離れた場所で予想される信号強度の基準値を送信し、実際には「1 メートル離れている場合、私の信号レベルは -56 dBm と表示されるはずです」と言っています。次に、携帯電話内の数式が、任意の時点での信号レベルに基づいて、携帯電話からの距離を推測しようとします。信号が -65dBm のように -56dBm より少し弱い場合、式は距離が 2.5 メートルであると推定する可能性があります。
この手法は不完全であり、変動にはいくつかの理由があります。
- バックグラウンド ラジオ ノイズ (古い AM ラジオの静的ノイズなど) が常に存在し、個々の信号強度の測定値が変化します。
- Bluetooth ラジオ内のアナログからデジタルへのコンバーターにエラーがあり、個々の信号強度の測定値も異なります。
- Bluetooth の電波は一部の物体で反射し、他の物体で吸収されます。実際の信号強度は、同じ距離離れたさまざまな位置で変化し、近くにある他の物体が動き回ると変化します。
- 送信機と受信機の両方のアンテナ パターンは、完全な球形ではありません。これは、携帯電話またはビーコンを回転させると、わずかに異なる信号レベルが表示されることを意味します.
エラーを最小限に抑えるためにできることがいくつかあります。
できるだけ頻繁に、できれば 10Hz 以上で送信するビーコンを使用してください。より多くの送信は、信号レベルのより多くの統計サンプルを意味し、一緒に平均化すると、上記のソース 1 と 2 からのエラーを軽減するのに役立ちます。
ビーコンの送信機出力設定をできるだけ高くしてください。信号が強いほど、上記のソース 1 からのノイズ レベルは (相対的に言えば) 低くなります。
可能な場合は、ビーコンを受信デバイスが見通せる場所に配置してください。多くの場合、オーバーヘッドが最適に機能します。
ただし、期待できる最善の方法は、バリエーションを可能な限り減らすことです。それをなくすことはできません。このため、このようなバリエーションが許容されるようにアプリを設計する必要があります。ユースケースに役立つ場合は、ビーコン送信機の電力を下げて、デバイスが比較的近いときにのみビーコンを検出するようにすることもできます。
Radius Networks の RadBeacon USB および RadBeacon Tag モデルを使用すると、iOS および OSX 用の無料のRadBeacon 構成アプリを使用して送信機の電力を調整できます。アプリには、送信機の電力を増減するためのスライダー コントロールがあります。
ただし、送信機の出力を下げると、距離推定の変動量も大きくなることに注意してください。これは、信号対雑音比が低くなるためです。
完全な開示: 私は Radius Networks のチーフ エンジニアです。