# 蓝牙调试指南 - SerialTest连接问题

## 问题描述
- 电脑端：SerialTest作为蓝牙服务器运行
- 手机端：Android应用作为客户端
- 问题：客户端找不到服务器设备

## 第一步：检查手机蓝牙设置

### 1.1 确保蓝牙可见性
1. **打开手机设置** → **蓝牙**
2. **确保蓝牙已开启**
3. **设置可见性**：
   - 点击"更多设置"或"高级设置"
   - 找到"可见性"或"可发现性"选项
   - 设置为"始终可见"或"可发现"

### 1.2 检查配对状态
1. **查看已配对设备列表**
2. **如果看到您的电脑设备**：
   - 点击设备名称
   - 选择"取消配对"
   - 重新配对

### 1.3 重置蓝牙设置
1. **清除蓝牙缓存**：
   - 设置 → 应用管理 → 蓝牙
   - 清除数据和缓存
2. **重启蓝牙**：
   - 关闭蓝牙
   - 等待10秒
   - 重新开启蓝牙

## 第二步：检查电脑端SerialTest设置

### 2.1 SerialTest配置
1. **确保SerialTest正确配置**：
   - 选择正确的COM端口
   - 设置波特率（通常9600或115200）
   - 启用蓝牙服务器模式

### 2.2 电脑蓝牙设置
1. **检查电脑蓝牙状态**：
   - 确保蓝牙已开启
   - 设置为"可发现"模式
2. **查看蓝牙设备**：
   - 控制面板 → 设备和打印机
   - 确认蓝牙适配器正常工作

## 第三步：使用应用进行调试

### 3.1 扫描测试
1. **启动Android应用**
2. **点击"连接蓝牙"按钮**（普通点击，不是长按）
3. **观察扫描结果**：
   - 查看是否发现您的电脑设备
   - 记录设备名称和MAC地址

### 3.2 直接连接测试
1. **长按"连接蓝牙"按钮**
2. **输入电脑MAC地址**：`60:E9:AA:30:8B:0A`
3. **点击连接**
4. **观察连接状态**

### 3.3 查看详细日志
在Android Studio的Logcat中查看：
- 过滤标签：`BluetoothManager`
- 查找扫描和连接相关的日志

## 第四步：常见解决方案

### 4.1 如果扫描不到设备
1. **重启蓝牙服务**：
   - 电脑：重启蓝牙适配器
   - 手机：重启蓝牙
2. **检查距离**：确保设备在10米范围内
3. **检查干扰**：远离其他蓝牙设备

### 4.2 如果连接失败
1. **重新配对设备**：
   - 在手机蓝牙设置中删除电脑设备
   - 在电脑蓝牙设置中删除手机设备
   - 重新配对
2. **检查SerialTest状态**：
   - 确保SerialTest正在运行
   - 检查是否有错误信息

### 4.3 如果连接成功但无法通信
1. **检查SerialTest配置**：
   - 确认波特率设置
   - 确认数据格式设置
2. **测试数据发送**：
   - 使用应用发送测试数据
   - 在SerialTest中查看是否收到数据

## 第五步：高级调试

### 5.1 使用系统蓝牙设置
1. **在手机蓝牙设置中手动连接**：
   - 扫描设备
   - 选择您的电脑设备
   - 输入配对码（通常是0000或1234）

### 5.2 检查蓝牙协议
1. **确认SerialTest使用的协议**：
   - SPP（串口协议）
   - RFCOMM
   - 其他协议
2. **确认应用支持的协议**

### 5.3 使用其他蓝牙工具测试
1. **下载蓝牙调试工具**：
   - nRF Connect（推荐）
   - Bluetooth Scanner
2. **测试连接**：
   - 扫描设备
   - 尝试连接
   - 查看服务列表

## 第六步：应用调试功能

### 6.1 增强扫描功能
应用现在支持：
- **BLE扫描**：低功耗蓝牙扫描
- **传统蓝牙扫描**：经典蓝牙扫描
- **智能检测**：自动检测设备类型

### 6.2 连接状态监控
应用会显示：
- ✅ **连接成功**：设备已连接
- ❌ **连接失败**：详细的错误信息
- 🔍 **服务发现**：发现的服务和特征
- 📡 **数据通道**：通信通道状态

## 第七步：测试步骤

### 7.1 基础测试
1. **启动SerialTest** → 配置服务器
2. **启动Android应用** → 扫描设备
3. **连接设备** → 观察状态
4. **发送测试数据** → 验证通信

### 7.2 数据通信测试
1. **发送ECG测试数据**
2. **发送心跳包**
3. **发送设备信息查询**
4. **观察SerialTest接收情况**

## 常见错误及解决方案

### 错误1：扫描不到设备
**解决方案**：
- 检查设备可见性
- 重启蓝牙服务
- 检查距离和干扰

### 错误2：连接超时
**解决方案**：
- 重新配对设备
- 检查SerialTest状态
- 确认MAC地址正确

### 错误3：服务发现失败
**解决方案**：
- 检查设备协议兼容性
- 使用系统蓝牙设置连接
- 查看详细错误日志

## 下一步操作

1. **按照上述步骤逐一检查**
2. **记录每个步骤的结果**
3. **查看Android Studio的Logcat日志**
4. **如果仍有问题，提供详细的错误信息**

## 技术支持

如果问题仍然存在，请提供：
1. **手机型号和Android版本**
2. **电脑操作系统版本**
3. **SerialTest版本和配置**
4. **详细的错误日志**
5. **扫描和连接过程的截图**
