Skip to main content

带 GUI 的跨平台串行调试助手

项目描述

COMTool

英语 |中文

GitHub 派皮 GitHub 工作流状态 GitHub 存储库大小 GitHub 回购星星

GitHub所有版本 PyPI - 下载 源锻造

python编写的一个跨平台串口调试工具


视窗 Linux 树莓派 苹果系统
comtool Windows 屏幕截图 comtool linux 截图 comtool 树莓派截图
白色主题 深色主题 协议插件 TCP/UDP 终端 图形
comtool白色主题 comtool 深色主题 comtool 协议插件 tcp udp 插件 终端 插件图

截图可能是旧版本,最新的可能完全不一样!但性能更好、更易用、更优雅

特征

  • 跨平台(Windows、Linux、macOS、Raspberry Pi)(使用 python 编写代码,前提是您的平台支持 python)
  • 可靠的稳定性,没有 UI 冻结
  • 多语言支持
  • 配置保存和自动加载(退出时自动保存设置)
  • 多字符编码支持(ASII,GBK(Chinese),UTF-8,UTF-16等)
  • 夜间主题和白色主题(如果需要,可以创建更多主题)
  • 多种连接类型支持,并支持添加连接插件
    • 串行端口
      • 串行自动检测,并记住最后选择的支持
      • 串行离线自动重新连接支持
      • 端口波特率(任何值)字节大小奇偶校验停止位流控制等设置
      • rts & dtr 手动控制
    • TCP/UDP 支持,包括客户端和服务器模式
    • SSH 客户端支持
  • 插件支持(创建插件见docs/plugins.md),内置插件:
    • dbg插件,支持基本的发送接收调试操作
      • 基本发送/接收数据(ascii 和 hex)
      • 发送和接收数据计数
      • 清除接收数据区
      • 自动换行
      • 预定的自动发送
      • 发送历史并再次选择发送
      • 自定义大多数使用数据项和一键发送
      • CR LF(\r\n) 或 LF(\n) 支持
      • Ctrl+Enter发送等快捷键。更多见帮助
      • 接收和发送记录支持添加时间戳并将日志保存到文件
      • 发送文件
      • unix 终端样式颜色支持(例如\x1b[33;42mhello\x1b[0mhello2
      • 转义字符支持等\r \n \t \x
    • 协议插件,自定义自己的协议
      • 自定义编解码方式
      • 自定义快捷键
      • 转义字符支持等\r \n \t \x
    • 终端插件,基本终端交互
    • 图形插件
      • 支持动态添加图表小部件,添加您需要的图表小部件
      • 实时显示折线图,支持自定义协议头(支持转义字符)
      • 可自定义按钮发送数据,支持快捷键

安装

COMTool有两种安装方式:

安装二进制

视窗

你可以通过 scoop 安装,由StudentWeis维护

scoop bucket add Nightly https://github.com/StudentWeis/Nightly
scoop install comtool

Linux

Linux 版本太多,所以我们只为 ubuntu 编译二进制文件。其他发行版请从 pypi 或源代码安装。如果您对打包跨平台二进制文件(如 flatpak 或 appimage)有任何想法,您可以提交拉取请求或添加问题来告诉我如何

Arch Linux 及其衍生发行版可以从 AUR 安装(由taotieren维护):

# Release version
yay -S python-comtool
# Development version
yay -S python-comtool-git
  • 在发布页面下载发布,并从文件中提取文件.zip,点击comtool运行

  • 将当前用户添加到拨出组以避免sudo命令

sudo usermod -a -G dialout $USER
grep 'dialout' /etc/group
reboot #must reboot to take effect

树莓派

只需打开终端,输入以下命令:

sudo apt install git
git clone https://github.com/Neutree/COMTool.git --depth=1
cd COMTool
pip3 install .
# or
# python setup.py bdist_wheel
# sudo pip3 install dist/COMTool-*.*.*-py3-none-any.whl
  • 将当前用户添加到拨出组以避免sudo命令
sudo usermod -a -G dialout $USER
grep 'dialout' /etc/group
reboot #must reboot to take effect

然后通过命令享受

comtool

苹果系统

如果要打开多个comtool,只需右键单击停靠图标,然后单击New Window

或者您可以打开终端并输入

open -n /Application/comtool.app

或者

cd /Applicatioin/comtool.app/Contents/MacOS
./comtool

因为程序没有经过开发者的签名,所以第一次打开时会发出警告。您需要前往Settings -> Security and Privacy -> General查看提示comtool并单击Open anyway

Windows Defender 显示 comtool 二进制文件是恶意软件?

如果你的程序是从这里下载的,没关系,打包问题导致的错误,所有的源代码和打包脚本都在这里,甚至打包进度都是通过github操作完全自动化的,没有人手动打包。

如果您仍然有疑虑,只需下载源代码以使用 python 运行或自己打包。

当然,如果您找到更好的打包方式,请打开 issue 告诉我们。

安装python包

对于开发人员或二进制不支持您的平台的,使用这种方式安装

  • 先安装Python3

    • 如果是 windows 或 macOS:下载 python3
    • 如果是 linux:例如 ubuntu sudo apt install python3 python3-pip,macOSbrew install python3 python3-pip
  • 确保你有pip

pip3 --version
# or
pip --version

如果没有这个命令,安装

python3 -m ensurepip
  • 然后从 pypi 安装:
pip3 install comtool
comtool

对于中文,您可以通过以下方式使用金枪鱼镜像更快地下载:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple comtool
  • 或者你可以直接从github安装
pip3 install git+https://github.com/Neutree/COMTool
  • 或者你可以下载源代码,然后从源代码安装
    • 下载源代码,在网页下载或git clone https://github.com/Neutree/COMTool.git
    • 安装
cd COMTool
pip install .

或构建自己的轮子二进制文件

pip3 install wheel
python setup.py bdist_wheel
pip install dist/COMTool-*.*.*-py3-none-any.whl
comtool
  • 顺便说一句,您应该将当前用户添加到拨出组以避免sudo命令
sudo usermod -a -G dialout $USER
grep 'dialout' /etc/group
reboot #must reboot to take effect

在 Linux 上手动将应用添加到开始菜单

  • tool/comtool.desktop复制到/usr/share/applications文件夹(可能需要root用户这样做)
  • 编辑/usr/share/applications/comtool.desktop,将图标路径更改Icon=/usr/local/COMTool/assets/logo.ico为实际图标路径,您也可以使用您的爱图标
  • 然后您可以在开始菜单(或应用中心)中找到 comtool 应用

打包二进制

pip3 install pyinstaller
python pack.py
cd dist
ls

发展

  1. 安装 python(>=3.8) 和 pip3

Linux:

sudo apt install python3 python3-pip

Windows: 下载 python3

  1. 安装包pyserialPyQt5(在requirements.txt中列出)
cd COMTool
pip3 install -r requirements.txt

在 Raspberry 上,python3-pyqt5可以通过以下apt命令安装:

sudo pip3 install --upgrade pyserial
sudo apt install python3-pyqt5
  1. 克隆项目
git clone https://github.com/Neutree/COMTool.git
  1. 代码,解决错误或添加新功能

推荐PyCharmIDE 或vscode上手

运行方法:先生成翻译二进制文件(.mo

python COMTool/i18n.py finish

然后执行主程序

python COMTool/Main.py
  1. 拉取请求

在几分钟内编写自己的插件

请参阅docs/plugins.md

添加翻译

  • 先安装环境(python pip包在requirments.txt)
apt install python3 python3-pip
pip3 install -r requirements.txt
  • 如果您需要添加新语言,或跳过

在i18n.py中添加语言环境

locales=["en", "zh_CN", "zh_TW", "ja"]

将您的语言添加到此列表,语言环境可以在这里维基百科找到,zh_CN例如表示中国大陆,对应的语言是简体字,zh_TW表示中国台湾,语言是繁体字,也可以只zh使用简体字。

  • 生成翻译文件
python i18n.py prepare

此命令将.po在 locales 文件夹中生成文件

  • 手动翻译

然后翻译.po文件,这是一种标准的翻译文件格式,名为gettext

  • 生成二进制翻译文件

为了使程序读取更快,文本文件.po应转换为二进制文件.mo,只需运行命令:

python i18n.py finish

然后你可以看到locales/<locale>/LC_MESSAGES/messages.mo文件

  • 测试

运行应用程序,您将看到新的翻译

  • 拉取请求

创建一个 PR 以合并您对此 repo的更改

问题与改进

在此处创建问题

执照

LGPL-3.0 许可证

并将这些开源项目用作库:

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

COMTool-3.1.2.tar.gz (785.4 kB 查看哈希)

已上传 source

内置分布

COMTool-3.1.2-py3-none-any.whl (822.0 kB 查看哈希)

已上传 py3