使用最近的信标设备的房间查找器

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.