SDK_APP/README_蓝牙指令使用说明.md

174 lines
5.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 蓝牙指令使用说明
## 功能概述
本应用支持通过蓝牙连接设备后发送指令让设备开始发送单导联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个数据点用于充分显示波形