PiKVM - 基于树莓派的开源经济型IP-KVM, 用于管理服务器或个人PC机

無論操作系统的運作狀況如何或是否安裝了操作系统 , 您可以修復任何软件上問題 , 調整 BIOS , 甚至使用虛擬 CD-ROM 或u盘重裝系統

DIY 成本取決於所需的功能 , 即使最貴的版本也比商用 IP-KVM 便宜



系統 Arch Linux ARM Read-only 模式

具備一些 Linux 使用經驗 , 可以玩的順手

給有興趣的一些指南

一篇文章講的有限 , 還是去看看 PiKVM 官方指南

声明

硬件選擇

基於 PiKVM 官網釋出的

DIY PiKVM V2 Instructions 挑選相容配件

使用基於 Raspberry Pi 4B

支援有线网络及 TypeC 能直接 OTG 輸出鍵鼠訊號給到主機

不會使用 USB 擷取卡方案 : 延遲過於高 , 且占用 SBC 所剩無幾的 USB PORT


基础版

  1. Raspberry Pi 4B 2GB ×1( 可選擇記憶體更大的款式,但意義不大 )
  2. Raspberry Pi 小鋁片散熱器 ×1 套 ( 4B 用的是 4 個的樣子 )
  3. MicroSD ×1 ( 至少 16GB , Class 10 的卡 )
  4. Raspberry Pi 4B 官方變壓器 5V3A ×1
  5. HDMI to CSI 轉接板 ( 基於 TC358743XBG 关鍵字 微雪 HDMI to CSI , Geekworm C779 , Blicube C780 , Geekworm C790 , Geekworm X630 , Geekworm X1300 )
  6. USB TypeC 電-USB 分離板 / Type-C 一分二同時充電-OTG 接頭組 ×1
  7. USB TypeC-TypeC 线 ×1 ( 连接 TypeC 電-USB 分離板至 PiKVM , 使用一分二线的可以跳過 )
  8. USB TypeA-TypeC 线 ×1 ( 连接接 PiKVM 到电脑,长度視距离 )
  9. HDMI 线 ×1 ( 长度視 PiKVM 至被控电脑距离 )

基础 Pro 版

基础版 加 1 套 USB ATX Ctrl

  1. USB ATX Ctrl 小板 ×1 ( 可控制电脑开关机)
  2. USB TypeA - TypeC  ×1 ( 长度視 PiKVM 至被控电脑距离, 连接 USB ATX Ctrl 小板用 )

多被控端版

基础版
加 1 套相容的 KVM Switch

基础版 第 8,9 項

從直连电脑變成连接至 PiKVM 至 KVM SWITCH
建議縮短长度,线材整理收納是個問題

  1. BLIKVM HDMI XH-HK4401 切换器 KVM ×1 ( 我這裡選擇 Copycat 方案 4 port , 便宜 , 方便购买, 且帮你調整好 )
  2. HDMI 线 ×4 ( 第 1 項內有对应线材,长度不足,再額外购买)
  3. USB Type A -Type B ×4 ( 连接电脑至 KVM SWITCH , 第 1 項內有对应线材,长度不足,再額外购买)
  4. USB Type A - MicroB ( KVM SWITCH 控制线 , 连接至 PiKVM )

多被控端 Pro 版

基础版
加 1 套相容的 KVM Switch
加 4 套 USB ATX Ctrl

基础版 第 8,9 項

從直连电脑變成连接至 PiKVM 至 KVM SWITCH

建議縮短长度,线材整理收納是個問題

  1. BLIKVM HDMI XH-HK4401切换器 KVM ×1 ( 我這裡選擇 Copycat 方案 4 port , 便宜 , 方便购买,且帮你調整好 )
  2. HDMI 线 ×4 ( 第 1 項內有对应线材,长度不足,再額外购买)
  3. USB Type A - Type B ×4 ( 连接电脑至 KVM SWITCH , 第 1 項內有对应线材,长度不足,再額外购买)
  4. USB Type A - MicroB ( KVM SWITCH 控制线 , 连接至 PiKVM )
  5. USB ATX Ctrl 小板 ×4 ( 可控制电脑开关机)
  6. USB TypeA - TypeC  ×4 ( PiKVM 至被控电脑距离 , 连接 USB ATX Ctrl 小板用 )
  7. USB TypeA HUB ( 连接第 6 項 多個 USB TypeA 到樹梅派 , USB Port 可能會有不足的情況 )

增加額外功能

風扇

加強散熱可以加風扇

HDMI OUT 還出的

有需要 HDMI OUT 還出 , 可外接螢幕

將原本 HDMI to CSI 轉接板

替換成 Geekworm X1301 ( 帶 HDMI OUT 還出功能 ) 驗證過 Raspberry Pi 4B 可用

Pro 版的 USB ATX Ctrl 小板

USB-ATX-CTRL

production 資料夾裡的 gerber.zip 去到 JLCPCB,PCBWay 或 其他板廠

選項選好下單結帳就會有空板寄出來

PCB 空板長這樣

USB-ATX-CTRL-PCB

再依照 如下 BOM 买元件

FootprintQuantityMouser#Description
D31645-599-0411-127FRed,HDD LED
D41645-599-0480-127FGreen,Power LED
J11538-10-89-40822 X 04P PIN
K1, K22769-AQW210EHAAQW210EHA
R5,R62667-ERA-8ARB333V33k
R1,R2,R3,R4,R7,R86667-ERA-8AEB561V560R
SW1,SW22688-SKHWAPA010POWER,RESET
RZ11RP2040-ZERO
杜邦线 母 - 母8杜邦线 母 - 母

