Raspberry Pi

Willemers Informatik-Ecke

Linux als Serversystem einsetzen:
Bei Amazon bestellen
2016-10-13

Was benötigt man an Hardware?

Betriebssystem beschaffen

Das Betriebssytem kann man von der Seite http://www.raspberrypi.org/downloads herunterladen. Dabei ist Raspbian Debian Wheezy keine schlechte Wahl für den Anfang. Bei der Beschreibung der Inbetriebnahme wird von diesem System ausgegangen.

Nach dem Download ist die Image-Datei in einer ZIP-Datei enthalten, die mit unzip entpackt werden muss. Dazu verwendet man einfach einen grafischen Entpacker oder ruft unzip auf.

Soll der Raspberry Pi als Medienzentrale im Zusammenspiel mit einem Fernseher dienen, ist OpenELEC besonders interessant.

Flashen der SD-Karte

Das ausgepackte Image muss nun auf die SD-Karte geschoben werden. Wir gehen hier davon aus, dass man einen Linux-Computer verwendet. Vor dem Einlegen der Karte gibt man den folgenden Befehl ein:
tail -f /var/log/syslog
Beim Einstecken erscheint eine Meldung, die angibt, welchen Namen das Device der Karte und der Partitionen haben. Beispielsweise:
... mmcblk0: p1 p2
... oder ...
... sdd: sdd1
Im ersten Fall ist es das Device mmcblk0, um zweiten sdd. Wenn es allerdings sda ist, bitte Vorsicht! Dann könnte es die eigene Festplatte sein und es ist nicht gut, wenn die einfach gelöscht wird. Sollte das eben passiert sein, vergessen Sie, wo Sie dies gelesen haben.

Wenn Sie absolut sicher sind, welche Device die Karte hat, dann flashen Sie das heruntergeladene, entpackte Image, das beispielsweise 2014-09-09-wheezy-raspbian.img heißt mit dem Befehl

sudo dd if=2014-09-09-wheezy-raspbian.img of=/dev/sdd bs=4M
auf die SD-Karte. Das dauert ein wenig. Wenn der Computer gar nicht mehr reagiert, haben Sie doch Ihre Festplatte erwischt. Pech!

Inbetriebnahme Raspbian

Schieben Sie die Micro-SD-Karte in den vorgesehenen Slot des Raspberry Pi. Verbinden Sie das HDMI-Kabel mit dem Monitor bzw. Fernseher, schließen Sie USB-Tastatur und -Maus an. Verbinden Sie das Netzteil mit dem Raspberry Pi und stecken es dann in die Steckdose.

Der Befehl sudo raspi-config ruft ein Menü auf, indem Sie Raspbian konfigurieren können. In älteren Versionen erschien dieses Menü nach dem Start des Pi.

  1. Expand Filesystem
    Durch den Aufruf wird automatisch das Dateisystem so erweitert, dass die gesamte SD-Karte genutzt wird.
  2. Change Password
    Das Passwort kann angepasst werden. Der Standard-Benutzer ist pi.
  3. Enable Boot to Desktop/Scratch
    Hier wird eingestellt, wie der Raspberry Pi genutzt werden soll.
    • Standardmäßig erhält man eine Text-Konsole, auf der man sich einloggen muss.
    • Es kann ein Desktop gestartet werden, in den man sich als Benutzer pi einloggen muss.
    • Scratch Strart the Scratch programming environment upon boot.
  4. Internationalisation Options
    • Change Locale: Aus der Liste wählt man de_DE.UTF-8.
    • Timezone: Hier wird zunächst Europe, dann Berlin ausgewählt.
    • Keyboard Layout: Um eine deutsche Tastatur zu wählen, muss man mehrere Schritte durchlaufen.
      • Es wird eine Generic 105-key (intl) PC-Tastatur vorgeschlagen, die fast immer passt.
      • Im nächsten Fenster wird English in mehreren Varianten angeboten, aber auch "Other". Damit kommt man zu...
      • ... mehreren Ländern. Hier German auswählen.
      • Diverse Varianten von Tastaturen. Die einfach "German" dürfte meist passen.
      • Die Einstellung für die Behandlung von AltGr kann auf Default bleiben.
      • No compose key ist normalerweise korrekt.
      • Zuletzt kommt die Auswahl, ob Strg-Alt-Backspace den X-Server zurücksetzen soll. Das macht man heute eher selten.
  5. Enable Camera
    Mangels Kamera habe ich das nicht ausprobiert.
  6. Add to Rastrack: Nicht ausprobiert.
  7. Overclock: Übertaktet das Gerät. Habe ich nicht ausprobiert.
  8. Advanced:
    Hier kann man diverse Einstellungen vornehmen. Vor allem den Hostnamen ändern und den SSH-Server aktivieren.
    SPI: Die Kernel-Erweiterung für das PiFace wird aktiviert.
  9. About raspi-config
