Zum Hauptinhalt springen

FwESI Fernbedienung (Beta)

· 6 Minuten Lesezeit
Kevin Lichtenberg

In diesem Beitrag geht es um die neue Fernbedienungsfunktion von FwESI, um Übungen noch dynamischer und unterbrechungsfrei zu gestalten.

Dieses Feature ist ab der kommenden Version 1.2.0 verfügbar

Hintergrund

Bisher war es für den Ausbilder nicht möglich mit FwESI zu interagieren während ein Auszubildender FwESi beispielsweise aus der Egoperspektive nutzt.

Das führt dazu, dass der Ausbilder immer unterbrechen muss, wenn er eine neue Situation erzeugen oder eine andere Lage laden möchte. Mit der neuen Fernbedienung(Remote)-Funktion wollen wir diesem Problem entgegenwirken.

Dabei war uns wichtig, dass die Fernbedienung auf allen mobilen Endgeräten einsetzbar ist und sich möglichst einfach bedienen lässt. Nach einem gescheiterten Versuch mit einer Bluetooth-basierten Lösung haben wir uns entschieden ein lokales Netzwerk zu verwenden.

Unserer Erfahrung nach ist WLAN bzw. eine Netzwerkstruktur in den meisten Einrichtungen verfügbar und wird bereits zum Betrieb von FwESI vorausgesetzt. Die Fernbedienung selbst besteht aus einer Benutzeroberfläche, die auf dem jeweiligen Gerät erzeugt wird und einer Server-Implementierung parallel zu FwESI. Damit wir nicht für jedes mobile Endgerät eine eigene Applikation entwickeln müssen, haben wir uns entschieden eine sog. Single Page Application (SPA) zu schreiben. Dabei handelt es sich um eine Web-Anwendung, die ihren Inhalt abhängig von Nutzereingaben dynamisch neu berechnet. Sie kann auf jedem Gerät, auf dem ein moderner Internet-Browser (Firefox, Chrome, Edge, Safari) vorhanden ist, ausgeführt werden.

Technik und Frameworks

Zum Entwickeln von SPAs stehen mehrere Frameworks zur Auswahl. Wir haben uns für Angular entschieden. Angular ist ein open-source Framework und basiert auf der Programmiersprache Typescript. Typescript wiederum ist eine typisierte Variante von JavaScript und wird von Microsoft entwickelt.

Damit die Weboberfläche (Frontend) mit FwESI interagieren kann, braucht FwESI einen parallel laufenden Server. Der Server ist innerhalb von FwESI als Plugin realisiert und kann jederzeit asu der Anwendung heraus gestartet und wieder beendet werden.

Steuert man die Netzwerkadresse des Servers mit einem Browser an, wird die Benutzeroberfläche der Fernbedienung, wie bei einer normalen Website geladen.

Die Fernbedienung (Frontend)

Die Fernbedienung kann man aufrufen, indem man mit dem Browser auf zu einer bestimmen Adresse navigiert. Die Adresse kann entweder einfach abtippen oder man nutzt den QR-Code.

Wenn man dem Rechner, auf dem FwESI läuft eine statische IP über den Router zuweist, kann man immer die gleiche Adresse benutzen.

Aktuell bietet die Fernbedienung zwei Tabs bzw. Modi: Objekte und Speicherdateien.

Objekte

Remote UI

Die Benutzeroberfläche der Fernbedienung wurde so designt, dass sie sowohl auf großen als auch auf kleinen Bildschirmen bedienbar ist. In der linken Spalte werden alle ferngesteuerten Objekte aus der aktuellen Lage dargestellt.

Wählt man eines der Objekte aus, werden die Eigenschaften (Properties) des Objekts in der rechten Spalte angezeigt. Ganz oben steht immer der Name des Objekts und da drunter die Id. Rechts neben dem Namen befindet sich ein Augen-Symbol. Damit kann man die Sichtbarkeit eines Objekts ein- und ausschalten.

Unterhalb werden alle Properties des Objekts aufgelistet. Jedes Property ist aktuell editierbar.

Zum jetzigen Zeitpunkt unterstützt das Frontend noch nicht alle Datentypen, die es in FwESI gibt. Zum Beispiel kann man in FwESI Personen in ein Unfallfahrzeug setzen. Dies geht über die Fernbedienung noch nicht.

