Service Inverse de Haply
Inverse Service s'exécute en arrière-plan sur votre ordinateur et connecte en temps réel les périphériques tactiles Haply à votre application. Ce processus prend en charge toutes les tâches sous-jacentes à votre code : détection des périphériques, communication série, surveillance de la sécurité et transmission des états — afin que vous puissiez vous concentrer sur la mise en œuvre de l'expérience utilisateur.
Configuration requise et compatibilité
Le service fonctionne sur les plateformes de bureau courantes et peut être piloté depuis n'importe quel langage à l'aide d'un client WebSocket et d'un analyseur JSON:
- Plateformes : Windows 10 et versions ultérieures (MSVC), Linux (
.deb-Paket), macOS - Langages : Python, JavaScript / TypeScript, C++, C#, Rust, Go, Java… tout ce qui prend en charge WebSocket et JSON
Intégrations officiellement prises en charge
Haply propose ses propres intégrations pour l'Haply , le package Inverse Unity, Toia, Geomagic Freeform et NVIDIA Isaac Lab.
De plus , ce service peut être utilisé sur n’importe quelle plateforme ou environnement d’exécution disposant d’un client WebSocket et d’un analyseur JSON — nous l’avons déjà utilisé avec Unreal Engine, TouchDesigner et d’autres piles logicielles en temps réel ou de simulation. Si votre environnement peut se connecter via WebSocket, il peut piloter un appareil Inverse.
Vous trouverez des exemples spécifiques à chaque langage dans les dépôts publics d'exemples : C++ et Python.
Interfaces de communication
Le service propose deux canaux de communication :
| Kanal | Port | Transports | Objet |
|---|---|---|---|
| Simulation | 10001 | WebSocket | Boucle de commande/d'état en temps réel (1 message entrant → 1 état sortant) |
| Evénements | 10020 | WebSocket (en lecture seule) | Événements système : sécurité, batterie, connexion, alertes relatives aux taux de commande |
| HTTP | 10001 | REST | Requêtes de configuration sans état, paramètres, gestion des sessions, vérification des périphériques |
Toutes les données utiles sont au format JSON. Reportez-vous aux conventions JSON concernant l'en-tête standard, les ports et les règles relatives au type de contenu.
Cas d'utilisation
| Objectif | Accueil |
|---|---|
| Envoyer des forces ou des cibles de position à un dispositif haptique | Contrôle en temps réel |
| Configuration des paramètres de base, du montage, des préréglages ou des filtres | Configuration de la session |
| Se déplacer dans une scène (déplacement à l'aide des touches fléchées) | Module de navigation |
| Surveiller les événements système (sécurité, batterie, connexion) | Événements et surveillance |
| Apprendre à l'aide d'exemples | Tutoriels |
Système de coordonnées
Le système de coordonnées interne d'Haply est de type « main droite », l'axe Z étant orienté vers le haut (+X à droite, +Y à l'avant, +Z vers le haut). Vous pouvez le mapper sur le système de coordonnées de votre application à l'aide d'une seule permutation de base — une fois cette configuration définie, toutes les entrées et sorties sont automatiquement converties.
Deux transformations permettent de positionner l'appareil dans votre scène :
- Montage — le décalage physique de l'appareil (via un préréglage ou défini explicitement)
- Espace de travail — un décalage d'exécution pour la navigation par caméra ou par scène (défini manuellement ou via le module de navigation )
Vous trouverez le pipeline complet de coordonnées dans la section « Montage & Espace de travail ».
Exécuter la tâche
Inverse Service peut fonctionner selon deux modes :
- Intégré au Hub « Haply » (recommandé) — Le Hub «Haply » contient la dernière version du service et la lance automatiquement dès son ouverture. Aucune configuration manuelle n’est nécessaire ; vous bénéficiez ainsi en permanence des derniers correctifs.
- Autonome — installez une version spécifique du service en tant que service Windows ou démon Unix à l'aide de l'Inverse Installer. Utile pour l'intégration continue (CI), les déploiements sans interface graphique ou les machines sur lesquelles le Hub n'est pas exécuté.
Gestion du service autonome
Windows — Ouvrez l'application « Services » : appuyez sur Win+R, saisissez services.msc Sinon, recherchez «Haply Inverse Service » et cliquez avec le bouton droit de la souris → Démarrer / Arrêter / 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 complète de l'API
Pour obtenir la spécification complète et lisible par machine de chaque point d'extrémité et de chaque message :
- Référence de l'API HTTP (OpenAPI) — interface utilisateur Swagger interactive
- Référence de l'API de simulation (AsyncAPI) — Visualiseur interactif AsyncAPI