Aller au contenu principal

Service Inverse de Haply

Inverse Service fonctionne sur votre ordinateur sous la forme d'un processus en arrière-plan et connecte en temps réel les périphériques tactiles Haply à votre application. Il prend en charge toutes les tâches suivantes pour vous : détection des périphériques, communication série, surveillance de la sécurité et transmission des flux d'état, ce qui vous permet de vous concentrer pleinement sur la conception de l'expérience utilisateur.

Configuration requise et compatibilité​

Ce service fonctionne sur les principales plateformes de bureau et peut être appelé à partir den'importe quel langage disposant d'un client WebSocket et d'un analyseur JSON:

  • Plateforme : Windows 10 et versions ultérieures (MSVC), Linux (.deb (paquet), macOS
  • Langages : Python, JavaScript / TypeScript, C++, C#, Rust, Go, Java… ainsi que tout autre langage capable de communiquer via WebSocket + JSON

Intégration prise en charge officiellement​

Haply La prise en charge officielle a été assurée pour les produits suivants :Haply Inverse Unity Package,Toia,Geomagic Freeform et NVIDIA Isaac Lab.

Par ailleurs, ce service est accessible dès lors que la plateforme ou le moteur d'exécution fournit un client WebSocket et un analyseur JSON. Nous l'avons déjà testé avec Unreal Engine,TouchDesigner ainsi que d'autres piles technologiques de temps réel ou de simulation. Tant que votre environnement prend en charge les connexions WebSocket, vous pouvez piloter les appareils Inverse.

Pour des exemples spécifiques à certains langages, veuillez consulter les dépôts d'exemples publics :C++ et Python.

Interfaces de communication​

Ce service propose deux canaux de communication :

PassagePortMode de transmissionUtilisation
simulation10001WebSocketCycle commande/état en temps réel (1 message d'entrée, 1 état de sortie)
Événement10020WebSocket (lecture seule)Événements système : sécurité, niveau de batterie, connexion, avertissements relatifs au débit
HTTP10001RESTRequêtes de configuration sans état, paramétrage, gestion des sessions et vérification des équipements

Toutes les charges sont au format JSON. Pour en savoir plus sur les règles relatives à l'enveloppe standard, aux ports et aux types de contenu, veuillez consulter les conventions JSON.

Cas d'utilisation​

ObjectifPosition de départ
Envoyer une valeur cible de force ou de position à un périphérique tactileContrôle en temps réel
Configuration: système de coordonnées, mode de montage, préréglages ou filtresConfiguration de la session
Scénario de navigation (déplacement à vitesse contrôlée)Module de navigation
Surveillance des événements du système(sécurité, niveau de batterie, connexion)Incidents et surveillance
Apprendre par l'exempleTutoriel

Système de coordonnées​

Haply Sonsystèmede coordonnées interneest un système de coordonnées à main droite, avec l'axe Z orienté vers le haut(+X vers la droite, +Y vers l'avant, +Z vers le haut). Vous pouvez le remapper sur le système de coordonnées de l'application àl'aide d'une seule substitution de base de coordonnées: une fois cette configuration effectuée, toutes les entrées et sorties seront automatiquement converties.

Il existe deux types de transformations permettant de localiser un appareil dans une scène :

Pour connaître le processus complet de traitement des coordonnées, veuillez vous reporter à la section «Montage et espace de travail».

Exécuter un service​

Inverse Service peut fonctionner selon deux modes :

  • Intégré à Haply Hub(recommandé) —Haply Hub inclut la dernière version du service et le lance automatiquement à l'ouverture de Hub. Aucune configuration manuelle n'est nécessaire : vous bénéficiez toujours des derniers correctifs.
  • Fonctionnement autonome:utilisez Inverse Installer pour installer une version spécifique du serviceen tant que service Windows ou démon Unix. Convient à la CI, aux déploiements sans interface graphique ou aux machines sur lesquelles Hub n'est pas exécuté.

Gestion des services indépendants​

Windows——Ouvrir l'application de services : appuyez sur Win+R, saisir services.msc, recherchez «Haply Inverse Service », cliquez avec le bouton droit → 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​

Spécifications complètes et lisibles par machine pour chaque point de terminaison et chaque message :