# PyUpConsole **Repository Path**: chenxi666/py-up-console ## Basic Information - **Project Name**: PyUpConsole - **Description**: 升级用上位机,python版 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-01 - **Last Updated**: 2025-09-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # PyUpConsole (升控台) 升级控制工具 ![Python](https://img.shields.io/badge/Python-3.6%2B-blue) ![License](https://img.shields.io/badge/License-MIT-green) 一个基于Python和Tkinter的图形界面升级控制工具,支持连接到服务器进行消息通信,并具备读取和显示BIN/HEX文件的功能,支持固件升级流程。 ## 功能特性 - **网络通信**: 通过TCP/IP协议与服务器建立稳定连接,支持消息的发送和接收,确保通信可靠性 - **图形界面**: 基于Tkinter构建的直观用户界面,布局合理,操作简便,支持基本主题定制 - **文件处理**: 支持BIN(二进制)和HEX(十六进制)文件的读取、信息显示和内容预览 - **固件升级**: 提供完整的BIN和HEX格式固件升级流程,包含进度显示和状态反馈 - **格式转换**: 实现BIN和HEX文件之间的双向转换,满足不同场景需求 - **文件清理**: 支持逐个选择并清除已加载的文件,提供精细化的文件管理(V1.6新增) - **时间戳**: 可选择在消息中添加时间戳,便于跟踪通信历史 - **实时显示**: 消息实时显示机制,支持自动滚动到底部,确保不错过最新信息 - **状态指示**: 直观的连接状态指示器,清晰展示当前网络连接状况 - **命令历史**: 支持查看和重用历史命令,提高操作效率 ## 界面预览 ![主界面](screenshots/main_interface.png) ## 安装要求 - Python 3.6 或更高版本 - Tkinter (通常随Python一起安装) ## 安装步骤 1. 克隆仓库: ```bash git clone https://gitee.com/chenxi666/py-up-console.git ``` 2. 进入项目目录: ```bash cd py-up-console ``` 3. 安装依赖: ```bash pip install -r requirements.txt ``` 4. 运行程序: ```bash python client_gui.py ``` ## 使用说明 ### 连接到服务器 1. 在"服务器IP"输入框中输入服务器IP地址(默认为127.0.0.1) 2. 在"端口"输入框中输入端口号(默认为7878) 3. 点击"连接"按钮建立连接 ### 发送消息 1. 在底部的文本框中输入要发送的消息 2. 按 `Ctrl+Enter` 或点击"发送"按钮发送消息 3. 可选择是否在消息中添加时间戳 ### 读取BIN/HEX文件 1. 点击菜单栏的"文件" -> "打开BIN/HEX文件" 2. 选择要读取的BIN或HEX文件 3. 程序将显示文件信息,并可选择查看文件内容 ## 项目结构 ``` PyUpConsole/ ├── client_gui.py # 主程序,包含网络客户端GUI ├── client_gui.spec # PyInstaller打包配置文件 ├── file_handler.py # 文件处理模块 ├── hex_loader.py # HEX文件加载器和升级流程模块 ├── bin_loader.py # BIN文件加载器和升级流程模块 ├── json_bin_sender.py # JSON格式BIN文件发送器模块 ├── firmware_upgrader.py # 固件升级核心模块 ├── window_pos.json # 窗口位置配置文件 ├── commands.json # 命令配置文件 ├── requirements.txt # 依赖文件 ├── FINAL_TEST_REPORT.md # 最终测试报告 ├── UPGRADE_FIX_README.md # 升级修复说明 └── gui_modules/ # GUI功能模块 ├── network_manager.py # 网络管理模块 ├── file_processor.py # 文件处理模块 ├── firmware_upgrade.py # 固件升级模块 └── can_upgrade.py # CAN升级模块 ``` ## 核心模块 ### client_gui.py 网络客户端的主界面,包含以下功能: - 服务器连接管理 - 消息发送和接收 - 用户界面布局和样式 - 菜单栏和文件操作 ### file_handler.py 文件处理模块,提供以下功能: - BIN/HEX文件选择和读取 - 文件信息获取和显示 - 文件内容预览 ### bin_loader.py BIN文件处理模块,提供以下功能: - BIN文件加载到内存 - BIN文件信息查看 - BIN到HEX格式转换 - 固件升级流程支持 ### hex_loader.py HEX文件处理模块,提供以下功能: - HEX文件解析和加载到内存 - HEX文件信息查看 - HEX到BIN格式转换 - 固件升级流程支持 ## 维护日志 ### 2025-08-06 - 发布V1.6.0版本 - 版本更新:将软件版本从v1.5.0 beta更新为V1.6.0 - 功能优化:改进文件清理功能,支持逐个选择清除已加载文件 - 代码优化:清理重复代码和无效文件,提高代码可维护性 ### 2025-08-05 - 测试报告和代码优化 - 新增FINAL_TEST_REPORT.md最终测试报告 - 优化网络通信模块代码 - 清理临时文件和构建目录 ### 2025-08-03 - 界面优化和代码清理 - 界面优化: - 调整连接设置和命令列表布局 - 改进消息框边框样式 - 优化整体视觉效果 - 代码清理: - 删除所有测试文件(test_*.py) - 清理build目录 - 删除.pyc临时文件 - 保留所有.bin测试文件 ### 2025-08-02 - 发布V1.0版本 - 版本特性: - 基础网络通信功能 - 图形用户界面 - BIN/HEX文件处理 - 固件升级流程 - 文件格式转换功能 ### 2025-08-02 - 清理无效文件和代码: - 删除临时文件tempCodeRunnerFile.py - 删除测试用二进制文件(513_bytes.bin, test_*.bin) - 清理__pycache__缓存目录 - 修改项目名称: - 中文名称改为"升控台" - 英文名称改为"PyUpConsole" - 更新GUI界面: - 窗口标题从"网络客户端"改为"升控台" - 版本信息从"网络客户端 v1.0"改为"升控台 v1.0" ## 开发计划 ### 版本路线图 - **V1.0**: 基础功能实现 (已发布) - **V1.5**: 界面优化和代码清理 (已发布) - **V1.6**: 文件清理功能增强和版本更新 (当前版本) - **V2.0**: 高级功能和性能优化 (计划中) ### 已实现功能 - [x] **网络通信**: TCP/IP协议连接,消息发送和接收 - [x] **图形界面**: 基于Tkinter的用户友好界面,支持基本操作 - [x] **文件处理**: BIN/HEX文件读取、信息显示和内容预览 - [x] **固件升级**: 支持BIN和HEX格式固件的升级流程,带进度显示 - [x] **格式转换**: BIN和HEX文件之间的相互转换 - [x] **状态指示**: 直观的连接状态指示器和消息时间戳 - [x] **测试报告**: 生成详细的最终测试报告 - [x] **打包优化**: 改进PyInstaller打包配置,生成更高效的可执行文件 - [x] **文件清理**: 支持逐个选择清除已加载文件的功能 (V1.6新增) ### 计划功能 (V2.0及以后) #### 优先级高 - [ ] **批量文件传输**: 支持同时传输多个文件,带批量进度显示 - [ ] **配置管理**: 配置文件的保存、加载和导入导出功能 - [ ] **进度可视化**: 更直观的升级进度条和状态图表 - [ ] **错误处理**: 完善的错误日志记录系统和问题诊断工具 #### 优先级中 - [ ] **自动重连**: 网络断开后的自动重连机制 - [ ] **主题定制**: 支持多种UI主题和自定义样式 - [ ] **多语言**: 支持中英文等多种语言切换 #### 优先级低 - [ ] **CAN总线增强**: 扩展CAN总线升级功能,支持更多协议 - [ ] **插件系统**: 支持第三方插件扩展功能 - [ ] **远程控制**: 通过网络远程控制升级过程 ## 贡献 欢迎提交Issue和Pull Request来改进这个项目。 ## 许可证 本项目采用MIT许可证,详情请见 [LICENSE](LICENSE) 文件。 ## 联系方式 主要作者: - CSG百源聚辉-CHENXI - GPT4.1 - Deepseek-R1 - Qwen3-Coder 项目地址: https://gitee.com/chenxi666/py-up-console