Sitzung
Was ist eine Sitzung?
Eine Sitzungwird automatisch erstellt, sobald ein WebSocket-Client eine Verbindung zu Port 10001 herstellt. Pro Verbindung wird eine Sitzung erstellt. Wenn die Verbindung geschlossen wird, wird die Sitzung beendet und ihre Konfiguration gelöscht.
Jede Sitzung umfasst Folgendes:
- Nummern-ID(wird vom Dienst automatisch zugewiesen)
- Beliebiger Profilname(von Ihnen selbst festzulegen)
- Individuelle Ansichten für alle Geräte: Referenzpunkte, Befestigungen, Voreinstellungen, Filter und Transformationen im Arbeitsbereich
Es können mehrere Sitzungen gleichzeitig bestehen. So können Sie beispielsweise in einer Sitzung eine Unity-App ausführen und in einer anderen Sitzung den „ Haply -Hub“ überwachen. Beide Sitzungen beziehen sich zwar auf dasselbe physische Gerät, verfügen jedoch über eigene Koordinatensysteme.
Festlegen des Profilnamens
Wir empfehlen Ihnen dringend, in Ihrer ersten Nachricht einen Profilnamen festzulegen:
{
"session": {
"configure": {
"profile": {
"name": "co.mycompany.myapp:main-scene"
}
}
}
}
Wichtige Gründe:
- Haply HuberkenntSimulationen anhand ihres Profilnamens und ermöglicht es, die Geräteeinstellungen (Arbeitsbereich, Referenz, Befestigung, Filter) über die Benutzeroberfläche anzupassen.
- Diese Anpassungenwerden dauerhaft gespeichert. Wenn Sie dieselbe App das nächste Mal ausführen, wendet der Hub sie automatisch erneut an, ohne dass Sie den Code ändern müssen.
- Andere Sitzungen (oder HTTP-Clients) sind,Sitzungsauswahl Mit dem Profilnamen können Sie Ihre Sitzung angeben:
?session=myapp:0。Der Profil-Selektor ist*und?Da wir auch „Grobwild“-Karten akzeptieren,?session=co.haply.hub::*:0Solche Namensräume funktionieren auch, wenn man den vollständigen Profilnamen nicht kennt.
Fernsteuerung (Einstellungen zwischen den Sitzungen)
Die Geräte einer Sitzung könnenvon außenneu konfiguriert werden. Dies ist sowohl von einer anderen WebSocket-Sitzung als auch von einem HTTP-Client ohne WebSocket-Verbindung aus möglich. Auf diese Weise passt der Haply Hub die Einstellungen der App an.
Der HTTP-Client gibt mithilfe desSession-Selektors die entsprechende Sitzung an:
# List all sessions
curl http://localhost:10001/sessions
# Look up a single session directly (path-form of the selector — same
# expressions as `?session=`, see Selectors for the full grammar)
curl http://localhost:10001/sessions/:myapp:0
# Change the basis on session with profile "myapp" (first match)
curl -X POST "http://localhost:10001/inverse3/0/config/basis?session=myapp:0" \
-H "Content-Type: application/json" \
-d '{"permutation": "XZY"}'
# Same, but target the first session in a namespace (profile wildcard)
curl -X POST "http://localhost:10001/inverse3/0/config/basis?session=co.haply.hub::*:0" \
-H "Content-Type: application/json" \
-d '{"permutation": "XZY"}'
Ein umfassendes Beispiel für die HTTP-Steuerung zwischen Sitzungen finden Sie imTutorial zur HTTP-Fernkonfiguration.