关于 DreamCat

主题名称:DreamCat | 版本:3.0.240224

主题开发:HanFengA7 | CornWorld

Designed by HanFengA7 Power by Typecho

Copyright © 2015-2024 by LychApe All rights reserved!

menu
refresh

自制一个IP KVM

作者: ciaoℒy

时间:

向日葵控控盒子晓得吧? 简直是很好用的了, 但是太贵了, 而且似乎它有一些特征会被一些软件识别出来. 那么我们来自制一款特征不明显的IP KVM吧.

方案

其实IP KVM也不难做, 无非就是采集屏幕+遥控键鼠. 屏幕采集可以使用采集卡, 遥控键鼠则就需要用到单片机进行模拟了.

在模拟键鼠方面可选型也有不少, 首先就有PS/2和USB HID两种大方向可以选择. 在USB HID方面, 可选的方案有: 树莓派的OTG/ Arduino Leonardo/ ESP 32/ CH9329; PS/2的话则只需要随便一个单片机进行编程即可了.

如果是使用树莓派的话, 可以看看pikvm这个项目, 一个树莓派配一个采集卡即可实现了, 而且这个项目的前端也做的很不错, 可以参考文章自行实践: DIY带外管理 · 强悍Pi-KVM | 渔人小径 (fisherworks.cn)

另外就是, 使用单片机模拟PS/2键鼠的话似乎也挺不错的, 首先PS/2可以实现键盘唤醒电脑, 其次PS/2不像USB HID那样会有很多的特征. 也许可以用MCU试一试模拟PS/2呢.

我用的方案是X86主机+CH9329模拟键鼠+MS2109采集卡, 软件使用修改过的open-ip-kvm, 组网使用自建的tinc局域网.

整个架构如下所示:

topo

硬件

硬件方面, 我使用了一台普通的X86电脑当中心服务器; 使用独立的CH9329模块用杜邦线连接了CH340G的TTL模块; 采集卡则在淘宝上购置了一个30元左右的USB2.0采集卡. 同时为了不影响正常使用屏幕, 我还加了一个HDMI一分二的分屏器, 这样就可以在屏幕上同步显示画面了.

此外, 也可以购买CH9329双头线, 比起来用杜邦线连接更为可靠一些. 除了换跳线的话可能会不太方便. (淘宝搜索: USB键盘鼠标控制器双头线)

关于CH9329

关于该模块的使用, 可以参考该文章: CH9329双头线使用说明-CSDN博客, 相关的工具和文档可以在官网下载: 串口转HID键盘鼠标芯片 CH9329 - 南京沁恒微电子股份有限公司 (wch.cn).

1. 修改USB特征

将CH9329模块(双头线的"受控端")插到电脑上, 使用官网提供的配置软件, 先"搜索设备", 然后"获取参数". 之后在软件里设置一下VID/PID/Manufact和序列号等参数. 将这些参数改成实际的键鼠的.

2. 修改工作模式

芯片默认的"工作模式"在"模式0: 模拟标准USB键盘+USB鼠标设备+USB自定义HID类设备". 这个模式功能最全, 但是却可以被配置软件探测到. 为了防止被受控电脑利用这一协议探测, 所以要把它切换到"模式2: 模拟标准USB键盘+USB鼠标设备"

如果是用的双头成品线的话, 可以使用配置工具在软件层修改. 像我是用的模块, 则用跳线帽把MODE 1引脚拉到GND上即可.

串口工作模式无需修改.

软件

  • 如果使用的是Linux的话, 将要运行OpenIPKVM服务的用户添加到dialoutvideo用户组(这两个用户组可以使用ls -l查看/dev下的串口文件和video文件获得), 否则的话会类似Cannot open /dev/ttyUSB0: Permission denied的错误.
  • 如果是Windows的话, 需要安装CH340G的驱动.

如果像我一样使用了CH9329模块的话, 则克隆我修改过的仓库: ciaoly/open-ip-kvm at dev (github.com);

Arduino Leonardo的话, 克隆原来的仓库: Nihiue/open-ip-kvm (github.com)

我的仓库如果不能用的话, 试试切换到dev分支. 如果还不行的话, 提issue. 截至今天我也没来得及做测试.

之后按照NodeJS项目的步骤运行服务即可.


#本文链接:https://blog.chaol.top/archives/92.html
#本文采用 CC BY-NC-SA 4.0 协议进行许可
#如无特别声明,该文章均为 ciaoℒy 原创,转载请遵循 署名-非商业性使用 4.0 国际(CC BY-NC 4.0)协议,即转载请注明文章来源。
#最后编辑时间为: 2024 年 04 月 25 日
none

create 添加新评论


account_circle
email
language
textsms



加我的QQ
加我的微博
加我的支付宝
加我的微信