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