openipkvm安装过程记录
前言
和PiKVM类似,这也是一个轻量开源的的kvm over ip项目。虽然程序本身比较简陋,但使用node环境可以在各类Linux(+ Arduino Leonardo)平台上运行,兼容性非常强,可以作为一个备选方案。其在GitHub和恩山无线论坛上有非常详细的安装指引,这里简单记录一下在armbian上的安装过程。
下图是架构和截图:(转自项目作者)
硬件准备
安装好Linux系统的主机(含两个USB口以上,arm,x86都可)
Arduino Leonardo开发板、USB-to-TTL适配器(如ch340)、采集卡(Linux免驱即可,如ms2109方案)
安装教程
写入Arduino Leonardo
下载并打开Arduino IDE 载入源码里的virt-hid-arduino.ino上传到对应COM口的开发板设备
#安装mjpg-streamer
apt-get install cmake libjpeg-dev gcc g++
git clone https://ghproxy.com/https://github.com/jacksonliam/mjpg-streamer.git
cd mjpg-streamer && cd mjpg-streamer-experimental
make
sudo make install
#根据机器类型下载对应版本node即可,这里下载的是arm32位版本,适用于arm设备
cd ~
wget https://cdn.npmmirror.com/binaries/node/v14.17.0/node-v14.17.0-linux-armv7l.tar.xz
tar -xJf node-v14.17.0-linux-armv7l.tar.xz
cd node-v14.17.0-linux-armv7l
sudo cp -R * /usr/local/
node -v
#cd ~
git clone https://ghproxy.com/https://github.com/Nihiue/open-ip-kvm.git
npm config set registry https://registry.npmmirror.com
cd open-ip-kvm && npm install
#程序程序运行命令
npm run start
#安装进程管理器,开机自启的具体实现请参考pm2文档(可选)
npm install -g pm2
连接
USB-TTL设备TTL端与「Arduino Leonardo」用杜邦线连接,TX接RX,RX接TX,GND可以不接,USB端接Linux主机。Arduino Leonardo的USB口接需要控制的目标机,采集卡HDMI输入接需要控制目标机的HDMI输出接口。网页地址:http://IP:8000
其他
openipkvm只是一个能用的程序,程序比较简单,优化空间大,不适合正式环境。此方案理论上能在各类Linux设备上运行,在玩客云上测试通过。
一些比较罕见的arm电视盒子上的Armbian Linux系统可能不含UVC驱动就只能放弃了kvm over ip了(此情况很少见)。