0

私はリファレンス Altbeacon Android アプリ (現在) を使用して ibeacons について学んでいます。

「RangedBeacon.setSampleExpirationMilliseconds」の値について聞いたことがあります。デフォルトは 20 秒で、監視バージョンはデフォルトで 10 秒のようです。

では、すべての iBeacons の更新されたデータ (RSSI) が 1 秒間に複数回表示されるのはなぜですか? これは主にレンジング画面で、狂ったようにスクロールしていることに気付きました。私は3つのビーコンしか持っていません。

これは、間隔がデフォルトよりも低く設定されているということですか? それとも、これはどこかで起こりますか?リフレッシュを遅くする方法はありますか?それはバッテリーを節約するのに役立ちますか?

ティア!

4

1 に答える 1

1

Android ビーコン ライブラリRangedBeacon.setSampleExpirationMilliseconds()方法は、レンジング アップデートの頻度とは関係ありません。距離推定値を平均化するための時間間隔を構成するために使用されます。RSSI (受信信号強度インジケーター) は、モバイル デバイスとビーコン間の信号強度の測定値であり、距離を推定するための入力として使用されます。この測定値は無線ノイズにより本質的に変動するため、このノイズを平滑化するために移動平均が使用されます。デフォルトでは、この移動平均の間隔は 20 秒です。このデフォルトは、モバイル デバイスとビーコン間の距離の推定における「ラグ」を少なくする必要があるアプリケーションには不適切な場合があるため、ライブラリでは、異なる期間になるように構成できます。

デフォルトのレンジング リフレッシュ間隔は、さまざまな設定によって制御されscanPeriodますbetweenScanPeriodデフォルトはそれぞれ 1.1 秒と 0 秒です。デフォルトでは、ライブラリは 1.1 秒間スキャンし、0 秒間スキャンを停止してから、スキャンを再開します。beaconManager.setForegroundScanPeriod(long milliseconds)これらの既定値は、およびを呼び出すことで調整できbeaconManager.setForegroundBetweenScanPeriod(long milliseconds)ます (アプリがバックグラウンドにある場合は、これらのメソッドに相当するバックグラウンド メソッドもあり、既定値はそれぞれ 10 秒と 300 秒です)。

バッテリーを節約したい場合はbetweenScanPeriod、 をより長い値に調整します。ただし、アプリがバックグラウンドにある場合、ライブラリは既にこれを 5 分に調整しています。このバッテリー セーバー機能の詳細については、こちらをご覧ください。

于 2015-01-11T04:33:36.987 に答える