Wenn man mit allen Einstellungen fertig ist, wählt man "Finish".

Nach dem Reboot fordert der Raspberry Pi Benutzername und Kennwort ein oder erscheint mit dem Desktop. Je nachdem, was Sie zuvor eingestellt haben. Nun verhält er sich, wie jeder ordentliche Linux-Computer, nur etwas langsamer und deutlich kleiner.

Per Netzwerk anmelden und root werden

Wenn der Raspberry Pi als kleiner Helfer im Netzwerk agieren soll, ist es praktisch, wenn Sie den SSH-Dämon aktiviert haben. Dann können Sie sich als Benutzer pi einloggen. Das Passwort wurde bei der Erstinstallation ja eingestellt.

root wird man durch sudo-Aufrufe, wie man es von Ubuntu oder dem Mac her kennt. Eine root-Shell wird durch den Aufruf von sudo -s erreicht. Es wird kein weiteres Passwort mehr erfragt. root kann sich aber nicht einloggen.

Grafische Anmeldung per VNC-Server

Der VNC-Zugang funktioniert auf dem Raspberry Pi erstauntlich problemlos. Zunächst muss der Server installiert werden:
apt-get install tightvncserver
Anschließend wird er mit dem Befehl vncserver gestartet. Dabei verlangt der Server beim ersten Mal ein Passwort, das doppelt eingegeben werden muss. Danach meldet er den Display 1 mit hostname:1. Die Displaynummer muss bei der Verbindung auf den Port 5900 aufaddiert werden.
vncserver 
New 'X' desktop is raspi:1
Der Prozess kann mit dem folgenden Aufruf wieder abgestellt werden.
vncserver -kill :1
Der Aufruf von vncserver muss nach jedem Reboot wiederholt werden, kann aber beqem per ssh erfolgen.

Wie man sieht, setzt VNC wohl auf dem Display-Manager auf. Die Installtion erweitert auch die LightDM-Konfigurationsdatei /etc/lightdm/lightdm.conf.

Der X11-Server XDMCP

Die grafische Oberfläche X11 ermöglicht es, über das Protokoll XDMCP auch grafische Terminals anzumelden. Dazu wird der Display-Manager, der beim Raspberry Pi LightDM heißt, umkonfiguriert.

Der LightDM ist recht leicht umzustellen. In der Datei /etc/lightdm/lightdm.conf muss er unter dem Stichwort XDMCPServer nur freigeschaltet werden.

[XDMCPServer]
enabled=true
Nun muss der Display-Manager neu gestartet werden. Dabei wird der Bildschirm kurzzeitig schwarz und ein neuer Desktop wieder aufgebaut. Gestartete grafische Programme werden dabei allerdings beendet.
# /etc/init.d/lightdm restart
[ ok ] Stopping Light Display Manager: lightdm.
[ ok ] Starting Light Display Manager: lightdm.
#
Auch auf
Raspberrypi.org gibt es eine Beschreibung, wie XDMCP konfiguriert wird. Anzumerken ist allerdings, dass einige Konfigurationen falsch sind, die erst am Ende der Seite korrigiert werden.

Bisher haben die XDMCP-Versuche noch nicht geklappt. Irgendetwas läuft beim Raspberry Pi also etwas anders.

Der Client

Als Client kann unter Linux das Programm remmina installiert werden. Für das XDMCP-Protokoll wird zusätzlich das Paket remmina-plugin-xdmcp benötigt. VNC kann Remmina von Haus aus. Auf einem Ubuntu-, Linux-Mint- oder Debian-Client lautet der Installationsaufruf so:
apt-get install remmina remmina-plugin-xdmcp
Man kann es natürlich auch über das Software-Center oder eine Paketverwaltung installieren. Unter Remmina kann das Protokoll XDMCP ausgewählt werden und damit eine Verbindung erstellt werden.

OpenELEC für die Video-Wiedergabe eines SAMBA-Servers

Meine Aufgabenstellung für den Raspberry Pi war es, die Verbindung zwischen dem Fernseher und einem SAMBA-Server herzustellen. Die ersten Experimente mit Raspbian waren nicht so erfolgreich. Für VLC war die Hardware etwas zu schmächtig.

OpenELEC kann ebenfalls von http://www.raspberrypi.org/downloads heruntergeladen werden. Das Entpacken und Flashen der SD-Karte funktioniert genauso wie bei Raspbian beschrieben.