Folgende Datentypen werden aktuell unterstützt:

  • Zahlen (Ganzzahlig und mit Nachkommastellen)
  • Text
  • Checkboxen, mit denen etwas an- oder ausgeschaltet werden kann
  • Fest vorgegebene Auswahlen. Zum Beispiel Animationszustände von Charakteren
  • Listen aller bisher genannten Typen

Folgende Datentypen werden aktuell noch nicht unterstützt:

  • Verweise auf andere Objekte
  • Auswahl von Objekten aus der Bibliothek. Zum Beispiel Insassen von Unfallfahrzeugen
  • Verschachtelte Objektstrukturen

Entsprechend wie sich der Bedarf nach weiteren Datentypen entwickelt, würden wir diese noch hinzufügen. Aktuell ist der Nutzen allerdings noch zu gering, als dass sich die Entwicklung lohnen würde.

Das Ziel der ersten Betaphase ist es auch Feedback im Hinblick auf Anwendungsszenarios und fehlende Features zu erhalten. Dazu schreibt ihr uns am besten direkt auf Discord oder per Mail an support@fwesi.de.

Speicherdateien

Im zweiten Tab werden alle Speicherdateien gelistet, die die aktuelle FwESI-Instanz aktuell laden kann. Die Speicherdateien sind dabei genauso aufgebaut, wie in der Szenarioauswahl in FwESI und besitzen entsprechend ihnen zugewiesene Unter-Speicherdateien.

Remote UI

Besitzt eine Speicherdatei keine Unter-Speicherstände, ist der Pfeil zum ausklappen ausgegraut. Ansonsten lassen sich so die Unter-Speicherdateien anzeigen. Die Speicherdatei, die aktuell geladen ist, wird orange eingerahmt, um die Orientierung zu erleichtern.

In dem Bild ist zu sehen, dass gerade die Lage "Remote Test Lage" geladen ist und sie eine Unter-Speicherdatei enthält.

Über den Laden-Button wird die entsprechende Lage geladen.

Wird der Laden-Button gedrückt, lädt FwESI sofort eine neue Lage. Es gibt keine Möglichkeit in FwESI den Vorgang zu stoppen oder abzubrechen.

In FwESI

In FwESI selber kann der Server auf zwei Arten gestartet werden. Im Hauptmenü kann das automatische Starten des Servers über die Einstellungen aktiviert werden. Ist diese Einstellung aktiviert, startet der Server automatisch, wenn man eine Lage startet.

Man kann den Server auch manuell starten. Hierfür man nutzt die entsprechende Schaltfläche in der Actionbar.

Server Button

Über das eingeblendete Menü kann man auch den QR-Code erneut einsehen oder den Server starten bzw. beenden.

Server Info

Anpassungen der Benutzeroberfläche

Eine wichtige AAnforderung bei der Entwicklung war es, Objekte ein- und ausblenden zu können. Dieses Features war zu dem Zeitpunkt noch nicht in FwESI implementiert und musste noch zusätzlich eingebaut werden. Um die Sichtbarkeit von Objekten im Operator-Modus zu kontrollieren, wurde das Details Panel umgebaut.

Das Details Panel wurde durch ein Tab-Widget ersetzt. Dieses bietet neben dem Details Panel nun auch ein Outliner Panel.

Outliner

Der Outliner zeigt alle manipulierbaren Objekte der gesamten Szene an. Über das Augensymbol können einzelne Objekte ein- und ausgeblendet werden. Über die Tabs kann man zwischen Outliner und Details Panel wechseln. Das gesamte Element kann durch das Klicken auf den rechten Rand komplett aus- und wieder eingeblendet werden.

Hinweise zum Beta-Release

Es handelt sich bei dieser Version noch um eine Beta-Version. Das heißt, dass sich noch Fehler in der Software befinden werden. Daher raten wir aktuell noch davon ab, die Technik in Übungen zu verwenden. Findet ihr einen Fehler, würden wir uns freuen, wenn ihr uns diesen über die üblichen Kanäle mitteilt (support@fwesi.de oder Disocrd).

Wir planen auch die Remote in Zukunft noch weiterzuentwickeln, wollen jedoch erstmal einen Eindruck erhalten, welche Features von den Nutzern am meisten gewünscht werden, bevor wir die Zeit dafür aufwenden.

Eine konkrete Anleitung, wie man die Remote benutzen kann, findet ihr in unserer Dokumentation. Der Text wir dort laufend aktualisiert.