c't 10/2016
S. 82
Praxis
Originelle Raspi-Projekte: Erste Schritte
Aufmacherbild

Frisch gebacken

Erste Schritte mit dem Raspberry Pi

Der Raspberry Pi ist die ideale Grundlage für Hardware-Basteleien. Egal ob Heimserver, Steuerzentrale oder Medienspieler: An Ideen für den sparsamen Minirechner mangelt es nicht. Unser Einstieg hilft bei den ersten Schritten: von der Auswahl des richtigen Modells über das passende Betriebssystem bis zum ersten Python-Code.

Originelle Raspi-Projekte

Nützliche, nerdige und neue Ideen für den Raspberry Pi

Klein, billig, sparsam, einfach: Der Raspberry Pi ist ein kompletter Computer mit den Seitenmaßen einer Kreditkarte, der nicht mal 40 Euro kostet. Die aktuelle Version 3 bietet sowohl eine Ethernet-Schnittstelle als auch integriertes WLAN, wodurch er sich zur Netzwerkanalyse eignet (siehe Seite 88). Sein System on a Chip (SoC) enthält neben vier ARMv8-Kernen (1,2 GHz) auch einen Hardware-Videodecoder [1]. Damit eignet er sich als Medienspieler mit dem Player-Frontend Kodi (siehe Seite 94). Mit seinem Hardware-Zufallszahlengenerator verteilt er sicheren Zufall im Heimnetz (siehe S. 108). Über ein passendes Display (Display- und Touch-Controller sind integriert) kann er einen täglich wechselnden WLAN-Schlüssel anzeigen (siehe S. 98). Ein Audioausgang mit 3,5-mm-Klinkenbuchse ist genauso an Bord wie ein Anschluss für eine HD-Kamera. Trotzdem verbraucht er im Leerlauf nur 2 und unter Last weniger als 5 Watt. Das macht ihn zum sparsamen Heimserver, beispielsweise für die Fotosammlung (siehe S. 104).

Dieser Artikel zeigt Ihnen, wie Sie einen Raspi in Betrieb nehmen und konfigurieren. Als Start ins erste eigene Projekt erklären wir, wie ein paar Zeilen Python eine angeschlossene LED zum Blinken bringen – das „Hallo Welt“ der Hardware-Bastler.

Beschaffung

Raspis gibt es bei Elektronik-Versendern, die auch die zum Beispiel-Projekt passende LED liefern können. Außerdem haben ihn einige gut sortierte Elektronikmärkte im Programm. Es gibt mehrere Modelle: Aktuell ist der Raspberry Pi 3 (Modell B) die erste Wahl. Der billigere (und langsame) Pi Zero eignet sich nur für sehr spezielle Aufgaben, da ihm einige Schnittstellen fehlen. Ältere Modelle bieten deutlich weniger Leistung bei unwesentlich kleinerem Preis.

Auf dem Raspberry Pi läuft ein Linux mit grafischem Desktop. Das Tool raspi-config dient als Oberfläche für die häufigsten Einstellungen

Strom bezieht der Raspi über ein Micro-USB-Netzteil, das mindestens 2 Ampere liefern sollte. Passende Modelle kosten weniger als 15 Euro. Handy-Netzteile sind für den Raspi oft zu schwach; umgekehrt können Sie mit dem Netzteil Ihres Raspi aber Ihr Handy laden. Wenn Sie ein vorhandenes Netzteil verwenden möchten, sollten Sie überprüfen, ob es genug Strom liefert. Die relevante Angabe ist meist irgendwo klein aufgedruckt.

Das Betriebssystem residiert auf einer Micro-SD-Karte. Der Hersteller empfiehlt mindestens 4 GB mit Klasse 4. Wir haben mit 32 GB großen Klasse-10-Karten gute Erfahrungen gemacht: Sie kosten 9 Euro, sind schnell und bieten auch dann genug Platz, wenn bei Projekten ein paar Daten anfallen. Zur Installation müssen Sie die Karte von einem PC oder Mac aus bespielen. Da viele Notebooks nur normal große SD-Karten lesen, legen Hersteller üblicherweise Adapter auf Micro-SD bei.

Installation

Komponenten des Raspberry Pi

Auf raspberrypi.org stehen verschiedene kompatible Betriebssysteme zum Download. Statt zu grübeln, welchen Sie brauchen, laden Sie am besten das Installer-System NOOBS (New Out Of the Box Software) herunter. NOOBS verwandelt sich beim ersten Start in das Linux, das Sie auswählen.

Formatieren Sie die Micro-SD-Karte zunächst mit FAT32. Entpacken Sie das heruntergeladene Zip-Archiv auf Ihrem Rechner und kopieren Sie seinen gesamten Inhalt auf die Karte. Wenn Sie später das System wechseln wollen, müssen Sie diese beiden Schritte wiederholen. Stecken Sie die Karte in den Raspi und schließen einen Monitor per HDMI, Tastatur und Maus über USB und zuletzt das Netzteil an. Der Raspi hat keinen Power-Knopf: Er fährt hoch, sobald er Strom bekommt.

