ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

如何把 H10 胸带变成科研级心率与ECG采集神器:Polar BLE SDK 实时流实战

如何把 H10 胸带变成科研级心率与ECG采集神器:Polar BLE SDK 实时流实战 如何把 H10 胸带变成科研级心率与ECG采集神器Polar BLE SDK 实时流实战【免费下载链接】polar-ble-sdkRepository includes SDK and code examples. More info https://polar.com/en/developers项目地址: https://gitcode.com/gh_mirrors/po/polar-ble-sdk本文带你用Polar BLE SDK把 Polar H10 胸带变成一台科研级心率与 ECG 采集设备通过蓝牙实时流Online Streaming以 130Hz 采样率获取微伏级 ECG 波形同时同步输出心率与 RR 间期。SDK 同时支持 Android 与 iOS内置官方示例 App几步就能跑通采集链路。为什么 H10 被称为科研级心率设备普通胸带只能给你一个每分钟心率数字而 H10 能给你原始心电信号。官方仓库 README 中列出的 H10 能力数据项指标科研用途ECG 心电图130Hz 采样单位 µVHRV 分析、心律研究、神经反馈实验心率 RR 间期每次心搏的间隔ms压力监测、睡眠质量、自主神经研究加速度计25/50/100/200Hz2G/4G/8G运动伪影同步、体位标记内部离线录制RR / 1s 心率 / 5s 心率断网长时间实验记录 关键点ECG 数据是原始电压波形而不是算法结果这正是它区别于手环和手表光学心率的核心价值。认识 Polar BLE SDK3 个适合科研的特点双平台一套 APIAndroid 用 Kotlin RxJavaiOS 用 Swift RxSwift接口一一对应核心实现分别在sources/Android/android-communications/library/src/sdk/与sources/iOS/ios-communications/Sources/PolarBleSdk/。在线实时流Online Streaming连接后数据以流的形式持续推送到你的 App无需轮询适合长时间连续采集。开箱即用的参考实现仓库自带 ECG 演示 Appdemos/Android-Demos/PolarSDK-ECG-HR-Demo/和 iOS 功能演示 Appexamples/example-ios/iosBleSdkTestApp/可直接运行验证数据质量。快速上手Android 端 4 步采集 ECG 实时流官方 ECG 演示代码位于 ECGActivity.kt整个采集链路可以概括为四步第 1 步创建 API 并声明实时流功能初始化PolarBleApi时把FEATURE_POLAR_ONLINE_STREAMING加入功能集合并设置回调监听设备连接与功能就绪事件。第 2 步连接 H10用胸带上的设备 ID 调用api.connectToDevice(deviceId)或扫描后选择设备。连接成功后回调deviceConnected触发。第 3 步请求流设置 → 启动 ECG 流这是最关键的一步官方示例的做法是调用api.requestStreamSettings(deviceId, ECG)向设备询问当前可用的 ECG 流参数拿到设置后立即调用api.startEcgStreaming(deviceId, settings)开始接收PolarEcgData数据流。每个数据包包含若干采样点采样点中的voltage字段就是微伏级的原始 ECG 电压值定义见 PolarEcgData.kt。官方演示直接把电压换算后喂给绘图组件130Hz 刷新出一条完整的心电波形。第 4 步资源清理离开页面时dispose()数据流并调用api.shutDown()。流在连接断开、出错或被释放时会自动停止无需手动关流。 心率实时流更简单api.startHrStreaming(deviceId)一行即可拿到带 RR 间期的心率包PolarHrData含hr与rrsMs字段可与 ECG 流同时运行。iOS 端实时流一个按钮切换全部数据类型iOS 演示 App 的实时流页面examples/example-ios/iosBleSdkTestApp/iosBleSdkTestApp/Views/OnlineStreaming/OnlineStreamsView.swift把 H10 / Verity Sense 支持的所有数据类型ECG、HR、PPG、ACC、温度、气压等列成按钮点一下即可开/停对应数据流并支持把流数据导出为文件分享。对应 SDK 接口定义在 PolarOnlineStreamingApi.swift核心方法包括getAvailableOnlineStreamDataTypes—— 查询设备支持哪些实时流requestStreamSettings/requestFullStreamSettings—— 启动前获取参数选项startHrStreaming/startEcgStreaming/startPpgStreaming等 —— 启动各类型数据流。集成方式很简单CocoaPods 引入PolarBleSdk~ 5.0或 Swift Package Manager 添加依赖即可最低 iOS 14。实战避坑指南3 个容易踩的坑⚠️坑 1H10 取出胸带 45 秒会断连H10 被从胸带中拔出后 45 秒会自动断开 BLE 连接这会中断正在读取的内部录制数据详见 KnownIssues.md。做长时录制的实验时全程别把 H10 从胸带里拿下来。⚠️坑 2H10 依赖胸带供电H10 放入胸带才上电。实验前务必确认胸带纽扣电池有电并在 App 里监听batteryLevelReceived回调盯住电量。⚠️坑 3设备时间戳与流设置是现状而非能力requestStreamSettings返回的是当前工作模式下可用的参数比如已开启某条流时其他流的选项会变少另外修改设备时间后需要重新上电才能让时间戳生效。做时间同步实验时记得预留这个步骤。文件地图从这里深入源码想了解什么去哪里看实时流接口定义iOSsources/iOS/ios-communications/Sources/PolarBleSdk/sdk/api/PolarOnlineStreamingApi.swiftECG 数据包结构Androidsources/Android/android-communications/library/src/sdk/java/com/polar/sdk/api/model/PolarEcgData.ktAndroid ECG 心率演示 Appdemos/Android-Demos/PolarSDK-ECG-HR-Demo/iOS 全功能演示 Appexamples/example-ios/iosBleSdkTestApp/已知问题与规避方案documentation/KnownIssues.mdH10 离线录制说明documentation/OfflineRecordingExplained.md总结用 Polar BLE SDK 把 H10 变成科研级采集终端的核心就三件事声明 ONLINE_STREAMING 功能 → 请求流设置 → 启动数据流。Android 与 iOS 的官方示例已经把连接、采集、绘图、导出的完整链路演示了一遍配合仓库内置文档几个小时就能搭起一套稳定输出 130Hz ECG 原始波形与 RR 间期的采集系统。想本地跑起来先克隆仓库git clone https://gitcode.com/gh_mirrors/po/polar-ble-sdk【免费下载链接】polar-ble-sdkRepository includes SDK and code examples. More info https://polar.com/en/developers项目地址: https://gitcode.com/gh_mirrors/po/polar-ble-sdk创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表