【发布时间】:2015-01-18 13:43:09
【问题描述】:
这里是所有 CoreBlooth 的新手。我已经成功编写了一个小应用程序来连接到 Wahoo Blue HR 心率监测器并检索我的心率等的 bpm。我使用下面的教程但将代码重写为 swift。
我现在正在尝试编写一个简单的应用程序来从我拥有的蓝牙 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 服务的 iPad 而不是 BP5 设备本身可以正常工作吗?
我一直在阅读有关制造商能够隐藏设备的信息?这可能是正在发生的事情吗?
我注意到 BP5 设备实际上必须通过 iOS 蓝牙设置“配对”才能与官方应用程序配合使用,而心率监测器则没有。这是否表明心率监测器向任何人广播,但 BP5 具有更安全的连接类型?
抱歉,如果术语已关闭,但我是蓝牙世界的新手。
感谢任何帮助或指导。
问候
奥利
PS 在蓝牙设置应用程序中检查设备是否“已连接”并且设备上的蓝牙灯从闪烁变为常亮后,我使用了以下方法,但返回结果为零。
let connectedPeripherals = centralManager!.retrieveConnectedPeripheralsWithServices(services)
println("Number of Connected Devices : \(connectedPeripherals.count)")
【问题讨论】:
-
你能把你重写的代码贴在某个地方吗?以 GitHub 为例? :)
-
嗨 Olly,你能解决这个问题吗?如果你这样做了,你能分享一些代码吗?谢谢!
标签: ios bluetooth bluetooth-lowenergy core-bluetooth ios8.1