SerialHub 串口远程共享系统 v1.0.0

发布于 2026-11-07 阅读 28 分类:程序源码

把一台电脑上的串口,通过公网共享给多台远程电脑。
用法和远程协助软件一样——主机端拿到「会话ID + 密码」,客户端输进去就能用。

【三步跑起来】

  1. 装依赖(只在第一次做)
    在当前文件夹的地址栏输入 cmd 回车,执行:
    pip install -r requirements.txt

    没有串口硬件也没关系,程序内置了演示设备,可以先跑通全流程。
  2. 分别启动三个角色
    双击 start-server.bat 启动中转服务器(保持窗口开着)
    双击 start-host.bat 主机端:
    – 勾选「演示模式(无硬件)」
    – 点「打开串口」
    – 点「开始共享」
    – 界面上会显示 会话ID 和 访问密码

    双击 start-client.bat 客户端:
    – 服务器填 127.0.0.1,端口 8800
    – 填上刚才看到的会话ID 和 密码
    – 点「连接」,然后就能收发数据了
  3. 想打包成独立 exe(目标电脑不用装 Python)
    pip install pyinstaller pyserial
    python build_exe.py

    产物在 dist\ 目录:
    SerialHub-Host.exe 主机端
    SerialHub-Client.exe 客户端
    SerialHub-Relay.exe 中转服务器

    三个 exe 可以单独拷贝到别的电脑直接双击运行。

【放到公网给异地同事用】

把中转服务器部署在有公网 IP 的云主机上:
python -m serialhub.server.relay –port 8800
云服务器安全组里放行 8800/tcp(本机防火墙也要放行)。
然后主机端和客户端把「服务器地址」填成那台云主机的公网 IP 即可。

强烈建议开启 TLS 加密,否则串口数据在公网上是明文。
做法见 README.md 第 4.3 节(自签证书 或 Nginx 转发两种方式)。

【多个人同时连会不会写乱?】

主机端有三种写模式,务必按现场情况选:
open 谁都能写(调试期用)
token 同一时刻只有一个人能写,其他人只能看(推荐现场使用)
readonly 客户端完全不能写,只有主机本地能发(最安全)

README.md 第五节有详细说明和适用场景。

【没有显示器的机器(工控机 / 树莓派)】

python -m serialhub.host.headless –server 你的服务器IP –serial /dev/ttyUSB0 –baud 9600

Linux 下访问串口需要权限:sudo usermod -aG dialout $USER(重新登录生效)

【详细文档】

README.md —— 架构图、公网部署、协议说明、安全须知、故障排查表

【验证是否正常】

python tools/e2e_test.py 16 项功能自测(无需硬件)
python tools/reconnect_test.py 8 项断线重连自测(模拟服务器重启)

【常见问题】

Q: 双击 exe 被 Windows 拦住?
A: 点「更多信息」→「仍要运行」。这是因为没有代码签名证书,属正常现象。

Q: 打不开串口,提示拒绝访问?
A: 串口被串口助手、组态软件等占用,先关掉它们。

Q: 客户端提示「会话ID不存在」?
A: 主机端还没点「开始共享」,或服务器刚重启、主机还在重连中,等几秒。

Q: 客户端提示「密码错误」?
A: 密码区分大小写。可以让主机端点「随机」重新生成一个。

资源下载
SerialHub-1.0.0.zip
网盘链接
提取码:sf6w
访问网盘