Skip to content

一个基于Python Tkinter的串口通讯工具,支持节点发现、文本消息和文件传输功能。

Notifications You must be signed in to change notification settings

hootrhino/goodtrans

Repository files navigation

串口通讯工具

一个基于Python Tkinter的串口通讯工具,支持节点发现、文本消息和文件传输功能。

功能特性

  • 🔌 串口连接: 支持多种串口和波特率配置
  • 🔍 节点发现: 自动发现网络中的其他节点
  • 💬 文本通讯: 支持节点间的文本消息传输
  • 📁 文件传输: 支持文件的发送和接收
  • 🔐 安全验证: 使用验证码进行节点身份验证
  • 🎨 图形界面: 友好的Tkinter GUI界面

安装

开发环境

  1. 安装Python 3.7或更高版本
  2. 安装依赖:
pip install -r requirements.txt

使用预编译版本

  1. 从Release页面下载串口通信工具.exe
  2. 直接运行即可使用

使用方法

启动程序

# 开发模式
python serial_gui.py

# 或运行打包版本
./串口通信工具.exe

使用步骤

  1. 配置节点信息:

    • 设置节点地址(唯一标识符)
    • 设置验证码(用于安全验证)
    • 选择串口号和波特率
  2. 连接串口:

    • 点击"刷新串口"获取可用串口列表
    • 点击"连接"建立串口连接
  3. 发现节点:

    • 点击"发现节点"搜索网络中的其他节点
    • 发现的节点会显示在节点列表中
  4. 发送消息:

    • 在节点列表中选择目标节点
    • 在消息输入框输入文本
    • 按回车键或点击"发送"按钮
  5. 发送文件:

    • 点击"浏览"选择要发送的文件
    • 在节点列表中选择目标节点
    • 点击"发送文件"开始传输

通讯协议

本工具使用自定义的串口通讯协议,包含以下特性:

  • 数据格式: 二进制协议,包含包头、类型、长度、地址、验证码、负载和CRC校验
  • 消息类型: 支持节点发现、文本消息、文件传输等多种消息类型
  • 安全机制: 使用验证码进行节点身份验证
  • 错误检测: CRC16校验确保数据传输的完整性

文件说明

核心文件

  • serial_gui.py: 主程序,包含GUI界面
  • serial_manager.py: 串口管理器,处理串口通信和协议
  • protocol.py: 通讯协议定义
  • requirements.txt: 项目依赖

构建和部署

  • build.py: 一键打包脚本
  • init_git.py: Git仓库初始化脚本
  • BUILD_GUIDE.md: 构建和发布指南
  • VERSION: 当前版本号

文档

  • README.md: 项目说明
  • USAGE.md: 使用指南
  • PAIRING_GUIDE.md: 配对指南

注意事项

  1. 确保所有节点使用相同的验证码
  2. 节点地址必须在网络中唯一
  3. 文件传输时接收的文件会保存在程序目录下
  4. 节点30秒无响应会自动从列表中移除

故障排除

常见问题

  • 无法发现节点: 检查串口连接和验证码是否一致
  • 文件传输失败: 检查文件路径和串口连接状态
  • 消息发送失败: 确保已选择目标节点且串口已连接

构建问题

  • 打包失败: 检查PyInstaller是否正确安装
  • 文件太大: 使用build.py中的排除模块功能
  • 运行错误: 查看dist目录下的日志文件

获取帮助

  • 查看BUILD_GUIDE.md获取详细构建指南
  • 提交Issue到项目仓库
  • 查看日志文件获取错误详情

About

一个基于Python Tkinter的串口通讯工具,支持节点发现、文本消息和文件传输功能。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages