Software für den Raspberry Pi

Der Raspberry Pi wird in recht unterschiedlichen Leistungsklassen produziert. Vom sehr kleinen Raspberry Pi Zero mit lediglich 512 MB Hauptspeicher bis zum derzeit leistungsstärksten Modell dem Raspberry Pi 4 B mit 4GB RAM. Und neben der Rechenleistung muß natürlich der Anwendungszweck betrachtet werden. Wenn Sie überwachen wollen, ob in ihrer Wohnung oder in ihrem Keller ein Wasserschaden auftreten könnte, dann brauchen Sie einen zuverlässigen Alarmgeber als Hardware am Raspberry Pi. Von der Software erwarten Sie primär Zuverlässigkeit und einen Monitor werden Sie kaum an einen im Keller befindlichen Raspberry Pi Zero W anschließen. Der Pi Zero W wird folglich ferngesteuert, und muß den Alarm z.B. als E-Mail weiterleiten.
Anschlüsse am Raspberry Pi4 und am Pi Zero W
Anschlüsse am Raspberry Pi4 und am Pi Zero W

Ganz anders sieht es aus, wenn Sie einen Raspberry Pi 4 B zur Wiedergabe von H.265 Videodateien bewegen möchten. Dann wird der MicroHDMI Ausgang genutzt, und ein Flachbildschirm ist angeschlossen. In diesem Szenario werden sie sehr wahrscheinlich auch eine graphische Benutzeroberfläche und eine externe USB-Festplatte verwenden. Sie sehen an diesem Beispiel, wie unterschiedlich Software und Hardware für einen Raspberry Pi ausfallen können. Wenn Sie Software entwickeln wollen, die auf allen Modellen des Raspberry Pi funktioniert, dann sind Sie allerdings an Linux gebunden.

Linux oder Windows ?

Wer als Anwender mit Linux arbeiten will, kann seinen PC mit einer sogenannten LIVE-DVD testen. So kann man die unterschiedlichen Linux Betriebssysteme leicht ausprobieren. Irgendwann kommt der Entschluss Linux fest zu installieren. Einsteiger haben dabei Angst Daten zu verlieren. Vorsicht ist immer ein guter Ratgeber. Und so stellt sich die Frage welchen PC nehme ich nur, auf dem sich ein Linux Betriebssystem dauerhaft ausbreiten soll? Auf einem älteren PC mag es sein, dass man ganz auf die schon vorhandene Windows XP Installation verzichtet. Bei einem neueren PC wünscht man sich aber eher eine parallele Installation neben einem schon vorhandenen Windows 7/8/10. Auch dies ist durch entsprechende Bootmanager und die Installation von der Live-DVD ein fast risikoloser Vorgang. Fast risikolos? Nein, Sie sind nicht gezwungen ein Kernkraftwerk zu warten – aber NULL Risiko gibt es nicht. Und schon sind wir beim Raspberry Pi. Da haben Sie tatsächlich NULL Risiko, weil Sie eben mit einem neuen PC anfangen. Ihre Investitionskosten bleiben recht überschaubar. Exemplarisch ca. 37 Euro für einen Raspberry Pi 4 B mit 1GB RAM, und etwa 30 Euro für die microSD-Karte, das HDMI-Kabel und ein Netzteil. Der Rest ist Software. Und die ist gratis.

RPi-Desktop – was ist damit gemeint?

„Raspberry Pi Desktop“ ist in der Tat ein mehrdeutiger Begriff mit folgenden Bedeutungen:
  1. Die grafische Oberfläche zu Raspbian (präziser Raspbian Jessie/Stretch/Buster mit grafischer Oberfläche). Das Raspbian Betriebssystem für den Raspberry Pi existiert inzwischen in drei Formen – je nachdem welche Ausbaustufe Sie verwenden möchten. Seit  Nov 2018 existieren damit drei Varianten bzw. Image-Dateien zum Download. Diese drei Ausbaustufen existieren inzwischen auch für Raspbian Buster.
  2. Ein Betriebssystem der Raspberry Pi Foundation für den PC, das derzeit (12.7.2019) noch auf Debian Stretch beruht aber eine Oberfläche hat, die der ggf. gewohnten Oberfläche auf dem Raspberry Pi und damit Raspbian sowie folgendem Link entspricht: https://www.raspberrypi.org/downloads/raspberry-pi-desktop

Der RPi-Desktop – die grafische Oberfläche des Raspberry Pi

