寻找蓝牙低功耗设备的RSSI值的距离
我正在开发蓝牙低功耗概念项目。 我正在获取1到100之间的RSSI值。移动标签时,RSSI值随着外围设备离开iPhone而增加,并随着距离越来越近而减小。
任何人都可以帮助我根据RSSI值得到iPhone和蓝牙标签之间的确切距离吗? 有没有可用的公式?
我正在通过这个蓝牙获得设备的RSSI值低能量委托方法:
- (void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI
我用另一个线索回答了这个问题,在这里重复。
在视线范围内(没有任何障碍导致RSSI变化),- 6dB似乎是距离的两倍 。
如果你在1m距离读RSSI -40dB然后2m给-46dB,4m给-52dB,8m给-58dB,16m给-64dB。
你不能得到一个确切的位置,只有一个圆形的最大距离。
使用2-3个或更多的设备进行三angular测量,您可以获得更准确的定位结果。 您可以纯粹从广告软件包得到这个,但是您必须禁用扫描 – >启用扫描或告诉iOS CoreBluetooth报告所有adv软件包。
在前台模式,你可以做到这一点,但在后台模式下,你不能得到所有的adv包。 您必须连接并阅读RSSI才能在后台执行此操作。
有相当多的基于RSSI的定位技术,如三angular测量和指纹识别。 没有一个是完美的。 RSSI受障碍,多path衰落,天线极化和跨体屏蔽等诸多因素的影响。
RSSI和距离之间的理论关系如下所示:
RSSI[dbm] = −(10n log10(d) − A)
其中d是距离, A是距离BLE装置测量的RSSI 1米点的偏移量。
只需谷歌的RSSI[dbm] = −(10n log10(d) − A)
,你会发现一些关于它的来源。
从RSSI发现距离是有点棘手,它取决于很多因素,甚至testing环境和天线方向等。下面的文章是有一些研究相同的http://www.s2is.org/Issues/v1/n2/papers/ paper14.pdf