Haply Inverser Dienst
Der Inverse Service läuft im Hintergrund auf Ihrem Rechner und verbindet haptische Geräte Haply in Echtzeit mit Ihrer Anwendung. Er übernimmt alle Aufgaben, die hinter Ihrem Code liegen: Geräteerkennung, serielle Kommunikation, Sicherheitsüberwachung und Statusübermittlung – damit Sie sich ganz auf die Gestaltung des Nutzererlebnisses konzentrieren können.
Anforderungen und Kompatibilität
Der Dienst läuft auf den gängigsten Desktop-Plattformen und kann von jeder Programmiersprache aus gesteuert werden, die über einen WebSocket-Client und einen JSON-Parser verfügt:
- Plattformen: Windows 10+ (MSVC), Linux (Paket
.deb), macOS - Programmiersprachen: Python, JavaScript/TypeScript, C++, C#, Rust, Go, Java, … jede Sprache, die WebSocket und JSON unterstützt
Offiziell unterstützte Integrationen
Haply Unterstützung von First-Party-Integrationen für das „Haply “, das „Inverse Unity Package“, Toia, Geomagic Freeform und NVIDIA Isaac Lab.
Über diese Integrationen hinaus kann der Dienst von jeder Plattform oder Ausführungsumgebung aus genutzt werden, die über einen WebSocket-Client und einen JSON-Parser verfügt – wir haben ihn bereits zusammen mit der Unreal Engine, TouchDesigner und anderen Simulations- oder Echtzeitumgebungen betrieben. Wenn Ihre Umgebung eine WebSocket-Verbindung herstellen kann, kann sie ein Inverse-Gerät steuern.
Beispiele für die einzelnen Sprachen finden Sie in den öffentlichen Beispiel-Repositories: C++ und Python.
Kommunikationsschnittstellen
Der Dienst stellt zwei Kommunikationskanäle bereit:
| Kanal | Hafen | Transport | Verwendung |
|---|---|---|---|
| Simulation | 10001 | WebSocket | Echtzeit-Steuerungs- und Zustandsregelkreis (1 Eingangsnachricht → 1 Ausgangszustand) |
| Veranstaltungen | 10020 | WebSocket (nur Vorlesung) | Systemereignisse: Sicherheit, Akku, Verbindung, Frequenzwarnungen |
| HTTP | 10001 | REST | Stateless-Konfigurationsanfragen, Parameter, Sitzungsverwaltung, Geräteüberprüfung |
Alle Nutzdaten liegen im JSON-Format vor. Informieren Sie sich über die JSON-Konventionen für den Standard-Envelope, die Ports und die Regeln für den Inhaltstyp.
Anwendungsfälle
| Ziel | Wo soll man anfangen? |
|---|---|
| Kräfte oder Positionsanweisungen an ein haptisches Gerät senden | Echtzeitüberwachung |
| Grundkonfiguration, Montage, Voreinstellung oder Filter konfigurieren | Sitzungskonfiguration |
| Sich in einer Szene bewegen (geschwindigkeitsgesteuerte Fortbewegung) | Navigationsmodul |
| Systemereignisse abhören (Sicherheit, Akku, Verbindung) | Veranstaltungen und Überwachung |
| Am Beispiel lernen | Anleitungen |
Koordinatensystem
Das interne Koordinatensystem von „ Haply “ ist direkt ausgerichtet: Z nach oben (+X nach rechts, +Y nach vorne, +Z nach oben). Sie können es durch eine einzige Grundtransformation an das Koordinatensystem Ihrer Anwendung anpassen – sobald diese definiert ist, werden alle Ein- und Ausgänge automatisch umgerechnet.
Zwei Transformationen positionieren die Kamera in Ihrer Szene:
- Montage – die physikalische Verschiebung des Geräts (festgelegt durch eine Voreinstellung oder explizit)
- Arbeitsbereich – eine Verschiebung bei der Ausführung für die Kamera- oder Szenennavigation (manuell oder mithilfe des Navigationsmoduls festgelegt)
Die vollständigen Angaben zur Pipeline finden Sie unter „Montage und Arbeitsbereich “.
Erbringung der Dienstleistung
Inverse Service kann in zwei Modi betrieben werden:
- In den „ Haply “-Hub integriert (empfohlen) — Der „Haply “-Hub enthält die neueste Version des Dienstes und startet diesen automatisch, sobald der Hub geöffnet wird. Es ist keine manuelle Konfiguration erforderlich: Sie profitieren stets von den neuesten Korrekturen.
- Autonom – Installieren Sie mithilfe des Inverse Installers eine bestimmte Version des Dienstes als Windows-Dienst oder Unix-Daemon. Nützlich für Continuous Integration (CI), Bereitstellungen ohne grafische Benutzeroberfläche oder Rechner, auf denen der Hub nicht ausgeführt wird.
Verwaltung des autonomen Dienstes
Windows — Öffnen Sie die App „Dienste“: Tippen Sie auf Win+R, geben Sie ein services.msc, suchen Sie „ Haply Inverse Service“ und 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-Dokumentation
Die vollständige, maschinenlesbare Spezifikation jedes Endpunkts und jeder Nachricht findest du hier:
- HTTP-API-Referenz (OpenAPI) – interaktive Swagger-UI-Schnittstelle
- Referenz zur Simulations-API (AsyncAPI) – Interaktiver AsyncAPI-Viewer