如果有人以这样或那样的方式问这个问题,我很抱歉。我已经开始使用信标,并在Xcode (Swift)中使用CoreLocation。不过,我真的需要在设备和信标之间做出更准确的判断。到目前为止,我一直在使用标准的邻近区域值(远、近和即时),但是这根本没有削减它。这似乎太不稳定的解决方案,我正在寻找-这是一个简单的充其量。
我的情景;
我需要显示通知,广告,图像等用户设备时,他们大约4米远的信标。这听起来很简单,但当我发现信标的唯一真正解决方案是上述邻近区域时,我开始担心,因为我只需要显示在3-5米以外的设备上,不再显示。
我知道CLBeacon类的精确性,但是苹果声明它不应该被用于精确定位信标,我相信这就是我想要实现的。
有解决办法吗?任何帮助都是非常感谢的!
谢谢你,奥利
发布于 2016-12-03 18:12:06
在利用蓝牙无线电信号估计距离时存在物理上的局限性,无线噪声、信号反射和障碍物都会影响到基于无线信号强度的距离估计能力。使用信标来估计距离是可以的,但您必须适当地设置您的期望。
苹果公司在CoreLocation中的算法将测量到的信号强度在20秒左右的运行平均值,然后给出一个以米为单位的距离估计值,该估计值被放入CLBeacon精度字段中。然后利用这个场的结果得出近场。(0.5米或更少意味着立即,0.5-3米表示接近,等等)
当苹果建议不要使用精确字段时,它只是想保护你不受不切实际的期望的影响。这永远不会是一个精确的米的估计。最好的结果是从口袋里掏出一部手机,在信标和电话之间没有障碍,手机相对固定。在最佳条件下,您可能期望在3米或更短的距离下得到+/- 1米的距离估计值。离得越远,你就会看到更多的变化。
您必须决定这对于您的用例是否足够好。如果你能控制信标,你可以做一些事情来使结果尽可能好:
https://stackoverflow.com/questions/40950670
复制相似问题