Objective-C iOS 6 BLE (Bluetooth 4.0) 距离计算

Gil*_*ire 3 ios bluetooth-lowenergy

是否可以计算设备和 iPhone 之间的距离,或者至少了解强度,以便我可以检查距离是否随着移动而变小或变大。我想建立某种系统,可以更容易地在近距离范围内找到“丢失”的东西。

这样的事情可能吗?如果是这样,最好的方法是什么。

我假设两个设备之间没有障碍。

Row*_*bot 5

是的,一点没错!

实际上它是 Core Bluetooth 提供的基本功能。要引用上一个答案提供的链接

一旦在扫描过程中发现外设,中央委托就会收到以下回调:

  • (void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral adsData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI

此调用通知中央管理器委托(视图控制器)发现具有广告数据和 RSSI 的外围设备。RSSI 代表接收信号强度指示器。这是一个很酷的参数,因为知道传输信号的强度和RSSI,就可以估算出Central 和Peripheral 之间的当前距离。因此,您可以将距离用作给定服务的过滤器:只有当 Central 离 Peripheral 足够近时,您的应用才会执行某些操作。

RSSI 值允许您估计距离、创建虚拟围栏,还可以用于通过将新的 RSSI 测量值与之前的测量值进行比较来在 BLE 设备上归零。