# One-line-test **Repository Path**: ASD123-dsh/One-line-test ## Basic Information - **Project Name**: One-line-test - **Description**: 一个基于 Python (PyQt5) 开发的专业级 PC 端串口测试工具,用于模拟电动车控制器向多功能仪表发送“一线通”协议数据。支持多种主流厂商协议,广泛应用于仪表研发、生产测试及故障排查场景。 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-01-27 - **Last Updated**: 2026-07-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AD仪表一线通协议测试工具 一个基于 Python (PyQt5) 开发的专业级 PC 端串口测试工具,用于模拟电动车控制器向多功能仪表发送“一线通”协议数据。支持多种主流厂商协议,广泛应用于仪表研发、生产测试及故障排查场景。 ## 🌟 主要功能 - **多协议支持**:内置十六种主流协议,支持实时动态切换: - 瑞轮协议 (V1.56) - FZ-sif 协议 (BL1832 Y62/Y45/Y34/Y29) - 新日协议 (国标电摩) - 杭州安显协议 (无锡星伟) - 常州新思维协议 - 无锡一格 Y67 协议 - 无锡台铃 Y34B 协议 - 无锡台铃 Y34F 协议 - 雅迪标准协议 1.0 - 优仪宝一线通协议 - 精显一线通协议 - 东威 GTXH 协议 - 芯驰 BMS 协议 - 绿源 BMS 一线通协议 - 一线通--锂电池BMS - 电池单线通讯协议 - **全参数仿真**: - **基础数据**:车速、转速、里程、电池电量 (SOC)、电压档位。 - **状态指示**:左/右转向、远/近光灯、刹车、巡航、故障指示(霍尔/转把/电机缺相等)。 - **特殊功能**:支持能量回收(负电流)、TCS 状态、充电模式、挡位显示(P/1/2/3/4/R)等。 - **灵活配置**: - **串口管理**:自动扫描 COM 口,支持波特率和 Tosc (位宽) 自定义配置。 - **场景预设**:一键切换“正常运行”、“能量回收”、“故障报警”等典型测试场景。 - **深度定制**:支持每一位 Status 的手动勾选与实时发送。 - **实时监控**:提供 Hex 格式的数据帧发送日志与时间戳记录,方便时序分析。 ## 🛠️ 安装说明 ### 环境要求 - Windows 10/11 - Python 3.8+ ### 步骤 1. 克隆或下载本项目到本地。 2. 安装依赖库: ```bash pip install -r requirements.txt ``` *依赖项包括:PyQt5, pyserial* ## 🚀 使用指南 1. **连接硬件**:使用 USB 转 TTL 模块连接电脑与待测仪表的一线通信号线(通常为绿色或黄色线,需共地)。 2. **启动软件**: ```bash python main.py ``` 3. **建立通信**: - 在左上角选择对应的 COM 口。 - 点击 **连接** 按钮。 4. **配置参数**: - 选择目标协议(如“瑞轮协议”)。 - 调整 `Tosc` 值(默认 100μs,部分仪表可能需要调整为 200μs 或其他)。 5. **发送数据**: - **手动模式**:勾选界面上的状态位,数据会实时更新。 - **自动模式**:点击“循环发送”,软件将以固定间隔(默认 1s)持续发送数据帧。 - **包组循环**:点击“包组配置”可维护多组自定义帧,再用“包组循环”按顺序循环发送。 ## 📂 项目结构 ``` sifexe/ ├── main.py # 程序入口 ├── gui/ # 界面逻辑 │ ├── main_window.py # 主窗口实现 │ └── ... ├── protocol/ # 协议核心 │ └── protocol_handler.py # 协议封包与校验算法 ├── serial_comm/ # 通信模块 │ └── serial_manager.py # 串口收发控制 ├── PDF/ # 协议参考文档 └── requirements.txt # 项目依赖 ``` ## 📄 协议说明 本项目严格遵循各厂商提供的技术规范文档开发(详见 `PDF/` 目录): - 帧结构通常为:`起始位 + DATA0~DATA11 + 校验位`。 - 校验方式多为异或校验 (XOR)。 - 支持协议专用差异化处理,例如: - 常州新思维协议的 `PlusCode` 加密与自动序号 - FZ-sif 协议的 BL1832 12 字节帧格式、固定 `0x08/0x61` 帧头与专用电压枚举 - 杭州安显协议的 `Pulse` 加密与自动序号 - 无锡一格 Y67 的固定 `0x10 / 0x95` 帧头 - 无锡台铃 Y34B 协议的 13 字节帧、国标/电轻摩区分位与扩展 `DATA11` 状态 - 无锡台铃 Y34F 协议的 15 字节帧、`TCS/HDC` 指示、团标电池故障位与实时电压字段 - 雅迪协议的电量/电流百分比编码 - 优仪宝一线通协议的固定 `0x08 / 0x61` 帧头、Status1 低 4 位映射与电量/电流百分比字段 - 精显一线通协议的 12 字节帧、固定 `0x07` 设备编码、`Data1` 自动递增、`Data2/6` 不加密、其余指定字段走 `PlusCod`,默认通过 UART 上送给转码硬件 - 绿源 BMS 一线通协议的 15 字节帧、累加和校验、按 bit7 到 bit0 的脉宽发送 - 电池单线通讯协议的 6 字节 SOC 帧、累加和校验、低位先发脉宽发送 ## 🤝 贡献 欢迎提交 Issue 或 Pull Request 来增加新协议支持或改进功能。 ## 📜 许可证 MIT License