Haply Inverser Dienst
Inverse Service läuft auf Ihrem Rechner als Hintergrundprozess und verbindet Haply-Haptikgeräte in Echtzeit mit Ihrer Anwendung. Da alle Vorgänge – von der Geräteerkennung über die serielle Kommunikation und die Sicherheitsüberwachung bis hin zum Streaming des Gerätestatus – auf einer Ebene unterhalb des Anwendungscodes abgewickelt werden, können Sie sich ganz auf die Gestaltung des Nutzererlebnisses konzentrieren.
Anforderungen und Kompatibilität
Dieser Dienst läuft auf den gängigen Desktop-Plattformen und kann vonjeder Programmiersprache aus über einen WebSocket-Client und einen JSON-Parsergesteuert werden:
- Plattform: Windows 10 und höher (MSVC), Linux (
.deb(Paket), macOS - Sprachen: Python, JavaScript/TypeScript, C++, C#, Rust, Go, Java, … – alle Sprachen, die WebSocket und JSON unterstützen
Offiziell unterstützte Integrationen
Haply bietet offizielle Integrationen fürHaply das Inverse Unity Package,Toia,Geomagic FreeformundNVIDIA Isaac Lab an und sorgt für deren Wartung.
Darüber hinaus können Sie diesen Dienst nutzen, sofern Ihre Plattform oder Laufzeitumgebung über einen WebSocket-Client und einen JSON-Parser verfügt. Wir haben die Funktionsfähigkeit in Verbindung mitder Unreal Engine,TouchDesignerund anderen Echtzeit- sowie Simulations-Stacks überprüft. Sofern Sie in Ihrer Umgebung WebSocket nutzen können, lassen sich die Inverse-Geräte bedienen.
Beispiele für die einzelnen Sprachen finden Sie in den öffentlichen Beispiel-Repositorys: C++undPython.
Kommunikationsschnittstelle
Dieser Dienst stellt zwei Kommunikationskanäle zur Verfügung:
| Kanal | Port | Transport | Verwendungszweck |
|---|---|---|---|
| Simulation | 10001 | WebSocket | Echtzeit-Befehls-/Zustandsschleife (1 eingehende Nachricht → 1 ausgegebener Zustand) |
| Veranstaltung | 10020 | WebSocket (nur Lesezugriff) | Systemereignisse: Warnungen zu Sicherheit, Akku, Verbindung und Datenrate |
| HTTP | 10001 | REST | Zustandslose Konfigurationsabfragen, Konfiguration, Sitzungsverwaltung und Überprüfung von Geräteinformationen |
Alle Nutzdaten liegen im JSON-Format vor. Informationen zu den Standardregeln für Envelope, Port und Content-Type finden Sie inden JSON-Spezifikationen.
Anwendungsfall
| Zweck | Startpunkt |
|---|---|
| Zielwerte für Kraft und Positionan das haptische Gerät senden | Echtzeitsteuerung |
| Einstellungen: Basis, Halterung, Voreinstellungen, Filter | Sitzungseinstellungen |
| Durch die Szene navigieren(Bewegung mittels Geschwindigkeitssteuerung) | Navigationsmodul |
| Systemereignisse empfangen(Sicherheit, Akku, Verbindung) | Ereignisse und Überwachung |
| Anhand von Beispielen lernen | Tutorial |
Koordinatensystem
Das interne Koordinatensystem von Haply istein rechtshändiges System, beidemdie Z-Achse nach oben zeigt(+X rechts, +Y nach vorne, +Z nach oben). MithilfeeinereinzigenBasisrotationlässt es sich in das Koordinatensystem Ihrer Anwendung umrechnen. Nach der einmaligen Einrichtung werden alle Ein- und Ausgabewerte automatisch umgerechnet.
Es gibt zwei Transformationen, mit denen die Position eines Geräts innerhalb einer Szene bestimmt wird:
- Mount — Physikalischer Versatz des Geräts (über Voreinstellungenoder explizit festgelegt)
- Arbeitsbereich – Laufzeit-Drift für die Navigation in der Kamera/Szene (manuell oder überdas Navigationsmoduleinstellbar)
Informationen zur gesamten Koordinatentransformations-Pipeline finden Sieunter „Mount“ und „Workspace“.
Ausführung des Dienstes
Inverse Service kann in zwei Modi ausgeführt werden:
- Haply In den Hub integrieren(empfohlen) – Haply Der Hub enthältdie aktuellsteVersion des Dienstes und wird automatisch gestartet, sobald der Hub geöffnet ist. Eine manuelle Konfiguration ist nicht erforderlich, und Sie profitieren stets von den neuesten Korrekturen.
- Standalone – Verwenden Sie den Inverse Installer, umeinebestimmteServiceversion als Windows-Dienst oder Unix-Daemonzu installieren. Dies ist besonders nützlich für CI, die Bereitstellung in Headless-Umgebungen und die Nutzung auf Rechnern, auf denen der Hub nicht läuft.
Verwaltung von Standalone-Diensten
Windows — Öffnen Sie die Service-App: Win+Rdrücken Sie,services.mscGeben Sie dies ein, suchen Sie nach „Haply -Inverse-Service“, klicken Sie mit der rechten Maustaste darauf und wählen Sie „Starten“, „Beenden“ oder „Neustart“.
Linux (systemd):
systemctl start haply-inverse-service.service
systemctl stop haply-inverse-service.service
systemctl restart haply-inverse-service.service
systemctl enable haply-inverse-service.service # auto-start on boot
API-Referenz (Vollversion)
Die vollständigen, maschinenlesbaren Spezifikationen für alle Endpunkte und Nachrichten lauten wie folgt:
- HTTP-API-Referenz (OpenAPI) – Interaktive Swagger-Benutzeroberfläche
- Simulations-API-Referenz (AsyncAPI) – Interaktiver AsyncAPI-Viewer