Aller au contenu principal

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 :

KanalPortTransportsObjet
Simulation10001WebSocketBoucle de commande/d'état en temps réel (1 message entrant → 1 état sortant)
Evénements10020WebSocket (en lecture seule)Événements système : sécurité, batterie, connexion, alertes relatives aux taux de commande
HTTP10001RESTRequê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​

ObjectifAccueil
Envoyer des forces ou des cibles de position à un dispositif haptiqueContrôle en temps réel
Configuration des paramètres de base, du montage, des préréglages ou des filtresConfiguration 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'exemplesTutoriels

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 :