Contrôle de périphériques à distance

KStars fournit une couche de contrôle de périphérique à distance simple, mais puissante. Une description détaillée de la couche est décrite dans l'article sur INDI.

Vous avez besoin de configurer à la fois les machines serveur et client pour le contrôle à distance :

  1. Serveur : pour préparer un matériel pour le contrôle distant, suivez les mêmes étapes que dans le réglage local/serveur. Lorsque vous lancez un service de matériel dans le gestionnaire de périphériques, un numéro de port s'affiche sous la colonne Port d'écoute. En plus du numéro de port, vous avez aussi besoin du nom d'hôte ou adresse IP de votre serveur.

  2. Client : sélectionnez le menu Périphériquesgestionnaire de périphériques et cliquez sur l'onglet Client. Vous pouvez ajouter, modifier ou supprimer des hôtes sous l'onglet Client. Ajoutez un hôte en cliquant sur le bouton Ajouter. Donnez un nom d'hôte ou une adresse IP sur le serveur dans le champ Hôte et donnez le numéro de port obtenu de la machine serveur dans l'étape 1.

Après que vous aurez ajouté un hôte, cliquez avec le bouton droit sur l'hôte à connecter ou déconnecter. Si une connexion est établie, vous pouvez contrôler le télescope depuis la Carte du ciel ou le tableau de bord INDI exactement comme décrit dans la section local/serveur. C'est aussi facile que ça.

Lancement d'un serveur INDI depuis la ligne de commande

Comme KStars vous permet de déployer un serveur INDI, vous pouvez lancer un serveur INDI depuis la ligne de commande.

Comme INDI est indépendant du moteur d'arrière-plan, vous pouvez lancer un serveur INDI sur un hôte sans KStars. INDI peut être compilé séparément pour fonctionner sur des hôtes distants. De plus, les pilotes de périphériques écrivent dans un journal les messages dans stderr. Cela peut être utile pour les situations de recherche d'erreur. La syntaxe pour le serveur INDI est la suivante :

$ indiserver [options] driver [driver…]

Options:
 -l d     : Log driver messages to <d>/YYYY-MM-DD.islog
 -m m     : Kill client if gets more than this many MB behind, default 128.
 -d m     : Drop streaming blobs if client gets more than this many MB behind, default 5. 0 to disable.
 -p p     : Alternate IP port, default 7624.
 -r r     : Maximum driver restarts on error, default 10.
 -f path  : Path to fifo for dynamic startup and shutdown of drivers.
 -v       : Show key events, no traffic.
 -vv      : -v + key message content.
 -vvv     : -vv + complete xml.
 driver   : Executable or [device]@host[:port]

Par exemple, si vous voulez démarrer un serveur INDI gérant un pilote LX200 GPS et écouter les connexions sur le port 8000, vous devez lancer la commande suivante :

$ indiserver -p 8000 LX200GPS

Sécurisation des opérations distantes

Supposons que nous voulions lancer un indiserver avec les pilotes INDI sur une machine distante, machine-distante, et les connecter à KStars qui fonctionne sur la machine locale.

Depuis la machine locale, connectez-vous sur la machine distante machine-distante en saisissant :

$ ssh -L local-port : remote-host : remote-port

Ceci lie le local-port de la machine locale au remote-port du remote-host. Après connexion, exécutez indiserver sur la machine distante :

$ indiserver -p remote-port [driver…]

De retour sur la machine locale, lancez KStars, puis ouvrez le Gestionnaire de périphériques et ajoutez un hôte sous l'onglet Client. L'hôte doit être localhost (habituellement 127.0.0.1) et le numéro de port doit être le local-port utilisé dans les étapes ci-dessus. Cliquez avec le bouton droit sur l'hôte et sélectionnez Connecter dans le menu contextuel. KStars se connectera au serveur INDI distant en sécurité. Les informations d'hôte seront enregistrées pour les sessions futures.