Einrichten des Pi Zero für die All Sky Kamera

Vorwort

Wie im ersten Teil beschrieben, soll der Pi lediglich die AllSky Kamera steuern und braucht dafür keine grafische Oberfläche. Für die Ersteinrichtung werden ein OTG Adapter zum Anschluss einer USB Tastatur sowie ein Mini HDMI -> HDMI Adapter benötigt. Falls beim Einrichten etwas schief geht und die SD Karte neu eingerichtet werden muss, ist es vorteilhaft, eine Linux Installation zu haben, z.B. in einer virtuellen Maschine, da Windows die Linux Partition nicht erkennt und somit auch nicht löschen kann. Auf diesem Weg lässt sich aber auch bestens auf der Mikro SD Karte arbeiten, sollte der Zugriff via SSH zu umständlich sein oder wegen Netzwerkproblemen ausfallen. Dies ist natürlich auch dann hilfreich, wenn durch eine falsche Konfiguration das System nicht mehr startet.
Einzugebende Kommandos sind in Anführungszeichen („“) geschrieben, diese werden nicht mit eingegeben.
Schritte, die evtl. im Nachhinein doch nicht erforderlich sind, habe ich in eckige Klammern gesetzt. Ggf. können diese Schritte jederzeit nachgeholt werden.
Was ich bereits hier beschrieben habe zur Einrichtung der Mikro SD Karte, wiederhole ich natürlich nicht mehr.

Bitte beachten: Wie bereits im vorigen Teil beschrieben, gelten die genannten Versionsnummern jetzt im März 2018. Zu einem späteren Zeitpunkt kann sich etliches geändert haben, vor allem natürlich Abhängigkeiten zwischen den Paketen. Dies ist einer der Gründe, warum ich möglicherweise mehr Pakete installiert habe, als ich zur Zeit benötige. Wer weiss, was ich in Zukunft alles updaten müsste, damit es funktioniert. Ich rechne eher damit, dass ich das System nicht mehr anrühren werde, wenn es einmal läuft, auch wenn dann einiges darauf veraltet. Wenn’s doch läuft…

