Computer: Raspberry Pi

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.

  • AstroBerry
  • AstroPi
  • xyz

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:

  1. Terminal öffnen
  2. Eingeben: “sudo apt-get install python3-pip”
  3. Eingeben des sudo-Passworts: “raspberry”
  4. 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