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数据了!🎯
|