RP2040-ZERO 去淘寶 / 蝦皮 / 電子材料店 买就好

" 杜邦线 母 - 母 " 连接主機板 前面板

其餘零件我選擇 Mouser / Digikey 正規廠商

淘寶买過 Remark 仿品和保存不佳的不敢了

LCSC 立創商城是可以看看, 但不一定都會有对应的元件

烙鐵焊接 , 成品如下

Flux 沒清乾淨就拍照 , 看起來有點髒 , 也焊的不怎麼樣湊合看

USB-ATX-CTRL-PCBA

硬件安裝

Raspberry Pi 4B 散熱器貼一貼

在接上 HDMI to CSI 轉接板

然後螺絲桐柱固定好

USB TypeC 電-USB 分離板

PWR 端连接 Raspberry Pi 4B 官方變壓器

USB 端连接电脑或 KVM

自己發揮一下

附图給參考

PiKVM Pro 连接图

PiKVM Pro 连线路

PiKVM Pro 4Port 连接图

PiKVM Pro 4Port 连线路

软件安裝

准备相关存档

PiKVM Flash OS

取得官方釋出鏡象存档 跳至

DIY PiKVM V2 Platform > Raspberry Pi 4 > For HDMI-CSI bridge

下載儲存備用

Raspberry 官方推出的 RPi Imager

將鏡象寫入至存储TF卡的软件

根據自己的平台選擇安裝檔


鏡象寫入至存储TF卡

安装RPi Imager , 應該不用教啦

开啟 RPi Imager

RPi-Imager

Raspberry Pi Device 下拉選擇 NO FILTERING

RPi-Imager2

"請選擇需要寫入的操作系統"下拉選擇 Use custom

再選擇剛剛官網下載來的鏡象

"儲存卡"點進去 , 選擇你的 MicroSD 裝置

等待燒錄完成提示


USB-ATX-CTRL Firmware 如何燒入

用 USB 线將 RP2040 连接电脑

先按下 RESET 再按下 BOOT

先鬆 RESET 再鬆 BOOT 就可以進去燒錄模式

PiKVM-USB-ATX-CTRL

firmware 內的 dln2.uf2 拖進去

燒錄就完畢


設定

插電开機

去 router 看新上线 PiKVM 的 IP

然後瀏覽器开啟該 IP , 確認一下是否為 PiKVM

預設使用者是帳號 admin , 密碼 admin , 沒有 2FA 驗證

確定是該 IP 後那就可以开啟 PuTTY , teraterm 等,但不限於可 ssh 软件

或使用 windows 終端機輸入

用超級使用者 root , 預設密碼是 root

Login

以下內容會用到 linux 文字編輯器 nano ( 要用 vim 編輯也不是問題 , 同理 )

務必先去了解快捷鍵使用可解決一些操作問題

再來由於系統是 Read-only 模式 , 更改設定前

必須先下 rw 指令啟用 Read-Write

結束修改 ro 指令恢復 Read-only


修改 root 和 admin 密碼

!! 务必请修改密码 !!

打密碼不會顯示這很正常

!! 务必请修改密码 !!


改變鏡象站來源

连國外鏡象站太慢

縮短系統更新花費的時間

下載速度快一點,穩定一點

將原本的改成

更多地區的 Arch Linux Arm 鏡象站

Arch Linux Arm mirrors


鎖定預設分辨率在 1080P

鎖定分辨率我建議啟用

我手上一張 GT1030 進系統能 1080P 甚至更高

進 Bios 一开始還卡在 720P

顯示卡識別到把分辨率切到 1080P

但 PiKVM 識別不到畫面就卡死


USB ATX CTRL ,配置 override.yaml 及修改 web.css 介面樣式

USB ATX CTRL

參考 PiKVM-USB-ATX-CTRL

需要先安裝相关依賴

進入這個目錄,你會看到插上去的裝置

我建議可以先 1 次 1 片

把序號記錄下來,等一下會用到


配置 override.yaml

貼入下方

再依照 Port 將上面得到的序號
取代進去 SN0,SN1,SN2,SN3


修改 web.css

更改同目錄下的 web.css

存檔,重啟


远程访问

PiKVM Docs 給出三種

  • Port forwarding 端口转发 如 FRP ( 必需 强密码和 2FA验证 , 否则有安全风险 )
  • Tailscale VPN ( 使用者可以自由移除加入网络的裝置 )
  • Cloudflare Tunnels ( 一开頭声明處寫著屬於社群提出的 , 非 PiKVM 官方解決方案 )

較推薦的解法用 tailscale VPN 进行内网穿透

由於非必須我就放參考網站

原則上是沒有不同

PiKVM 官方 Tailscale 設定
Tailscale 官方文件教學 PiKVM 設定


更新系統

由於 PiKVM 官方會修復 bug 和新增功能

以及 Linux 也會更新相关系統組件及安全性修復

更新指令如下

更新完會自動重开機


写在最后

建议多给PiKVM 项目Star或者赞助

讓這個項目繼續下去 , 這樣大家才能繼續動手 DIY 享受便宜的 IP-KVM

相关來源

pikvm docs
usb-atx-ctrl
pikvm-usb-atx-ctrl
dln2-dkms
arch linux arm mirror list