174 lines
5.6 KiB
Markdown
174 lines
5.6 KiB
Markdown
# 蓝牙指令使用说明
|
||
|
||
## 功能概述
|
||
本应用支持通过蓝牙连接设备后,发送指令让设备开始发送单导联ECG数据,然后实时显示ECG曲线图。专门优化用于处理单导联蓝牙实时数据,不再读取12导联文件数据。
|
||
|
||
## 支持的协议
|
||
|
||
### 轻迅蓝牙通信协议 V1.0.1
|
||
本应用完全支持轻迅蓝牙通信协议,包括:
|
||
- 数据服务 UUID: `6e400001-b5a3-f393-e0a9-68716563686f`
|
||
- Write Characteristic UUID: `6e400002-b5a3-f393-e0a9-68716563686f`
|
||
- Notify Characteristic UUID: `6e400003-b5a3-f393-e0a9-68716563686f`
|
||
|
||
## 使用步骤
|
||
|
||
### 1. 连接蓝牙设备
|
||
- 点击"连接蓝牙"按钮
|
||
- 选择您的ECG设备
|
||
- 等待连接成功
|
||
|
||
### 2. 发送指令
|
||
连接成功后,点击"发送指令"按钮,会弹出指令选择对话框:
|
||
|
||
#### 指令类型选择:
|
||
- **轻迅协议指令**:使用轻迅蓝牙通信协议的标准指令
|
||
- **通用指令**:使用通用的字符串或十六进制指令
|
||
- **自定义指令**:输入自定义指令
|
||
|
||
### 3. 轻迅协议指令
|
||
选择"轻迅协议指令"后,会显示以下选项:
|
||
|
||
#### 采集控制:
|
||
- **开启采集**:发送功能码 `0x0001` 开启数据采集
|
||
- **停止采集**:发送功能码 `0x0001` 停止数据采集
|
||
|
||
#### 设备信息:
|
||
- **查询设备信息**:发送功能码 `0x0000` 查询设备参数
|
||
- **查询电量**:发送功能码 `0x0002` 查询设备电量
|
||
|
||
#### 滤波控制:
|
||
- **工频滤波开关**:发送功能码 `0x000A` 控制工频滤波
|
||
|
||
### 4. 通用指令
|
||
选择"通用指令"后,会显示以下选项:
|
||
- **开始发送数据**:让设备开始发送数据流
|
||
- **停止发送数据**:让设备停止发送数据
|
||
- **开始ECG测量**:开始ECG信号测量
|
||
- **停止ECG测量**:停止ECG信号测量
|
||
|
||
#### 常用指令格式:
|
||
- **字符串指令**:`START_DATA`, `STOP`, `BEGIN`, `END`
|
||
- **十六进制指令**:`0x01`, `0x02`, `0x53 0x54 0x41 0x52 0x54`
|
||
|
||
### 5. 查看实时图表
|
||
发送指令成功后,应用会自动启动数据处理并立即开始绘制单导联ECG图表:
|
||
- **自动启动**:发送指令后自动启动数据处理,无需手动点击"启动程序"
|
||
- **实时显示**:单导联数据接收后立即更新图表,无需等待
|
||
- **单导联处理**:专门处理单导联ECG数据,主要显示主导联信号
|
||
- **ECG节律视图**:显示10秒的连续单导联信号
|
||
- **ECG波形视图**:显示2.5秒的放大单导联信号
|
||
|
||
### 6. 其他功能
|
||
- **陷波滤波**:开启/关闭50Hz陷波滤波器
|
||
- **清空数据**:清空所有图表数据
|
||
- **停止程序**:停止数据处理
|
||
|
||
## 轻迅协议指令详解
|
||
|
||
### 采集控制指令
|
||
|
||
#### 开启采集 (功能码: 0x0001)
|
||
```
|
||
数据包格式: [功能码(2字节)] [数据长度(2字节)] [采集开关(1字节)] [时间戳(8字节)] [CRC16(2字节)]
|
||
示例: 01 00 09 00 01 [时间戳8字节] [CRC16 2字节]
|
||
```
|
||
|
||
**时间戳选项:**
|
||
- **立即开启**:时间戳设为0
|
||
- **延迟开启**:时间戳设为未来时间(毫秒)
|
||
- **指定时间戳**:自定义时间戳
|
||
|
||
#### 停止采集 (功能码: 0x0001)
|
||
```
|
||
数据包格式: [功能码(2字节)] [数据长度(2字节)] [采集开关(1字节)] [时间戳(8字节)] [CRC16(2字节)]
|
||
示例: 01 00 09 00 00 [时间戳8字节] [CRC16 2字节]
|
||
```
|
||
|
||
### 设备信息指令
|
||
|
||
#### 查询设备信息 (功能码: 0x0000)
|
||
```
|
||
数据包格式: [功能码(2字节)] [数据长度(2字节)] [CRC16(2字节)]
|
||
示例: 00 00 00 00 [CRC16 2字节]
|
||
```
|
||
|
||
#### 查询电量 (功能码: 0x0002)
|
||
```
|
||
数据包格式: [功能码(2字节)] [数据长度(2字节)] [CRC16(2字节)]
|
||
示例: 02 00 00 00 [CRC16 2字节]
|
||
```
|
||
|
||
### 滤波控制指令
|
||
|
||
#### 工频滤波开关 (功能码: 0x000A)
|
||
```
|
||
数据包格式: [功能码(2字节)] [数据长度(2字节)] [开关状态(1字节)] [CRC16(2字节)]
|
||
开启示例: 0A 00 01 00 01 [CRC16 2字节]
|
||
关闭示例: 0A 00 01 00 00 [CRC16 2字节]
|
||
```
|
||
|
||
## 通用指令示例
|
||
|
||
### 开始数据流
|
||
```
|
||
START_DATA
|
||
START
|
||
0x01
|
||
```
|
||
|
||
### 停止数据流
|
||
```
|
||
STOP_DATA
|
||
STOP
|
||
0x02
|
||
```
|
||
|
||
### 开始ECG测量
|
||
```
|
||
START_ECG
|
||
ECG_START
|
||
0x03
|
||
```
|
||
|
||
### 停止ECG测量
|
||
```
|
||
STOP_ECG
|
||
ECG_STOP
|
||
0x04
|
||
```
|
||
|
||
## 注意事项
|
||
1. 确保蓝牙设备已正确连接
|
||
2. 根据您的设备协议选择合适的指令类型
|
||
3. 轻迅协议设备会自动计算CRC16校验,确保数据完整性
|
||
4. 如果指令发送失败,请检查设备是否支持该指令
|
||
5. 可以尝试不同的指令格式(字符串或十六进制)
|
||
|
||
## 调试信息
|
||
应用会在状态栏显示详细的调试信息,包括:
|
||
- 蓝牙连接状态
|
||
- 指令发送结果(包括轻迅协议数据包内容)
|
||
- 数据接收情况
|
||
- 图表更新状态
|
||
|
||
## 轻迅协议特性
|
||
- **自动CRC16校验**:所有指令包都包含CRC16-CCITT-FALSE校验
|
||
- **时间戳同步**:支持指定时间戳进行同步采集
|
||
- **工频滤波控制**:可动态开启/关闭工频滤波算法
|
||
- **设备信息查询**:支持查询设备状态和电量信息
|
||
- **自动数据处理**:发送指令后自动启动数据处理,无需手动操作
|
||
- **实时图表更新**:单导联数据接收后立即更新图表,提供最佳用户体验
|
||
- **单导联优化**:专门优化处理单导联ECG数据,不再处理12导联文件数据
|
||
|
||
## 测试功能
|
||
- **点击"启动程序"按钮**:立即生成测试数据并显示图表,用于验证图表显示功能
|
||
- **长按"启动程序"按钮**:生成更复杂的模拟ECG数据
|
||
- **蓝牙数据测试**:当接收到蓝牙数据但原生解析器无法解析时,会自动生成测试数据
|
||
|
||
### 测试数据说明
|
||
应用会生成模拟的单导联ECG波形,包含:
|
||
- P波、QRS复合波、T波等典型ECG特征
|
||
- 适当的噪声模拟真实信号
|
||
- 500个数据点用于充分显示波形
|