连接到配对的蓝牙设备iOS8.1

新手在这里所有的事情CoreBlooth。 我已经成功地编写了一个小应用程序来连接到Wahoo Blue HR心率监视器,并检索我的心率bpm。我使用了下面的教程,但重写了代码迅速。

链接到教程

我现在正试图写一个简单的应用程序来检索我的蓝牙LE BP阅读器的血压读数。 有问题的模型是iHealth BP5。

当我使用下面的代码扫描这个设备时,我什么也没有得到。

func centralManagerDidUpdateState(central: CBCentralManager!) { if central.state == CBCentralManagerState.PoweredOff { println("CoreBluetooth BLE hardware is powered off") } else if central.state == CBCentralManagerState.PoweredOn { println("CoreBluetooth BLE hardware is powered on and ready") let IHEALTHBP5_BP_DEVICE_INFO_SERVICE_UUID = CBUUID(string:"1810") let services = [IHEALTHBP5_BP_DEVICE_INFO_SERVICE_UUID] centralManager!.scanForPeripheralsWithServices(services, options: nil) } 

}

我已经明显地将服务UUID改为BP监视器,并使用运行LightBlue的iPad并启动血压服务进行检查。 它可以很好地模拟一个BP服务,而不是BP5设备本身?

我一直在阅读有关制造商能够隐藏设备的内容吗? 这可能是发生了什么事情。

我注意到,BP5设备必须通过iOS蓝牙设置实际上是“配对”才能与官方应用程序一起工作,而心率监视器却没有。 这是否表明心率监测器广播给任何人,但BP5有一个更安全的连接types?

道歉,如果术语是closures的,但我是蓝牙世界的新手。

任何帮助或指导表示赞赏。

问候

奥利

PS在蓝牙设置应用程序中检查设备“连接”后,设备上的蓝牙灯从闪烁变为稳定,然后使用以下方法,但返回的结果为零。

 let connectedPeripherals = centralManager!.retrieveConnectedPeripheralsWithServices(services) println("Number of Connected Devices : \(connectedPeripherals.count)") 

该产品的网页指出,它使用“无线通讯:蓝牙V3.0 + EDR 2级SPP”,这是一个“传统”蓝牙串行端口协议,而不是蓝牙低功耗/蓝牙4.0。 这与您的描述需要配对设备和设备不可见核心蓝牙。

这种types的设备由外部附件框架pipe理。 您需要确定他们在MFi程序下注册的供应商ID,然后find他们协议的文档或对其协议进行逆向工程,因为它与使用GATT协议的BLE BP监视器不同。