Ist Ihr Schreibtisch auch immer so unaufgeräumt? Wenn man den Teil davon meint, der vertikal auf dem Tisch steht, dann kann man dort die Bedienoberfläche des Betriebssystems sehen. Aber meist schauen Sie wohl sowieso eher auf den „Schreibtisch“ anderer Leute – so auch in diesem Moment. Der Schreibtisch kann also hunderte Kilometer entfernt sein und trotzdem ganz nah. Remote Desktop wird das nun genannt. Aus der orthodoxen Ikone als Sakralbild ist inzwischen ein „Desktop-Icon“ geworden. Ein Symbol für ein startbares Programm. Das konkrete Aussehen aller graphischen Elemente hängt vom sogenannten „Theme“ ab, was sich vielleicht am treffendsten mit „Leitmotiv“ beschreiben lässt. Gestaltung und Farbe richten sich danach. Das populärste Betriebssystem für den Raspberry Pi ist Raspbian. Die Bedienung ist recht einfach und das Aussehen der nicht zwingend erforderlichen graphischen Oberfläche erinnert ein wenig an Windows XP.
Raspberry Pi Desktop mit whiptail SSH-Dialog (ASCII-GUI)
Raspberry Pi Desktop mit ASCII-GUI für den SSH-Zugriff

In obiger Abbildung sehen Sie einerseits die grafische Oberfläche (GUI) mit deren Bedienelementen, andererseits aber auch ein Fenster mit blauem Hintergrund das nur ASCII-Zeichen enthält (ASCII-GUI).  Die Desktop-Icons können mit einem Programm wie GIMP gestaltet werden. Über ein Bash Skript können alle Vernüpfungen bzw. Desktop-Icons auf den Raspbian Desktop kopiert werden.

Aber was macht man, wenn überhaupt kein Monitor an den Minicomputer Raspberry Pi angeschlossen werden soll oder kann? Dann brauchen Sie eine Fernübertragung. TightVNC ist so ein Programm für jenen „Remote Desktop“. Die Bildschirmauflösung lässt sich dabei zwar beliebig definieren, sollte aber trotzdem zu der Hardware passen, auf der die Anzeige erfolgt. Bei einem kleinen Smartphone-Display führt eine zu hohe Auflösung des „Remote Desktop“ ggf. zu sehr kleinen Symbolen, die mit dem Finger kaum mehr anklickbar wären. VNC ist übrigens die Abkürzung von  Virtual Network Computing – nichts anderes als eine Fernübertragungssoftware, die aus einem Client und einem Server besteht. Der Server läuft dabei permanent und wirkt so als „Generator“. Der Client läuft nur bei Bedarf und zeigt den RPi-Desktop auf einem Tablet-PC, einem Smartphone oder einem PC mit Flachbildschirm an.

Die schnöde Konsole

Raspberry Pi Desktop mit setxkbmap in der Konsole
Ein Raspberry Pi Desktop mit gestartetem Terminalprogramm

Computerprogramme bedient man heute durch antippen – aber das war nicht immer so. Im Zeitalter der Smartphones ist diese Art der Interaktion zur Selbstverständlichkeit geworden. Und es ist leider gar nicht so ungewöhnlich, dass Menschen die nicht programmieren gar nicht wissen welches Betriebssystem sie verwenden. Der Begriff Terminal wird sowohl bei einem Flughafen als auch bei Computern verwendet. Es kommt etwas an und etwas geht weg. „ASCII-Terminal“ ist die allgemeingültige Bezeichnung für eine textbasierte Kommunikationsmöglichkeit mit einem Computer. Während man unter Systemkonsole einen (meist schwarzen) Bildschirm versteht, auf dem man Kommandos eintippen kann, lässt sich ein Terminalprogramm auch innerhalb einer graphischen Oberfläche aufrufen. Das hat den Vorteil, daß Sie dabei die Fenstergröße und die Farben weitgehend frei einstellen können.

Wer annimmt, daß ein Terminalprogramm viel Tipparbeit erfordert irrt ein wenig. Denn wenn Sie in ein bestimmtes Verzeichnis wechseln wollen, genügen ein paar Buchstaben und die Tab-Taste führt zur Vervollständigung. Schon einmal eingetippte Kommandos werden gespeichert und lassen sich mit Pfeil auf/ab herbeizaubern und dann ggf. modifiziert nochmals absenden.

ASCII-GUI – Was ist das?

whiptail als ASCII-GUI auf dem Raspberry Pi
Das Skript whiptest.sh das wie raspi-config auf whiptail beruht

