Beschreibung
INDI ist eine Abkürzung für Instrument-Neutral-Distributed-Interface. Das Indi-Protokol dient dabei als Schnittstelle zwischen der Hard- und der Software.
Als Hardware sind in unserem Fall Montierung des Teleskops, Kamera, Fokussierer und Konsorten zu verstehen. Diese Hardware wird von den indi-Treibern angesteuert, die ihrerseits mit dem indi-server kommunizieren.
Die grafische Bediensoftware, zum Beispiel Stellarium oder kstars unterhält sich ebenfalls mit dem indi-server. Und zwar als Client.
Nochmal! Der indi-server ist die Vermittlungsstelle zwischen Soft- und Hardware. Er befindet sich auf dem Rechner, auf dem sich auch die Treiber befinden, also auf dem Rechner, in den Montierung und Kamera eingestöpselt sind. Er gibt an die Treiber weiter, was er vom Client, also vom Bedienprogramm erhält. Und er meldet dem Bedienprogramm, was er an Rückmeldungen von den Treibern erhält.
Treiber und Bedienprogramme können sich auf demselben Rechner befinden. Sie müssen es aber nicht. Durch die Server – Client -Architektur von indi kann man das Teleskop von überall aus bedienen. Man kann kstars auf dem Rechner im warmen Wohnzimmer installiert haben und steuert von dort aus das Teleskop in der eisig kalten Sternwarte. Die Verbindung zwischen dem Wohnzimmerrechner und dem Rechner in der Sternwarte erfolgt dann per LAN-Kabel, über Bluetooth oder übers Internet. Je nach Gegebenheit natürlich. Denn ein Kabel in die Sternwarte im Garten kann man vielleicht noch installieren. Steht die Sternwarte aber auf der anderen Seite der Erdkugel, wird das schon ein wenig komplizierter. Hier würde sich dann in der Tat das Internet anbieten.
Bevor wir das alles ausprobieren können, müssen die entsprechenden Programme erst einmal den Weg auf unsere Rechner finden. Und da beginnen wir beim Sternwarten-Rechner. Da kommen die indi-Treiber und der indi-server drauf.
Wichtig: Reihenfolge einhalten, sonst funktioniert es nicht mit dem Kompilieren:
- Abhängigkeiten auflösen
- indi-core; Quellcode herunterladen (da ist der indi-server mit dabei)
- indi-core: Kompilieren und Installieren
- indi-3rdparty: Quellcode herunterladen (Treiber, die nicht im indi-core enthalten sind)
- libahp-gt: Kompilieren und Installieren (notwendig für den eqmod-Treiber)
- indi-eqmod: Kompilieren und Installieren (Treiber für die Skywatcher-Montierung)
- libasi: Kompilieren und Installieren (Bibliotheken für die Kameras von ZWO)
- indi-asi: Kompilieren und Installieren (Treiber für die Kameras von ZWO)
- Neustart des Rechners
Also, los geht es!
1. Abhängigkeiten auflösen
sudo zypper install \
libev-devel \
libnova-devel \
libcurl-devel \
fftw3-devel
2. indi-core: Sourcecode herunterladen
Die Quelldateien befinden sich im github. Von dort laden wir sie auf unseren Rechner.
cd ~/astrostuff &&\
git clone --depth=1 https://github.com/indilib/indi.git
Die Übersetzung:
- Wechsle ins Hauptverzeichnis „astrostuff“
- Clone den Quellcode in dieses Verzeichnis
Im Hauptverzeichnis „astrostuff“ ist nun wie durch ein Wunder ein Unterverzeichnis mit dem Namen „indi“erschienen. Darin befindet sich der Quellcode für „indi-core“.
3. indi-core: Kompilieren und Installieren
Jetzt kompilieren und installieren wir das Ganze
mkdir -p ~/astrostuff/build/indi-core &&\
cd ~/astrostuff/build/indi-core &&\
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Release ~/astrostuff/indi &&\
sudo make -j4 install
Die Übersetzung:
- Erstelle im Hauptverzeichnis ein Verzeichnis mit dem Namen „build“. Und erstelle in „build“ ein Unterverzeichnis mit dem Namen „indi-core“
- Wechsle ins Unterverzeichnis „indi-core“
- Bereite das Projekt auf das Kompilieren vor
- Kompiliere das Ganze (make) und installiere es auf der Festplatte (install).
Die fertig kompilierten Dateien wandern damit in den Ordner /usr/local (Standard in Linux für cmake) und harren der Dinge, die da kommen.
4. indi-3rdparty: Sourcecode herunterladen
cd ~/astrostuff &&\
git clone --depth=1 https://github.com/indilib/indi-3rdparty.git
Der Quellcode für diese 3rd-Party-Treiber bekommt damit ein eigenes Unterverzeichnis in unserem Hauptverzeichnis. Ihr werdet den Namen dieses Unterverzeichnisses kaum erraten oder vielleicht doch? Richtig! Er lautet „indi-3rdparty“
5. libahp-gt: Kompilieren und Installieren
mkdir -p ~/astrostuff/build/libahp-gt &&\
cd ~/astrostuff/build/libahp-gt &&\
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Release ~/astrostuff/indi-3rdparty/libahp-gt &&\
sudo make -j4 install
6. indi-eqmod: Kompilieren und Installieren
mkdir -p ~/astrostuff/build/indi-eqmod &&\
cd ~/astrostuff/build/indi-eqmod &&\
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Release ~/astrostuff/indi-3rdparty/indi-eqmod &&\
sudo make -j4 install
Hier brauch ich nicht viel erzählen. Das Prinzip ist das Gleiche wie bei „indi-core“. Nur der Zielordner für die Build-Dateien ist ein anderer:
„indi-eqmod“
7. libasi: Kompilieren und Installieren
mkdir -p ~/astrostuff/build/libasi &&\
cd ~/astrostuff/build/libasi &&\
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Release ~/astrostuff/indi-3rdparty/libasi &&\
sudo make -j4 install
Eigentlich hätte an dieser Stelle das Kompilieren von indi-asi stehen sollen. Da hatten die Macher von indi aber wohl etwas dagegen, denn sie haben die Bibliotheken für die ZWO-Kameras separat gestellt.
Kompilieren wir also zuerst diese libraries. Der Zielordner im Build-Verzeichnis ist diesmal „libasi“
8. indi-asi: Kompilieren und Installieren
mkdir -p ~/astrostuff/build/indi-asi &&\
cd ~/astrostuff/build/indi-asi &&\
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Release ~/astrostuff/indi-3rdparty/indi-asi &&\
sudo make -j4 install
Damit haben wir das Ganze mit den Treibern für die ZWO-Kameras komplettiert. Zielordner? Richtig! „indi-asi“
9. Neustart
Die ASI-Kameras von ZWO werden über USB angesprochen, Meine sind dabei sehr hungrig auf Ressourcen. Damit keine größeren Probleme entstehen, bringt „libindi“, das wir vorhin installiert haben, eine udev-Regel mit. Diese Regel sorgt für geordnete Verhältnisse, sobald die Kamera erkannt wird.
Udev-Regeln werden beim Systemstart initialisiert, deshalb ist ein Neustart des Systems zu empfehlen,
stay tuned
Hinweis
Geschrieben für und getestet mit Linux openSUSE Tumbleweed.
Die Verwendung von Code, der in dieser Astro-Software-Reihe gezeigt wird, erfolgt ausschließlich auf eigene Gefahr.
Die Artikel bauen aufeinander auf und müssen der Reihe nach abgearbeitet werden, sonst klappt es nicht mit dem kompilieren.
https://sternenkarten.com/
Menüpunkt: Astro-Software
Gern gelesen, spannend.
Bist Du auch Fachmann, also Programmierer?
LikeLike
Freut mich. Nein ich bin kein Programmierer, nur gelernter Radio- und Fernsehtechiker. Geht aber viel mit „learning by doing“ und „try and error“ 🙂
Edgar
LikeGefällt 1 Person
Ich selbst war Programmierer, daher mein Interesse daran.
Natürlich kann man sich (fast) alles beibringen, wenn man Feuer für etwas entwickelt hat.
LikeGefällt 1 Person