树莓派CM0 IPKVM开源无线采集卡:从零打造你的远程HDMI管控中心
项目概述
这是一款基于树莓派Compute Module 0(CM0)的Linux IPKVM设备,目前项目核心功能已经开发完毕。由于系统运行和视频采集对存储空间有一定要求,建议选用16GB以上eMMC闪存的CM0模块,或者自行替换更大容量的eMMC芯片,以保障长期使用和后续扩展的流畅体验。

开源代码与适配
核心代码已上传至GitHub,并针对CM0硬件进行了完整的PIKVM移植适配。目前的固件在最新的Debian 13系统上经过了全面验证,可以稳定运行。
- 适配仓库:https://github.com/JasonYANG170/pikvm-cm0
实物展示
以下为组装完成的成品及PCB照片,涵盖正反面、HDMI输入输出测试以及PIKVM采集测试的实际效果。

正面

背面

PCB正面

PCB背面

HDMI输出与系统测试

HDMI输入与采集测试

PIKVM移植验证

PIKVM实际采集效果
功能特性
- HDMI输入与输出:具备完整的HDMI视频采集和本地环出能力
- Debian 13系统:官方最新系统完美驱动,生态兼容性极佳
- PIKVM开机自启:上电即运行,无论身在何处都能随时远程控制目标主机
- GPIO扩展:开放标准40针引脚,可自由连接传感器、继电器等外设,实现二次开发
硬件配置与状态
该CM0模块芯片内部集成DDR内存,eMMC接口支持5.1规范。为获得更大的软件安装空间,实际硬件中将原厂eMMC更换为64GB版本,系统识别正常且读写稳定。
- s-tui监控界面

- htop资源占用

- lsblk块设备列表

虚拟内存配置优化
CM0的板载内存较小,为了流畅进行视频编解码及PIKVM相关编译任务,需要创建并激活大容量SWAP分区。下面是一个12GB交换空间的完整配置步骤。
1. 创建并启用SWAP文件
sudo dd if=/dev/zero of=/swapfile bs=1M count=12288
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
2. 设置开机自动挂载
sudo nano /etc/fstab
# 在文件末尾添加以下一行
/swapfile none swap sw 0 0
3. 调整Swappiness倾向值
适当提高swappiness值能让系统更积极地使用交换空间,缓解内存压力。
sudo sysctl vm.swappiness=90
采集画面即时查看
安装FFmpeg后,可直接使用ffplay在终端实时预览HDMI输入信号,方便确认采集通路是否正常。
sudo apt update && sudo apt install ffmpeg -y
ffplay -f v4l2 -input_format uyvy422 \
-video_size 1024x768 \
-framerate 60 \
/dev/video0

原理图
以下为完整的电路原理图,涵盖了HDMI切换、采集、电源管理等关键部分。








PCB设计
PCB采用双层板设计,已经上传至嘉立创开源硬件平台,可直接打样和参考。

- 嘉立创开源项目链接:https://oshwhub.com/jasonyang17/rbpi-kvm