news 2026/8/27 15:49:19

Polar BLE SDK 完整指南:如何连接 Polar 心率胸带、手表,10 分钟获取实时心率与ECG数据

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Polar BLE SDK 完整指南:如何连接 Polar 心率胸带、手表,10 分钟获取实时心率与ECG数据

Polar BLE SDK 完整指南:如何连接 Polar 心率胸带、手表,10 分钟获取实时心率与ECG数据

【免费下载链接】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 官方推出的软件开发工具包,帮助你用 Android 或 iOS 应用连接 Polar H10 心率胸带、Verity Sense 光学心率传感器以及 Vantage V3、Pacer Pro 等手表,实时获取心率、RR 间期和 130Hz 采样率的 ECG 心电数据。本文面向新手,带你 10 分钟完成从安装到读取数据的完整流程。

它能帮你做什么?

Polar BLE SDK 基于 ReactiveX(响应式编程)设计,覆盖从广播数据到精密传感器的全场景:

设备可用能力
H10 心率胸带心率 BPM + RR 间期、ECG 心电数据(130Hz)、加速度计、内部离线录制
Verity Sense心率、PPG 血容积信号、加速度/陀螺仪/磁力计、SDK 模式、离线录制
手表系列(Vantage V3、Grit X2 Pro、Ignite 3、Pacer、Pacer Pro)心率、心率广播、PP 间期、50Hz 加速度数据
Polar 360心率、皮肤温度、PP 间期、SDK 模式、离线录制

💡 关键概念:SDK 区分在线流式传输(Online Streaming,数据实时经蓝牙推送)和离线录制(Offline Recording,数据存入设备存储,之后回读)。5.0 版本还引入了统一的功能开关PolarBleSdkFeature,只启用你需要的能力,避免浪费蓝牙带宽。

项目结构一览

目录内容
demos/Android-Demos/PolarSDK-ECG-HR-DemoAndroid ECG/心率 Demo,含波形绘制
examples/example-androidAndroid 完整示例 App
examples/example-iosiOS 完整示例 App(搜索、连接、录制、流式数据)
sources/AndroidAndroid SDK 源码
sources/iOSiOS SDK 源码
documentation官方说明文档
polar-sdk-android/docspolar-sdk-ios/docs两端 API 参考文档

建议先跑通demos/Android-Demos/PolarSDK-ECG-HR-Demo里的 ECG Demo:它演示了连接设备、启动流式数据并把心电波形实时画到界面上的完整链路,核心入口在MainActivity.ktECGActivity.kt

Android 快速安装:JitPack 四步走

  1. 设置最低版本build.gradleminSdk 24以上。
  2. 添加 JitPack 仓库:在repositories中加入maven { url 'https://jitpack.io' }(项目根目录提供了 jitpack.yml 构建配置)。
  3. 添加依赖:引入com.github.polarofficial:polar-ble-sdk,以及配套的 RxJava3(io.reactivex.rxjava3:rxjavarxandroid)。
  4. 声明蓝牙权限:在AndroidManifest.xml中加入BLUETOOTH_SCAN(带neverForLocation标志)、BLUETOOTH_CONNECT,旧版本系统还需BLUETOOTHBLUETOOTH_ADMIN和位置权限;SDK 还要INTERNET权限用于固件更新检查。

iOS 快速安装:一行 CocoaPods

要求 Xcode 12+、Swift 5+,最低支持 iOS 14(也支持 watchOS)。用 CocoaPods 最省事:

pod 'PolarBleSdk', '~> 5.0'

同样也可以用 Swift Package Manager(项目根目录有 Package.swift,并声明了 PolarBleSdk.podspec)。装完后别忘了两件事:

  • 在 Target 的 Background Modes 中勾选Uses Bluetooth LE accessories
  • 在 Info.plist 中添加NSBluetoothAlwaysUsageDescription键,否则系统会拒绝蓝牙访问。

10 分钟连接流程:三步拿到数据

两端的接入模式几乎一致,记住「初始化 → 回调 → 连接」三步:

第 1 步:初始化并启用功能。创建默认实现,按位开启需要的功能:Android 用PolarBleApiDefaultImpl.defaultImplementation(applicationContext, setOf(FEATURE_HR, FEATURE_BATTERY_INFO, ...));iOS 用PolarBleApiDefaultImpl.polarImplementation(DispatchQueue.main, features: Features.hr.rawValue)

