Skip to content

Repository files navigation

sskvm

基于ESP32-P4开发板 + MS2109 HDMI采集卡制作的简易 IP-KVM

  • 支持 480p_60fps / 720p_40fps / 1080p_20fps,适合BIOS控制、终端命令等低刷新运维场景
  • 前端网页访问控制界面,键盘鼠标映射,实时显示画面连接信息,支持截图、切换分辨率、重启KVM
  • 支持 Agent 通过HTTP请求 高清截图 / 绝对坐标触摸板点击 / 字符串输入,适合自动化运维
  • RJ45有线网络连接,支持修改 IPKVM 主机名并使用 mDNS 广播,支持网络唤醒被控机
  • 正在开发:网络镜像挂载、无线插座控制、自制PCB版本

硬件总成本约 ¥133ESP32-P4开发板 ¥118HDMI视频采集卡 ¥15、各种线材按需自备

接线信息:

  • USB-C TO UART:串口烧录与调试、使用时作为非被控机供电
  • USB-C:IP-KVM 的HID线,需要接入被控机USB,用于映射键盘、鼠标、触摸板与存储器
  • USB-A HS口:把跳线帽接 HOST,并将采集卡插入唯一启用的 HS 口,可以少一个HUB桥接延迟
  • RJ45 网口:接入局域网百兆以上LAN口,注意 mDNS 广播名修改与路由器上的IP分配

开发环境:ESP-IDF v6.0.3 官方容器,建议使用 Agent 协助项目部署和开发,编译与烧录:

docker run --rm -v "$PWD":/project -w /project espressif/idf:v6.0.3 idf.py build
docker run --rm --device=/dev/ttyACM0 -v "$PWD":/project -w /project \
       espressif/idf:v6.0.3 idf.py -p /dev/ttyACM0 flash monitor

浏览器访问:https://<设备IP>/

Agent 访问KVM:tools/kvm.py

./tools/kvm.py <设备IP> shot /tmp/s.jpg     # 截图
./tools/kvm.py <设备IP> click 12000 8000    # 绝对坐标点击
./tools/kvm.py <设备IP> type "hello"        # 字符串输入

更多接口信息:PROTOCOL.md

串口 115200 控制命令:res/rebuild/idr/resloop/hid/stat/usbdevs/reboot

硬件外观与画面

硬件外观 画面采集 KVM截图

本项目 MIT components/usb_host_uvc/espressif/esp-usb 的 usb_host_uvc 2.5.2 vendored 副本(Apache-2.0,本地改动见该目录 PATCHES.md

About

基于 ESP32-P4 + MS2109 HDMI 采集卡制作的 IP-KVM,支持浏览器访问与 Agent 控制

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages