V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
kkocdko
V2EX  ›  分享创造

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

  •  5
     
  •   kkocdko ·
    kkocdko · 30 天前 · 2610 次点击

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

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

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

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

    多帧截图

    录屏演示

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

    设备连接实拍

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

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

    https://github.com/kkocdko/kblog/tree/master/source/toys/webusbkvm
    第 2 条附言  ·  29 天前

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

    extra_info

    感谢各位的 Star ⭐ webusbkvm bradge

    22 条回复    2024-08-26 14:05:40 +08:00
    wolfsun
        1
    wolfsun  
       30 天前
    还是第一次看到有人真的用上了 webusb ,这东西 chrome 出了几年我就从没看到有正经人用过
    wolfsun
        2
    wolfsun  
       30 天前
    等一下你这个是 webserial 吗?还是 webusb ,我看错了吗
    kkocdko
        3
    kkocdko  
    OP
       30 天前   ❤️ 1
    @wolfsun
    #1 确实没什么人用,总觉得最初是想要给 ChromeOS 用的。之前看到过有人用这个搞了用网页给手机刷机。
    #2 webusb 可以模拟 webserial ,google 有提供一个 polyfill https://github.com/google/web-serial-polyfill 。我这边是先尝试用 webserial ,如果没有的话,就用 webusb
    Biggoldfish
        4
    Biggoldfish  
       30 天前   ❤️ 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
       30 天前 via Android
    @Biggoldfish 这个东西相当于是在“已经有一台能正常用的电脑”的前提下。

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

    这样可以无线连接。

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

    所以依然不得不蹲在地上 看屏幕。。。
    kkocdko
        8
    kkocdko  
    OP
       30 天前
    有一些现成的 ipkvm 的方案,或许会有用。

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

    但是视频信号可能蓝牙不太好用。如果你有长久的 kvm 需求,可以尝试 sipeed 的 kvm 方案,或者别的。还有一个 pikvm 这个项目也不错。
    ochatokori
        9
    ochatokori  
       30 天前 via Android   ❤️ 1
    真不错,就喜欢这种实用的东西👍
    springz
        10
    springz  
       30 天前
    额外还要买个采集卡?
    someonesnone
        11
    someonesnone  
       30 天前 via Android
    等于带了个便携显示器?
    kkocdko
        12
    kkocdko  
    OP
       30 天前
    @someonesnone 相当于带了 显示器+鼠标+键盘
    @springz 是的,需要 CH9329 模块( 5 ¥)、CH340 模块( 3 ¥)、MS2109 采集卡( 18 ¥)。比起 便携屏+鼠标键盘 还是便宜多了的。如果不需要视频输出,也可以不要采集卡。
    wuzzispacelake
        13
    wuzzispacelake  
       30 天前   ❤️ 1
    @kkocdko 刚了解了一下 pikvm ,感觉不错,我一直以为只能靠主板 IPMI 来实现这种功能,感谢分享
    revelationtan
        14
    revelationtan  
       30 天前   ❤️ 1
    要是能商品化就更好了,运维利器
    Kaiyuan
        15
    Kaiyuan  
       30 天前
    @revelationtan 有 CH9329 加 CH340 一体线,十几块,加个 USB 采集卡就可以了。
    To5tE
        16
    To5tE  
       30 天前
    有没有办法无线的
    Aixtuz
        17
    Aixtuz  
       29 天前   ❤️ 1
    是不是可以理解为:
    无采集卡:用 CH9329+CH340+web 替换掉 键盘+便携屏?
    有采集卡:用 CH9329+CH340+web 替换掉 键盘+OBS ?
    kkocdko
        18
    kkocdko  
    OP
       29 天前
    @Aixtuz 差不多是这样的(再多一个鼠标)。
    emartcn
        19
    emartcn  
       29 天前
    带个键盘鼠标,也不是难事,显示屏机房都会有,这个还得做 WEB 开发,痛点似乎不痛啊?
    kkocdko
        20
    kkocdko  
    OP
       29 天前 via Android
    @emartcn 我觉得还是有很多人有这个需求的
    zcybupt2016
        21
    zcybupt2016  
       27 天前   ❤️ 1
    牛哇,刚好有这个需求
    thetbw
        22
    thetbw  
       21 天前
    我的 NAS 内次开机都有个报错提示,要鼠标点一下继续,感觉这个还蛮方便
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   941 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 19:50 · PVG 03:50 · LAX 12:50 · JFK 15:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.