Bevor Betriebssysteme eine graphische Oberfläche hatten, war die gesamte Kommunikation zwischen Mensch und Computer textorientiert. ASCII ist eine Abkürzung und bedeutet „American Standard Code for Information Interchange“. Dieser 1963 definierte Standard ging von 7 Bit und damit 128 Zeichen aus. Davon waren 33 Zeichen nicht druckbar. So konnte der Cursor bewegt, oder das letzte Zeichen gelöscht werden. Der Zeichensatz wurde schließlich erweitert und bei 8 Bit konnten deutsche Umlaute im oberen Block des Zeichensatzes (nun 256 Zeichen) untergebracht werden. Dort konnten auch andere Länder ihre jeweiligen Sonderzeichen unterbringen. Aber man hatte auch einige Zeichen definiert, um damit Linien und Rahmen zeichnen zu können. Und dann gab es auch noch die sogenannten Escape Sequenzen mit denen man sagen konnte: „Mach mich farbig und lass mich blinken“. Die Verwendung der Maus war 1983 durchaus schon üblich – also noch bevor Betriebssysteme eine graphische Benutzeroberfläche bekamen. Wer einmal mit der Turbo Pascal IDE programmiert hat, wird sich ganz sicher noch an die damals revolutionär einfache Bedienbarkeit über Cursor und Funktionstasten erinnern.

Alles Vergangenheit? Nicht ganz. Das Programm raspi-config ist mit Bash als ASCII-GUI programmiert. Die Erfinder des Raspberry Pi sind damit quasi „Bash-Fanatiker“. Es muß also nicht immer Python sein…
 

Wie holt man sich Software bei Linux?

Software ist bei Linux in sogenannten „Paketen“ organisiert. Die Paketquelle ist dabei eine Internetadresse, die einerseits auf die Hardware abgestimmt ist, die Sie verwenden, andererseits aber auch die Linux-Distribution berücksichtigt.

Nehmen wir einmal an Sie benötigen auf Ihrem Linux-PC (es könnte ein Raspberry Pi sein) ein Programm zur Kontrastverstärkung für Digitalfotos. Dann brauchen Sie zuerst ein Programm, mit dem Sie auf Suche gehen können. Synaptic ist  ein „Paketmanager“ mit dem das gelingt. Da jede Installation das System verändert, wird eine Passworteingabe benötigt.

Installation von GIMP über Synaptic auf dem Raspberry Pi
Installation von GIMP über Synaptic auf dem Raspberry Pi

In der Abbildung sehen Sie die Vorgehensweise: Zuerst wird die Gruppe „Grafik- und Bildbearbeitung“ ausgewählt. Darauf erscheint rechts eine Liste von Programmen in der Sie „gimp“ auswählen und dann über „Anwenden“ die Installation starten. Das ist allerdings nur ein möglicher Weg, denn bei Linux sollen Sie mitbekommen was genau geschieht. Und deshalb bevorzugen viele Linux-Fans die Kommandoeingabe im Terminal:

sudo apt-get install gimp gimp-help-de

Über eine Internetrecherche „Bildbearbeitung Linux“ hätten Sie natürlich auch herausgebracht daß sich GIMP für die Bildbearbeitung eignet. Bei „sudo apt-get install“ erhalten Sie allerdings vorab keine Information was Sie bekommen werden. Man kann sich aber ein Skript inst.sh schreiben, das diese Aufgabe übernimmt und das wie folgt aufgerufen wird:

./inst.sh synaptic gimp gimp-help-de

Da Synaptic nicht in Raspbian Buster enthalten ist, wird hier ein entsprechender Eintrag vorangestellt. Das Skript gibt dann zuerst eine Beschreibung aus und fragt, ob Sie eine Installation möchten. Und natürlich lassen sich solche Skriptdateien auch über eine Bedienoberfläche ausführen, wozu es einen kurzen Blogbeitrag gibt.

Krusader, Konsole und LXTerminal

Der Krusader ist ein Dateimanager, der unter Windows mit dem „Total Commander“ vergleichbar wäre. Deshalb gibt es auch einen entsprechenden Modus zur Konfiguration. Oft werden die Begriffe Terminal und Konsole in der selben Weise verwendet. Bei Linux gibt es eine Vielzahl von Desktop-Umgebungen mit den jeweiligen Oberflächen: GNOME, KDE, LXDE, Xfce um nur einige wenige Beispiele zu nennen. Das voreingestellte Terminalprogramm zum Krusader wird mit F9 aufgerufen und ist die „Konsole“ – denn beide entstammen der KDE-Familie.

Konsole und Krusader beruhen auf KDE
Krusader und Konsole beruhen beide auf KDE

