Librairie INDI

Découvrez INDI

Qu’est-ce que la bibliothèque INDI ? INDI Library est une collection de programmes conçus pour contrôler un équipement astronomique, notamment:

Télescopes

Caméras: CCD, CMOS et DSLR

Dômes

Focusers

Filtrer les roues

Spectrographes

Détecteurs radio et photons.

Rotateurs.

Options adaptatives.

Il est basé sur le protocole INDI qui est conçu pour prendre en charge le contrôle, l’automatisation, l’acquisition de données et l’échange entre les périphériques matériels et les interfaces logicielles. INDI signifie Instrument-Neutral-Distributed-Interface, et a été développé par l’Institut ClearSky. Les systèmes de contrôle sont souvent écrits pour un appareil ou une gamme d’appareils spécifique. Lorsqu’un ou plusieurs paramètres de l’appareil changent, le logiciel doit être modifié pour s’adapter au changement. Autrement dit, le frontend logiciel et le backend matériel sont étroitement couplés. INDI Control Protocol INDI résout ce problème en fournissant une structure qui dissocie les pilotes matériels de bas niveau des clients frontaux de haut niveau. Autrement dit, les clients qui utilisent les pilotes de périphérique ne sont absolument pas conscients des capacités du périphérique. Au moment de l’exécution, les clients communiquent avec les pilotes de périphérique et créent une interface graphique entièrement dynamique basée sur les services fournis par le périphérique. Les principaux composants de la bibliothèque INDI sont:

Serveur : Central hub for communication between drivers and clients.

Pilote : logiciel pour contrôler le périphérique et fournir ses propriétés dans un format standard.

Client : logiciel frontal qui permet à l’utilisateur d’interagir avec les appareils. INDI Architecture

En substance, INDI offre la capacité de décrire n’importe quel appareil et ses paramètres à n’importe quel client compatible INDI. Une fois que vous avez un client, vous pouvez développer autant d’appareils que vous le pouvez sans aucune modification du côté client. Mais ce n’est pas tout ! Le protocole d’INDI étant basé sur XML, il peut être facilement analysé et imbriqué dans d’autres frameworks. Par exemple, vous pouvez incorporer INDI dans RTML pour placer des contraintes d’observation sur vos appareils. De plus, le contrôle à distance des appareils est transparent avec l’architecture serveur / client d’INDI. Les appareils distribués peuvent être contrôlés à partir d’un environnement centralisé. Enfin, les pilotes INDI sont scriptables à l’aide des outils de script INDI. Vous pouvez utiliser ces outils de ligne de commande dans votre langue préférée pour avoir un contrôle complet de l’appareil. Ces outils permettent aux développeurs de fournir des cadres de planification et d’automatisation pour leurs appareils.

Quels sont les pilotes INDI ? Le pilote INDI est ce qui communique directement avec votre appareil. Un pilote peut se connecter à un ou plusieurs périphériques physiques. Il est chargé de contrôler les paramètres de l’appareil et de les définir aux clients. Les pilotes envoient une liste des propriétés de périphérique prises en charge aux clients où elles sont analysées et présentées aux utilisateurs finaux. Pour plus d’informations sur les pilotes INDI, veuillez consulter le manuel du développeur INDI.

Qu’est-ce que INDI Server ? Le serveur INDI est le hub qui se situe entre vos appareils et vos clients. Il redirige le trafic vers les réseaux distribués de contrôle et de données. Chaque périphérique ou client du réseau est un nœud et peut communiquer avec d’autres nœuds à tout moment. Le serveur prend en charge la diffusion, le chaînage et le rassemblement des données. De plus, le serveur prend en charge le démarrage et l’arrêt dynamiques des périphériques sur demande.

Topologie réseau du serveur INDI

Qui sont les clients INDI ? Les clients sont les interfaces logicielles qui communiquent avec les pilotes matériels. Ils communiquent généralement avec les pilotes matériels INDI via un serveur INDI, bien qu’ils puissent communiquer directement avec les pilotes. Il existe de nombreux types de clients, notamment:

INDI Control Panel in DCD

Clients GUI génériques tels que KStars, jINDI ou Xephem. Ces clients génèrent une interface graphique dynamique pour offrir aux utilisateurs un panneau de contrôle pour contrôler l’appareil.

Clients pour tablettes et téléphones intelligents (par exemple, Android Client).

Clients de journalisation pour enregistrer les messages, les alarmes et les données échangées entre les appareils et les clients.

Surveillez les clients chiens (watchdog) pour assurer un fonctionnement sûr et approprié des appareils.

Des scripts automatisés pour effectuer des opérations complexes et coordonner des opérations sur les appareils.

Quels appareils peuvent contrôler INDI ? Grâce à la nature générique d’INDI, INDI peut contrôler pratiquement n’importe quel appareil. Bien que notre objectif soit les instruments astronomiques, rien ne vous empêche d’écrire un pilote INDI pour votre grillepain!Actuellement, INDI Library prend en charge un nombre croissant de télescopes, de capteurs CCD, de focaliseurs, de roues de filtres et de dispositifs de capture vidéo. Pour une liste complète, veuillez visiter la page des appareils INDI. Si votre appareil n’existe pas dans la page de liste des appareils, vous pouvez effectuer plusieurs actions:

Demandez au fabricant de votre appareil de vous fournir un pilote INDI. Écrivez votre propre pilote INDI pour le périphérique. Reportez-vous au Manuel des développeurs INDI sur le HOWTO de développement de pilotes, le manuel comprend également de nombreux tutoriels et exemples.

INDI prend entièrement en charge Arduino

Si vous manquez de connaissances en programmation et que vous disposez des spécifications techniques de votre appareil, vous pouvez envoyer les informations à la liste de diffusion INDI Development. L’un des développeurs pourrait être intéressé par le développement d’un pilote pour votre appareil.

Comment puis-je utiliser INDI ? La bibliothèque INDI est livrée avec de nombreuses distributions Linux aujourd’hui par défaut. Vérifiez si votre distribution comprend l’un des clients compatibles INDI. Idéalement, les clients GUI devraient s’occuper de l’établissement du serveur INDI et fournir aux utilisateurs une liste des pilotes pris en charge. INDI est également disponible pour Mac OS via Homebrew, MacPorts, l’application INDI Web Manager, l’application INDI Starter, en plus d’être fourni avec KStars pour Mac OS. La prise en charge du port Windows de la bibliothèque INDI est en cours. Néanmoins, vous pouvez choisir d’utiliser wINDI qui est une implémentation complète d’INDI sous .NET. Vous pouvez utiliser la version INDI livrée avec votre client, ou à votre choix, vous pouvez télécharger la dernière version stable d’INDI à partir de la section de téléchargement.

Gestionnaire de périphériques KStars

Tous les clients compatibles INDI peuvent également se connecter à des serveurs INDI locaux et distants. Vous devez donc d’abord démarrer le serveur INDI, puis configurer votre client pour qu’il s’y connecte. Le serveur INDI doit être exécuté sur la même machine physique connectée au périphérique. Par exemple, pour démarrer le serveur INDI pour exécuter le télescope GPS LX200 sur localhost et écouter sur le port par défaut 7624, tapez: $ indiserver indi_lx200gps.

INDI est écrit par Jasem Mutlaq et Elwood Downey