NOOBS begrüßt Sie mit der Betriebssystemauswahl. Wählen Sie für den Einstieg das Standardsystem „Raspbian“ aus, eine Version von Debian. Anleitungen für Debian oder Ubuntu funktionieren fast immer auch unter Raspbian. Das System eignet sich für fast alle Projekte. Falls ein Projekt ein anderes System voraussetzt, steht dies explizit dabei. Die Verwandlung von NOOBS in Raspbian dauert ein paar Minuten. Ein Klick auf OK beendet NOOBS, woraufhin Raspbian direkt in seinen grafischen Desktop startet.

Einstellungen

Der NetworkManager zeigt die verfügbaren WLAN-Netze.

Zum Ändern von Systemeinstellungen steht raspi-config bereit. Beim Tastatur-Layout hat das Tool im Test allerdings versagt: Die Einstellung für die deutsche Tastatur ging bei jedem Neustart wieder verloren. Die Einstellungen des grafischen Desktops zeigten sich weniger vergesslich: Dort lässt sich ebenso bequem auf die deutsche Tastatur umschalten – und es hält.

Über die grafischen Einstellungen lässt sich das Tastatur-Layout bequem auf Deutsch umstellen.

Für Netzwerkeinstellungen einschließlich der Auswahl des WLAN dient der NetworkManager. Sie erreichen ihn über das Netzwerk-Symbol links neben der Uhr in der oberen Leiste.

Um mit Python eine LED anzusteuern, müssen Sie eine kleine Schaltung aus einer LED und einem Vorwiderstand aufbauen. Für solche Schaltungen gibt es Steckbretter (engl. Breadboards), auf denen sich Bauteile ohne Lötkolben zusammenstecken lassen. Steckbrett, LED und 220-Ohm-Widerstand sind günstige Standardbauteile, die Sie für insgesamt drei bis vier Euro beim Elektronikhändler bekommen. Spartipp: Alte IDE-Kabel passen exakt auf die Pin-Leiste des Raspi.

1  import RPi.GPIO as IO
2  import time
3  IO.setmode(IO.BOARD)
4  IO.setp(12, IO.OUT)
5  state = True
6  while True:
7      IO.output(12, state)
8      state = not state
9      time.sleep(1)
Diese neun Zeilen Python bringen eine LED an Pin 12 zum Blinken.

Betreiben Sie keine LED ohne Vorwiderstand, da das die LED oder sogar den Raspi beschädigen kann. Das Beispielprojekt verwendet zwei Verbindungen, die auf der äußeren Reihe der Pin-Leiste liegen: GPIO-Pin 12 und eine Masseverbindung (Pin 6). Sie können auch eine beliebige andere Masse-Verbindung der Stiftleiste verwenden. Wenn Sie einen anderen GPIO-Pin wählen, müssen Sie das Programm anpassen.

Programmieren

Für das Programm legen Sie im Home-Verzeichnis eine neue Datei namens blink.py an. Ein Doppelklick darauf öffnet automatisch die einfache Entwicklungsumgebung IDLE.

Das Beispielprogramm kommt mit neun Zeilen aus: Die erste bindet das Modul zum Zugriff auf die GPIO-Pins unter dem Namen „IO“ ein. Das Einbinden einer installierten Bibliothek heißt in Python import. Die zweite Zeile importiert das Modul time, das das Programm eine bestimmte Zeitspanne schlafen legen kann.

Zeile 3 legt fest, welches Nummerierungsschema das Programm für die Pins verwendet. Zur Wahl stehen die Nummern auf dem Raspi (IO.BOARD) oder die an den Lötverbindungen des SoC (IO.BCM). Zeile 4 konfiguriert Pin 12 zur Ausgabe. Sie können Pins auch als Eingänge konfigurieren, um beispielsweise einen Taster abzufragen.

Zum Blinken schaltet der Code die Variable state (Zeile 5) von True auf False und zurück (Zeile 8). In der Endlosschleife ab Zeile 6 setzt das Programm den PGIO-Pin 12 auf den Wert von state. Damit geht die LED bei jedem Schleifendurchlauf entweder an oder aus. Die letzte Zeile legt das Programm zwischendurch für eine Sekunde schlafen. Ohne diese Verzögerung würde die LED so schnell blinken, dass es wie ein kontinuierliches Leuchten aussähe.

In IDLE starten Sie das Programm über „Run“, „Run Module“ oder F5. Auf der Konsole startet es mit:

python blink.py

Viel Spaß beim Steuern, Automatisieren, Programmieren und Basteln. (jme@ct.de)