Funktionsintegration

In diesem Kapitel wird beschrieben, wie Sie den FIRERAP Remote Desktop und die damit verbundenen Funktionen integrieren. Sie können diese selbst in Ihre Frontend-Seite integrieren, um verschiedene Funktionen wie Bedienung, Anzeige usw. zu realisieren. Wir werden dies hier nicht im Detail erläutern; Sie können stattdessen unsere APIFOX-Dokumentation einsehen und testen. Jedoch möchten wir Ihnen einige vorbereitende Einstellungen und weitere grundlegende Informationen erläutern.

Hinweis

Die folgenden Inhalte erfordern grundlegende Kenntnisse in Bereichen wie Websocket, Canvas-Rendering und H.264.

Vorbereitende Einstellungen

Um Ihnen das Testen der Schnittstellen zu erleichtern, stellen Sie bitte zunächst sicher, dass das Gerät über USB mit dem Computer verbunden ist und dass die Überprüfung des Anmeldezertifikats (https) auf dem Gerät deaktiviert ist. Nachdem Sie diese beiden Schritte abgeschlossen haben, müssen Sie noch die entsprechenden Einstellungen auf der apifox-Plattform vornehmen. Da es sich um ws-Schnittstellen handelt, müssen Sie den apifox-Desktop-Client (nicht die Webversion) installieren und das entsprechende Projekt in Ihren Client importieren. Wir werden hier nicht erklären, wie die Installation und der Import funktionieren. Bitte machen Sie sich damit selbst vertraut.

Echtzeit-Video

Echtzeit-Video wird über Websocket übertragen. Das Video unterstützt zwei Übertragungsformate: erstens MJPEG (MOTION JPEG) und zweitens H.264 NALU. Die Verwendung von MJPEG ist dabei am einfachsten. Der tatsächliche Übertragungsinhalt von MJPEG sind Screenshots des aktuellen Gerätebildschirms. Bei einer ausreichend schnellen Übertragung entsteht ein dynamischer Echtzeit-Gerätebildschirm. Die einzige Verarbeitung, die Sie durchführen müssen, besteht darin, jeden über Ws empfangenen Frame als JPEG auf den Bildschirm zu zeichnen. Das andere Format, H.264, stellt höhere Anforderungen an Ihre Grundkenntnisse, da Sie vor dem Rendern auf dem Canvas einen Dekodierungsschritt durchführen müssen. Sie können selbst nach einem vorhandenen h264-Decoder suchen oder einen integrieren, um die Dekodierung und das Zeichnen durchzuführen.

Der Unterschied zwischen H.264 und MJPEG besteht darin, dass H.264 den Datenverkehr um mindestens die Hälfte reduzieren kann und schneller ist. Natürlich ist es nicht für alle Geräte geeignet. Einige Geräte haben möglicherweise eine geringe H.264-Kodierungsleistung. In diesem Fall sollten Sie MJPEG für die Übertragung verwenden. Selbstverständlich hat auch MJPEG Nachteile: Da jeder Frame ein reines Bild ist, sind die Anforderungen an die Bandbreite höher.

Echtzeit-Touch-Steuerung

Die Echtzeit-Touch-Steuerung wird ebenfalls über Websocket übertragen. Daran ist nichts Besonderes; Sie müssen lediglich die drei Aktionen Drücken, Bewegen und Loslassen in einem bestimmten Format senden. Sie können dies über Web-Ereignisse wie mousedown, up usw. realisieren. Die hauptsächlich übertragenen Daten sind das Ereignis und die Koordinaten. Das Einzige, was hier zu beachten ist, ist, dass Sie die Koordinaten anhand der Größe des Canvas und des tatsächlichen Bildschirms umrechnen müssen, um die den auf dem Canvas ausgeführten Aktionen entsprechenden Koordinaten auf dem tatsächlichen Bildschirm zu berechnen.

Tastenbedienung

Die Tastenbedienung ist vergleichsweise der einfachste Teil. Sie müssen lediglich eine POST-Anfrage im entsprechenden Format an die zugehörige Schnittstelle senden. Die Tastenbedienung ermöglicht es Ihnen, die Navigationstasten des Geräts zu steuern und einfache englische Texte einzugeben.

Kommandozeilen-Terminal

Das Kommandozeilen-Terminal verwendet Websocket. Sie müssen Technologien wie xterm.js für die Anbindung verwenden. Sie müssen lediglich die Ein- und Ausgabe gemäß der API-Dokumentation in ein bestimmtes Format bringen und senden oder die Ausgabe von xterm anfordern.

Echtzeit-Befehle