目标:用便宜的价格,网络kvm控制多台主机
解决方案:
- pikvm安装在便宜的arm主机,比如斐讯N1,带有USB otg用于模拟键盘鼠标
- 主机通过USB转TTL控制kvm切换器hk4401,用于切换多台主机,节省成本
准备设备
- 闲鱼购买N1盒子,80左右
- 视频采集卡,注意看一下是否兼容,我买的是onten US323,58元
- USB公对公线,需要割掉电源线VCC,只留数据线,用于主机USB otg模拟键盘鼠标,5元
- hk4401 kvm1对4切换器,USB TTL协议控制切换,淘宝购买,122元
- USB转TTL串口线,要买FTDI正品芯片的,不然通信出问题,买USB转杜邦线版本,接口Vcc5v,Gnd,TX,RX,以及杜邦线转USB,这样测试的时候互换TX RX,确保接对。价格30+5元
- 不算hdmi线,一起成本 80+58+5+122+30+5=300,可以控制1-4台机器
接线方式如图
1 2 |
|
加上kvm切换器
1 2 3 4 5 6 7 8 9 |
|
安装系统
- 按照视频的方式安装
- 下载操作系统版本: Armbian_24.5.0_amlogic_s905d_jammy_6.1.87_server_2024.04.25.img.gz
- 设置设备支持otg
- 用fruity-pikvm安装pikvm
- 先直接用N1连PC,看看是否可以正常监控屏幕,以及成功虚拟鼠标键盘
kvm切换器配置
- 测试hk4401自带的USB控制器正常切换4个口(设备上灯变化)
- FTDI FT232线,接口:VCC5v, Gnd,TX,RX,和杜邦线转USB线连起来,连上hk4401控制口
- 不需要按照文档里面的配置反转,直接就可以收发
- 设备接上后会通电,开始往N1发送数据,用
tio /dev/ttyUSB0 19200
,可以收到数据: G01gA,如果没有,TX RX线反向看看。
用python测试发送,可以看到设备上灯变了
1 2 3 |
|
- 如果成功,就可以改/etc/kvmd/override.yml 配置文件
sudo service kvmd restart
- pikvm UI上面可以看到当前是哪个PC灯亮,以及点击可以切换,就是成功
综合使用问题
- 为了方便远程控制,N1电源,PC电源前面都可以加上智能开关控制开机。PC的BIOS设置成来电启动,N1默认断电后开机自动启动,这样通过智能开关就可以控制包括pikvm在内的所有机器开关机
- 如果要在外网使用,配置公网IP,路由器对应的端口转发就可以
- pikvm可以设置晚上自动关机,这样不用到的时候自动关机省电
- 有的时候键盘鼠标无法识别,pikvm断电重启后会好
- N1主机必须开启,PC才能够识别到显示器,不然可能开不了机或者屏幕分辨率出现问题
- hk4401的电源是通过任意一个USB取电的,所以N1和PC任何一台有电,hk4401都会有电
- fruity-pikvm版本比较旧,没有办法虚拟光驱设备,远程安装系统