iB86/README.md

146 lines
3.6 KiB
Markdown
Raw Normal View History

2025-06-25 14:38:08 +08:00
# ASR5515串口通信Android应用
## 项目概述
这是一个用于与ASR5515设备进行串口通信的Android应用提供设备管理、状态监控、固件升级等功能。应用通过串口(/dev/ttyS3)与设备通信波特率115200。
## 主要功能
- 设备检查与状态监控
- 设备重启
- 日志控制
- 蓝牙版本查询
- 蓝牙固件升级
- 主机状态同步
- 心率血压血氧(HR/BP/BO)测量
- 自动测量
- 手动测量
- 动态测量功能
- Boot bin检查
- 采集频率设置
- 支持模拟模式(不实际连接硬件)
## 项目结构
```
com.ismart.ib86
├── app/ # 主应用相关
│ └── MainActivity.java
├── common/ # 公共组件
│ └── utils/ # 工具类
└── feature/ # 功能模块
└── serial/ # 串口通信实现
├── ASR5515DeviceManager.java
├── ASR5515Protocol.java
└── SerialPortHelper.java
```
## 核心类说明
### 1. ASR5515Protocol
协议核心类定义ASR5515设备的通信协议格式和命令。
**主要功能:**
- 定义设备信息结构(DeviceInfo)
- 定义各种命令(Commands)
- 定义帧结构(Frame)
- 提供各种请求和响应的创建与解析方法
### 2. SerialPortHelper
串口通信核心实现类封装了与ASR5515设备的通信逻辑。
**主要功能:**
- 串口初始化和管理
- 数据发送和接收
- ASR5515协议命令的封装
- 回调机制处理各种响应
- 支持模拟模式
### 3. ASR5515DeviceManager
设备管理核心类,提供高级设备管理接口。
**主要功能:**
- 设备状态检查
- 设备重启
- 日志控制
- 蓝牙版本查询
- 蓝牙升级
- 主机状态同步
### 4. MainActivity
应用主界面,提供用户交互界面。
## 使用说明
### 初始化串口
```java
SerialPortHelper serialPortHelper = new SerialPortHelper("/dev/ttyS1", 115200);
serialPortHelper.setDeviceStatusCallback(new DeviceStatusCallback() {
@Override
public void onDeviceCheckResponse(DeviceInfo deviceInfo) {
// 处理设备检查响应
}
// 实现其他回调方法...
});
serialPortHelper.open();
```
### 发送命令
```java
// 设备检查
serialPortHelper.checkDevice();
// 设备重启
serialPortHelper.restartDevice();
// 查询蓝牙版本
serialPortHelper.queryBtVersion();
// 蓝牙升级
serialPortHelper.upgradeBt();
```
### 关闭串口
```java
serialPortHelper.close();
```
## 开发环境要求
- Android Studio 最新稳定版
- Android SDK API 21+
- JDK 8+
- 支持串口的Android设备或模拟器
## 硬件连接指南
1. 确保ASR5515设备已正确供电
2. 使用USB转串口线连接设备与Android主机
3. 确认串口设备节点(通常为/dev/ttyS3)
4. 设置波特率为115200
## 构建与运行
1. 克隆项目
```bash
git clone https://github.com/ismart/ib86.git
```
2. 导入Android Studio
3. 配置设备连接参数(在MainActivity中修改)
4. 构建并运行应用
## 测试方法
1. 单元测试
```bash
./gradlew test
```
2. 功能测试
- 使用模拟模式测试基本功能
- 连接实际设备测试通信功能
- 测试各种测量功能(HR/BP/BO)
## 依赖项
- Android SerialPort API
- ASR5515通信协议(参考ASR-5515通信协议.docx)
## 注意事项
1. 需要设备支持串口通信
2. 需要正确配置串口名称和波特率
3. 模拟模式可用于开发测试
4. 实际使用时请参考ASR5515设备的具体通信协议
5. 测量功能需要ASR5515设备支持相应传感器