在Objective C中使用iBeacon查找距离

问题描述 投票:1回答:2

我正在开发一个蓝牙设备的应用程序。

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

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

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

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

objective-c ios7 bluetooth-lowenergy core-bluetooth ibeacon
2个回答
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


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.