Zum Hauptinhalt springen

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:

KanalHafenTransportVerwendung
Simulation10001WebSocketEchtzeit-Steuerungs- und Zustandsregelkreis (1 Eingangsnachricht → 1 Ausgangszustand)
Veranstaltungen10020WebSocket (nur Vorlesung)Systemereignisse: Sicherheit, Akku, Verbindung, Frequenzwarnungen
HTTP10001RESTStateless-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​

ZielWo soll man anfangen?
Kräfte oder Positionsanweisungen an ein haptisches Gerät sendenEchtzeitüberwachung
Grundkonfiguration, Montage, Voreinstellung oder Filter konfigurierenSitzungskonfiguration
Sich in einer Szene bewegen (geschwindigkeitsgesteuerte Fortbewegung)Navigationsmodul
Systemereignisse abhören (Sicherheit, Akku, Verbindung)Veranstaltungen und Überwachung
Am Beispiel lernenAnleitungen

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: