kkocdko
V2EX  ›  分享创造

⭐ 网页版 USB KVM (键盘 视频 鼠标) ,调试/装系统时不再使用便携屏和键鼠。WebUSB/WebSerial

By kkocdko at 2024 年 8 月 17 日 · 5667 次点击

比如给一台电脑装系统,传统方法就是临时接上屏幕,鼠标,键盘。这个方案连接目标电脑和我的笔记本,操控键鼠,看到显示输出。本质上是 假键盘+假鼠标+假显示器(采集卡)。

本项目可以在已有的电脑(通常是笔记本)甚至 Android 手机上操控目标设备和监看显示输出,还能粘贴命令到 TTY !

目前市面上已有类似功能的 USB KVM 客户端,但通常 只支持 Windows ,且收费。这个项目 借助浏览器提供的 WebUSB/WebSerial API ,支持任何能够运行完整 Chromium 的环境。遵循 MIT 协议 开源 ⭐。

操控界面 (多帧截图)(网页,支持 win/mac/linux/android )

多帧截图

录屏演示

设备连接实拍,左边是我的笔记本,右边是目标机器。(扩展坞不是必须的,只要连上就行)

设备连接实拍

最后,感谢各位大哥的 Star ⭐ webusbkvm - github.com/kkocdko shields

第 1 条附言  ·  2024 年 8 月 17 日
代码不多,所以直接包含在我的博客仓库里了。源码位置在这个目录下(就一个文件)

https://github.com/kkocdko/kblog/tree/master/source/toys/webusbkvm
第 2 条附言  ·  2024 年 8 月 18 日

补充信息:有大哥还提到了这个 KVM 切换器,也许比较大型的机房都有,可以从机架上抽出来,确实是长见识了,看起来还是很不错的。

extra_info

感谢各位的 Star ⭐ webusbkvm bradge

22 条回复  •  2024-08-26 14:05:40 +08:00
wolfsun
   1
wolfsun  
   2024 年 8 月 17 日
还是第一次看到有人真的用上了 webusb ,这东西 chrome 出了几年我就从没看到有正经人用过
wolfsun
   2
wolfsun  
   2024 年 8 月 17 日
等一下你这个是 webserial 吗?还是 webusb ,我看错了吗
kkocdko
   3
kkocdko  
OP
   2024 年 8 月 17 日   ❤️ 1
@wolfsun
#1 确实没什么人用,总觉得最初是想要给 ChromeOS 用的。之前看到过有人用这个搞了用网页给手机刷机。
#2 webusb 可以模拟 webserial ,google 有提供一个 polyfill https://github.com/google/web-serial-polyfill 。我这边是先尝试用 webserial ,如果没有的话,就用 webusb
Biggoldfish
   4
Biggoldfish  
   2024 年 8 月 17 日   ❤️ 1
@wolfsun https://github.com/webusb/awesome 列了些 WebUSB 的应用,个人用过的是 Android 刷机工具 https://flash.android.com/ 和 Logi Web Connect 管理罗技键鼠 https://logiwebconnect.com/

LZ 这个应用挺有趣的,不过感觉在装机的场景下完全没有输入输出设备的时候没法打开浏览器,并且可能要进 BIOS ,有线鼠标会更方便一些
kkocdko
   5
kkocdko  
OP
   2024 年 8 月 17 日 via Android
@Biggoldfish 这个东西相当于是在“已经有一台能正常用的电脑”的前提下。

比如说你想象一下,要去某个地方维护,那么你肯定需要带一台你的笔记本,这个没法省下。这时候比起再带上一块屏幕鼠标键盘,用这个 usbkvm 的方案就要好得多了。
lekai63
   6
lekai63  
   2024 年 8 月 17 日 via iPhone   ❤️ 1
有个小想法:
1 目标机器依然是:有线连接这几个模块
2 扩展坞这个位置换成个 esp32 还是啥的,把这信号发射出来,比如通过蓝牙
3 笔记本接收蓝牙信号。

这样可以无线连接。

或者干脆 扩展坞位置的模块跑一个 nginx 之类 且连接内网。(那好像工程有点大)
lekai63
   7
lekai63  
   2024 年 8 月 17 日 via iPhone
我的场景是:家里小主机丢在弱电箱(地上)。偶尔有重装系统需求。目前就是采集卡连笔记本+目标机器,再给目标机器接无线键鼠。但采集卡这里还是有线连接。

所以依然不得不蹲在地上 看屏幕。。。
kkocdko
   8
kkocdko  
OP
   2024 年 8 月 17 日
有一些现成的 ipkvm 的方案,或许会有用。

esp32 的 s2 是自带 usb 控制器的,说不定还能省下一片 ch9329 ,就是不知道功能如何,有空我尝试一下。

但是视频信号可能蓝牙不太好用。如果你有长久的 kvm 需求,可以尝试 sipeed 的 kvm 方案,或者别的。还有一个 pikvm 这个项目也不错。
ochatokori
   9
ochatokori  
   2024 年 8 月 17 日 via Android   ❤️ 1
真不错,就喜欢这种实用的东西👍
springz
   10
springz  
   2024 年 8 月 17 日
额外还要买个采集卡?
someonesnone
   11
someonesnone  
   2024 年 8 月 17 日 via Android
等于带了个便携显示器?
kkocdko
   12
kkocdko  
OP
   2024 年 8 月 17 日
@someonesnone 相当于带了 显示器+鼠标+键盘
@springz 是的,需要 CH9329 模块( 5 ¥)、CH340 模块( 3 ¥)、MS2109 采集卡( 18 ¥)。比起 便携屏+鼠标键盘 还是便宜多了的。如果不需要视频输出,也可以不要采集卡。
07aPzknB16ui9Cp3
   13
07aPzknB16ui9Cp3  
   2024 年 8 月 17 日   ❤️ 1
@kkocdko 刚了解了一下 pikvm ,感觉不错,我一直以为只能靠主板 IPMI 来实现这种功能,感谢分享
revelationtan
   14
revelationtan  
   2024 年 8 月 17 日   ❤️ 1
要是能商品化就更好了,运维利器
Kaiyuan
   15
Kaiyuan  
   2024 年 8 月 17 日
@revelationtan 有 CH9329 加 CH340 一体线,十几块,加个 USB 采集卡就可以了。
To5tE
   16
To5tE  
   2024 年 8 月 17 日
有没有办法无线的
Aixtuz
   17
Aixtuz  
   2024 年 8 月 18 日   ❤️ 1
是不是可以理解为:
无采集卡:用 CH9329+CH340+web 替换掉 键盘+便携屏?
有采集卡:用 CH9329+CH340+web 替换掉 键盘+OBS ?
kkocdko
   18
kkocdko  
OP
   2024 年 8 月 18 日
@Aixtuz 差不多是这样的(再多一个鼠标)。
emartcn
   19
emartcn  
   2024 年 8 月 18 日
带个键盘鼠标,也不是难事,显示屏机房都会有,这个还得做 WEB 开发,痛点似乎不痛啊?
kkocdko
   20
kkocdko  
OP
   2024 年 8 月 18 日 via Android
@emartcn 我觉得还是有很多人有这个需求的
zcybupt2016
   21
zcybupt2016  
   2024 年 8 月 20 日   ❤️ 1
牛哇,刚好有这个需求
thetbw
   22
thetbw  
   2024 年 8 月 26 日
我的 NAS 内次开机都有个报错提示,要鼠标点一下继续,感觉这个还蛮方便
爱意满满的作品展示区。
© 2026 V2EX · 114ms · 3.9.8.5