SDK_APP/BLUETOOTH_SETUP.md

4.6 KiB
Raw Blame History

蓝牙连接功能使用说明

📱 功能概述

本应用已集成蓝牙连接功能,支持连接十二导联心电设备并实时接收数据。

🔧 功能特性

1. 蓝牙设备管理

  • 自动扫描:点击"连接蓝牙"按钮自动扫描附近设备
  • 设备选择:扫描完成后显示设备列表供用户选择
  • 状态显示:实时显示连接状态和数据接收情况

2. 数据流处理

  • 实时接收:自动接收蓝牙设备发送的数据
  • 数据处理:将接收的数据传递给现有的数据处理管道
  • 实时显示在ECG曲线图上实时显示接收的数据

3. 用户界面

  • 状态指示:按钮颜色和文字显示当前连接状态
  • 日志记录:详细记录蓝牙操作和状态变化
  • 错误处理:友好的错误提示和状态恢复

🚀 使用方法

第一步:启用蓝牙

  1. 确保设备蓝牙已启用
  2. 确保心电设备已开启并处于可发现状态

第二步:连接设备

  1. 点击"连接蓝牙"按钮
  2. 等待扫描完成约2-3秒
  3. 在弹出的设备列表中选择目标设备
  4. 等待连接建立

第三步:开始数据采集

  1. 连接成功后,点击"启动程序"按钮
  2. 观察ECG曲线图开始显示实时数据
  3. 查看状态信息确认数据接收正常

🔧 技术配置

蓝牙参数设置

// 服务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显示
  1. 蓝牙设备:发送原始心电数据
  2. BluetoothManager:接收数据并传递给应用
  3. MainActivity:处理蓝牙回调和数据转发
  4. DataManager:解析和处理数据
  5. 信号处理:滤波和信号增强
  6. 指标计算计算心率和HRV指标
  7. UI显示:在曲线图上显示结果

📝 注意事项

  1. 首次使用:需要授予蓝牙权限
  2. 设备兼容性确保设备支持BLE协议
  3. 数据格式:确保设备发送的数据格式与解析器兼容
  4. 连接稳定性:保持设备在有效范围内
  5. 电池管理:注意设备电池电量,避免连接中断

🔮 未来改进

  1. 自动重连:连接断开时自动尝试重连
  2. 多设备支持:同时连接多个设备
  3. 数据缓存:本地缓存数据防止丢失
  4. 连接优化:优化连接速度和稳定性
  5. 设备管理:保存常用设备列表