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



【三步跑起来】
- 装依赖(只在第一次做)
在当前文件夹的地址栏输入 cmd 回车,执行:
pip install -r requirements.txt
没有串口硬件也没关系,程序内置了演示设备,可以先跑通全流程。 - 分别启动三个角色
双击 start-server.bat 启动中转服务器(保持窗口开着)
双击 start-host.bat 主机端:
– 勾选「演示模式(无硬件)」
– 点「打开串口」
– 点「开始共享」
– 界面上会显示 会话ID 和 访问密码
双击 start-client.bat 客户端:
– 服务器填 127.0.0.1,端口 8800
– 填上刚才看到的会话ID 和 密码
– 点「连接」,然后就能收发数据了 - 想打包成独立 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: 密码区分大小写。可以让主机端点「随机」重新生成一个。
本站部分内容源自互联网,仅供学习交流,如有侵权请联系我们删除。