Gehört zu: Astrofotografie, Computer
Siehe auch: Linux, Remote Control
Raspberry Pi für Astrofotografie
Der Raspberry Pi 3 Model B+ ist der Single-Board-Computer (“SBC”), auf dem StellarMate beruht.
Nach meinem persönlichen Fehlschlag mit StellarMate hatte ich diesen ja zurückgeschickt und zum weiteren testen ersteinmal eine Virtuelle Maschine mit Ubuntu MATE aufgesetzt.
Ich habe mir im April 2020 mal so einen Raspberry Pi bei Reichelt gekauft, um damit mal auszuprobieren, ob ich die Remote Contol meines Astro-Equipments damit hin bekomme.
Der Starter Guide soll angeblich sein: www.rasberrypi.org/products/raspberry-pi-3-model-b-plus auf diesen Web-Seiten ist nur Werbung für andere Produkte zu sehen.
Für den Raspberry Pi als Astro-Computer gibt es im Internet einige fertige Images z.B.
Der Raspberry Pi 3 Model B+ ist ein Quad-Core-Prozessor von Broadcom 1,2 GHz mit 64 Bit ARMv8 Architektur
Meine Anforderungen
Ich möchte mein Astro-Equipment an einen kleinen lokalen Computer (etwa auf der kalten Terrasse) anschließen können und diesen dann Remote von einem anderen Computer (etwa im warmen Wohnzimmer) steuern können.
Anschließen an den lokalen Computer möchte ich folgende Geräte:
- HEQ5 Pro Montierung über USB 2.0
- GuidingScope50 mit Guiding-Kamera GP-CAM über USB 2.0
- Motor-Fokusser über USB 2.0
- Astro-Kamera Zwo ASI294MC Pro über USB 3.0
Diese Geräte, einschließlich des lokalen Computers, müssen vor Ort einfach und sicher mit Strom versorgt werden können.
Die Remote-Steuerung (Fernsteuerung) sollte folgende Funktionen ermöglichen:
- Goto
- Platesolving
- SYNC
- Kühlung der ASI-Kamera
- Bedienung des Motor-Fokussers
- Nachführen
- Einstellen von Belichtungszeit, Gain/ISO etc. für die Fotos
- Definieren und Ausführen von Foto-Serien (sog. Sequence bzw. Plan)
Lösungsmöglichkeiten
Was nur vor Ort (als nicht Remote) zu bewerkstelligen ist:
- Montierung in die Waagerechte bringen
- Polar Alignment
Schrittweises Testen:
- Funktionen zunächst auf dem lokalen Computer, dann auf dem Remote-Computer
- Verbindungen zwischen Lokal und Remote über verschiedene Wege: Kabel, WLAN, VNC, VPN, TeamViewer, Web-Browser,…
Einige Varianten
- Lokaler Windows-Computer mit aller erforderlicher Astro-Software und einem VNC-Server.
- Lokaler Linux-Computer mit INDI-Server…
- Lokaler Windows-Computer mit einer virtuellen Linux-Maschine
Lösungsvariante “Linux-Computer mit INDI-Server”
In dieser Variante benutze ich einen kleinen lokalen Linux-Computer mit einen INDI-Server.
Dieser lokale Linux-Computer soll “headless” laufen d.h. ohne Bildschirm, Maus und Tastatur.
Dazu muss auf dem kleinen lokalen Linux-Computer immer ein Prozess laufen, der mit dem Remote-Computer kommuniziert. Bei dieser Variante ist das ein INDI-Server mit den für meine Geräte erforderlichen INDI-Treibern. Das Problem ist, dass man einen INDI-Server nur starten kann, wenn man mindestens einen INDI-Driver angibt, welcher dann auch noch für ein bestimmtes Astro-Gerät zuständig ist, was ständig angeschlossen sein muss. Das ist für mich nicht wirklich praktikabel.
Wenn man aber statt eines “INDI-Servers” einen “INDI Web Manager” ständig laufen lässt, der als Kommunikationspunkt für den Remote-Computer dient, kann man so vom Remote-Computer aus den lokalen Linux-Computer steuern d.h. Profile für den INDI-Server anlegen und schließlich den INDI-Server starten. Dabei ist in einem solchen Profil angegeben, welche Astro-Geräte angeschlossen sind und vom INDI-Server bedient werden sollen.
Als Astro-Software können wir dann auf dem Remote-Compter mit KStars und Ekos arbeiten.
Das AstroBerry Image
Mit dem fertigen Image von
- https://indilib.org/forum/astroberry/6052-astroberry-server-2-0-0-is-available-now.html
- https://www.astroberry.io/distro/
Bekommen wir ein vorkonfiguriertes System auf den Raspberry-Computer mit:
- Betriebssystem Rasbian/Linux 10 (Sudo Passwort: astroberry)
- einem WLAN-Access-Point: “astroberry” allowing to access the system directly i.e. without external wireless network eg. in the field
- Remote Access over VNC at astroberry.local:5900 über einen VNC-Server: 10.42.0.1 (wenn WLAN Access Point)
- Remote Access über Web Browser at astroberry.local/desktop
- Bluetooth
- einem INDI Web Manager —> ja
- einem INDI-Server —> ja
- Task Manager “LXTask”
- KStars mit Ekos
- PHD2 Guiding
Die Installationsschritte AstroBerry
Die Installation des AstroBerry-Images get wie folgt:
- Herunterladen des Images von https://www.astroberry.io/distro/
- Schreiben des Images auf eine 32GB SD-Karte mit dem BalenaEtcher
- Hochfahren des Raspberry Pi von der SD-Karte und mit Netzteil 5V
- Verbinden des Windows-Computers mit dem WLAN des Raspberry: astroberry
- Herstellen VNC-Verbindung zwischen Raspberry und Windows-Computer: astroberry.local / astroberry (10.42.0.1)
- Datum und Uhrzeit einstellen
- Linux-Version feststellen: 18.10
- WLAN erkunden: wlan0 10.42.0.1
- Feststellen, ob INDI-Server installiert: -> Das Executable ist: /usr/bin/indiserver
- Feststellen, ob INDI-Server läuft -> lokales KSTars aufrufen, dort auf Tools -> Ekos -> “Connection to INDI-Server failed”
- Feststellen, ob INDI Web Manager installiert: -> Das Executable ist: /usr/local/bin/indi-web
- Wenn nicht, nachinstallieren: sudo -H pip3 install indiweb
- Feststellen, ob INDI Web Manager läuft -> Beispielsweise mit dem Taskmanager: LXTask, der bei astroberry standardmäßig mit installiert ist.
Benutzung des Raspberry mit Astroberry
Wenn alles installiert ist, kann es losgehen:
- Den Rasberry Pi lokal an der Montierung plazieren, die Astro-Gräte anschließen (USB), den Rasberry-Computer mit Strom versorgen und hochfahren.
- Der Raspberry sollte nun automatisch mit dem LAN/WLAN verbunden sein und eine IP-Adresse haben
- Den Remote-Computer per Netzwerk mit dem Raspberry verbinden.
- Auf dem Remote-Computer den INDI Web Manager des Raspberry aufrufen: http://astroberry.local:8624 (10.42.0.1)
- Mit dem INDI Web Manager ein INDI-Profil erstellen, in dem die gerade angeschlossenen Astro-Geräte stehen.
- Mit dem INDI Web Manager den INDI Server mit dem obigen Profil starten:
- Auf dem Remote-Computer KStars starten…
Zur Kontrolle bzw. Fehlereingrenzung kann man
- VNC-Verbindung vom Remote-Computer zum Raspberry-Computer aufbauen.
Das AstroPi Image
Ich kam auf diese Idee als ich auf das Youtube-Video https://kzlist.info/die-alternative/zmatlHCsmZ2x0Mw und die Webseite http://keno-media.de gestossen bin…
Das Image könnt ihr hier downloaden:
- Für den Raspberry Pi 3 B (Sudo Passwort: astropi3): keno-media.de/dl/astropi3_32gb_image.rar
- Für den Raspberry Pi 3 B+ (Sudo Passwort: raspberry): keno-media.de/dl/RPi_Astro_Image_32GB_BPlus.rar
Wir bekommen damit ein vorkonfiguriertes System auf den Raspberry-Computer mit:
- Betriebssystem Linux Ubuntu Mate (Sudo Passwort: raspberry)
- einem WLAN-Access-Point: AstroPi3_Wifi
- Bluetooth
- einem VNC-Server: 192.168.4.1 (wenn WLAN Access Point)
- einem INDI Web Manager —> ja, bzw. nachinstalliert
- einem INDI-Server —> ja, aber Starten nur über INDI Web Manager
- …
Die Installationsschritte AstroPi
Die Installation des AstroPi-Images get wie folgt:
- Herunterladen des Images von keno-media.de/dl/RPi_Astro_Image_32GB_BPlus.rar
- Schreiben des Images auf eine 32GB SD-Karte mit dem BalenaEtcher
- Hochfahren des Raspberry Pi von der SD-Karte und mit Netzteil 5V
- Verbinden des Windows-Computers mit dem WLAN des Raspberry: AstroPi3_Wifi
- Herstellen VNC-Verbindung zwischen Raspberry und Windows-Computer: 192.168.4.1 / astropi3
- Datum und Uhrzeit einstellen
- Ubuntu-Version feststellen: 18.10 32-bit (obwohl die Hardware 64 bit ist)
- WLAN erkunden: wlan0 192.168.4.1
- Feststellen, ob INDI-Server installiert ->Das Executable ist: /usr/bin/indiserver
- Feststellen, ob INDI-Server läuft -> lokales KSTars aufrufen, dort auf Tools -> Ekos -> “Connection to INDI-Server failed”
- Feststellen, ob INDI Web Manager installiert -> Das Executable ist: /usr/local/bin/indi-web
- Wenn nicht, nachinstallieren: sudo -H pip3 install indiweb
- Feststellen, ob INDI Web Manager läuft ->Beispielsweise mit: Anwendungen -> Systemwerkzeuge -> MATE-Systemüberwachung -> Prozesse
- Autostart für INDI Web Manager einrichte (s.u.)
Benutzung des Raspberry mit AstroPi
Leider nicht erfolgreich.
16.4.2020: Da ein INDI-Sever nicht vorhanden ist bzw. nicht “out of the box” läuft, ist dieses System für meinen Remote-Betrieb nicht geeignet. Der Raspberry Pi zusammen mit den Zubehör geht zurück an Reichelt.
Es geht aber doch:
- Den Rasberry Pi lokal an der Montierung plazieren, die Astro-Gräte anschließen (USB), den Rasberry-Computer mit Strom versorgen und hochfahren.
- Der Raspberry sollte nun automatisch mit dem LAN/WLAN verbunden sein und eine IP-Adresse haben
- Den Remote-Computer per Netzwerk mit dem Raspberry verbinden.
- Auf dem Remote-Computer den INDI Web Manager des Raspberry aufrufen: http://192.168.1.148:8624
- Mit dem INDI Web Manager ein INDI-Profil erstellen, in dem die gerade angeschlossenen Astro-Geräte stehen.
- Mit dem INDI Web Manager den INDI Server mit dem obigen Profil starten:
- Auf dem Remote-Computer KStars starten…
Zur Kontrolle bzw. Fehlereingrenzung kann man
- VNC-Verbindung vom Remote-Computer zum Raspberry-Computer aufbauen.
Was ich hätte machen können
Ich hätte das Folgende alles machen können, um INDI-Remote zum Laufen zu bekommen.
Ich hatte aber keine Lust auf weitere “sudos” und “command lines”.
Am Ende würde dann INDI vielleicht laufen, aber die INDI-Treiber für meine Geräte wären das nächste Problem…
Ich probiere erst einmal die Software unter Ubuntu MATE auf einer Virtual Machine aus.
Ubuntu Version feststellen
Das geht beispielsweise im Terminal-Fenster mit: “lsb_release -a”
Netzwerk einrichten und testen
Terminal-Fenster: “ifconfig” – da sieht man z.B. die IP-Adresse.
Unter VirtualBox gibt es einige Varianten einen Netzwerkadapter einzurichten:
- NAT –> das hat bei mir nicht funktioniert
- Netzwerkbrücke (Bridge) –> das hat bei mir funktioniert
- Internes Netzwerk
- Host-only Adapter –> das hat bei mir nicht funktioniert
- Generischer Treiber
- NAT-Netzwerk
- nicht angeschlossen
INDI Full nach-installieren
Falls man das Paket “indi-full gsc” nach-installieren will, geht das so:
- Terminal öffnen
- sudo apt-add-repository ppa:mutlaqja/ppa
- sudo apt-get update
- sudo apt-get install indi-full gsc
INDI Web Manager
Installieren: INDI Web Manager
Das nachinstallieren des INDI Web Managers unter Ubuntu MATE soll so geschehen:
- Terminal öffnen
- Eingeben: “sudo apt-get install python3-pip”
- Eingeben des sudo-Passworts: “raspberry”
- Eingeben “sudo -H pip3 install indiweb”
Automatisch Starten: INDI Web Manager
Im Terminal-Fenster rufen wir den Editor “pluma” auf und erstellen eine kleine Datei:
Eingabe: “sudo pluma /etc/systemd/system/indiwebmanager.service”
Inhalt der Datei:
[UNIT]
Description=INDI Web Manager
After=multi-user.target
[Service]
Type=Idle
User=pi (oder auch: User=astroberry)
ExecStart=/usr/local/bin/indi-web -v
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
Und dann, um das ganze automatisch starten zu lassen:
Eingabe: sudo systemctl enable indiwebmanager.service
PHD2 Guiding
PHD2 Guiding installieren
Ist auf dem AstroBerry standardmäßig vorhanden.
PHD2 Guiding automatisch starten
Auch PHD soll beim Hochfahren des Raspberry automatisch gestartet werden.
Menüleiste: System -> Einstellungen -> Persönlich -> Startprogramme (System – Preferences – Personal – Startup Applications)
Dann öffnet sich ein Fenster “Startprogrammeinstellungen”; dort auf die Schaltfläche “Hinzufügen” klicken…
Dann öffnet sich ein Fenster “Startprogramm hinzufügen”; dort eingeben:
- Name: PHD2
- Befehl: phd2 (klein geschieben)
- Schaltfläche “Hinzufügen”
Schaltfläche “Schließen”
Im Terminalfenster dann eingeben: “reboot”
Auf dem Windws-Computer wieder mit dem WLAN des Rasperry verbinden und den VNC-Client (VNC Viewer) aufrufen.
Wenn der Ubuntu Desktop gekommen ist, sollte gleich das Fenster des PHD2 Guiding aufgehen….
Remote vom Windows-Computer aus
Die allererste Voraussetzung ist, das ich eine funktionierende Remote-Verbindung über mein Netzwerk (TCP/IP) hinbekomme.
Also: Wie verbinde ich meine beiden Computer mit dem Netzwerk und wie bekomme ich eine technische Verbindung zwischen den beiden hin (z.B. mit PING zu testen).
Aufruf des INI Web Managers
Mozilla Firefox aufrufen mit der Adresse: http://192.168.4.1:8624
Und schon hat man den INDI Web Manger, wo wir Profile neu anlegen oder bearbeiten kann.
Ein Punkt bei einem Profil ist, das automatische Starten des INDI-Servers.
Aufruf von KStars
Nun können wir endlich KStars…..
Geräteverwltung -> Client -> Server -> Verbinden