在Objective C中使用iBeacon查找距离

时间:2015-01-13 10:21:29

标签: objective-c ios7 bluetooth-lowenergy core-bluetooth ibeacon

我正在为蓝牙设备开发一款应用。

我使用iBeacon功能进行室内定位,但无法找到室内位置,只返回区域。

我有一个当前位置。但现在我想找到当前位置与iBeacon位置之间的距离。我搜索了很多。但是没有得到任何适当的解决方案。

从我的搜索中我知道我可以找到RSSI的距离。

但我的问题是如何找到该物业的位置或距离。

2 个答案:

答案 0 :(得分:6)

使用1 iBeacon无法找到当前位置(经度纬度),但如果要查找距离(例如信标在5米范围内)而不是查找this文档。公式是第3页的#19,基本上就是这样:

Received Signal Strength is related to distance using the
equation below.
RSSI [dBm] = -10n log10 (d) + A [dBm] 

其中
A 是1米处的dBm接收信号强度 - 您需要在系统上校准此信号。因为您在已知距离进行校准,所以不需要考虑传输频率,这简化了等式。 (只需将iBeacon放置在1米范围内,并测量它的RSSI)

n 传播路径损失指数,即2.7到4.3(自由空间有n = 2作为参考,如果有墙,它将更大)。

d 是发件人与米的距离

所以你拥有除 d 之外的所有值,你需要使用上面提到的公式来计算 d

顺便说一句,如果你想获得信标的位置,你需要对它进行三角测量(通过使用3个以上的信标)look here

答案 1 :(得分:0)

CLBeacon类有一个名为accuracy的属性。 Apple Developer Site Reference