作者:康林(kl222@126.com)


如果你用得满意,可以对本人进行捐赠
如果不能显示,请打开:
RabbitCommon: https://github.com/KangLin/RabbitCommon
RabbitCommon 下载到与本项目同级目录中。如果不在同级目录,则需要指定环境变量: RabbitCommon_ROOT
git clone https://github.com/KangLin/RabbitCommon.git
下载源码
git clone https://github.com/KangLin/SerialPortAssistant.git
下载 RabbitCommon
git clone https://github.com/KangLin/RabbitCommon.git
RabbitCommon_ROOT 指定其位置。在同一目录中下载源码与依赖
git clone https://github.com/KangLin/RabbitCommon.git
git clone https://github.com/KangLin/SerialPortAssistant.git
在项目根目录下建立 build 目录
cd SerialPortAssistant
mkdir build
cd build
# cmake 配置
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=`pwd`/install [-DRabbitCommon_ROOT=...]
# 编译
cmake --build . --config Release --target install
cd install # 程序安装在 install/bin 目录下
此脚本是 linux 下生成 deb 包的。使用前,请确保安装了下面程序
sudo apt-get install debhelper fakeroot build-essential cmake
用系统自带的 QT
qt6
sudo apt-get install \
qt6-tools-dev qt6-tools-dev-tools qt6-base-dev qt6-base-dev-tools \
qt6-l10n-tools qt6-translations-l10n qt6-scxml-dev \
qt6-webengine-dev qt6-webengine-dev-tools libqt6serialport6-dev
详见: ubuntu.yml
qt5
sudo apt-get install qttools5-dev qttools5-dev-tools \
qtbase5-dev qtbase5-dev-tools qttranslations5-l10n \
libqt5scxml5-dev libqt5svg5-dev libqt5serialport5-dev \
qtwebengine5-dev qtwebengine5-dev-tools qtwebengine5-private-dev
build_appimage.sh
此脚本生成 AppImage 可执行文件。 详见:https://github.com/linuxdeploy/linuxdeploy/
安装 socat
$ sudo apt update
$ sudo apt install socat
创建一对虚拟串口
$ sudo socat -d -d pty,raw,echo=0 pty,raw,echo=0
运行后会显示:
2025/12/03 14:09:27 socat[31902] N PTY is /dev/pts/5
2025/12/03 14:09:27 socat[31902] N PTY is /dev/pts/6
2025/12/03 14:09:27 socat[31902] N starting data transfer loop with FDs [5,5] and [7,7]
创建符号链接(可选,为了更好的命名)
$ sudo ln -sf /dev/pts/2 /dev/ttyVCOM0
$ sudo ln -sf /dev/pts/3 /dev/ttyVCOM1
可以把上面两步合成以下一条命令
$ sudo socat -d -d pty,link=/dev/ttyVCOM0,raw,echo=0 pty,link=/dev/ttyVCOM1,raw,echo=0
现在可以用本程序打开串口 /dev/pts/5(/dev/ttyVCOM0) 和 /dev/pts/6(/dev/ttyVCOM1)。
因为这些串口命名为非标准串口命名,本程序可以找不到它。你可以在”串口”输入: /dev/pts/5
因为虚拟串口建立时,是以 root 权限建立的,所以也需要使用 root 权限运行本程序。
$ sudo serialportassistant
或者把串口授权为当前用户。
$ sudo chown $USER:tty /dev/pts/5
$ sudo chown $USER:tty /dev/pts/6
$ serialportassistant