如果有人以某种方式提出这个问题,我很抱歉。我已经开始使用信标,并在 Xcode (Swift) 中使用 CoreLocation。不过,我确实需要在设备和信标之间进行更准确的确定。到目前为止,我一直在使用标准的邻近区域值(Far、Near 和 Immediate),但这根本没有削减它。对于我正在寻找的解决方案来说,它似乎太不稳定了——这充其量只是一个简单的解决方案。
我的场景;
当用户距离信标大约 4 米时,我需要向用户设备显示通知、广告、图像等。这听起来很简单,但是当我发现信标的唯一真正解决方案是上述邻近区域时,我开始担心,因为我只需要向 3-5 米外的设备显示,不再需要。
我知道 CLBeacon 类的准确度属性,但是 Apple 声明它不应该用于准确定位信标,我相信这是我想要实现的。
这个问题有方法解决吗?任何帮助表示赞赏!
谢谢,奥利
在估计蓝牙无线电信号的距离时,物理学存在局限性。 无线电噪声、信号反射和障碍物都会影响根据无线电信号强度估计距离的能力。使用信标来估计距离是可以的,但您必须适当地设置您的期望。
Apple 在 CoreLocation 中的算法在 20 秒左右的时间内对测量的信号强度进行运行平均,然后得出一个以米为单位的距离估计值,并输入到CLBeacon精度字段中。然后使用该字段的结果得出邻近字段。(0.5米以下表示直接,0.5-3米表示近等)
当 Apple 建议不要使用准确性字段时,它只是试图保护您免受不切实际的期望。这永远不会是一个以米为单位的精确估计。最好的结果是从口袋里拿出手机,信标和手机之间没有障碍物,手机相对静止。 在最佳条件下,您可能希望在 3 米或更短的近距离内获得 +/- 1 米的距离估计值。你离得越远,你会看到更多的变化。
您必须决定这对于您的用例是否足够好。如果您可以控制信标,您可以采取一些措施来使结果尽可能好:
| 归档时间: |
|
| 查看次数: |
697 次 |
| 最近记录: |