137 lines
3.5 KiB
Markdown
137 lines
3.5 KiB
Markdown
# 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数据了!🎯
|