Los geht’s

  • Download von Raspbian Stretch Lite https://www.raspberrypi.org/downloads/raspbian/ und Installation auf der Mikro SD Karte
  • Download von INDI Library (http://www.indilib.org/download/raspberry-pi/category/6-raspberry-pi.html) und kopieren des Archives auf die Mikro SD Karte
  • Anschluss der USB Tastatur und HDMI Display
    • Bei Verwendung eines kleinen Display muss evtl. erst die Konfiguration angepasst werden, z.B. 5“ Waveshare:
      Datei /boot/config.txt am Ende wie folgt ergänzen:
      max_usb_current=1
      hdmi_group=2
      hdmi_mode=87
      hdmi_cvt 800 480 60 6 0 0 0
      hdmi_drive=1
      Dies kann bereits auf der SD Karte nach deren Einrichtung erfolgen. Der Editor muss aber Unix Stil erkennen, der Windows Editor ist ungeeignet.
  • Pi Zero starten, Einloggen mit Benutzer pi und Passwort raspberry, wobei das US Layout voreingestellt ist, auf einer deutschen Tastatur muss also raspberrz eingegeben werden.
  • Anschliessend mittels „sudo raspi-config“ WLAN, Sprach- und Regionaleinstellungen, Tastaturlayout etc. einrichten und neu starten. Bei der Eingabe des Benutzernamens erst testen, ob das deutsche Tastaturlayout übernommen wurde (z/y).
    Unter „Interfacing Options“ ssh aktivieren für Fernzugang.
  • System aktualisieren: „sudo apt-get update“, „sudo apt-get upgrade“.
  • Webserver installieren: „sudo apt-get apache2“
  • PHP 7 installieren: „sudo apt-get install php7.0 php7.0-curl php7.0-gd php7.0-imap php7.0-json php7.0-mcrypt php7.0-mysql php7.0-opcache php7.0-xmlrpc libapache2-mod-php7.0“
  • [ MySQL installieren: „sudo apt-get install mysql-server mysql-client“
    ((Sicheres Passwort vergeben und merken! Wird im nächsten Schritt abgefragt.
    Falls die Abfrage nicht automatisch erscheint:
    mysqladmin -u root -p password [Passwort] <Enter>
    Passwort wiederholen (Klappt jedenfalls)
    Neustart: „sudo reboot“))
  • phpMyAdmin installieren: „sudo apt-get install -t stretch phpmyadmin“
  • „apache2“ auswählen mit Leertaste, mit Tabulator auf Ok und <Enter>
    Nächste Abfrage mit <Enter> bestätigen
  • Passwort für phpMyAdmin eingeben und noch einmal bestätigen
  • „sudo nano /etc/php/7.0/apache2/php.ini“ und am Ende „extension=mysql.so“ einfügen
  • „sudo nano /etc/apache2/apache2.conf“ und am Ende „Include /etc/phpmyadmin/apache.conf“ einfügen ]
  • „sudo /etc/init.d/apache2 restart“
  • Testen:
    • Apache:
      http://[Name_des_Pi oder IP_Adresse] im Browser auf einem anderen Rechner oder Mobilgerät im Netzwerk sollte eine Default Page anzeigen
    • PHP:
      Test-Datei anlegen: „echo „echo ‚<?php phpinfo();?>‘ >> /var/www/html/phpinfo.php“ | sudo bash“
      http://[Name_des_Pi oder IP_Adresse]/phpinfo.php sollte Infos zu PHP anzeigen
    • [ phpMyAdmin:
      http://[Name_des_Pi oder IP_Adresse]/phpmyadmin sollte die phpMyAdmin Loginseite anzeigen ]
  • Installation von python 3
    „sudo apt-get install python3-setuptools python3-dev python3-pip swig“
  • Installation von INDI (http://indilib.org/download/raspberry-pi.html)
    • „sudo apt-get install cdbs libcfitsio-dev libnova-dev libusb-1.0-0-dev libjpeg-dev libusb-dev libtiff5-dev libftdi1-dev fxload libkrb5-dev libcurl4-gnutls-dev libraw-dev libgphoto2-dev libgsl-dev dkms libboost-regex-dev libgps-dev libdc1394-22-dev“
    • In dem Verzeichnis mit dem INDI Archiv, siehe Schritt 2: „tar -xzf libindi_1.6.0_rpi.tar.gz“
      „cd libindi_1.6.0_rpi2“
      „sudo dpkg -i *.deb“
    • evtl. nötig: „sudo apt-get update“
      „sudo apt-get upgrade“
      „sudo apt –fix-broken install“
    • Installation von pyindi-client (nur für den aktuellen Benutzer)
      „pip3 install –user –install-option=“–prefix=“ pyindi-client“
    • Modul systemweit installieren, ist vielleicht erforderlich:
      „sudo -H pip3 install –system pyindi-client“
  • Samba für Verzeichnisfreigabe installieren (https://www.elektronik-kompendium.de/sites/raspberry-pi/2007071.htm)
    • „sudo apt-get update“
    • „sudo apt-get install samba samba-common samba-client“
    • Verzeichnis für die Aufnahmen anlegen: „sudo mkdir /home/shares/pictures“
    • Besitzer wechseln: „sudo chown root:root /home/shares/pictures“
    • Zugriffsrechte setzen: „sudo chmod 770 /home/shares/pictures“
    • Zugriffsrechte für Webseitenverzeichnis setzen: „sudo chmod 770 /var/www/html“
    • Neue smb.conf erstellen:
      • „sudo mv /etc/samba/smb.conf /etc/samba/smb.conf_alt“
      • „sudo nano /etc/samba/smb.conf“
        Folgenden Inhalt eingeben (alles zwischen den === Zeichen):
        ====================
        [global]
        workgroup = WORKGROUP
        security = user
        encrypt passwords = yes

        [Aufnahmen]
        comment = AllSky-Bilder
        path = /home/shares/pictures
        read only = no

        [Webseite]
        comment = Webseite
        path = /var/www/html
        read only = no
        ====================

      • sudo service smbd restart
      • sudo service nmbd restart
      • sudo smbpasswd -a pi
    • Damit können diese beiden Verzeichnisse von anderen Rechnern im Netzwerk gelesen und geschrieben werden können, z.B. also die Aufnahmen herunter geladen und der Speicherplatz freigegeben werden oder die Webseite mit einem beliebigen Editor remote bearbeitet und im Browser kontrolliert werden. Beim Verbinden muss wie bei jedem Netzlaufwerk eine auf dem Pi eingerichteter Benutzer mit Passwort angeben werden, standardmäßig also „pi“ und „raspberry“.
  • Für später ffmpeg installieren: http://blogs.warwick.ac.uk/mikewillis/entry/quick_and_easy/
    • Von https://johnvansickle.com/ffmpeg/ den armel build herunter laden, da der Pi Zero die gleiche Architektur wie der Pi 1 hat.
    • In dem Verzeichnis mit dem Archiv: „tar xvJf ffmpeg…“
    • Testen mit „ffmpeg…/ffmpeg“, es sollten diverse Ausgaben kommen, die mit „Use -h to get full help or, even better, run ‚man ffmpeg'“ enden.

Diesen letzten Download habe ich übrigens auf einem Mac gemacht und dann die Datei über das Netzlaufwerk in das Bilderverzeichnis kopiert und mir von dort auf dem Pi in das HOME Verzeichnis geholt. Ohne Samba müsste man auf dem Pi mit sftp arbeiten, was bei weitem nicht so benutzerfreundlich ist. Wie bereits mehrfach betont, sind aber einige Grundkenntnisse über Linux und die Kommandozeile unabdingbar, falls mal etwas nicht so funktioniert wie gewünscht oder aber in meiner Anleitung Fehler sind oder Schreibfehler beim Abtippen aufgetreten sind.

Nachtrag:

Leider musste ich feststellen, dass der Pi nach einiger Zeit ohne Aktivität nicht mehr erreichbar war, obwohl er einwandfrei lief. Eine Suche brachte nur mäßigen Erfolg, der Pi verfügt über keinerlei Power Management. Warum er dann trotzdem offenbar die WLAN Verbindung abschaltet, weiss anscheinend niemand. Die Lösung besteht darin, regelmäßig ein Skript laufen zu lassen, welches die Verbindung prüft und ggf. den Adapter neu startet. Seitdem habe ich keine Probleme mehr mit dem Zugriff.

  • „sudo nano /usr/local/bin/wifi_rebooter.sh“
  • Folgenden Inhalt eingeben:
    #!/bin/bash
    # The IP for the server you wish to ping (8.8.8.8 is a public Google DNS server)
    SERVER=8.8.8.8
    # Only send two pings, sending output to /dev/null
    ping -c2 ${SERVER} > /dev/null
    # If the return code from ping ($?) is not 0 (meaning there was an error)
    if [ $? != 0 ]
    then
    # Restart the wireless interface
    /sbin/ifdown –force wlan0
    /sbin/ifup wlan0
    fi
  • Datei ausführbar machen: „sudo chmod +x /usr/local/bin/wifi_rebooter.sh“
  • Folgende Zeile in /etc/crontab ergänzen:
    */10 * * * * root /usr/local/bin/wifi_rebooter.sh
    Dadurch wird das Skript alle 10 Minuten aufgerufen.

Schreibe einen Kommentar