4.6 KiB
4.6 KiB
蓝牙连接功能使用说明
📱 功能概述
本应用已集成蓝牙连接功能,支持连接十二导联心电设备并实时接收数据。
🔧 功能特性
1. 蓝牙设备管理
- 自动扫描:点击"连接蓝牙"按钮自动扫描附近设备
- 设备选择:扫描完成后显示设备列表供用户选择
- 状态显示:实时显示连接状态和数据接收情况
2. 数据流处理
- 实时接收:自动接收蓝牙设备发送的数据
- 数据处理:将接收的数据传递给现有的数据处理管道
- 实时显示:在ECG曲线图上实时显示接收的数据
3. 用户界面
- 状态指示:按钮颜色和文字显示当前连接状态
- 日志记录:详细记录蓝牙操作和状态变化
- 错误处理:友好的错误提示和状态恢复
🚀 使用方法
第一步:启用蓝牙
- 确保设备蓝牙已启用
- 确保心电设备已开启并处于可发现状态
第二步:连接设备
- 点击"连接蓝牙"按钮
- 等待扫描完成(约2-3秒)
- 在弹出的设备列表中选择目标设备
- 等待连接建立
第三步:开始数据采集
- 连接成功后,点击"启动程序"按钮
- 观察ECG曲线图开始显示实时数据
- 查看状态信息确认数据接收正常
🔧 技术配置
蓝牙参数设置
// 服务UUID (根据设备协议调整)
private val SERVICE_UUID = UUID.fromString("0000fff0-0000-1000-8000-00805f9b34fb")
// 特征UUID (根据设备协议调整)
private val CHARACTERISTIC_UUID = UUID.fromString("0000fff1-0000-1000-8000-00805f9b34fb")
// 设备名称前缀
private const val DEVICE_NAME_PREFIX = "ECG"
权限配置
<!-- 蓝牙权限 -->
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
📊 状态指示
按钮状态
| 状态 | 按钮文字 | 按钮颜色 | 说明 |
|---|---|---|---|
| 未连接 | "连接蓝牙" | 绿色 | 可以开始连接 |
| 扫描中 | "扫描中..." | 橙色 | 正在扫描设备 |
| 连接中 | "连接中..." | 橙色 | 正在连接设备 |
| 已连接 | "断开蓝牙" | 红色 | 可以断开连接 |
日志信息
[时间] 蓝牙状态: 正在扫描蓝牙设备...[时间] 发现设备: ECG_Device_001[时间] 蓝牙设备已连接: ECG_Device_001[时间] 接收到蓝牙数据: 128 字节[时间] 蓝牙设备已断开
🔍 故障排除
常见问题
1. 蓝牙未启用
症状:点击连接按钮无反应 解决:在系统设置中启用蓝牙
2. 权限不足
症状:提示"缺少蓝牙扫描权限" 解决:在应用设置中授予蓝牙权限
3. 设备未发现
症状:扫描完成但未找到设备 解决:
- 确认设备已开启
- 确认设备处于可发现状态
- 检查设备距离是否过远
4. 连接失败
症状:选择设备后连接失败 解决:
- 确认设备未被其他应用占用
- 重新启动设备
- 检查设备电池电量
调试信息
应用会在日志中记录详细的调试信息,包括:
- 蓝牙初始化状态
- 设备扫描过程
- 连接建立过程
- 数据接收情况
🔄 数据流程
蓝牙设备 → BluetoothManager → MainActivity → DataManager → 信号处理 → 指标计算 → UI显示
- 蓝牙设备:发送原始心电数据
- BluetoothManager:接收数据并传递给应用
- MainActivity:处理蓝牙回调和数据转发
- DataManager:解析和处理数据
- 信号处理:滤波和信号增强
- 指标计算:计算心率和HRV指标
- UI显示:在曲线图上显示结果
📝 注意事项
- 首次使用:需要授予蓝牙权限
- 设备兼容性:确保设备支持BLE协议
- 数据格式:确保设备发送的数据格式与解析器兼容
- 连接稳定性:保持设备在有效范围内
- 电池管理:注意设备电池电量,避免连接中断
🔮 未来改进
- 自动重连:连接断开时自动尝试重连
- 多设备支持:同时连接多个设备
- 数据缓存:本地缓存数据防止丢失
- 连接优化:优化连接速度和稳定性
- 设备管理:保存常用设备列表