Windows下C#读取Polar WearLink蓝牙心率传感器数据中断求助
Polar WearLink 蓝牙心率传感器30秒数据流中断问题
设备信息
- 2013年款Polar WearLink蓝牙心率传感器(HRM),非BLE版本,原适配早期安卓手机,无官方原生兼容软件
- Windows环境下可通过PIN码
0000配对,配对后生成两个COM端口:- COM3(Incoming,标识为Polar iWL)
- COM5(Outgoing,标识为Polar iWL 'Bluetooth Serial Port')
当前测试现象
- 使用.NET 8.0编写极简C#程序,仅读取COM5端口的二进制数据并打印到控制台(读取COM3会直接超时)
- 运行程序后,传感器前4个数据包无心率数据,后续可正常输出心率及R-R值;但30秒后数据流完全中断,20秒后出现引脚活动,需手动终止读取循环
- 重启程序可再次读取30秒有效数据,该现象重复出现
已尝试的调试操作
- 在Ubuntu、树莓派环境下尝试使用
bluetoothctl、rfcomm工具获取设备信息,因操作能力限制未成功 - 根据资料提示,尝试发送初始连接所需的特定数据包(包括带FE前缀及不带前缀的组合),但发送任何数据都会导致传感器立即停止传输
- 调整串口参数:波特率、数据位、奇偶校验、停止位、握手协议等所有常规参数,均无法延长数据读取时长
- 推测传感器需周期性发送保活数据包维持连接,但目前发送任何数据都会提前中断连接;原适配的MyTracks程序可能包含长连接配置,但无法运行该程序进行参考
需要解决的问题:如何实现与该Polar WearLink传感器的稳定长连接,避免30秒后数据流中断?
内容的提问来源于stack exchange,提问作者Jono
相关产品推荐
相关产品推荐

