SDK_APP/NORDIC_UART_ADAPTATION.md

137 lines
3.5 KiB
Markdown
Raw Normal View History

2025-09-02 18:30:21 +08:00
# Nordic UART Service (NUS) 适配指南
## 🎯 设备协议识别
从你的设备日志可以看出你的ECG设备使用的是 **Nordic UART Service (NUS)** 协议:
```
发现服务: 6e400001-b5a3-f393-e0a9-68716563686f // NUS Service
发现特征: 6e400002-b5a3-f393-e0a9-68716563686f // NUS TX Characteristic
```
### Nordic UART Service 协议说明
**NUS (Nordic UART Service)** 是一个标准的BLE服务常用于
- ECG设备数据传输
- 传感器数据流
- 串口通信模拟
- 医疗设备通信
### UUID 含义
- **Service UUID**: `6e400001-b5a3-f393-e0a9-68716563686f`
- 这是Nordic UART Service的标准UUID
- 用于标识NUS服务
- **TX Characteristic UUID**: `6e400002-b5a3-f393-e0a9-68716563686f`
- 这是NUS的TX发送特征
- 用于接收设备发送的数据
- 支持通知Notify属性
## 🔧 适配完成
### 1. UUID配置 ✅
```kotlin
// 服务UUID - 已添加到列表首位
UUID.fromString("6e400001-b5a3-f393-e0a9-68716563686f")
// 特征UUID - 已添加到列表首位
UUID.fromString("6e400002-b5a3-f393-e0a9-68716563686f")
```
### 2. 优先级设置 ✅
- **NUS UUID已放在列表首位**
- **优先匹配你的设备协议**
- **确保快速连接**
### 3. 数据接收 ✅
- **自动启用特征通知**
- **开始接收ECG数据流**
- **数据传递给处理模块**
## 📱 测试步骤
### 第一步:重新连接设备
1. **断开当前连接**
2. **重新点击"连接蓝牙"**
3. **选择你的设备**
### 第二步:验证连接
1. **观察连接过程**
```
蓝牙状态: 设备已连接
蓝牙状态: 服务发现成功
蓝牙状态: 发现服务: 6e400001-b5a3-f393-e0a9-68716563686f
蓝牙状态: 发现特征: 6e400002-b5a3-f393-e0a9-68716563686f
```
2. **检查UUID匹配**
```
找到匹配的服务: 6e400001-b5a3-f393-e0a9-68716563686f
找到匹配的特征: 6e400002-b5a3-f393-e0a9-68716563686f
已启用特征通知
数据通道已建立,开始接收数据
```
### 第三步:验证数据接收
1. **检查状态信息**
- ✅ "数据通道已建立,开始接收数据"
- ✅ "接收到数据: X 字节"
2. **检查ECG图表**
- ✅ 图表变为可见
- ✅ 开始显示实时波形
## 🔍 Nordic UART Service 特点
### 1. 数据格式
- **原始字节流**:设备直接发送原始数据
- **无协议头**:通常没有复杂的协议封装
- **连续传输**:数据流连续传输
### 2. 常见用途
- **ECG数据**:心电信号实时传输
- **传感器数据**:各种生理参数
- **控制命令**:设备控制指令
### 3. 优势
- **标准化**:广泛使用的标准协议
- **兼容性好**:支持多种设备
- **实时性**:低延迟数据传输
## 🎉 预期效果
### 连接成功:
- ✅ 立即找到匹配的NUS服务
- ✅ 快速建立数据通道
- ✅ 开始接收ECG数据
### 数据处理:
- ✅ 数据传递给DataManager
- ✅ 进行通道映射和滤波
- ✅ 显示实时ECG波形
### 应用功能:
- ✅ 实时心率计算
- ✅ 信号质量评估
- ✅ 12导联ECG分析
## ⚠️ 注意事项
### 1. 数据格式
- NUS通常发送原始数据
- 可能需要特定的数据解析逻辑
- 注意字节序和数据对齐
### 2. 设备状态
- 确保设备处于数据发送状态
- 某些设备需要特定命令激活数据流
- 检查设备电池和连接状态
### 3. 数据质量
- 监控数据接收频率
- 检查数据包大小是否合理
- 观察信号质量指标
现在请重新连接你的设备应该能够成功建立数据通道并开始接收ECG数据了🎯