Advertisement

蓝牙 RSSI 测距

阅读量:

通过使用CoreLocation.framework,可以便捷地探测周围蓝牙设备,苹果公司提供的开源项目AirLocate中包含了具体的实现方式,相关代码的获取链接如下:

https://developer.apple.com/library/ios/samplecode/AirLocate/Introduction/Intro.html

在CoreLocation框架中,所检测到的iBeacon设备以CLBeacon对象进行表示,该对象包含RSSI值(即接收信号强度),可用于估算发射端与接收端之间的距离。

距离计算公式如下所示:

d = 10^((abs(RSSI) - A) / (10 * n))

其中各项参数含义如下:

d - 根据公式计算得出的距离数值

RSSI - 接收端接收到的信号强度值(通常为负数)

A - 当发射端与接收端之间距离为1米时所测得的信号强度值

n - 表征环境对信号衰减影响的系数

上述计算公式的具体代码实现方式

复制代码
 - (float)calcDistByRSSI:(int)rssi

    
 {
    
     int iRssi = abs(rssi);
    
     float power = (iRssi-59)/(10*2.0);
    
     return pow(10,

全部评论 (0)

还没有任何评论哟~