{"id":16156412,"url":"https://github.com/kanglin/serialportassistant","last_synced_at":"2026-06-29T09:00:45.256Z","repository":{"id":50575753,"uuid":"82271122","full_name":"KangLin/SerialPortAssistant","owner":"KangLin","description":"This project is a cross-platform serial port assistant. It can run on WINDOWS, linux、android、macos system.   ","archived":false,"fork":false,"pushed_at":"2026-06-25T07:19:41.000Z","size":2409,"stargazers_count":227,"open_issues_count":0,"forks_count":68,"subscribers_count":5,"default_branch":"master","last_synced_at":"2026-06-25T09:09:03.340Z","etag":null,"topics":["android","donation","linux","macos","serial","serial-ports","serialport","serialportassistant"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KangLin.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog.md","contributing":null,"funding":".github/FUNDING.yml","license":"License.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"Authors.md","dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":["https://github.com/KangLin/RabbitCommon/raw/master/Src/Resource/image/Contribute.png","https://gitee.com/kl222/RabbitCommon/raw/master/Src/Resource/image/Contribute.png","https://gitlab.com/kl222/RabbitCommon/-/raw/master/Src/Resource/image/Contribute.png"]}},"created_at":"2017-02-17T07:45:00.000Z","updated_at":"2026-06-03T09:47:32.000Z","dependencies_parsed_at":"2026-01-26T14:00:47.307Z","dependency_job_id":null,"html_url":"https://github.com/KangLin/SerialPortAssistant","commit_stats":{"total_commits":482,"total_committers":1,"mean_commits":482.0,"dds":0.0,"last_synced_commit":"50634d65a2f5938159f90cfd47c2f90b5d75a90d"},"previous_names":[],"tags_count":67,"template":false,"template_full_name":null,"purl":"pkg:github/KangLin/SerialPortAssistant","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KangLin%2FSerialPortAssistant","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KangLin%2FSerialPortAssistant/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KangLin%2FSerialPortAssistant/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KangLin%2FSerialPortAssistant/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KangLin","download_url":"https://codeload.github.com/KangLin/SerialPortAssistant/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KangLin%2FSerialPortAssistant/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34919884,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-29T02:00:05.398Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","donation","linux","macos","serial","serial-ports","serialport","serialportassistant"],"created_at":"2024-10-10T01:44:51.465Z","updated_at":"2026-06-29T09:00:45.246Z","avatar_url":"https://github.com/KangLin.png","language":"C++","funding_links":["https://github.com/KangLin/RabbitCommon/raw/master/Src/Resource/image/Contribute.png","https://gitee.com/kl222/RabbitCommon/raw/master/Src/Resource/image/Contribute.png","https://gitlab.com/kl222/RabbitCommon/-/raw/master/Src/Resource/image/Contribute.png"],"categories":[],"sub_categories":[],"readme":"# Serial Port Assistant\n\nAuthor: Kang Lin (kl222@126.com)\n\n--------------------------------\n\n[:cn: 中文](README_zh_CN.md)\n\n[![GitHub stars](https://img.shields.io/github/stars/KangLin/SerialPortAssistant?label=Github%20stars)](https://star-history.com/#KangLin/SerialPortAssistant\u0026Date)\n[![star](https://gitee.com/kl222/SerialPortAssistant/badge/star.svg?theme=dark)](https://gitee.com/kl222/SerialPortAssistant/stargazers)\n\n[![GitHub forks](https://img.shields.io/github/forks/KangLin/SerialPortAssistant)](https://github.com/KangLin/SerialPortAssistant/forks)\n[![GitHub issues](https://img.shields.io/github/issues/KangLin/SerialPortAssistant)](https://github.com/KangLin/SerialPortAssistant/issues)\n\n[![Release](https://img.shields.io/github/release/KangLin/SerialPortAssistant?label=Github%20release)](https://github.com/KangLin/SerialPortAssistant/releases/latest)\n[![Download SerialPortAssistant](https://a.fsdn.com/con/app/sf-download-button)](https://sourceforge.net/projects/serialportassistant/files/latest/download)\n\n[![All releases downloads](https://img.shields.io/github/downloads/KangLin/SerialPortAssistant/total?label=Github%20downloads)](http://gra.caldis.me/?user=KangLin\u0026repo=SerialPortAssistant)\n[![Download SerialPortAssistant](https://img.shields.io/sourceforge/dt/serialportassistant.svg?label=Sourceforge%20downloads)](https://sourceforge.net/projects/serialportassistant/files/latest/download)\n\n[![build](https://github.com/KangLin/SerialPortAssistant/actions/workflows/build.yml/badge.svg)](https://github.com/KangLin/SerialPortAssistant/actions/workflows/build.yml)\n[![Build status](https://ci.appveyor.com/api/projects/status/y77e828ysqc79r9o?svg=true)](https://ci.appveyor.com/project/KangLin/serialportassistant)\n\n--------------------------------\n\n## Introduction\n- Project position:\n  + Main repository: https://github.com/KangLin/SerialPortAssistant\n  + Mirrory repository:\n    - https://gitlab.com/kl222/SerialPortAssistant\n    - https://sourceforge.net/projects/serialportassistant/\n    - https://gitee.com/kl222/SerialPortAssistant\n    - https://bitbucket.org/kl222/serialportassistant\n- [Project home](http://kanglin.github.io/SerialPortAssistant)\n- This project is a cross-platform serial port assistant.\n  It can run on:\n  + [x] WINDOWS\n  + [x] linux\n  + [x] Android\n  + [x] macOS  \n    - macOS, I don't have the corresponding equipment,\n    please compile and test the user with the corresponding equipment.\n    - Currently compiles successfully.\n    but the loading dynamic library path is not set correctly.\n    Please help you set it.\n    \n  See: [Qt5 supported platforms](https://doc.qt.io/qt-5/supported-platforms.html), [Qt6 supported platforms](https://doc.qt.io/qt-6/supported-platforms.html).\n- Multi-language\n  + Chinese\n  \n    ![Chinese](Docs/ui-zh.jpg)\n\n  + Englisth\n\n    ![Englisth](Docs/ui-en.jpg)\n\n- Multi style\n\n## Download\n\n- [![Github release](https://img.shields.io/github/release/KangLin/SerialPortAssistant?label=Github%20release)](https://github.com/KangLin/SerialPortAssistant/releases/latest)\n- [![Download from SerialPortAssistant](https://a.fsdn.com/con/app/sf-download-button)](https://sourceforge.net/projects/serialportassistant/files/latest/download)\n- [![Download from Flathub](https://flathub.org/api/badge?locale=en)](https://flathub.org/apps/io.github.KangLin.SerialPortAssistant)\n\n## Donate\n\nIf you are satisfied, you can donate to me\n\n[![donation](https://github.com/KangLin/RabbitCommon/raw/master/Src/Resource/image/Contribute_en.png \"donation\")](https://github.com/KangLin/RabbitCommon/raw/master/Src/Resource/image/Contribute_en.png \"donation\") \n\nIf it cannot be displayed, please open:\n- https://gitlab.com/kl222/RabbitCommon/-/raw/master/Src/Resource/image/Contribute.png\n- https://sourceforge.net/p/rabbitcommon/code/ci/master/tree/Src/Resource/image/Contribute.png\n\n## Developer  \n### Dependence  \n\n+ [Qt (LGPL v2.1)](http://qt.io/)\n+ RabbitCommon: https://github.com/KangLin/RabbitCommon  \n  It can be downloaded to the same directory of the project.\n  If it is a different directory, set the environment variable `RabbitCommon_ROOT`\n\n        git clone https://github.com/KangLin/RabbitCommon.git\n\n### Compile  \n  \n- Download source code\n\n        git clone https://github.com/KangLin/SerialPortAssistant.git\n\n- Compiled with QtCreator\n  + Open the project file [CMakeLists.txt](CMakeLists.txt) with QtCreator\n  + The RabbitCommon can be downloaded to the same directory of the project.\n    If it is a different directory, Set the parameter `RabbitCommon_ROOT`\n  + Direct compilation can generate programs\n- Compile with the command line\n  + Download source code and the deplendence in same directory\n  \n        git clone https://github.com/KangLin/RabbitCommon.git\n        git clone https://github.com/KangLin/SerialPortAssistant.git\n\n  + Make the build directory in the project root directory\n\n        cd SerialPortAssistant\n        mkdir build\n        cd build\n        # cmake configure\n        cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=`pwd`/install [-DRabbitCommon_ROOT=...]\n        # compiling\n        cmake --build . --config Release --target install\n        cd install  # The program is installed in the install/bin directory\n\n### Script\n\n- build_debpackage.sh\n  + This script generates the deb package under linux.\n    Before use, please make sure the following programs are installed\n  \n        sudo apt-get install debhelper fakeroot build-essential cmake\n\n  + Use system qt\n    - qt6\n\n          sudo apt-get install \\\n            qt6-tools-dev qt6-tools-dev-tools qt6-base-dev qt6-base-dev-tools \\\n            qt6-l10n-tools qt6-translations-l10n qt6-scxml-dev \\\n            qt6-webengine-dev qt6-webengine-dev-tools libqt6serialport6-dev\n\n    See: [ubuntu.yml](.github/workflows/ubuntu.yml)\n    - qt5\n    \n          sudo apt-get install qttools5-dev qttools5-dev-tools \\\n              qtbase5-dev qtbase5-dev-tools qttranslations5-l10n \\\n              libqt5scxml5-dev libqt5svg5-dev libqt5serialport5-dev \\\n              qtwebengine5-dev qtwebengine5-dev-tools qtwebengine5-private-dev\n\n- build_appimage.sh\n\n  build AppImage. See: https://github.com/linuxdeploy/linuxdeploy/\n\n- deploy.sh: This script is used to generate new release version numbers and tag.\n  Used only by the program publisher.\n\n#### Test\n\n- Ubuntu\n  - Install `socat`\n\n        $ sudo apt update\n        $ sudo apt install socat\n\n  - Create a pair of virtual serial ports\n\n        $ sudo socat -d -d pty,raw,echo=0 pty,raw,echo=0\n\n    - After running, it will display:\n\n          2025/12/03 14:09:27 socat[31902] N PTY is /dev/pts/5\n          2025/12/03 14:09:27 socat[31902] N PTY is /dev/pts/6\n          2025/12/03 14:09:27 socat[31902] N starting data transfer loop with FDs [5,5] and [7,7]\n\n    - Create symbolic links (optional, for better naming).\n\n          $ sudo ln -sf /dev/pts/2 /dev/ttyVCOM0\n          $ sudo ln -sf /dev/pts/3 /dev/ttyVCOM1\n\n    - The above two steps can be combined into the following command.\n\n          $ sudo socat -d -d pty,link=/dev/ttyVCOM0,raw,echo=0 pty,link=/dev/ttyVCOM1,raw,echo=0 \n\n  - You can now use this program to open the serial port. `/dev/pts/5`(/dev/ttyVCOM0) and　`/dev/pts/6`(/dev/ttyVCOM1).  \n    Because these serial port names are non-standard, this program cannot find them.\n    You can enter the following in the \"Serial Port\" field: `/dev/pts/5`  \n    Because the virtual serial port was created with root privileges, this program also needs to be run with root privileges.\n\n        $ sudo serialportassistant\n\n    Alternatively, authorize the serial port to the current user:\n\n        $ sudo chown $USER:tty /dev/pts/5\n        $ sudo chown $USER:tty /dev/pts/6\n        $ serialportassistant\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkanglin%2Fserialportassistant","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkanglin%2Fserialportassistant","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkanglin%2Fserialportassistant/lists"}