第 2 步:注册回调/观察者。Android 调用api.setApiCallback(...),监听deviceConnecteddeviceDisconnectedbatteryLevelReceived等事件;iOS 则让控制器遵循PolarBleApiObserverPolarBleApiDeviceHrObserver等协议,在hrValueReceived中直接拿到心率与 RR 数据。

第 3 步:连接设备。三种方式任选其一:

  • api.connectToDevice(deviceId)—— 指定设备 ID(ID 印在传感器背面);
  • api.autoConnectToDevice(...)—— 自动连接附近信号最强的设备;
  • api.searchForDevice()—— 扫描后手动选择,适合写设备选择界面(iOS 示例 App 的Views/DeviceSearch/就是这么做的)。

退出页面时记得调用api.shutDown()释放蓝牙资源。

读取实时心率与 ECG 数据

连接成功并收到hrFeatureReady回调后,数据会以响应式流持续推送到你的hrValueReceived(Android)或同名观察者方法(iOS),其中PolarHrData包含当前心率 BPM 和 RR 间期数组。

想要 ECG 波形?只需把功能改为FEATURE_POLAR_ONLINE_STREAMING,通过在线流式 API 以 130Hz 启动 ECG 数据流,回调中会持续收到PolarEcgData(µV 单位的心电采样)。想直接抄作业?看demos/Android-Demos/PolarSDK-ECG-HR-Demo下的EcgPlotter.ktHrAndRrPlotter.kt,它们演示了如何用流式数据驱动实时波形图。

⏱️ 关于时间戳:Polar 设备的采样时间戳以 2000-01-01 为纪元(Epoch),单位是纳秒。如果流里没有时间戳(如心率、PP 间期流),说明该数据类型的采样时刻无法精确定义。细节见 documentation/TimeSystemExplained.md,还可通过setLocalTime把手机时间同步到传感器。

进阶功能:SDK 模式与离线录制

  • SDK 模式:让传感器解锁更高采样率与更宽量程(如 Verity Sense 加速度可达 416Hz、16G 量程),适合科研级数据抓取,说明文档见 documentation/SdkModeExplained.md。
  • 离线录制:把数据直接存入传感器/手表存储,运动结束再回读,避免蓝牙中断丢数据,详见 documentation/OfflineRecordingExplained.md。H10 还支持在传感器上启动/停止录制并管理已存记录。
  • 睡眠分析:SDK 提供PolarSleepApi,配合PolarSleepData结构可直接拿到睡眠分期、评级等结果(见sources/iOS/ios-communications/Sources/PolarBleSdk/sdk/api)。

官方 API 文档与排错资源

资源位置
Android API 参考polar-sdk-android/docs
iOS API 参考polar-sdk-ios/docs
5.0 版本迁移指南documentation/MigrationGuide5.0.0.md
已知问题清单documentation/KnownIssues.md
第三方代码与许可证ThirdPartySoftwareListing.txt

⚠️ 新手常见坑(来自 documentation/KnownIssues.md):

  • Verity Sense 在充电时电池电量上报可能不更新,拔掉充电线即恢复;
  • 通过setLocalTime设置时间后,流内时间戳需要设备断电重启一次才会生效;
  • H10 从胸带取下后 45 秒会断开蓝牙,长时间回读内部录制要注意这个超时。

总结

Polar BLE SDK 用一套统一的响应式 API 打通了 Android 与 iOS:JitPack/CocoaPods 一条命令安装,「初始化 → 回调 → 连接」三步即可上手,随后自由组合心率、ECG、PPG、加速度流与离线录制能力。建议从demos/里的 ECG Demo 和examples/双端示例 App 读起,再结合documentation/中的专题文档深入——这是最快掌握这套 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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/27 15:47:32

LoRaWAN传感器节点认证实战:从硬件选型到射频测试全解析

拿到“Sensor Node Gets LoRaWAN Certification”这个标题的时候,我最直接的反应就是:这又是一款物联网设备从原型走向商品化之后,必须跨过的那道坎儿。很多人以为认证就是送样、测试、拿证,但真正做过 LoRaWAN 项目的人都知道&am…

作者头像 李华
网站建设 2026/8/27 15:46:49

BiliTools 完整指南:免费开源的 B 站视频番剧音乐跨平台下载工具

BiliTools 完整指南:免费开源的 B 站视频番剧音乐跨平台下载工具 【免费下载链接】BiliTools 本项目已停止维护。 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools B 站视频想离线保存、番剧想整季归档、音乐想无损收藏——这些需求用网页端…

作者头像 李华