监控AltBeacon的灵敏度

时间:2014-12-28 11:01:20

标签: android monitoring ibeacon ibeacon-android altbeacon

我正在为iBeacon开发移动应用程序。 我们的产品适用于iOS和Android平台。在iOS上,监视iBeacon是默认功能,因此它们使用默认方法。为了在Android上实现iBeacon,我使用AltBeacon。但我们发现我们的平台之间有一个很大的不同必须在1米半径(iOS上)工作的信标,我的应用程序可以在3米处看到。这对我们的产品来说是一个大问题,因为信标必须在两个平台上以相同的距离工作。因此,在iOS上,他们无法改变监控逻辑中的任何内容。我可以改变监测的灵敏度吗?

1 个答案:

答案 0 :(得分:3)

很难让不同的设备在完全相同的距离上探测信标。主要问题是不同的移动设备可能具有完全不同的蓝牙无线电和具有非常不同增益的天线。虽然检测到的信号电平在iOS设备上相当一致(除了具有更高增益接收器和进一步检测信标的iPod touch设备之外),Android设备遍布地图。

尝试使其更加一致的一种方法是将监控与范围相结合。不是在监视回调上触发动作,而是在检测到信标时立即开始测距,然后获得距离估计,并且仅在距离估计足够接近时才触发动作。我写了一篇描述这个过程的blog post

上述技术仍然存在问题,特别是在Android上,因为准确的距离估计需要在特定的Android设备型号上为蓝牙接收器匹配的公式。 Android Beacon Library默认使用Nexus 5计算,但这可能会显着高估或低估其他模型上的距离。出于这个原因,我们已经使库支持基于每个设备的可扩展的距离公式数据库,并且我们已经为其他设备提供了instructions for calculating the proper formula并将它们添加到数据库中。如果您知道自己定位的是特定设备,那么这可能是您的选择。

但是,如果您希望让所有Android设备在非常特定的距离检测到信标,则您不太可能获得成功。大量的Android设备使您不太可能获得所有这些设备的准确距离估计,因此您必须愿意接受某些设备上的不准确估计值,或者调整您的用例以免这是必要的。