Wenn Sie aber lediglich nach „Konsole“ im Internet suchen, werden Sie die KDE-Konsole eher nicht finden. Beim LXTerminal ist die Bezeichnung so gesehen glücklicher gewählt. Warum ist das wichtig? In den Details unterscheiden sich die Programme „konsole“ und „lxterminal“. Konkret können Sie z.B. durch Strg+ den Schriftfont bei „konsole“ vergrößern, was so beim LXTerminal nicht funktioniert. Viel gravierender ist aber, daß der voreingestellte Font von „konsole“ nicht zwingend zu den Fonts von Raspbian Buster passen muß.

Umschaltung auf Monospace im Terminalprogramm Konsole
Umschaltung auf Monospace im Terminalprogramm Konsole
Wenn Sie also auf das Phänomen stoßen sollten, daß in einem Terminalprogramm nicht jedes Leerzeichen auch so erscheint, dann haben Sie möglicherweise keinen Monospace-Font eingestellt. So etwas führt schnell zu Fehleingaben. Deshalb sollten Sie den Font ggf. umschalten.

Virtuelle Terminals durchblättern

Wer Raspbian „pur“ installiert hat, verzichtet auf eine grafische Oberfläche und arbeitet mit dem Systemterminal. Dann ist das Terminal über den ganzen Bildschirm ausgedehnt und erscheint auf schwarzem Hintergrund. Einen Scrollbalken wie im RPI-Desktop gibt es nicht. Ein Kommando wie ls -l führt dann bei vielen Dateien dazu, daß die oberen Zeilen durchlaufen.

Virtuelle Terminals sind auch dann vorhanden, wenn Sie sich im RPi-Desktop befinden. Über <Strg><Alt><F2> gelangen Sie zu einem dieser Terminals und können sich dort mit Benutzernamen und Passwort anmelden. Es gibt mehrere virtuelle Terminals die <F1> bis <F6> entsprechen. Wozu ist das gut? Zum einen können Sie so oft ein hartes Abschalten des Raspberry Pi vermeiden, wenn der RPi-Desktop einmal eingefroren sein sollte. Zum anderen könnten Sie so auch eine weitere Desktop Sitzung mit startx für einen anderen Nutzer eröffnen. Virtuelle Terminals haben keinen Scrollbalken. Sie können aber durch <shift><PgUp>  vorangegangene Ausgaben
anschauen (Puffergröße als Limit) und kommen durch <shift><PgDown> zurück zur Gegenwart. Durch <Strg><Alt><F1> wird das Terminal zum Desktop erreicht. Über <Strg><Alt><F7> kehren Sie zum RPi-Desktop zurück.  Die Funktionstaste ist jeweils mit einem kleinen zeitlichen Abstand zu drücken.  Weitere Informationen finden Sie hier. Beachten Sie bitte, daß ein Pi Zero wenig Hauptspeicher hat und nur bedingt für den RPi-Desktop geeignet ist. Jedes Terminal lässt sich übrigens mit TMux in zugleich sichtbare Unterfenster aufteilen.

Welcher Raspberry Pi ist der richtige?

Wie nicht anders zu erwarten, spielt dabei der Preis eine gewichtige Rolle. Der Raspberry Pi Zero WH wird z.B. bei Reichelt wie folgt umworben:
 

Mit dem Raspberry Pi Zero haben Sie Vorteile wie…

  • deutlich kleiner als der große Bruder
  • verbraucht viel weniger Strom als der Raspberry Pi 4
  • hat genauso WLAN, Bluetooth, HDMI, SD-Card-Slot, CSI, USB, 40 Pin I/O, …
  • ist deutlich günstiger
 
Ein Raspberry Pi Zero W ist für unter 16 € erhältlich, wird Sie aber nicht glücklich machen, wenn Sie damit Programme entwickeln wollen. Ganz anders sieht es hingegen aus, wenn Sie auf einem Raspberry Pi 2,3 oder 4 entwickelte Programme auf einen Pi Zero kopieren und lediglich dort anwenden. Sie brauchen dazu lediglich eine dafür vorbereitete Micro-SD-Karte mit Betriebssystem und Software in den Raspberry Pi Zero einzulegen und dann (mit ggf. angeschlossener Hardware) zu booten.
 
Weitere Anregungen erhalten Sie hier oder in der Leseprobe zum Buch. Der neue Raspberry Pi 4 und  Raspbian Buster werden kurz im Blogartikel beschrieben.

 

Quizfragen:

Welche Raspberry Pi Computer haben eine USB-OTG Schnittstelle?
Was kann man damit anfangen?
Was ist eine Direktverbindung?
Was bedeutet LIRC ?
Was ist ein HCSR04 ?
Was muß man beim Anschluß des Kameramoduls (PiCam) beachten?

Fragen und Antworten finden Sie im Quiz
 

Menü schließen