Haply Inverser Dienst
Inverse Serviceläuft als Hintergrundprozess auf dem Computer des Benutzers und verbindet haptische Geräte von Haply in Echtzeit mit Ihrer Anwendung. Da Inverse Service alle Aufgaben auf der unteren Codeebene übernimmt – darunter Geräteerkennung, serielle Kommunikation, Sicherheitsüberwachung und Status-Streaming –, können Sie sich ganz auf die Entwicklung Ihrer Anwendung konzentrieren.
Anforderungen und Kompatibilität
Dieser Dienst läuft auf den wichtigsten Desktop-Plattformen und kann in jeder Programmiersprachegesteuert werden, die über einen WebSocket-Client und einen JSON-Parser verfügt:
- Plattform: Windows 10+ (MSVC), Linux (
.debPaket), macOS - Sprachen: Python, JavaScript / TypeScript, C++, C#, Rust, Go, Java, … alle Sprachen, die WebSocket- und JSON-Kommunikation unterstützen
Integration des offiziellen Supports
Haply verwaltet die Integration von Haply , dem Inverse Unity Package, Toia, Geomagic Freeform und NVIDIA Isaac Labselbst.
Darüber hinaus kann dieser Dienst auf jeder Plattform oder in jeder Laufzeitumgebunggenutzt werden, die einen WebSocket-Client und einen JSON-Parser bereitstellt. Wir haben diesen Dienst bereits in Verbindung mit der Unreal Engine, TouchDesigner und anderen Echtzeit- oder Simulations-Stacks getestet. Solange Sie in Ihrer Entwicklungsumgebung eine WebSocket-Verbindung herstellen können, ist die Steuerung von Inverse-Geräten möglich.
Beispiele für die einzelnen Sprachen finden Sie im öffentlichen Beispiel-Repository: C++ und Python.
Kommunikationsschnittstelle
Dieser Dienst bietet zwei Kommunikationskanäle:
| Kanal | Hafen | Übertragungsart | Verwendungszweck |
|---|---|---|---|
| Simulation | 10001 | WebSocket | Echtzeit-Befehls-/Status-Schleife (1 eingehende Nachricht → 1 ausgegebener Status) |
| Veranstaltung | 10020 | WebSocket (nur Lesezugriff) | Systemereignisse: Sicherheit, Akku, Verbindung, Zykluswarnung |
| HTTP | 10001 | REST | Abfrage, Konfiguration und Verwaltung von nicht gespeicherten Zuständen, Einstellungen, Sitzungen und Geräteprüfungen |
Alle Payloads liegen im JSON-Format vor. Die Standardregeln für Envelope, Port und Inhaltstyp finden Sie in der JSON-Spezifikation.
Anwendungsbeispiele
| Ziel | Startposition |
|---|---|
| Übertragung von Kraft- oder Positionssollwerten an haptische Geräte | Echtzeitsteuerung |
| Konfiguration von Basis, Halterung, Voreinstellung oder Filter | Aufbau der Sitzung |
| Szenennavigation (Bewegung mit Geschwindigkeitssteuerung) | Navigationsmodul |
| Empfang von Systemereignissen (Sicherheit, Akku, Verbindung) | Ereignisse und Überwachung |
| Lernen anhand von Beispielen | Tutorial |
Koordinatensystem
Das interne Koordinatensystem von Haply ist ein rechtshändiges Koordinatensystem, bei dem die Z-Achse nach oben zeigt(+X nach rechts, +Y nach vorne, +Z nach oben). Durch eineeinfache Transformationlässt es sich an das Koordinatensystem Ihrer Anwendung anpassen; sobald dies einmal eingerichtet ist, werden alle Ein- und Ausgabedaten automatisch umgerechnet.
Es gibt zwei Transformationen, mit denen die Position eines Objekts in einer Szene bestimmt wird:
- Mount — Physikalischer Versatz des Geräts (überVoreinstellungenoder explizit festgelegt)
- Arbeitsbereich – Laufzeit-Offset für die Kamera-/Szenennavigation (kann manuell oder über das Navigationsmodulfestgelegt werden)
Informationen zur gesamten Koordinaten-Pipeline finden Sie unter „Montage“ und „Arbeitsbereich“.
Dienst starten
Inverse Service kann in zwei Modi ausgeführt werden:
- Haply In den Hubintegriert (empfohlen) — Haply Der Hubenthält die aktuellste Version des Dienstes und wird automatisch gestartet, sobald Sie den Hub öffnen. Es sind keine zusätzlichen Einstellungen erforderlich, und Sie erhalten stets die neuesten Aktualisierungen.
- Standalone — Verwenden Sie den Inverse Installer, um eine bestimmte Serviceversion als Windows-Dienst oder Unix-Daemonzu installieren. Dies ist nützlich für CI, Headless-Bereitstellungen oder Rechner, auf denen kein Hub läuft.
Verwaltung eigenständiger Dienste
Windows — Öffnen Sie die Service-App: Win+Rdrücken und services.mscGeben Sie den Befehl ein, suchen Sie anschließend den „Haply -Inverse-Dienst“, klicken Sie mit der rechten Maustaste darauf und wählen Sie „Starten“, „Beenden“ oder „Neustart“ aus.
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 lautet wie folgt:
- HTTP-API-Referenz (OpenAPI) – Interaktive Swagger-Benutzeroberfläche
- Simulations-API-Referenz (AsyncAPI) – Interaktiver AsyncAPI-Viewer