Beim ersten Start wird das System automatisch angepasst. Ohne weiteres Zutun erfolgt ein Neustart. Nach dessen Ende sieht der Bildschirm wie bei einer typischen Setup-Box für Fernseher aus.

Über den Punkt VIDEO kann ein neues Verzeichnis angelegt werden. Dabei wird ein Button zum Durchsuchen angeboten. Danach wird unter vielen anderen auch die Möglichkeit angeboten, einen SMB-Server zu verwenden. Die Arbeitsgruppen werden zur Auswahl angeboten. Darin findet sich der Server und schließlich dessen Freigaben. Dort kann weiter im Verzeichnisbaum herabgestiegen werden, bis man das Gewünschte erreicht hat. Mit Ok wird die Auswahl bestätigt. Man kann dieser noch einen Namen geben.

Wenn man nun eine Video-Datei ansehen will, verwendet man das oben angemeldete Verzeichnis und kann darin die Videodateien ansehen.

Von Haus aus kommt OpenELEC mit AVI- und MP4-Dateien gut klar. MPEG-2-Dateien werden nicht abgespielt. Man hört nur den Ton.

Die Bedienung kann allein mit der Maus erfolgen, aber eine Tastatur wird unterstützt.

Audioausgang umschalten

Audio-Ausgang liegt normalerweise am HDMI. Der folgende Befehl schaltet auf den 3,5 Klinkenstecker um.
amixer cset numid=3 1
Wird statt 1 eine 2 gegeben, schaltet es auf HDMI. Wird 0 verwendet wählt der Rasberry Pi automatisch den Ausgang.

Einstellungen Monitor

Auflösung

Um die Auflösung des Bildschirms in der config.txt festzulegen, werden die Parameter hdmi_group und hdmi_mode verwendet.

Ein Monitor mit 1920x1080 wird beispielsweise mit folgender Einstellung benutzt:

hdmi_group=1
hdmi_mode=16
Ein Monitor mit 1280x1024 wird mit folgender Einstellung gefahren:
hdmi_group=2
hdmi_mode=35

Rotieren des Bildschirms

Der xrandr-Befehl funktioniert beim Raspberry Pi leider nicht (Stand 6/2016). Man kann den Bildschirm lediglich beim Booten rotieren lassen. Dazu wird ein Eintrag in der Datei /boot/config.txt geschaltet:
display_rotate=0       # Normal
display_rotate=1       # 90 Grad im Uhrzeigersinn
display_rotate=2       # 180 Grad im Uhrzeigersinn
display_rotate=3       # 270 Grad im Uhrzeigersinn

Bildschirmschoner

Gerade beim Raspberry Pi ist ein Bildschirmschoner so nützlich wie ein Geschwür am Fuß. Leider ist das Abschalten extrem umständlich. Die Vorschläge, die ich im Internet gefunden habe, funktionierten leider nicht.

Bisher erfolgreich war es, in der Konfiguration des LightDM /etc/lightdm/lightdm.conf folgenden Eintrag durchzuführen:

xserver-command=X -s 0 dpms
Dies wirkt über den Display-Manager und darum funktioniert es so nur bei LightDM und demzufolge auch nicht auf der Konsole.

Screenshot von OpenELEC

Einloggen per SSH als root Passwort openelec. Der folgende Befehl löst den Screenshot aus.
 cd /storage/.config
xbmc-send --host=127.0.0.1 -a "TakeScreenshot"
Die Screenshots befinden sich im Verzeichnis /storage/screenshots.

Grafische Oberfläche

Die Oberfläche des Raspberry Pi unter Raspbian heißt PIXEL und basiert zu weiten Teilen auf LXDE bevor dieser auf Qt umgestellt wurde.

Autostart

Um beim Start des Desktops eine grafische Anwendung automatisch zu starten, wird ein Starter in das Verzeichnis /home/pi/.config/autostart gelegt. Dazu muss das Verzeichnis unter Umständen angelegt werden.

Den Starter erzeugt man am einfachsten dadurch, dass man eine Anwendung aus dem Hauptmenü mit der rechten Maustaste anklickt. Es erscheint das Angebot, einen Starter für den Desktop anzulegen.

Diesen klickt man mit der rechten Maustaste an und wählt den Editor. Nun passt man mindestens den Eintrag Exec= an. Die geänderte Datei muss unter einem anderen Namen gespeichert werden. Anschließend verschiebt man ihn nach /home/pi/.config/autostart.


Homepage (C) Copyright 2014, 2015, 2016 Arnold Willemer