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

3.6 KiB
Raw Blame History

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

应用主界面,提供用户交互界面。

使用说明

初始化串口

SerialPortHelper serialPortHelper = new SerialPortHelper("/dev/ttyS1", 115200);
serialPortHelper.setDeviceStatusCallback(new DeviceStatusCallback() {
    @Override
    public void onDeviceCheckResponse(DeviceInfo deviceInfo) {
        // 处理设备检查响应
    }
    
    // 实现其他回调方法...
});
serialPortHelper.open();

发送命令

// 设备检查
serialPortHelper.checkDevice();

// 设备重启
serialPortHelper.restartDevice();

// 查询蓝牙版本
serialPortHelper.queryBtVersion();

// 蓝牙升级
serialPortHelper.upgradeBt();

关闭串口

serialPortHelper.close();

开发环境要求

  • Android Studio 最新稳定版
  • Android SDK API 21+
  • JDK 8+
  • 支持串口的Android设备或模拟器

硬件连接指南

  1. 确保ASR5515设备已正确供电
  2. 使用USB转串口线连接设备与Android主机
  3. 确认串口设备节点(通常为/dev/ttyS3)
  4. 设置波特率为115200

构建与运行

  1. 克隆项目
git clone https://github.com/ismart/ib86.git
  1. 导入Android Studio
  2. 配置设备连接参数(在MainActivity中修改)
  3. 构建并运行应用

测试方法

  1. 单元测试
./gradlew test
  1. 功能测试
  • 使用模拟模式测试基本功能
  • 连接实际设备测试通信功能
  • 测试各种测量功能(HR/BP/BO)

依赖项

  • Android SerialPort API
  • ASR5515通信协议(参考ASR-5515通信协议.docx)

注意事项

  1. 需要设备支持串口通信
  2. 需要正确配置串口名称和波特率
  3. 模拟模式可用于开发测试
  4. 实际使用时请参考ASR5515设备的具体通信协议
  5. 测量功能需要ASR5515设备支持相应传感器