COMTool: Cross platform Serial Assistant ( 跨平台 串口调试助手 串口助手 网络调试助手 终端工具 linux windows macOS Raspberry Pi )

您所在的位置:网站首页 跨平台工具 COMTool: Cross platform Serial Assistant ( 跨平台 串口调试助手 串口助手 网络调试助手 终端工具 linux windows macOS Raspberry Pi )

COMTool: Cross platform Serial Assistant ( 跨平台 串口调试助手 串口助手 网络调试助手 终端工具 linux windows macOS Raspberry Pi )

2024-06-13 13:50| 来源: 网络整理| 查看: 265

COMTool

English | 中文

GitHub PyPI GitHub Workflow Status GitHub repo size GitHub Repo stars

GitHub all releases PyPI - Downloads SourceForge

跨平台开源串口调试助手,使用 python 编写

Windows Linux Raspberry Pi macOS comtool Windows screenshot comtool linux screenshot comtool Raspberry Pi screenshot 白色主题 黑色主题 协议插件 TCP/UDP 终端 图表绘制 comtool white theme comtool dark theme comtool protocol plugin tcp udp plugin terminal plugin graph

截图可能不是最新的版本, 最新的版本只会更好用更好看

特性 跨平台 (Windows, Linux, macOS, Raspberry Pi)(使用 python 编写,只要你的平台支持 python) 可靠,界面不会卡死 多语言支持 多主题支持,支持自定义主题 多种字符编码格式支持,比如 ASII,GBK(Chinese),UTF-8,UTF-16 等 自动保存设置(退出保存) 多种连接方式支持,同时支持编写连接插件 串口 支持 串口自动检测,支持记住上次使用的串口号 串口断线自动重连 波特率(随意设置)、校验、停止位、流控等设置支持 rts 和 dtr 手动控制 TCP/UDP 支持,包括客户端和服务端模式支持 SSH 客户端支持 插件支持(插件开发请看docs/plugins_zh.md)),内置插件如下: 调试插件,基本收发数据调试 基础收发功能(字符(ASCII) 和 十六进制(HEX)) 收发计数 清空接收缓冲区支持 自动换行 定时发送 发送记录保存和再次选中发送 自定义常用发送内容,一键发送 两种常用换行符CR LF(\r\n) 和 LF(\n) 支持 快捷键比如 Ctrl+Enter 发送数据 转义字符支持,比如 \r \n \t \x 等 收发记录,以及添加时间戳和记录到文件功能 发送文件 unix 终端风格颜色支持,比如\x1b[33;42mhello\x1b[0mhello2 协议插件,可自定义收发协议 自定义协议编解码支持 自定义快捷键发送 终端插件, 基本终端功能 图表插件 支持动态添加图表控件,添加你需要的控件 实时显示折线图,支持自定义协议头(支持转移符) 自定义按钮来发送数据,支持自定义快捷键 安装

有两种安装方式:

下载二进制文件并运行: 适合 Windows 或 macOS,以及简单使用的用户 以 python 包方式安装(源码安装): 适合 Linux 用户, 以及需要使用插件的用户,或者熟悉 python 的用户 安装可执行程序(无需安装,直接执行) Windows 在 release 或 sourceforge 下载最新的可执行文件 解压.zip文件,点击comtool.exe运行

另外你也可以使用 scoop 安装, 由 StudentWeis 维护

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

Linux版本太多,我们只为ubuntu编译二进制。 其他发行版请从 pypi 或源码安装。 如果你有什么好的跨平台打包想法,比如 flatpak 或 appimage,你可以贡献一个 PR 或添加一个 issue 来告诉我如何可以做到

Arch Linux 及其衍生版本可以通过 AUR 仓库在线安装:(目前由 taotieren 维护):

# 发行版 yay -S python-comtool # 开发版 yay -S python-comtool-git 在 release 页面或 sourceforge 下载最新版本 如果不想使用sudo命令自动软件,则需要将当前用户添加到dialout组 sudo usermod -a -G dialout $USER grep 'dialout' /etc/group reboot #must reboot to take effect 解压.zip文件,双击comtool运行 树莓派

打开终端,先用包管理器安装依赖:

sudo apt install git python3-pyqt5 python3-numpy

先用包管理器安装 pyqt5 numpy 等包更容易安装。 后面如果 pip 安装过程中某个包遇到了错误,也可以先尝试用系统自带的包管理器安装对应的包。 找到包名的技巧就是用sudo apt-cache search 包名 | grep 包名 来搜索包名,然后安装

然后用 pip 安装剩下的包:

git clone https://github.com/Neutree/COMTool.git --depth=1 cd COMTool pip3 install . --verbose # 或者 # python setup.py bdist_wheel # sudo pip3 install dist/COMTool-*.*.*-py3-none-any.whl --verbose 如果不想使用sudo命令自动软件,则需要将当前用户添加到dialout组 sudo usermod -a -G dialout $USER grep 'dialout' /etc/group reboot #must reboot to take effect

然后通过命令启动

comtool macOS 在 release 页面或 sourceforge 下载最新版本 安装 dmg 包

如果你想同时打开多个comtool,只需要右键 dock 栏图标,选择新建窗口即可。

另外也可以打开终端并输入

open -n /Application/comtool.app

或者

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

因为程序没有开发者签名,所以第一次打开时会警告,需要到设置 -> 安全和隐私 -> 通用 看到提示comtool 点击 仍要打开即可

Windows Defender 显示 comtool 可执行程序是恶意软件?

如果你的软件是从这里下载的,没关系,这是打包产生的问题,所有的源码和打包脚本都在这里,连打包过程都是用github action完全自动化,没有人手动打包。

如果你仍然担心,只需下载源代码,然后使用 python运行或自己打包。

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

以 python 包形式安装

对于开发者,或者没有你的平台的预编译软件, 可以使用这种方式安装

先安装 Python3

如果是 windows 或 macOS:下载 python3 如果 linux: 比如ubuntu, sudo apt install python3 python3-pip, macOS brew install python3 python3-pip

确保你有pip

pip3 --version # 或者 pip --version

如果没有这个命令,安装

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

在国内,为了下载速度更快, 你可以用 tuna 镜像更快地下载:

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 .

或者自己构建 wheel 可执行文件

pip3 install wheel python setup.py bdist_wheel pip install dist/COMTool-*.*.*-py3-none-any.whl comtool 如果 pip 安装过程中遇到了错误,比如最容易出错的pyqt5,也可以先尝试用系统自带的包管理器安装对应的包,比如 sudo apt install python3-pyqt5 python3-numpy

要知道包名的技巧就是用sudo apt-cache search 包名 | grep 包名 来搜索包名,然后安装

如果不想使用sudo命令自动软件,则需要将当前用户添加到dialout组 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

打包前最好创建一个虚拟环境,这样打包出来的可执行文件会小很多 pip install virtualenv virtualenv venv source venv/bin/activate # linux venv/Scripts/activate # windows 如果遇到 因为在此系统上禁止运行脚本, 可以临时允许当前终端执行脚本 Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned 然后pip install pyinstaller,python pack.py。

开发 安装 python(>=3.8)和pip3

Linux:

sudo apt install python3 python3-pip

Windows: 下载 python3

安装pyserial和PyQt5等包(在requirements.txt中列出) cd COMTool pip3 install -r requirements.txt

在树莓派上,可以通过 apt 命令安装 python3-pyqt5:

sudo pip3 install --upgrade pyserial sudo apt install python3-pyqt5 克隆项目 git clone https://github.com/Neutree/COMTool.git 撸码、解决错误或添加新的特性

推荐使用 PyCharm IDE 或 vscode 开始

运行方法: 需要先生成翻译所需要的二进制文件(.mo)

python COMTool/i18n.py finish

然后执行主程序即可

python COMTool/Main.py 创建合并请求 快速编写你自己的插件

参考 docs/plugins.md

添加翻译 先安装环境(requirments.txt中的python pip包) apt install python3 python3-pip pip3 install -r requirements.txt 如果你需要添加新语言,否则跳过此步骤

在 i18n.py 中添加语言

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

将你的语言附加到此列表中,可以在 此处 或 wikipedia,例如zh_CN表示中国大陆,对应的语言是简体汉字,zh_TW表示中国台湾,语言是繁体字,你也可以只用zh来使用中文简体字

生成翻译文件 python i18n.py prepare

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

手动翻译

然后翻译.po文件,这是一个叫gettext的标准翻译文件格式,可以直接手动改文件,也可以利用网上的工具

生成二进制翻译文件

为了让程序读得更快,文本文件.po应该转换成二进制文件.mo,运行命令:

python i18n.py finish

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

测试

运行应用程序,你会看到新的翻译

合并请求

创建 PR 以将你的更改合并到 comtool 仓库

自定义主题

在源码或者二进制程序目录下的assets/qss目录中,从style-dark.qss或者style-light.qss复制一个文件,文件名为style-xxx.qss,这里xxx就是主题的名字,这样软件里就能检测到这个主题了。 然后根据你的喜好修改qss文件即可, qss和css语法类似,不过支持得不是很完全,css语法能不能用以实际效果为准哈哈。 欢迎提交主题代码(PR)

另外软件没有为主题刻意优化过,class 和 id 可能都是随手写的,所以不保证未来的代码能完全兼容现在的 qss。

问题和意见

创建 issue

开源协议

LGPL-3.0 许可证

以库的方式使用了以下开源项目:

PyQt5: GNU GPL v3 pyserial: BSD-3-Clause requests: Apache 2.0 Babel: BSD qtawesome: MIT pyte: LGPL 3.0 paramiko: LGPL 2.1 pyperclip: BSD-3-Clause 赞赏

如果项目帮助到你了,可以请作者喝杯下午茶~



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3