我正在实施一个 iOS 演示应用程序来读取来自 Polar、Wahoo 等 HR 监视器的数据。我发现并连接/配对(编辑)设备并从多个同时蓝牙连接中成功获取数据。
现在我的要求是从更多的 BLE 设备(数量超过 20 个)收集数据。我尝试使用 swift BLE API,它在没有/之前没有配对的情况下不提供心率数据。此外,蓝牙不适用于(似乎)这个数量的同时连接。有人建议我这样做:
“如果你只对基本心率数据感兴趣,也就是说每分钟的心跳次数,那么我假设你可能能够处理 40 个单位,因为你不必实际连接这些单位。听听就足够了到广播消息,因为广播消息包括每个设备的每分钟节拍值。”
这意味着我可以从广播消息中获取基本的心率数据,而无需配对设备。我的疑问:
Q1:我真的可以在不配对(仅通过发现)的情况下获得基本的心率数据吗?
Q2:原生 BLE API 支持这个吗?
Q3:有什么方法/API/SDK/例子来实现这个目的?
Q4:如果我能每秒钟获取一次数据会更好。
Q5:我可以从 HealthKit 获得任何帮助吗?
----------------更新1 ----------------
当我发现 BLE 设备使用
func centralManager(_ central: CBCentralManager, didDiscover peripheral: CBPeripheral, advertisementData: [String : Any], rssi RSSI: NSNumber) { }
我找到了 6 个值的 kCBAdvDataManufacturerData 数组。
我按照此链接从 Polar H10 设备的 kCBAdvDataManufacturerData 键中提取 HR 数据, 在 Swift 上从 kCBAdvDataManufacturerData 中提取数据
但我失败了,如何做到这一点?
----------------更新2 ----------------
终于找到了解决方案,如果有人需要,请点击此链接。
https://github.com/polarofficial/polar-ble-sdk/issues/103
提前致谢。