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