Service Inverse de Haply
Inverse Service fonctionne en arrière-plan sur votre machine et connecte en temps réel le périphérique haptique Haply à votre application. Comme il gère, à un niveau inférieur au code de l'application, la détection du périphérique, la communication série, la surveillance de sécurité et la transmission en continu de l'état, vous pouvez vous concentrer pleinement sur la conception de votre expérience.
Exigences et compatibilité
Ce service fonctionne sur les principales plateformes de bureau et peut être utilisé depuisn'importe quel langage de programmation grâce à un client WebSocket et un analyseur JSON:
- Plateforme : Windows 10 et versions ultérieures (MSVC), Linux (
.deb(paquet), macOS - Langages : Python, JavaScript / TypeScript, C++, C#, Rust, Go, Java, … Tous les langages compatibles avec WebSocket et JSON
Intégrations officiellement prises en charge
Haply assure la fourniture et la maintenance d'intégrations officielles pourHaply Inverse Unity Package,Toia,Geomagic FreeformetNVIDIA Isaac Lab.
Outre ces exemples, ce service est accessible depuis toute plateforme ou tout environnement d'exécution doté d'un client WebSocket et d'un analyseur JSON. Nous avons vérifié son fonctionnement en association avecUnreal Engine,TouchDesigneret d'autres piles logicielles dédiées au temps réel et à la simulation. Si votre environnement prend en charge les connexions WebSocket, vous pouvez contrôler les périphériques Inverse.
Pour consulter des exemples par langage, veuillez vous reporter aux dépôts d'exemples publics : C++etPython.
Interfaces de communication
Ce service met à disposition deux canaux de communication :
| Chaîne | Port | Transport | Utilisation |
|---|---|---|---|
| Simulation | 10001 | WebSocket | Boucle de commande / d'état en temps réel (1 message d'entrée → 1 état de sortie) |
| Événement | 10020 | WebSocket (en lecture seule) | Événements système : alertes relatives à la sécurité, à la batterie, à la connexion et au débit |
| HTTP | 10001 | REST | Requêtes de configuration sans état, paramètres, gestion des sessions, vérification des informations sur les appareils |
Toutes les charges utiles sont au format JSON. Pour connaître les règles standard relatives à l'enveloppe, au port et au type de contenu, veuillez vous reporter àla spécification JSON.
Cas d'utilisation
| Objectif | Point de départ |
|---|---|
| Envoyer les valeurs cibles de force et de positionà un dispositif haptique | Contrôle en temps réel |
| Réglages: base, montage, préréglages, filtres | Paramètres de session |
| Navigation dans la scène(déplacement par contrôle de la vitesse) | Module de navigation |
| Réception d'événements système(sécurité, batterie, connexion) | Événements et surveillance |
| Apprendre à partir d'exemples | Tutoriel |
Système de coordonnées
Le système de coordonnéesinternede Haply estun système de coordonnées à main droite, avec l'axe Z orienté vers le haut(+X à droite, +Y vers l'avant, +Z vers le haut). Il est possible de le convertir dans le système de coordonnées de l'application àl'aide d'une seule transformation de base. Une fois configuré, toutes les entrées et sorties sont automatiquement converties.
Il existe deux transformations permettant de déterminer la position d'un appareil au sein d'une scène :
- Montage — Décalage physique de l'appareil (via un préréglageou défini explicitement)
- Espace de travail — Déviation à l'exécution pour la navigation dans la caméra / la scène (configurée manuellement ouvia le module de navigation)
Pour plus d'informations sur l'ensemble du pipeline de transformation des coordonnées, veuillez vous reporteraux sections « Montage » et « Espace de travail».
Exécution du service
Inverse Service peut fonctionner selon deux modes :
- Haply Intégration au Hub(recommandée) — Haply Le Hubcontient la dernière version du service, qui se lance automatiquement lorsque le Hub est ouvert. Aucune configuration manuelle n'est nécessaire et vous bénéficiez en permanence des derniers correctifs.
- Autonome — Utilisez Inverse Installerpour installer une version spécifique du serviceen tant que service Windows ou démon Unix. Cette option est particulièrement utile pour le déploiement en environnement CI ou sans interface graphique, ainsi que sur les machines où Hub n'est pas en cours d'exécution.
Gestion des services autonomes
Windows — Ouvrez l'application de service : Win+RAppuyez sur,services.mscSaisissez cette commande, recherchez «Haply Inverse Service », cliquez avec le bouton droit de la souris et sélectionnez « Démarrer », « Arrêter » ou « Redémarrer ».
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
Référence API (version complète)
Voici les spécifications complètes et lisibles par machine pour tous les points de terminaison et tous les messages :
- Référence de l'API HTTP (OpenAPI) — Interface utilisateur interactive Swagger UI
- Référence de l'API de simulation (AsyncAPI) — Visualiseur interactif d'AsyncAPI