iBeacon的位置

时间:2013-12-08 05:32:54

标签: ios bluetooth triangulation ibeacon trilateration

我正在使用iBeacon,并且使用三角测量和三角测量(或类似的东西),希望能够找到iBeacon和用户设备之间的精确(或相当准确)距离(以英尺/米/英尺/小时为单位)。这样做的最佳方式是什么,我将如何做到这一点?

我忘了提到:我明白有可能找到接近度(即接近,立即,远等),但如上所述,理想情况下我希望找到一个准确的距离(可能是通过结合RSSI,精度,和接近值)。

2 个答案:

答案 0 :(得分:5)

为此,您应使用iBeacon的RSSI(接收信号强度指示)。信号强度决定了它与你的接近程度。但问题是:

  • 每个信标的RSSI可能会有不同的距离和准确度。
  • 如果信标位于墙后或任何静态障碍物上,则RSSI-Distance-Ratio将无效。

因此,您应该选择Fingerprinting而不是Triangulation或Trilateration。这比其他技术更好。

  1. 在你身边放置障碍物。
  2. 在地图上制作参考点。
  3. 使用该位置校准您的应用程序,即从至少3个最近的iBeacons获取信号强度,并将其保存在该参考点之外。
  4. 对所有其他参考点执行此操作。
  5. (如果可以的话)这样做两次或三次并取平均值并存储在数据库中。
  6. 现在您已经绘制了校准参考点的地图。 (这将处理所有信标的所有不同RSSI-DIstance-Ratios)
  7. 现在,无论您何时在任何位置将其与最近的点进行比较,您就会知道参考点的最近位置。
  8. enter image description here

    如果您使用谷歌地图,他们提供的长度最多为小数点后六位,即0.11米,我认为这在一个房间也很准确。

    我猜这有助于:) 如果有效,请将此答案标记为正确答案。

答案 1 :(得分:2)

在iOS中,您在定位信标时获得的核心位置信标信息包括“接近”值(远/近/立即)和“准确度”读数,实际上是近似距离(以米为单位)。

为了使距离读数尽可能准确,您应该真正校准您的信标。要做到这一点,你将信标放在离接收器正好1米处并读取。接收器为您提供“测量功率”读数,然后在变送器上设置。测量的功率读数用于计算距离读数。

距离读数非常接近,受到周围环境的干扰。

Apple示例应用程序“AirLocate”显示用于校准信标的工作代码,我相信它也会显示