2015-02-09 51 views
-1

我已经实施了两种方法来检查蓝牙功能的可用性并找到我们周围的可发现设备。现在我想找到我们周围的外围设备的距离,对于这些功能,可以使用哪种方法以及要实施哪些代码。期待一个解决方案与示例代码swift中的哪种方法可用于查找BLE设备之间的距离?

func centralManagerDidUpdateState(central: CBCentralManager!) { 
    println("\(__LINE__) \(__FUNCTION__)") 
    println("checking state") 

    if central.state != .PoweredOn { 
     // In a real app, you'd deal with all the states correctly 
        return 
    } 
    central.scanForPeripheralsWithServices(nil,options:nil) 


} 

func centralManager(central: CBCentralManager!, didDiscoverPeripheral peripheral: CBPeripheral!, advertisementData: [NSObject : AnyObject]!, RSSI: NSNumber!) 
{ 

    var localname: NSString = advertisementData[CBAdvertisementDataLocalNameKey]! as NSString 

    println("Discovered: \(peripheral.name)") 

    peri = ["\(peripheral.name)"] 



    if localname != " " 
    { 
     //centralManager!.stopScan() 

     //self.peripheral = peripheral 
     peripheral.delegate = self 
     centralManager!.connectPeripheral(peripheral, options: nil) 


    } 


} 

- 谢谢

+0

您可以读取'rssi'值作为距离的近似值,但不可能将其转换为实际距离测量值 – Paulw11 2015-02-09 08:05:06

+0

我能以米为单位显示近似距离吗? – SARATH 2015-02-09 08:43:14

+0

这将是非常接近 - 可能+/- 5米或更多 – Paulw11 2015-02-09 08:45:25

回答

0

你可以通过读取RSSI方法的大致距离。它不会返回任何厘米或度量值的距离。您应该将其转换为可以理解的格式

相关问题