Skip to content

Latest commit

 

History

History
174 lines (121 loc) · 7.38 KB

File metadata and controls

174 lines (121 loc) · 7.38 KB

串口助手

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


🇺🇸 English

GitHub 点赞量 star

GitHub forks GitHub issues

github 最后发行版本下载 sourceforge 最后发行版本下载

github 下载量 Download SerialPortAssistant

build Build status


简介

下载

  • github 最后发行版本下载
  • 从 Sourceforge 下载
  • 从 Flathub 下载

捐赠

如果你用得满意,可以对本人进行捐赠

捐赠

如果不能显示,请打开:

开发

依赖

编译

  • 下载源码

    git clone https://github.com/KangLin/SerialPortAssistant.git
    
  • 下载 RabbitCommon

    git clone https://github.com/KangLin/RabbitCommon.git
    
  • 用 QtCreator 编译

    • 直接用 QtCreator 打开工程文件 CMakeLists.txt
    • 如果 RabbitCommon 不在本项目同级目录中,设置参数 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 目录下
      

脚本

  • build_debpackage.sh

    • 此脚本是 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/

  • deploy.sh: 此脚本用于产生新的发行版本号和标签。仅程序发布者使用。

测试

  • 在 Ubuntu 上
    • 安装 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