altbeacon 参考应用程序和多个退出/进入调用

Posted

技术标签:

【中文标题】altbeacon 参考应用程序和多个退出/进入调用【英文标题】:altbeacon reference app and multiple exit/entry calls 【发布时间】:2016-11-28 00:49:35 【问题描述】:

我正在使用 android 6.0.1 (Nexus 5) 并通过 Altbeacon 库 2.9.1 测试信标监控,并且在在家中靠近信标(几个房间之外)测试设备时,我收到了多个进入/退出回调.信标基于具有默认设置(作为 iBeacon 传输)的 Raspberry Pi 3。

我正在使用 Altbeacon 参考应用程序,但是在日志输出中,我每 5-6 分钟看到一次输入事件消息 (didEnterRegion),从而产生通知。在此期间,Nexus 5 固定在桌面上。

唯一的源代码修改是添加要监控的特定区域,仅此而已。

对为什么会出现这种行为有任何想法吗?

【问题讨论】:

【参考方案1】:

最可能的解释是,来自信标的传输只是间歇性地被您的 Android 设备接收。

在默认设置下,如果在 10 秒内未检测到与区域匹配的信标,Android 信标库会认为该区域已退出。默认情况下,Linux 信标发送器每秒发送一次广告。 如果连续错过 10 次这样的传输,您将获得一个区域退出,然后在下一次接收到一个区域时进入一个区域。 了解即使在理想条件下,也不是所有的信标传输都因无线电噪声和其他问题。一旦靠近信标发射器范围的边缘,这种间歇性的退出/进入事件就会越来越频繁地发生。

要解决这个问题,你可以做很多事情:

将信标的发射器频率从 1 Hz 提高到 10 Hz。这将大大降低 10 秒内没有收到信标数据包的可能性。

如果可能的话,增加发射器的功率(尽管这对于 Raspberry Pi 来说可能是不可能的)

将信标移近 Android 接收器

通过调用BeaconManager.setRegionExitPeriod(20000l);,将区域退出超时时间从 10 秒增加到 20 秒

【讨论】:

以上是关于altbeacon 参考应用程序和多个退出/进入调用的主要内容,如果未能解决你的问题,请参考以下文章

OnyxBeacon 的 AltBeacon 不稳定,反复循环通过 didEnterRegion 和 didExitRegion

AltBeacon:didExitRegion 和 didEnterRegion 交替

AltBeacon getDistance() 函数与信标定位距离估计

iOS 下 altBeacons 上的 Major 和 Minor

在 Android 8 之前的应用程序重新启动后,AltBeacon 未检测到 iBeacon

altbeacon 以 10Hz 连续检测信标 RSSI 值