Openterface Viewer:Kashall的輕量級、基於瀏覽器的KVM解決方案

Openterface Team Product Updates

Kashall的Openterface ViewerUSB-KVM DIY挑戰2024中的傑出作品,為Openterface_QT桌面應用程序提供了輕量級、開源替代方案。這個基於瀏覽器的KVM界面完全在基於Chromium的瀏覽器中客户端運行,無需安裝或後端服務器。專為與Openterface Mini-KVM配合使用而設計,它基於WebUSB、WebSerial和WebHID等新興Web標準構建,為管理無頭設備提供便攜解決方案。

Openterface Viewer Web界面截圖,顯示基於瀏覽器的控制面板 Openterface Viewer實際控制目標設備的截圖

為什麼重要

早期版本的Openterface_QT需要安裝且只提供基本功能。相比之下,Openterface Viewer:

  • 在瀏覽器中運行,無需安裝
  • 通過靜態部署在不同系統上工作
  • 通過鍵盤輸入和鼠標捕獲等功能增強功能
  • 展示了現代Web API在硬件控制方面的強大功能

主要功能

  1. 免安裝操作 直接在基於Chromium的瀏覽器(如Chrome)中工作——無需軟件或服務器設置。

  2. 客户端架構 構建為靜態Web應用並託管在Cloudflare Pages上(openterface-viewer.pages.dev),Viewer使用以下方式直接與Mini-KVM通信:

    • WebUSB用於視頻和控制數據
    • WebSerial用於配置
    • WebHID用於鼠標和鍵盤輸入
  3. 輕量級和便攜 非常適合在各種設置中快速訪問——從筆記本電腦到平板電腦——資源使用最少。

  4. 增強的控制功能 通過鼠標捕獲、鍵盤輸入支持和響應式界面改進了QT的早期限制。

實現

  • 代碼庫:使用TypeScript開發,採用模塊化設計和Vite進行快速構建
  • 託管:通過Cloudflare Pages進行靜態部署
  • 依賴:包含usbserialport庫用於低級設備交互
  • UI:響應式Web界面,具有實時視頻源、輸入切換和動態分辨率支持
  • 錯誤處理:包含重連邏輯以處理不穩定的USB API行為,特別是在USB 3.0/3.1端口上

系統概述

  • 主機設備:任何基於Chromium的瀏覽器(如Chrome)
  • Mini-KVM:通過USB和HDMI連接到無頭設備
  • 目標設備:單板計算機或服務器(如Jetson Nano)
  • 通信:USB(控制+數據)、HDMI(視頻)
  • 部署:託管在Cloudflare Pages上的靜態Web應用

挑戰和限制

  • WebUSB/WebSerial/WebHID仍處於實驗階段,在不同端口或平台上可能表現不一致
  • 僅限於基於Chromium的瀏覽器
  • Viewer開發偶爾落後於QT的快速更新,儘管Kashall的貢獻直接影響了QT的新功能(如改進的鼠標支持)

影響

Openterface Viewer重新定義了即插即用KVM訪問——無需下載、無需驅動程序,只需打開瀏覽器即可使用。它是以下場景的實用工具:

  • 需要便攜遠程控制的IT專業人士
  • 管理單板計算機和無頭設備的愛好者
  • 在不混亂設置的情況下跨平台工作的開發者

這個項目還突出了Web原生硬件接口的日益增長潛力,為未來更先進、跨平台的工具鋪平了道路。

進一步探索

特別感謝Kashall在USB-KVM DIY挑戰2024中提供的這個優雅且前瞻性的解決方案!