... | ... | @@ -14,8 +14,9 @@ |
|
|
6.4 [Hardware](#hardware)
|
|
|
7. [Schnittstellen](#schnittstellen)
|
|
|
7.1 [Initialisierung der Backend-Verbindung](#initialisierung-der-backend-verbindung)
|
|
|
7.2 [Event-Weiterleitung](#event-weiterleitung)
|
|
|
7.3 [WebRTC](#webrtc)
|
|
|
7.2 [Verbindung einer AmbientBox mit einem Nutzer](#verbindung-einer-ambientbox-mit-einem-nutzer)
|
|
|
7.3 [Event-Weiterleitung](#event-weiterleitung)
|
|
|
7.4 [WebRTC](#webrtc)
|
|
|
8. [Usertests](#usertests)
|
|
|
8.1 [Vorgehen](#vorgehen)
|
|
|
8.2 [Ergebnisse](#ergebnisse)
|
... | ... | @@ -49,7 +50,7 @@ |
|
|
|
|
|
# Schnittstellen
|
|
|
|
|
|
Die Kommunikation zwischen der AmbientBox und dem Accelerator erfolgt ebenso wie die interne AmbientBox-Kommunikation über Websockets. Dafür wird Socket.io Version 2.4.0 verwendet. Aufteilen lässt sich die Kommunikation zwischen den beiden Systemen in Frontend- und Backend-Kommunikation.
|
|
|
Die Kommunikation zwischen der AmbientBox und dem Accelerator erfolgt ebenso wie die interne AmbientBox-Kommunikation über Websockets. Dafür wird socket.io Version 2.4.0 verwendet. Aufteilen lässt sich die Kommunikation zwischen den beiden Systemen in Frontend- und Backend-Kommunikation.
|
|
|
|
|
|
## Initialisierung der Backend-Verbindung
|
|
|
|
... | ... | @@ -109,6 +110,13 @@ Nachdem die Verbindung zwischen den Systemen aufgebaut wurde, sendet die Ambient |
|
|
|
|
|
Das Objekt enthält die ID der Box, ihren Namen und die Farbe für die Anzeige im Accelerator. Der Status kann 0 (offline), 1 (online) oder 2 (in use) annehmen. Bei der Aktivierung der AmbientBox wird dieser Status auf 1, sobald die AmbientBox einem Nutzer zugeordnet wird auf 2, wenn eine AmbientBox von einem Nutzer entfernt wird wieder auf 1 und wenn eine AmbientBox vom Accelerator disconnected auf 0 gesetzt. Zusätzlich speichert die Liste den aktuellen Raum und den verbundenen Nutzer. Der gespeicherte Socket ist der Socket, über welchen die AmbientBox sich mit dem Accelerator verbunden hat. Über diesen Socket werden alle Events an die AmbientBox gesendet. Die webRTCID dient der Zuordnung zwischen der AmbientBox und der eingehenden WebRTC-Verbindung. Mehr hierzu im [Kapitel WebRTC](#webrtc).
|
|
|
|
|
|
## Verbindung einer AmbientBox mit einem Nutzer
|
|
|
|
|
|
Sobald eine initiale Verbindung der beiden Systeme erstellt ist, kann ein Nutzer im Accelerator sich mit einer AmbientBox verbinden. Der Nutzer kann aus einer Liste von verfügbaren AmbientBoxen eine AmbientBox auswählen und sie dem aktuellen Raum hinzufügen. Dadurch wird diese für alle anderen Räume blockiert. Jeder Nutzer im Raum kann daraufhin sich mit der AmbientBox verknüpfen. Dafür wird vom Accelerator das "attachAmbientBoxToUser"-Event gesendet an das Backend gesendet, welches das "joinRoom"-Event an die AmbientBox sendet. Zusätzlich zu dem Event werden der aktuelle Raum und der Nutzer mitgesendet. Im Frontend der AmbientBox wird daraufhin eine Verbindungsanfrage angezeigt. Wenn der Nutzer die Verbindung akzeptiert, wird der Nutzer und der Raum in das Frontend geladen und eine WebRTC-Verbindung erstellt ([siehe Kapitel WebRTC](#webrtc)). Wenn der Nutzer die Verbindung ablehnt, wird das "AmbientBoxConnectionRefused"-Event an den Accelerator zurückgesendet. Dieses Event wird ebenfalls gesendet, wenn eine Anfrage bei der AmbientBox ankommt, jedoch das Forntend nicht geladen ist. In der nachfolgenden Abbildung ist diese Kommunikation visualisiert.
|
|
|
|
|
|

|
|
|
Abbildung X: Verbindung einer AmbientBox mit einem Nutzer
|
|
|
|
|
|
## Event-Weiterleitung
|
|
|
|
|
|
## WebRTC
|
... | ... | |