使用最近的信标设备的房间查找器
Room finder using closest Beacon device
我有 10 个信标设备和 10 个房间。考虑 1/Room,我想知道我目前在哪里?
为此:已经使用 mBeconManager.setRangeNotifier
并在 "Distance" 基础上按 desc 顺序排列信标列表。
并按较短的距离显示房间。
但是这个过程很慢。
信标:eddystone 信标
平台:android
库:Altbeacon
这个场景或例子还有其他最好的方法吗?我可以使用 mBeconManager.addMonitorNotifier method?
提前致谢?
总的来说,通过对 didRangeBeaconsInRegion
回调的结果进行排序,听起来您采用了正确的方法。
但是,您应该知道,beacon.distance
估计是基于过去 30 秒内收到的所有 RSSI 读数的 运行 平均值,这可能是一个太长的平均值您的用例的时间。 您可以使用如下代码使距离估计基于更短的 5 秒平均间隔:
RunningAverageRssiFilter.setSampleExpirationMilliseconds(5000l);
但是,如果您这样做,请注意这会增加您的距离估计值 "noise"。为了尽可能地抵消这种情况,请将您的信标配置为尽可能多地进行广告宣传,至少以 10Hz 的频率进行宣传。
阅读更多here.
我有 10 个信标设备和 10 个房间。考虑 1/Room,我想知道我目前在哪里?
为此:已经使用 mBeconManager.setRangeNotifier
并在 "Distance" 基础上按 desc 顺序排列信标列表。
并按较短的距离显示房间。
但是这个过程很慢。
信标:eddystone 信标
平台:android
库:Altbeacon
这个场景或例子还有其他最好的方法吗?我可以使用 mBeconManager.addMonitorNotifier method?
提前致谢?
总的来说,通过对 didRangeBeaconsInRegion
回调的结果进行排序,听起来您采用了正确的方法。
但是,您应该知道,beacon.distance
估计是基于过去 30 秒内收到的所有 RSSI 读数的 运行 平均值,这可能是一个太长的平均值您的用例的时间。 您可以使用如下代码使距离估计基于更短的 5 秒平均间隔:
RunningAverageRssiFilter.setSampleExpirationMilliseconds(5000l);
但是,如果您这样做,请注意这会增加您的距离估计值 "noise"。为了尽可能地抵消这种情况,请将您的信标配置为尽可能多地进行广告宣传,至少以 10Hz 的频率进行宣传。
阅读更多here.