Openterface Viewer: Kashall's lichtgewicht, browsergebaseerde KVM-oplossing

Openterface Team Product Updates

Kashall’s Openterface Viewer is een opvallende inzending in de USB-KVM DIY Challenge 2024 en biedt een lichtgewicht, open-source alternatief voor de Openterface_QT desktop-applicatie. Deze browsergebaseerde KVM-interface draait volledig client-side in Chromium-gebaseerde browsers en vereist geen installatie of backend-server. Het is ontworpen voor gebruik met de Openterface Mini-KVM en is gebouwd op opkomende webstandaarden zoals WebUSB, WebSerial en WebHID om een ​​draagbare oplossing te bieden voor het beheer van headless-apparaten.

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

Waarom het ertoe doet

De vroege versie van Openterface_QT vereiste installatie en bood alleen basisfunctionaliteit. Openterface Viewer daarentegen:

  • Draait in de browser zonder installatie
  • Werkt op verschillende systemen dankzij een statische implementatie
  • Verbetert de functionaliteit met functies zoals toetsenbordinvoer en muisopname
  • Demonstreert de kracht van moderne web-API’s voor hardwarecontrole

Belangrijkste kenmerken

  1. Installatievrije werking Werkt rechtstreeks in Chromium-gebaseerde browsers zoals Chrome, zonder dat er software of serverconfiguratie vereist is.

  2. Client-side architectuur Gebouwd als een statische webapp en gehost op Cloudflare Pages (openterface-viewer.pages.dev), communiceert de Viewer rechtstreeks met de Mini-KVM met behulp van:

    • WebUSB voor video- en besturingsgegevens
    • WebSerial voor configuratie
    • WebHID voor muis- en toetsenbordinvoer
  3. Lichtgewicht en draagbaar Ideaal voor snelle toegang tot verschillende configuraties – van laptops tot tablets – met minimaal gebruik van bronnen.

  4. Verbeterde bedieningsfuncties Verbetert de vroege beperkingen van QT met muisopname, ondersteuning voor toetsenbordinvoer en een responsieve interface.

Implementatie

  • Codebase: ontwikkeld in TypeScript met modulair ontwerp en Vite voor snelle builds
  • Hosting: statische implementatie via Cloudflare Pages
  • Afhankelijkheden: Inclusief ‘usb’- en ‘seriële poort’-bibliotheken voor apparaatinteracties op laag niveau
  • UI: responsieve webinterface met live videofeed, invoerschakelaars en ondersteuning voor dynamische resolutie
  • Foutafhandeling: bevat logica voor opnieuw verbinden voor het omgaan met onstabiel USB API-gedrag, vooral op USB 3.0/3.1-poorten

Systeemoverzicht

  • Hostapparaat: elke Chromium-browser (bijv. Chrome)
  • Mini-KVM: wordt aangesloten op headless-apparaten via USB en HDMI
  • Doelapparaat: SBC’s of servers (bijv. Jetson Nano)
  • Communicatie: USB (bediening + data), HDMI (video)
  • Implementatie: statische webapp gehost op Cloudflare Pages

Uitdagingen en beperkingen

  • WebUSB/WebSerial/WebHID zijn nog experimenteel en kunnen zich inconsistent gedragen op verschillende poorten of platforms
  • Beperkt tot Chromium-gebaseerde browsers
  • De ontwikkeling van kijkers volgde af en toe snelle QT-updates, hoewel de bijdragen van Kashall direct nieuwe functies in QT beïnvloedden (bijvoorbeeld verbeterde muisondersteuning)

Impact

Openterface Viewer herdefinieert plug-and-play KVM-toegang - geen downloads, geen stuurprogramma’s, open gewoon een browser en ga aan de slag. Het is een praktisch hulpmiddel voor:

  • IT-professionals die een draagbare afstandsbediening nodig hebben
  • Hobbyisten die SBC’s en headless-apparaten beheren
  • Ontwikkelaars die op verschillende platforms werken zonder hun installatie onoverzichtelijk te maken

Dit project benadrukt ook het groeiende potentieel van web-native hardware-interfaces, waardoor de weg wordt vrijgemaakt voor meer geavanceerde, platformonafhankelijke tools in de toekomst.

Ontdek verder

Speciale dank aan Kashall voor deze elegante en vooruitstrevende oplossing in de USB-KVM DIY Challenge 2024!