如何实现从设备到 Beacon 的更准确距离?

Hai*_*eal 1 ios ibeacon

如果有人以某种方式提出这个问题,我很抱歉。我已经开始使用信标,并在 Xcode (Swift) 中使用 CoreLocation。不过,我确实需要在设备和信标之间进行更准确的确定。到目前为止,我一直在使用标准的邻近区域值(Far、Near 和 Immediate),但这根本没有削减它。对于我正在寻找的解决方案来说,它似乎太不稳定了——这充其量只是一个简单的解决方案。

我的场景;

当用户距离信标大约 4 米时,我需要向用户设备显示通知、广告、图像等。这听起来很简单,但是当我发现信标的唯一真正解决方案是上述邻近区域时,我开始担心,因为我只需要向 3-5 米外的设备显示,不再需要。

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

这个问题有方法解决吗?任何帮助表示赞赏!

谢谢,奥利

dav*_*ung 5

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

Apple 在 CoreLocation 中的算法在 20 秒左右的时间内对测量的信号强度进行运行平均,然后得出一个以米为单位的距离估计值,并输入到CLBeacon精度字段中。然后使用该字段的结果得出邻近字段。(0.5米以下表示直接,0.5-3米表示近等)

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

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

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