Haply Inverser Dienst
Service 3.5 enthält eine Anmeldung alternative JSON-Struktur für Wireless Verse
Grip-Einträge (einschließlich Ruko und Kingfisher). Die Standardeinstellung bleibt gegenüber Version 3.4 unverändert,
sodass bestehende Clients ohne weitere Maßnahmen weiterhin funktionieren. Wenn Ihr Client
die wireless_verse_grip oder custom_verse_grip Arrays und du
möchtest eine übersichtlichere config.type / config.sub_type aufteilen, siehe
3.5 Migrationsleitfaden.
Der Inverse Service läuft als Hintergrundprozess auf Ihrem Rechner und verbindet Haply in Echtzeit mit Ihrer Anwendung. Er übernimmt alle Aufgaben unterhalb Ihrer Programmcodeebene: Geräteerkennung, serielle Kommunikation, Sicherheitsüberwachung und Statusübertragung – so können Sie sich ganz auf die Entwicklung des Nutzererlebnisses konzentrieren.
Anforderungen und Kompatibilität
Der Dienst läuft auf den gängigen Desktop-Plattformen und kann von jeder Sprache aus gesteuert werden, die über einen WebSocket-Client und einen JSON-Parser verfügt:
- Plattformen: Windows 10+ (MSVC), Linux (
.deb(Paket), macOS - Programmiersprachen: Python, JavaScript / TypeScript, C++, C#, Rust, Go, Java, … alles, was WebSocket + JSON unterstützt
Offiziell unterstützte Integrationen
Haply native Integrationen für das Haply Unity Package, Toia, Geomagic Freeform und NVIDIA Isaac Lab.
Darüber hinaus lässt sich der Dienst von jeder Plattform oder Laufzeitumgebung aus nutzen, die über einen WebSocket-Client und einen JSON-Parser verfügt – wir haben ihn bereits zusammen mit der Unreal Engine, TouchDesigner und anderen Echtzeit- oder Simulations-Stacks eingesetzt. Wenn Ihre Umgebung einen WebSocket öffnen kann, kann sie auch ein Inverse-Gerät steuern.
Beispiele für die einzelnen Sprachen finden Sie in den öffentlichen Beispiel-Repositorys: C++ und Python.
Kommunikationsschnittstellen
Der Dienst stellt zwei Kommunikationskanäle bereit:
| Kanal | Hafen | Transport | Zweck |
|---|---|---|---|
| Simulation | 10001 | WebSocket | Echtzeit-Befehls-/Zustandsschleife (1 Eingangsnachricht → 1 Ausgangszustand) |
| Veranstaltungen | 10020 | WebSocket (schreibgeschützt) | Systemereignisse: Sicherheit, Akku, Verbindung, Warnmeldungen zur Datenrate |
| HTTP | 10001 | REST | Stateless-Konfigurationsabfragen, Einstellungen, Sitzungsverwaltung, Geräteüberprüfung |
Alle Nutzdaten liegen im JSON-Format vor. Informationen zu den Standardregeln für den Envelope, die Ports und den Content-Type finden Sie unter „JSON-Konventionen “.
Anwendungsfälle
| Ziel | Wo soll ich anfangen? |
|---|---|
| Kräfte oder Zielpositionen an ein haptisches Gerät senden | Echtzeitsteuerung |
| Basis, Mount, Voreinstellung oder Filter konfigurieren | Sitzungskonfiguration |
| Durch eine Szene navigieren (geschwindigkeitsgesteuerte Fortbewegung) | Navigationsmodul |
| Systemereignisse abhören (Sicherheit, Akku, Verbindung) | Veranstaltungen & Überwachung |
| Am Beispiel lernen | Anleitungen |
Koordinatensystem
Das interne Koordinatensystem Haply ist rechtshändig (Z-Achse nach oben: +X nach rechts, +Y nach vorne, +Z nach oben). Du kannst es mit einer einzigen Basispermutation an das Koordinatensystem deiner Anwendung anpassen – sobald dies eingerichtet ist, werden alle Ein- und Ausgänge automatisch umgerechnet.
Zwei Transformationen positionieren das Gerät in Ihrer Szene:
- Mount — der physische Offset des Geräts (über eine Voreinstellung oder explizit festgelegt)
- Arbeitsbereich – eine Laufzeitabweichung für die Kamera-/Szenennavigation (manuell oder über das Navigationsmodul festzulegen)
Die vollständige Koordinaten-Pipeline finden Sie unter „Mount & Workspace “.
Den Dienst ausführen
Der Inverse Service kann in zwei Modi ausgeführt werden:
- In den Haply integriert (empfohlen) – Der Haply enthält die neueste Version des Dienstes und startet diese automatisch, sobald der Hub geöffnet wird. Keine manuelle Einrichtung erforderlich; Sie erhalten stets die neuesten Korrekturen.
- Standalone – Installieren Sie eine bestimmte Serviceversion mithilfe des Inverse Installers als Windows-Dienst oder Unix-Daemon. Nützlich für CI, Headless-Bereitstellungen oder Rechner, auf denen der Hub nicht ausgeführt wird.
Verwaltung des eigenständigen Dienstes
Windows — Öffne die App „Dienste“: Drücke Win+R, Typ services.msc, suchen SieHaply Service“, klicken Sie mit der rechten Maustaste darauf → Starten / Beenden / Neu starten.
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
Vollständige API-Referenz
Die vollständige maschinenlesbare Spezifikation aller Endpunkte und Nachrichten finden Sie unter:
- HTTP-API-Referenz (OpenAPI) – interaktive Swagger-Benutzeroberfläche
- Referenz zur Simulations-API (AsyncAPI) – interaktiver AsyncAPI-Viewer