Openterface Viewer: легкое KVM-решение Kashall на основе браузера

Openterface Team Product Updates

Openterface Viewer от Kashall — выдающийся проект USB-KVM DIY Challenge 2024, предлагающий легкую альтернативу настольному приложению Openterface_QT с открытым исходным кодом. Этот браузерный KVM-интерфейс работает полностью на стороне клиента в браузерах на базе Chromium и не требует установки или внутреннего сервера. Разработанный для использования с Openterface Mini-KVM, он основан на новых веб-стандартах, таких как WebUSB, WebSerial и WebHID, и представляет собой портативное решение для управления автономными устройствами.

Screenshot of Openterface Viewer Web Interface showing the browser-based control panel Screenshot of Openterface Viewer in action controlling a target device

Почему это важно

Ранняя версия Openterface_QT требовала установки и предлагала только базовые функции. Напротив, Openinterface Viewer:

  • Запускается в браузере без необходимости установки.
  • Работает в разных системах благодаря статическому развертыванию.
  • Расширяет функциональность благодаря таким функциям, как ввод с клавиатуры и захват мыши.
  • Демонстрирует возможности современных веб-API для управления оборудованием.

Ключевые особенности

  1. Работа без установки Работает напрямую в браузерах на базе Chromium, таких как Chrome — не требуется никакого программного обеспечения или настройки сервера.

  2. Клиентская архитектура Средство просмотра, созданное как статическое веб-приложение и размещенное на страницах Cloudflare (openterface-viewer.pages.dev), напрямую взаимодействует с Mini-KVM, используя:

    • WebUSB для видео и управляющих данных
    • WebSerial для настройки.
    • WebHID для ввода с помощью мыши и клавиатуры.
  3. Легкий и портативный Идеально подходит для быстрого доступа к различным устройствам — от ноутбуков до планшетов — с минимальным использованием ресурсов.

  4. Расширенные функции управления Улучшены ранние ограничения QT за счет захвата мыши, поддержки ввода с клавиатуры и адаптивного интерфейса.

Реализация

  • Кодовая база: разработана на TypeScript с модульной конструкцией и Vite для быстрой сборки.
  • Хостинг: статическое развертывание через Cloudflare Pages.
  • Зависимости: включает библиотеки USB и Serialport для низкоуровневого взаимодействия с устройствами.
  • UI: адаптивный веб-интерфейс с прямой трансляцией видео, переключателями ввода и поддержкой динамического разрешения.
  • Обработка ошибок: включает логику повторного подключения для обработки нестабильного поведения USB API, особенно на портах USB 3.0/3.1.

Обзор системы

  • Хостовое устройство: любой браузер Chromium (например, Chrome).
  • Мини-KVM: подключение к безголовым устройствам через USB и HDMI.
  • Целевое устройство: SBC или серверы (например, Jetson Nano).
  • Связь: USB (управление + данные), HDMI (видео)
  • Развертывание: статическое веб-приложение, размещенное на страницах Cloudflare.

Проблемы и ограничения

  • WebUSB/WebSerial/WebHID все еще являются экспериментальными и могут вести себя по-разному на разных портах или платформах.
  • Ограничено браузерами на базе Chromium.
  • Разработка средства просмотра иногда отставала от быстрых обновлений QT, хотя вклад Кашалла напрямую влиял на новые функции QT (например, улучшенную поддержку мыши).

Влияние

Openterface Viewer меняет представление о доступе к KVM по принципу «подключи и работай» — никаких загрузок и драйверов, просто откройте браузер и приступайте. Это практичный инструмент для:

  • ИТ-специалистам, которым требуется портативный пульт дистанционного управления.
  • Любители, управляющие SBC и безголовыми устройствами.
  • Разработчики работают на разных платформах, не загромождая настройки.

Этот проект также подчеркивает растущий потенциал аппаратных веб-интерфейсов, открывая путь для более совершенных кроссплатформенных инструментов в будущем.

Исследуйте дальше

Особая благодарность Kashall за это элегантное и дальновидное решение для конкурса USB-KVM DIY Challenge 2024!