Gibby Mascot

Subscribe NOW!

コンテンツにスキップ

Openterface Viewer:Kashallの軽量、ブラウザベースKVMソリューション

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. インストール不要の操作 ChromeなどのChromiumベースブラウザで直接動作——ソフトウェアやサーバーセットアップは不要。

  2. クライアントサイドアーキテクチャ 静的Webアプリとして構築され、Cloudflare Pages(openterface-viewer.pages.dev)でホストされ、Viewerは以下を使用してMini-KVMと直接通信:

    • WebUSBでビデオと制御データ
    • WebSerialで設定
    • WebHIDでマウスとキーボード入力
  3. 軽量でポータブル 最小限のリソース使用で、ラップトップからタブレットまで、様々なセットアップでのクイックアクセスに理想的。

  4. 強化された制御機能 マウスキャプチャ、キーボード入力サポート、レスポンシブインターフェースでQTの初期制限を改善。

実装

  • コードベース:モジュラー設計とViteによる高速ビルドでTypeScriptで開発
  • ホスティング:Cloudflare Pagesによる静的デプロイメント
  • 依存関係:低レベルデバイスインタラクション用のusbserialportライブラリを含む
  • UI:ライブビデオフィード、入力トグル、動的解像度サポートを備えたレスポンシブWebインターフェース
  • エラーハンドリング:特にUSB 3.0/3.1ポートでの不安定なUSB API動作を処理するための再接続ロジックを組み込み

システム概要

  • ホストデバイス:任意のChromiumベースブラウザ(例:Chrome)
  • Mini-KVM:USBとHDMIでヘッドレスデバイスに接続
  • ターゲットデバイス:SBCやサーバー(例:Jetson Nano)
  • 通信:USB(制御+データ)、HDMI(ビデオ)
  • デプロイメント:Cloudflare Pagesでホストされる静的Webアプリ

課題と制限

  • WebUSB/WebSerial/WebHIDはまだ実験的で、異なるポートやプラットフォームで一貫しない動作をする可能性
  • Chromiumベースブラウザに限定
  • Viewerの開発は時々QTの急速な更新に遅れを取ったが、Kashallの貢献はQTの新機能(例:改善されたマウスサポート)に直接影響

影響

Openterface ViewerはプラグアンドプレイKVMアクセスを再定義——ダウンロード不要、ドライバー不要、ブラウザを開くだけで使用可能。以下のための実用的ツール:

  • ポータブルリモート制御が必要なITプロフェッショナル
  • SBCやヘッドレスデバイスを管理するホビイスト
  • セットアップを乱すことなくクロスプラットフォームで作業する開発者

このプロジェクトはまた、Webネイティブハードウェアインターフェースの成長する可能性を強調し、将来のより高度でクロスプラットフォームなツールへの道を開いています。

さらに探索

USB-KVM DIYチャレンジ2024でのこのエレガントで先見性のあるソリューションを提供してくれたKashallに特別な感謝を!