====== indiserver + Ekos ====== Pour piloter mon matos astrophotographique, j'ai fait le choix d' ''indilib'' et d'Ekos. Et oui, Linux POWER ! Une première solution consiste à installer Kstars sur un laptop et de brancher tout le matos via USB sur le laptop installé à côté de la monture.\\ Oui, mais si ça caille ? On retrouve l'ordi sous 1cm de givre au matin ? pas terrible, la plupart de ces machines ne sont pas faites pour l'extérieur et l'humidité va réduire leur espérance de vie drastiquement... Une autre solution consiste à installer un cerveau sur la monture, d'y connecter tout le matériel, et d'y accéder à distance, bien au chaud !\\ C'est cette solution que nous allons étudier. Il y a plusieurs mises en oeuvre : * ASIAIR ou un autre boîtier similaire, proposé par les grandes marques de matériel. Vendu entre 250 et 400 € en général, ces solutions sont propriétaires, et souvent plutôt compatibles ascom et non indilib, donc exit linux... * [[https://www.stellarmate.com/|Stellarmate]], qui installe Kstars, Ekos, et propose un accès distant via bureau à distance ou un controle par app android. Stellarmate propose aussi des services de cloud pour la sauvegarde et le transfert des captures photo. En août 2024, l'os est vendu 59€. Stellarmate propose aussi un boitier tout prêt pour qques centaines d'euros * [[https://www.astroberry.io/|Astroberry]], une distrib linux prévue pour le raspberrypi, basée sur Raspberry Pi OS version desktop, avec une multitude d'applications installées, dont KStars et Ekos, d'autres app de capture sont également proposées (à tester un jour), des solver style Astrometry... Un accès distant est possible via VNC. C'est bien mais ça me semble overkill pour un simple relais de connectivité * Une solution maison, où on installe juste ce dont on a besoin pour le cas d'usage envisagé. C'est ce scénario que nous allons détailler ci-après ===== #1 : Raspberry Pi OS ===== Il semble s'imposer, car le plus répandu et le plus compatible avec tout (notamment les repo d'astroberry). ==== Repo : base ==== De base, debian (et donc Raspberry pi os) propose des paquets d'indilib : ''apt search indi'' ==== Repo : Astroberry ==== Nous souhaitons avoir les paquets les plus récents et nombreux sur des sujets relatifs à l'astro, utilisons ceux d'Astroberry : [[https://www.astroberry.io/docs/index.php?title=Astroberry_Server#Advanced_installation|source]] # On ajoute le repo # dans : /etc/apt/sources.list.d/astroberry.list # A personnaliser selon la distrib buster, bullseye, bookworm ... deb https://www.astroberry.io/repo/ buster main # Enregistrer la clé d'identification du repo wget -O - https://www.astroberry.io/repo/key | sudo apt-key add - # mettre à jour les bases de données d'apt apt update NOTE 18/08/2024 : - Raspberry Pi OS est dispo en version bookworm, mais le repo Astroberry n'est dispo qu'en bullseye - Bookworm propose indi-bin en v1.9.9, et Astroberry Bullseye en 1.8.x - Indilib est en v2.0.9 sur github et dans le ppa sur ubuntu ===== #2 : Ubuntu server (pour Rpi) ===== Ubuntu propose une distrib pour le rpi headless: ubunutu server. Et il y a un mainteneur d'indilib qui publie un repo spécialement pour ubuntu. De quoi avoir une solution simple pour être toujours à jour ? :D ==== Repo : ppa:mutlaqja ==== On rajoute le repo, et on installe ce qu'on souhaite : [[https://www.indilib.org/download/ubuntu/category/3-ubuntu.html|source]] # ajouter le repo apt-add-repository ppa:mutlaqja/ppa # rafraichir la liste des paquets apt update ===== # : Installation détaillée pour mon usage ===== ==== Paquets : les indispensables ==== * ''indi-asi'' pour la caméra ZWO * ''indi-bin'' pour avoir le serveur indi, normalement installé comme dépendance d' ''indi-asi'' ==== Customisation ==== === service systemd === On installe un service systemd pour lancer au démarrage ''indiserver'' et rendre accessible les ressources connectées sur le rpi. fichier ''indiserver.service'' : [Unit] Description=Indiserver (with indi_asi_ccd) After=syslog.target After=network.target [Service] Type=simple User=root Group=root WorkingDirectory=/home/pi/indi ExecStart=/usr/bin/indiserver -l /home/pi/indi/logs indi_asi_ccd Restart=always Environment=USER=root HOME=/home/root [Install] WantedBy=null-user.target Placer ce ''indiserver.service'' dans ''/etc/systemd/system'' === adresse ip === On peut laisser le serveur dhcp attribuer une IP (si possible réservée), mais en son absence, ce pourrait être bien d'attribuer une IP statique de préférence, une [[dhcpcd#fallback_ip|IP fallback]]\\ Mais nécessite dhcpcd. Pas de base sur les debian et dérivées modernes (>=11) sinon /etc/network/interfaces auto eth0 iface eth0 inet dhcp timeout 60 fallback static iface static inet static address 192.168.1.100 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameservers 8.8.8.8 8.8.4.4 systemctl restart networking ===== # Utiliser indiserver ===== === Lister les drivers disponibles === De base (même sans modules/paquets additionnels), indi livre un bon nombre de driver, on peut les voir avec ''indi_ + TAB'' pour l'autocompletion, ils sont aussi des executables (en tt cas sur ubuntu). === Trouver le nom du driver de mon materiel === Soit le nom du driver est explicite, auquel cas il faut parcourir la liste.\\ Soit il ne l'est pas (exemple, le driver d'une monture avalon est appelé ''indi_lx200stargo''), et il faut aller le chercher sur le [[https://www.indilib.org/devices.html|site d'indilib]] === Lancer indiserver avec les bons drivers === indiserver nom_driver_1 nom_driver_2 # voir indiserver --help pour avoir la liste des options (log...) Penser à mettre tout ça dans un service systemd pour le lancer au démarrage de l'os/du rpi >>> **//ATTENTION !! il faut que le matériel soit branché et démarré avant de démarrer l'indiserver !!//** (en tt cas pour les caméra ASI/ZWO) === les simulateurs === Indi fournit des simulateurs, nécessaires pour activer les modules correspondant dans Ekos même sans le matériel disponibles. - indi_simulator_telescope - indi_simulator_xxx ===== Ekos ===== Sur notre laptop bien au chaud, dans le logiciel Ekos, dans la config du matériel, on peut choisir un matériel distant/en remote, en donnant l'ip et le port du indiserver qu'on vient de configurer