iB86/README.md
2025-06-25 14:38:08 +08:00

146 lines
3.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.

# 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设备支持相应传感器