在 Objective C 中使用 iBeacon 查找距离

Find Distance using iBeacon in Objective C

我正在为蓝牙设备开发应用程序。

我使用 iBeacon 功能进行室内定位,但找不到室内定位,它 return 只有区域。

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

通过搜索,我知道我可以找到与 RSSI 的距离。

但我的问题是如何找到 属性 的位置或距离。

您无法使用 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(免费space有n=2供参考,如果有墙会更大)。

d 是与发件人的距离,以米为单位

所以你有所有的值,除了 d,你需要使用提到的公式计算 d

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

CLBeacon class 有一个 属性 命名的准确性。 Apple Developer Site Reference