如何实现从设备到信标的更精确距离?

时间:2016-12-03 17:45:25

标签: ios ibeacon

如果有人以某种方式询问过这种情况,我很抱歉。我已经开始使用信标,并在Xcode(Swift)中使用CoreLocation。我真的需要在设备和灯塔之间做出更准确的决定。到目前为止,我一直在使用标准的邻近区域值(远,近和立即),但这根本不是切割它。对于我正在寻找的解决方案来说,它似乎太不稳定了 - 这是一个简单的解决方案。

我的情景;

当用户设备距离信标大约4米时,我需要向用户设备显示通知,广告,图像等。这听起来很简单,但当我发现信标唯一真正的解决方案就是前面提到的邻近区域时,我开始担心因为我只需要显示距离3-5米的设备,而不是更多。< / p>

我知道CLBeacon类的准确性属性,但苹果声明不应该用它来准确定位信标,我相信这是我想要实现的目标。

有解决方案吗?任何帮助表示赞赏!

谢谢, 奥利

1 个答案:

答案 0 :(得分:3)

在估算蓝牙无线电信号的距离时,物理学存在局限性。无线电噪声,信号反射和障碍物都会影响根据无线电信号强度估算距离的能力。使用信标估算距离是可以的,但是你必须适当地设定你的期望。

CoreLocation中的Apple算法在20秒左右的时间内测量信号强度的运行平均值,然后得出一个以米为单位的距离估计值,放入CLBeacon精度字段。然后使用该字段的结果来提出邻近域。 (0.5米或更短意味着立即,0.5-3米意味着接近等)

当Apple建议不要使用准确性字段时,它只是试图保护您免受不切实际的期望。这绝不是以米为单位的精确估计值。最好的结果将来自口袋里的手机,灯塔和手机之间没有障碍物,手机相对静止。 在最佳条件下,您可能会在3米或更近的近距离处获得+/- 1米的距离估计值。你离得越远,你会看到的变化越多。

您必须确定这是否足以满足您的使用案例。如果您可以控制信标,您可以采取一些措施使结果尽可能好:

  1. 将信标发射机功率设置尽可能高。这样可以提供更高的信噪比,从而更好地估算距离。
  2. 尽可能提高广告费率。这样可以为您提供更多统计样本,从而获得更好的距离估算值。
  3. 将您的信标放置在尽可能少的障碍物的位置。
  4. 在完成上述更改后,始终校准您的信标。校准包括测量1米处的信号电平并将其作为校准常数存储在信标内。有关如何进行此校准的详细信息,请参阅您的信标制造商说明。