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

是否有可能计算设备和iPhone之间的距离,或者至less有一个强度的想法,所以我可以检查,如果我移动的距离越来越小或更大。 我想build立某种系统,使得在一个近距离内find“丢失”的东西更容易。

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

我认为这两个设备之间没有障碍。

是的,一点没错!

其实它是由核心蓝牙提供的基本function。 要引用由以前的答案提供的链接 :

在扫描过程中一旦发现外围设备,中央代表会收到以下callback:

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

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

通过RSSI值,您可以估算距离,创build虚拟栅栏,还可以通过比较新的RSSI测量结果与前一个BLE设备的零入。