Sie sind auf Seite 1von 149

Bibliografische Information der Deutschen Bibliothek

Die Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie;


detaillierte Daten sind im Internet über http://dnb.ddb.de abrufbar.

Alle Angaben in diesem Buch wurden vom Autor mit größter Sorgfalt erarbeitet bzw. zusammengestellt und
unter Einschaltung wirksamer Kontrollmaßnahmen reproduziert. Trotzdem sind Fehler nicht ganz auszuschlie-
ßen. Der Verlag und der Autor sehen sich deshalb gezwungen, darauf hinzuweisen, dass sie weder eine Garantie
noch die juristische Verantwortung oder irgendeine Haftung für Folgen, die auf fehlerhafte Angaben zurückge-
hen, übernehmen können. Für die Mitteilung etwaiger Fehler sind Verlag und Autor jederzeit dankbar. Internet-
adressen oder Versionsnummern stellen den bei Redaktionsschluss verfügbaren Informationsstand dar. Verlag
und Autor übernehmen keinerlei Verantwortung oder Haftung für Veränderungen, die sich aus nicht von ihnen
zu vertretenden Umständen ergeben. Evtl. beigefügte oder zum Download angebotene Dateien und Informa-
tionen dienen ausschließlich der nicht gewerblichen Nutzung. Eine gewerbliche Nutzung ist nur mit Zustim-
mung des Lizenzinhabers möglich.

© 2016 Franzis Verlag GmbH, 85540 Haar bei München

Alle Rechte vorbehalten, auch die der fotomechanischen Wiedergabe und der Speicherung in elektronischen
Medien. Das Erstellen und Verbreiten von Kopien auf Papier, auf Datenträgern oder im Internet, insbesondere als
PDF, ist nur mit ausdrücklicher Genehmigung des Verlags gestattet und wird widrigenfalls strafrechtlich verfolgt.

Die meisten Produktbezeichnungen von Hard- und Software sowie Firmennamen und Firmenlogos, die in diesem
Werk genannt werden, sind in der Regel gleichzeitig auch eingetragene Warenzeichen und sollten als solche betrachtet
werden. Der Verlag folgt bei den Produktbezeichnungen im Wesentlichen den Schreibweisen der Hersteller.

Autoren: Christian Immler, E. F Engelhardt, Wilfried Klaas, Hannah Bernauer

ISBN 978-3-645-39080-4
INHALTSÜBERSICHT

1. Teil: Schnelleinstieg Raspberry Pi 3 ................................................... PDF-S. 4

2. Teil: Schnelleinstieg Raspberry Pi 2 ............................................... PDF-S. 159

3. Teil: Roboter mit Raspberry Pi ....................................................... PDF-S. 314

4. Teil: Bussysteme in der Praxis ......................................................... PDF-S. 563

5. Teil: Raspberry Pi Serverbuch ......................................................... PDF-S. 796

6. Teil: Raspberry Pi - Mach's einfach .............................................. PDF-S. 1051

7. Teil: Schnelleinstieg Raspberry Pi - 2. Auflage ........................... PDF-S. 1305

8. Teil: Coole Projekte mit Raspberry Pi ......................................... PDF-S. 1488

9. Teil: Hausautomation mit Raspberry Pi ...................................... PDF-S. 1739

10. Teil: Linus mit Raspberry Pi ........................................................ PDF-S. 1972


60486-4 Titelei.qxp 09.05.16 14:07 Seite 1

E. F. Engelhardt
Schnelleinstieg
Raspberry Pi 3
VORWORT

Wir wünschen Ihnen viel Spaß mit dem Buch!


Autor und Verlag
Sie haben Anregungen, Fragen, Lob oder Kritik zu diesem Buch? Sie erreichen den
Autor per E-Mail unter ef.engelhardt@gmx.de.

ZUSATZINFORMATIONEN ZUM PRODUKT

Zu diesem Produkt, wie zu vielen anderen Produkten des Franzis Verlags, finden
Sie unter www.buch.cd Zusatzmaterial zum Download. Tragen Sie für dieses Pro-
dukt im Eingabefeld den Code 60486-4 ein.

60486-4 Schnelleinstieg Raspberry Pi 3_gekürzt_01.indd 5 29.04.2016 12:37:20


INHALTSVERZEICHNIS

1 RASPBERRY 1, 2, 3 ODER ZERO? . . . . . . . . . . . . . . . . . . . . . 10


1.1 Linux auf dem Raspberry Pi . . . . . . . . . . . . . . . . . . . . . 15
1.1.1 Terminal: Kommandozeile für den Raspberry Pi . . . . . 16
1.1.2 Konsolen-Basics: wichtige Befehle im Überblick . . . . . 16
1.1.3 chmod: effektive Berechtigungen . . . . . . . . . . . . . . . 18
1.1.4 Device-Tree-Optionen in der config.txt . . . . . . . . . . . 19
1.2 Praktisches Zubehör für den Raspberry-Betrieb . . . . . . . 22
1.2.1 Micro-USB-Kabel und Netzteil . . . . . . . . . . . . . . . . 23
1.2.2 (Micro-)SD-Karten: der Unterschied
zwischen schnell und langsam. . . . . . . . . . . . . . . . . 23
1.2.3 Bildschirm: HDMI, FBAS oder nichts. . . . . . . . . . . . . 26
1.2.4 Tastatur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.2.5 Maus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.2.6 Bluetooth-USB-Dongle. . . . . . . . . . . . . . . . . . . . . . 27
1.2.7 USB-WLAN-Dongle . . . . . . . . . . . . . . . . . . . . . . . 27
1.2.8 USB-LAN-Netzwerkadapter . . . . . . . . . . . . . . . . . . 27
1.2.9 pHAT – Raspberry Pi per Shield erweitern . . . . . . . . . 28

2 RASPBERRY PI EINRICHTEN UND KONFIGURIEREN . . . . . 30


2.1 Für Einsteiger: mehrere Betriebssysteme
zum Ausprobieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.1.1 NOOBS – der erste Start. . . . . . . . . . . . . . . . . . . . . 31
2.2 Für Fortgeschrittene: Image auswählen und
auf Micro-SD-Karte installieren. . . . . . . . . . . . . . . . . . . 33
2.2.1 Spätere Inbetriebnahme: root oder pi? . . . . . . . . . . . 35
2.2.2 Via Mac-OS-X-Konsole: Raspberry-Image
aufspielen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.2.3 Windows: das USB Image Tool im Einsatz . . . . . . . . . 37
2.2.4 Man schreibt deutsch: Konsoleneinstellungen
anpassen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.2.5 sudo oder root? . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.2.6 Datum und Uhrzeit setzen über das Terminal . . . . . . . 47
2.3 Tuningmaßnahmen für den Raspberry Pi . . . . . . . . . . . . 47
2.3.1 USB-Tastatur – Ziffernblock einschalten . . . . . . . . . . 48
2.3.2 Überblick über die Systemauslastung mit htop . . . . . . 48
6

60486-4 Schnelleinstieg Raspberry Pi 3_gekürzt_01.indd 6 29.04.2016 12:37:42


2.3.3 Optimierung per Speichersplitting . . . . . . . . . . . . . . 49
2.3.4 Kommandozeilenfetischisten:
GUI-Start unterbinden . . . . . . . . . . . . . . . . . . . . . . 49
2.3.5 Arbeitsspeicher unterstützen: Swap-Datei anlegen . . . 50
2.3.6 Swap-Datei in fstab konfigurieren . . . . . . . . . . . . . . 51
2.3.7 Dateien und Verzeichnisse via fstab optimieren . . . . . 52
2.3.8 Konsolen reduzieren . . . . . . . . . . . . . . . . . . . . . . . 52

3 RASPBERRY PI MIT DER MAUS ¬


BENUTZEROBERFLÄCHE LXDE . . . . . . . . . . . . . . . . . . . . . . 54
3.1 Daten, Dateien und Dateisystem . . . . . . . . . . . . . . . . . . 55
3.1.1 Persönliche Daten . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.1.2 Micro-SD-Karte sichern . . . . . . . . . . . . . . . . . . . . . 58
3.2 Raspbian Jessie ¬ die wichtigsten Programme
und Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.2.1 Surfmaschine Raspberry Pi –
Webbrowser mit HTML5 . . . . . . . . . . . . . . . . . . . . 59
3.2.2 LibreOffice – Schreibmaschine in der
Streichholzschachtel . . . . . . . . . . . . . . . . . . . . . . . 60
3.2.3 LibreOffice-Tuning für den Raspberry Pi. . . . . . . . . . . 61
3.3 Startmenü Zubehör: Tools und Hilfsprogramme. . . . . . . 62
3.3.1 Hilfe zur Selbsthilfe: Debian-Referenz . . . . . . . . . . . . 63
3.3.2 Spielend bauen – Minecraft Pi Edition . . . . . . . . . . . . 63
3.4 Drucken mit CUPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.4.1CUPS-Basisinstallation . . . . . . . . . . . . . . . . . . . . . . 65
3.4.2Optional: Druckertreiberinstallation . . . . . . . . . . . . . 67
3.4.3Drucker mit CUPS koppeln – Admin-Webseite nutzen . 68
3.4.4 Drucker im Heimnetz zu CUPS hinzufügen
und einrichten . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
3.5 Unterschiedliche Wege ¬ Programme installieren . . . . . 72
3.5.1 Paketinstallation in der Konsole über apt-get . . . . . . . 73
3.6 Eingebaute oder nachgerüstete Bluetooth-
Schnittstelle nutzen . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

60486-4 Schnelleinstieg Raspberry Pi 3_gekürzt_01.indd 7 29.04.2016 12:37:43


Inhalt

3.6.1 Bluetooth-Kopplung über die LXDE-GUI . . . . . . . . . . 76


3.6.2 Bluetooth-Kopplung über
bluetoothctl-Kommandozeile . . . . . . . . . . . . . . . . . 77

4 RASPBERRY PI IM NETZWERK . . . . . . . . . . . . . . . . . . . . . . 80
4.1 Eingebauten WLAN-Adapter nutzen oder
nachrüsten: Achtung, Chipsatz . . . . . . . . . . . . . . . . . . . 80
4.1.1 Mit Sicherheit: Netzwerkeinstellungen festlegen . . . . . 83
4.2 Raspberry Pi über SSH steuern: PuTTY,
Terminal & Co. im Einsatz . . . . . . . . . . . . . . . . . . . . . . . 85
4.2.1 Praktisch und sicher: Zugriff über SSH . . . . . . . . . . . 85
4.2.2 Keine Installation nötig: Windows-Zugriff
über PuTTY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
4.2.3 Raspberry Pi per Mausklick abschalten . . . . . . . . . . . 89
4.2.4 Bequem Daten kopieren mit WinSCP . . . . . . . . . . . . 89
4.2.5 Mac OS X: SSH-Zugriff über die
eingebaute Konsole . . . . . . . . . . . . . . . . . . . . . . . . 91
4.2.6 Ubuntu: SSH-Zugriff nachrüsten . . . . . . . . . . . . . . . 93
4.3 Datei- und Druckdienste im Heimnetz . . . . . . . . . . . . . 93
4.3.1 Zugriff auf das Raspberry-Pi-Dateisystem
im Heimnetz . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
4.3.2 Mac OS X mit Raspberry Pi via Samba koppeln . . . . . . 98
4.3.3 Windows-Ordner für den Raspberry Pi im
Heimnetz freigeben . . . . . . . . . . . . . . . . . . . . . . . . 103
4.3.4 Windows zickt beim Samba-Zugriff:
Freigabeprobleme lösen . . . . . . . . . . . . . . . . . . . . . 104

5 RASPBERRY PI ALS SPIELKONSOLE . . . . . . . . . . . . . . . . . . 108


5.1 Retrospielhölle auf dem Raspberry Pi . . . . . . . . . . . . . . 108
5.1.1 MS-DOS-Spiele auf dem Raspberry Pi . . . . . . . . . . . . 109
5.2 Retropie ¬ das Emulator-Image für den Raspberry Pi . . . 114
5.2.1 Image auf SD-Karte: Retropie installieren . . . . . . . . .
114
5.2.2 Zwingend nötig: Spiele in Retropie installieren . . . . . .
115
5.2.3 Amiga, Atari, C64, SNES, Nintendo64 & Co.
auf dem Raspberry Pi . . . . . . . . . . . . . . . . . . . . . . . 116
5.2.4 Man spricht deutsch: Retropie konfigurieren . . . . . . . 118

60486-4 Schnelleinstieg Raspberry Pi 3_gekürzt_01.indd 8 29.04.2016 12:37:43


Inhalt

6 WOHNZIMMER-PC 3.0: SMARTTV-EIGENBAU . . . . . . . . . 120


6.1 OpenELEC: laden oder kompilieren? . . . . . . . . . . . . . . . 120
6.1.1 OpenELEC-Image herunterladen und anpassen . . . . . 121
6.1.2 Inbetriebnahme eines fertigen Kodi/
OpenELEC-Images . . . . . . . . . . . . . . . . . . . . . . . . 121
6.2 Kodi-Mediacenter einrichten . . . . . . . . . . . . . . . . . . . . 122
6.2.1 OpenELEC-Einstellungen anpassen und
Freigaben einrichten . . . . . . . . . . . . . . . . . . . . . . . 125
6.2.2 Administration über die Kommandozeile –
SSH-Zugriff einschalten . . . . . . . . . . . . . . . . . . . . . 127
6.2.3 Samba einrichten: bequemer Zugriff auf
das Mediacenter . . . . . . . . . . . . . . . . . . . . . . . . . . 128
6.2.4 Zugriff auf NFS/Samba-Freigaben im Heimnetz . . . . . 132
6.2.5 NFS konfigurieren: Zugriff auf Linux/NAS-Server . . . . 133
6.2.6 CIFS/Samba konfigurieren: Zugriff auf
Windows-Freigaben . . . . . . . . . . . . . . . . . . . . . . . 134
6.2.7 Praktisch: Kodi/XBMC-Webserver einschalten . . . . . . 137
6.2.8 Wettervorhersage mit dem Wetter-Plug-in . . . . . . . . 140
6.2.9 OpenELEC: hohe CPU-Auslastung reduzieren . . . . . . 140
6.2.10 Mehr Funktionen: Add-ons nachrüsten,
einrichten und nutzen . . . . . . . . . . . . . . . . . . . . . . 142
6.2.11 MPEG-2- und MPEG-1-Codec nachreichen . . . . . . . . 145
6.2.12 Manchmal praktisch: Screenshots erstellen . . . . . . . . 147
6.3 Raspberry Pi als TV-Box . . . . . . . . . . . . . . . . . . . . . . . . 148
6.3.1Besser zum Streamen: TV-Box auf Linux-Basis . . . . . . 149
6.3.2Streaming-Server installieren . . . . . . . . . . . . . . . . . 150
6.3.3TV-Box mit Kodi verheiraten . . . . . . . . . . . . . . . . . . 152
6.3.4Mehr Komfort: Fernbedienung mit Pi koppeln. . . . . . . 154
6.3.5LiveTV auf Pi-Kodi genießen . . . . . . . . . . . . . . . . . . 157

60486-4 Schnelleinstieg Raspberry Pi 3_gekürzt_01.indd 9 29.04.2016 12:37:43


2 RASPBERRY PI EINRICHTEN
UND KONFIGURIEREN

Bei der Ersteinrichtung Schritt für Schritt zum perfekten System: Wer den klei-
nen Raspberry  Pi maßgeschneidert zu Hause im Heimnetz oder am Fernseher
in Betrieb nehmen will, passt ihn zunächst dem Einsatzzweck und dem nötigen
Zubehör an. Grundsätzlich haben Sie es hier mit Konfigurationsdateien und vielen
Parametern zu tun, und vieles ist für die meisten erst einmal Neuland. Doch Sie
haben nun die Möglichkeit, dazuzulernen und beispielsweise verschiedene Linux-
Kommandos in der Konsole dafür auszuprobieren. Damit nehmen Sie direkt Ein-
fluss auf die vorhandenen Programme und Dienste, beispielsweise die Sprachein-
stellungen und die Tastatur, aber auch später auf die Einrichtung des Netzwerks
und vieles mehr.
Grundsätzlich gehen Sie wie folgt vor: Nach dem Zusammenbau bzw. Einste-
cken der nötigen Komponenten des Raspberry Pi und dem Befüllen der Micro-
SD-Karte mit der aktuellsten Image-Datei (https://downloads.raspberrypi.org/
raspbian_latest) folgt die Inbetriebnahme. Der Raspberry Pi bootet in der Desk-
topversion (Full desktop image based on Debian Jessie) direkt in die grafische Ober-
fläche (GUI-Modus). Für die Ersteinrichtung sind daher mindestens ein ange-
schlossener Bildschirm über die (Mini-)HDMI-Buchse sowie eine Maus und eine
Tastatur nötig. Da der Raspberry Pi Zero lediglich eine Micro-USB-Buchse zum
Anschluss von USB-Geräten bereitstellt, ist bereits hier der Einsatz eines aktiven
USB-Hubs notwendig – die großen Brüder wie Raspberry Pi 2 oder Raspberry Pi
3 Modell B bringen vier USB-Anschlüsse mit. Für die Verbindung zur Außenwelt
– dem Heimnetz oder dem Internet – ist zudem eine Netzwerkverbindung erfor-
derlich, die bei dem Raspberry Pi Zero ebenfalls über die USB-Buchse hergestellt
werden kann. Hier haben Sie die Wahl zwischen einem USB-WLAN-Dongle und
einem kabelgebundenen LAN-Adapter, die jeweils ebenfalls eine Buchse im USB-
Hub benötigen. Der Raspberry Pi 2 und der Raspberry Pi 3 bringen eine eigene
LAN-Buchse mit, der Raspberry Pi 3 hat zusätzlich eine WLAN- und Bluetooth-
Schnittstelle auf der Platine verbaut, was wiederum USB-Steckplätze einspart.
Sind die hardwareseitigen Voraussetzungen geschaffen, muss die Micro-SD-Karte
für den Raspberry Pi präpariert werden.

2.1 Für Einsteiger: mehrere Betriebssysteme zum


Ausprobieren
Generell wird in diesem Buch, auf den einschlägigen Webseiten zum Thema Rasp-
berry Pi und auch in der Literatur meist das empfohlene Raspbian-Betriebssystem
30

60486-4 Schnelleinstieg Raspberry Pi 3_gekürzt_01.indd 30 29.04.2016 12:37:52


verwendet. War im Jahr 2015 das auf Debian basierende Wheezy noch State of the
Art, ist mittlerweile der Nachfolge Jessie die Basis des aktuellen Raspbian-Images,
das bei den Raspberry-Pi-Machern verfügbar ist. Als Alternative für Einsteiger
steht dort auch das NOOBS-Image (New Out Of the Box Software) zum Down-
load bereit, das durch den integrierten Bootmanager beim Start des Raspberry Pi
ein Auswahlmenü zur Verfügung stellt, in dem die verfügbaren Betriebssysteme
für den Raspberry Pi dargestellt werden. Nach dem Entpacken markieren Sie den
gesamten Inhalt der Archivdatei und kopieren ihn auf die leere FAT32-formatierte
Micro-SD-Karte.
Um nun das NOOBS-Basis-Image auf die Micro-SD-Speicherkarte des Raspberry
Pi zu bekommen, laden Sie zunächst per Klick auf den Link NOOBS (offline and
network install) die aktuellste Version der NOOBS-Archivdatei vom Download-
Bereich der Raspberry Pi Foundation auf den Computer. Entpacken Sie diese
Datei und nutzen Sie gegebenenfalls zuvor die Betriebssystemfunktionen, um die
eingelegte Micro-SD-Karte zu leeren und zu formatieren. Als Dateisystem ist dort
zunächst das kompatible FAT32-Dateisystem für die im Computer eingelegte Spei-
cherkarte auszuwählen. Im nächsten Schritt kopieren Sie die entpackten Dateien
des NOOBS-Basis-Images samt Ordnerstruktur auf die Micro-SD-Karte. Empfeh-
lenswert für den Raspberry Pi 3 und Konsorten ist eine schnelle Micro-SD-Karte
mit mindestens 8 GByte Kapazität.

2.1.1 NOOBS – der erste Start


Schieben Sie die Micro-SD-Karte mit dem installierten NOOBS-Image in den
Speicherkartenslot des Raspberry Pi. Ist die Raspberry-Pi-Platine mit Tastatur,
Maus, Bildschirm, Netzwerk und USB-Spannungsversorgung verbunden, steht
nach wenigen Sekunden auf dem Bildschirm ein Auswahlmenü bereit, in dem Sie
per Maus auswählen können, welche Betriebssysteme auf der Speicherkarte instal-
liert werden sollen. Per Klick auf die Install-Schaltfläche werden sie über die Netz-
werkverbindung online heruntergeladen und auf dem Raspberry Pi installiert. Mit
der Installation werden alle bisher installierten Systeme auf der Micro-SD-Spei-
cherkarte überschrieben. Auch in dieser Umgebung wird das Raspbian-Betriebs-
system von der Raspberry Pi Foundation empfohlen.

31

60486-4 Schnelleinstieg Raspberry Pi 3_gekürzt_01.indd 31 29.04.2016 12:37:52


2 Raspberry Pi einrichten und konfigurieren

In diesem Dialog bestätigen Sie die vorherige Auswahl der zu installierenden Betriebs-
systeme sowie die Festlegung von Dialogsprache und Tastatur (Keyboard).

Nach der Auswahl des Betriebssystems per Mausklick wird in diesem Fall die Ins-
tallation von Raspbian über den NOOBS-Umweg angestoßen, die abhängig von
der Internetbandbreite einige Minuten dauern kann. Beim ersten Start von Rasp-
bian wird das raspi-config-Konfigurationswerkzeug geladen, mit dem sich bei-
spielsweise Datum, Uhrzeit sowie Tastatur- und Regionseinstellungen vornehmen
lassen, ein optionales Raspberry-Pi-Kameramodul aktivieren lässt und vieles mehr.
Mit den Pfeiltasten und der [Tab]-Taste navigieren Sie im raspi-config-Konfi-
gurationswerkzeug, mit der [Enter]-Taste bestätigen Sie die Auswahl und beenden
zu guter Letzt auch die Konfigurationsseiten. Das raspi-config-Werkzeug steht
in der GUI-Umgebung ebenfalls zur Verfügung.

32

60486-4 Schnelleinstieg Raspberry Pi 3_gekürzt_01.indd 32 29.04.2016 12:37:52


2.2 Für Fortgeschrittene: Image auswählen und auf Micro-SD-Karte installieren

Nach der eigentlichen Installation steht eine Art Bootmanager zur Verfügung, mit dem
sich das gewünschte Betriebssystem für den Raspberry Pi auswählen lässt. Anschlie-
ßend startet der Bootmanager das Betriebssystem auf gewohnte Weise.

Gerade bei „kleineren“ Speicherkarten ergibt es dauerhaft nicht wirklich Sinn,


mehrere Betriebssysteme gleichzeitig zu fahren. Aus diesem Grund sollten Sie sich
irgendwann auf eine Umgebung und einen Einsatzzweck für den Raspberry Pi
festlegen. Dafür stehen auf der Raspberry-Pi-Projektseite die Image-Dateien bzw.
die dazugehörigen Download-Links der entsprechenden Betriebssysteme zur Ver-
fügung.

2.2 Für Fortgeschrittene: Image auswählen und auf


Micro-SD-Karte installieren
Für die Auswahl und Installation des passenden Betriebssystems für den Rasp-
berry  Pi stellt die stetig wachsende Netzgemeinde kostenlos und unverbindlich
passende Images zur Verfügung. Die Download-Adressen der verschiedenen
Betriebssystem-Images für den Raspberry Pi sind auf www.raspberrypi.org/down-
loads verlinkt.

33

60486-4 Schnelleinstieg Raspberry Pi 3_gekürzt_01.indd 33 29.04.2016 12:37:52


2 Raspberry Pi einrichten und konfigurieren

Auf den ersten Blick erschließt sich für den Einsteiger nicht, was sich jeweils hinter
der Distribution und der Multimedia-Center-Zusammenstellung verbirgt. Selbst
eingefleischte, fortgeschrittene Linux-Profis tun sich schwer, die Unterschiede,
gerade bei den Kodi/XBMC-Builds, zu bewerten. Zudem hat jeder Anwender
bekanntlich seine eigenen Vorlieben, doch mit dem Einsatz des Raspbian/Debian-
Images auf Ihrem Raspberry  Pi machen Sie zunächst nichts verkehrt, es gehört
inzwischen zu den beliebtesten Betriebssystemen auf dem Raspberry Pi.
Alle paar Wochen werden auf den einschlägigen Raspberry-Pi-Seiten wie www.
raspberrypi.org/download d neue Versionen der Image-Dateien veröffentlicht – in
diesem Beispiel kommt das Jessie-Raspian-Paket vom 26.02.2016 zum Einsatz. Es
lässt sich später im laufenden Betrieb in wenigen Augenblicken auf den neuesten
Stand bringen – daher ist das Herunterladen und Installieren der Image-Datei auf
die Micro-SD-Speicherkarte eine einmalige Sache.

Egal ob Windows, Mac OS oder Linux – das Karten-Image für den Raspberry Pi landet
zunächst in komprimierter Form auf dem Computer, wird entpackt und schließlich mit
einem Image-Transferbefehl bzw. -Programm Bit für Bit auf die verwendete Micro-SD-
Karte übertragen.

Bei einem Windows-Computer sollten Sie darauf achten, nach der erfolgreichen
Übertragung des Raspberry-Pi-Images die Speicherkarte mit Windows-Bordmit-
34

60486-4 Schnelleinstieg Raspberry Pi 3_gekürzt_01.indd 34 29.04.2016 12:37:53


2.2 Für Fortgeschrittene: Image auswählen und auf Micro-SD-Karte installieren

teln per Kontextmenübefehl Auswerfen ordnungsgemäß aus der Systemumgebung


zu entfernen, um etwaigen Schreibabbrüchen und somit Dateisystemfehlern vor-
zubeugen.

2.2.1 Spätere Inbetriebnahme: root oder pi?


Wurde das Betriebssystem frisch installiert und sind noch keine Tastatur- und
Sprachanpassungen vorgenommen worden, erfolgt die Erstanmeldung mit Stan-
dardbenutzer und Standardkennwort – je nach verwendetem Betriebssystem in
unterschiedlicher Weise.

BETRIEBSSYSTEM/IMAGE STANDARDBENUTZER STANDARDKENNWORT


Debian Jessie/Wheezy/ pi raspberry
Squeeze
Raspbian root raspbian
OpenELEC root openelec
Raspbmc pi raspberry
Arch Linux root root

Ist beispielsweise der SSH-Server auf dem Raspberry Pi abgeschaltet, ist eine Steu-
erung des Raspberry  Pi möglich, sofern Tastatur und Bildschirm angeschlossen
sind. Wegen der voreingestellten EN/US-Tastatur liegt der Buchstabe „y“ des Pass-
worts raspberry auf der angeschlossenen deutschen Tastatur noch auf dem Buch-
staben „z“. In diesem Fall nutzen Sie das Kennwort raspberrz. Egal welches Image
bzw. Betriebssystem Sie einsetzen, nach dem erstmaligen Anmelden am Rasp-
berry  Pi sollten Sie das Kennwort des Benutzers mit dem passwd-Kommando
ändern. Damit sorgen Sie für eine größere Sicherheit im Alltag.

2.2.2 Via Mac-OS-X-Konsole: Raspberry-Image aufspielen


Ist die Speicherkarte beispielsweise in einen Mac-Computer eingesteckt, öffnen Sie
ein Terminalfenster. Mit dem Befehl
df -h

prüfen Sie nicht nur die Speicherkapazität, Sie erfahren auch, welches Block-
Device für die SD-Speicherkarte zuständig ist. Im nachfolgenden Beispiel ist die
eingelegte SD-Karte das Gerät an /dev/disk3s1. Passen Sie dieses bei den nach-
folgenden Befehlen an Ihre Umgebung an. Nun können Sie die SD-Speicherkarte
per Terminalkommando wieder aushängen:
sudo diskutil umount /dev/disk3s1

35

60486-4 Schnelleinstieg Raspberry Pi 3_gekürzt_01.indd 35 29.04.2016 12:37:53


60428-4 Titelei 2 01.07.15 14:22 Seite 1

Christian Immler
Schnelleinstieg
Raspberry Pi 2
60428-4 Titelei 2 01.07.15 14:22 Seite 2

Christian Immler, Jahrgang 1964, war bis 1998 als Dozent für Computer
Aided Design an der Fachhochschule Nienburg und an der University of
Brighton tätig. Einen Namen hat er sich mit diversen Veröffentlichungen
zu Spezialthemen wie 3-D-Visualisierung, PDA-Betriebssystemen, Linux
und Windows gemacht. Seit mehr als 20 Jahren arbeitet er als erfolgreicher
Autor mit mehr als 200 veröffentlichten Computerbüchern, u. a. das Buch
„Linux mit Raspberry Pi“.
INHALT

VORWORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  9

1. KLEINER COMPUTER GANZ GROSS �������������������������������������������� 10


1.1 Eine Himbeere verzückt die Maker-Szene . . . . . . . . . . . . . . . . . . 11
1.2 Das unterscheidet die verschiedenen
Raspberry-Pi-Modelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3 Das Betriebssystem auf dem Raspberry Pi  . . . . . . . . . . . . . . . . . 14
1.4 Braucht man ein Gehäuse?  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.5 Ein wenig Zubehör für die Inbetriebnahme . . . . . . . . . . . . . . . . . 15
1.5.1 Hier finden Sie Erweiterungskomponenten . . . . . . . . . . . . . . 15
1.5.2 Strom über Micro-USB-Handyladegerät  . . . . . . . . . . . . . . . . 15
1.5.3 Dateneingabe mit Tastatur und Maus  . . . . . . . . . . . . . . . . . . 17
1.5.4 Netzwerkkabel für die Routerverbindung . . . . . . . . . . . . . . . . 18
1.5.5 HDMI-Kabel für den Bildschirmanschluss . . . . . . . . . . . . . . . 19
1.5.6 Audiokabel für den Lautsprecheranschluss . . . . . . . . . . . . . .  19
1.5.7 FBAS-Videokabel für ältere Fernseher  . . . . . . . . . . . . . . . . . . 19

2. RASPBIAN: DAS BETRIEBSSYSTEM  . . . . . . . . . . . . . . . . . . . . . . . 20


2.1 Micro-SD-Speicherkarte vorbereiten  . . . . . . . . . . . . . . . . . . . . . . 20
2.2 Komfortable Installation mit NOOBS  . . . . . . . . . . . . . . . . . . . . . . 22
2.3 Klassische Installation mit einem Image  . . . . . . . . . . . . . . . . . . . 24
2.4 Raspberry Pi zum ersten Mal booten . . . . . . . . . . . . . . . . . . . . . . . 25
2.5 Manuelle Konfiguration mit raspi-config . . . . . . . . . . . . . . . . . . . 27
2.5.1 Audioausgang festlegen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.5.2 Zeiteinstellung über Kommandozeilenbefehl  . . . . . . . . . . . .  31

3. DER RASPBIAN-DESKTOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  32
3.0.1 Taskleiste an den unteren Bildschirmrand legen . . . . . . . . . .  33
3.1 Dateimanagement auf dem Raspberry Pi . . . . . . . . . . . . . . . . . .  34

5
Inhalt

3.2 Dateien auf den PC oder vom PC kopieren  . . . . . . . . . . . . . . . . .  36


3.2.1 Datenübertragung mit Total Commander  . . . . . . . . . . . . . . .  39
3.2.2 Komplettsicherung der Speicherkarte  . . . . . . . . . . . . . . . . . .  41
3.3 Der Epiphany-Browser  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  42
3.4 Vorinstallierte Programme in Raspbian  . . . . . . . . . . . . . . . . . . . .  43
3.4.1 Zubehör . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  43
3.5 Eigene Hintergrundbilder für den Desktop  . . . . . . . . . . . . . . . . .  47
3.6 Via WLAN-Stick im lokalen Netzwerk . . . . . . . . . . . . . . . . . . . . . .  51
3.7 Mehr Leistung durch Speichertuning . . . . . . . . . . . . . . . . . . . . . . .  54

4. PROGRAMME AUS DEM PI STORE UND


ANDEREN QUELLEN INSTALLIEREN . . . . . . . . . . . . . . . . . . . . . . .  56
4.1 Paketinstallation und Softwareaktualisierung . . . . . . . . . . . . . .  58
4.2 Synaptic liefert Hunderte von Programmen  . . . . . . . . . . . . . . . .  60

5. BÜROANWENDUNGEN AUF DEM RASPBERRY PI  . . . . . . .  62


5.1 LibreOffice: Alles, was man im Büro braucht  . . . . . . . . . . . . . . .  62
5.1.1 Tipps zu LibreOffice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  64
5.2 Ziffernblock aktivieren  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  65

6. EINFACHE LINUX-BEFEHLE UND CLOUD-DIENSTE . . . . . .  66


6.1 Linux-Befehle für die Dateiverwaltung  . . . . . . . . . . . . . . . . . . . . .  70
6.2 Cloud-Dienste für den Datenaustausch nutzen . . . . . . . . . . . . .  71
6.2.1 CloudMe: Kostenloser Cloud-Speicherplatz . . . . . . . . . . . . .  71
6.2.2 GMX-MediaCenter und Web.de-Online-Speicher . . . . . . . .  72
6.3 Raspberry Pi über das Heimnetz fernsteuern . . . . . . . . . . . . . . .  76
6.3.1 Grafische Raspberry-Pi-Anwendungen
auf dem PC nutzen  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  78
6.3.2 Den Desktop auf einen anderen Computer übertragen . . . .  82
6.3.3 VNC-Server beim Booten automatisch mit starten  . . . . . . .  87

6
Inhalt

7. MIT SPASS UND PYTHON PROGRAMMIEREN ��������������������  88


7.1 Python-Eingabefenster starten  . . . . . . . . . . . . . . . . . . . . . . . . . . . .  88
7.2 Syntaxelemente auf kleinen Spickzetteln  . . . . . . . . . . . . . . . . . .  90
7.2.1 Ausgabe auf dem Bildschirm . . . . . . . . . . . . . . . . . . . . . . . . . .  90
7.2.2 Variablen vom Typ String  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  90
7.2.3 Variablen vom Typ Number . . . . . . . . . . . . . . . . . . . . . . . . . . .  91
7.2.4 Eingabe durch den Benutzer . . . . . . . . . . . . . . . . . . . . . . . . . . .  91
7.2.5 Bedingungen mit if . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  91
7.2.6 Bedingungen mit if – else  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  92
7.2.7 Bedingungen mit if – elif – else . . . . . . . . . . . . . . . . . . . . . . . . .  92
7.2.8 Bedingungen mit and und or verknüpfen . . . . . . . . . . . . . . . .  93
7.2.9 Schleifen mit for . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  93
7.2.10 Schleifen mit while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  94
7.2.11 Funktionen ohne Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . .  94
7.2.12 Funktionen mit Parametern  . . . . . . . . . . . . . . . . . . . . . . . . . . .  95
7.2.13 Funktionen mit Rückgabewert . . . . . . . . . . . . . . . . . . . . . . . . .  95
7.2.14 Boolesche Wahr- und Falsch-Werte . . . . . . . . . . . . . . . . . . . .  96
7.3 Rate die Zahl: Das erste Spiel mit Python  . . . . . . . . . . . . . . . . . .  96
7.4 LEDs via GPIO-Ports leuchten lassen  . . . . . . . . . . . . . . . . . . . . . .  101
7.4.1 Elektronische Schaltungen ohne Löten aufbauen . . . . . . . . .  104
7.4.2 LEDs an die GPIO-Ports anschließen . . . . . . . . . . . . . . . . . . .  104
7.4.3 Die Python-GPIO-Bibliothek  . . . . . . . . . . . . . . . . . . . . . . . . . .  106
7.5 LED-Lauflichter erregen Aufmerksamkeit . . . . . . . . . . . . . . . . . .  108
7.6 IP-Adresse mit blinkender LED anzeigen . . . . . . . . . . . . . . . . . . .  115
7.6.1 So funktioniert es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  117
7.7 Python-Programme automatisch starten . . . . . . . . . . . . . . . . . . .  119
7.8 IP-Adresse auf LED-Streifen anzeigen . . . . . . . . . . . . . . . . . . . . . .  120

7
8. NOCH EINFACHER PROGRAMMIEREN
MIT SCRATCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
8.1 Das erste Experiment mit Scratch  . . . . . . . . . . . . . . . . . . . . . . . . . 127
8.2 Hardware mit Scratch steuern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
8.2.1 ScratchGPIO installieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
8.2.2 Fußgängerampel mit ScratchGPIO . . . . . . . . . . . . . . . . . . . . . 131

9. DIE RASPBERRY-PI-KAMERA  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134


9.1 Kamera aktivieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
9.2 Das erste Foto  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
9.3 Video mit der Raspberry-Pi-Kamera  . . . . . . . . . . . . . . . . . . . . . . .  138
9.3.1 TBOPlayer – grafische Oberfläche für den OMXPlayer . . . . 139
9.3.2 Audioeinstellungen im TBOPlayer  . . . . . . . . . . . . . . . . . . . . . 141

10. RASPBERRY PI ALS MEDIA CENTER . . . . . . . . . . . . . . . . . . . . . . .  142


10.1 Audioeinstellungen  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
10.2 Videos abspielen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
10.3 OSMC per WLAN nutzen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

11. WEITERE INTERESSANTE BETRIEBSSYSTEME


FÜR DEN RASPBERRY PI 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
11.1 arkOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
11.2 Ubuntu  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
11.2.1 Ubuntu MATE installieren  . . . . . . . . . . . . . . . . . . . . . . . . . . . .  151
11.2.2 Ubuntu MATE im Netzwerk . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
11.3 Windows 10 IoT core . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
11.3.1 Windows 10 IoT core auf eine Speicherkarte übertragen . .  153
11.3.2 Windows 10 IoT core auf dem Raspberry Pi 2 booten . . . . . 155

8
VORWORT

When six of us founded the Raspberry Pi Foundation in 2008, we could hard-


ly have imagined the scale of interest that we would see from engineers,
educators and ordinary people around the world. Having planned to produce
no more than 10,000 devices for the UK education sector, we find ourselves,
15 months after launch shipping this many devices every 2-3 days. While a
majority of the 100,000 orders we took on launch day were from UK custo-
mers, the US is now our largest global market, followed closely by Germany.
Our core focus at the Foundation remains education; using profits from the
sale of devices, and with the help of a $1m grant from Google in January 2013,
we have been rolling out Raspberry Pi kits to schoolchildren throughout the
UK, developing teaching material and encouraging the Government to invest
in teacher training. But it is the response of the maker/hacker community (to
whom we sometimes refer as »children of all ages«) who have been the grea-
test surprise for us. From high-altitude balloons to garage door openers, from
wildlife cameras to remote-control boats, our challenge during our second
year on the market is to connect the wave of enthusiasm and creativity that
Raspberry Pi has unleashed with our target audience of children. We want
to show them that learning about computing and electronics can be not just
educational, and a great career move, but also fantastic fun.
The internet offers today’s children resources and learning opportunities
which weren’t available to previous generations, but printed books are a vi-
tal part of the ecosystem and the principal source of professionally produced
content. We’re delighted to see a new German-language title enter the market,
and look forward to seeing what new projects it inspires you to create using
the Raspberry Pi.
Eben Upton, Erfinder des Raspberry Pi, Juni 2013.

9
7 MIT SPASS UND
PYTHON PROGRAMMIEREN

Der Raspberry Pi wurde ursprünglich entwickelt, um Kindern und Jugendli-


chen den Spaß am Programmieren und Basteln mit Elektronik nahezubringen.
Zum Einstieg in die Programmierung wurde die Programmiersprache Python
vorinstalliert, zum Basteln mit Elektronik befindet sich auf dem Raspberry Pi
der sogenannte GPIO-Port, eine frei programmierbare Schnittstelle zum An-
steuern von LEDs und weiterer Hardware. Python überzeugt durch seine klare
Struktur, die einen einfachen Einstieg in das Programmieren erlaubt, ist aber
auch eine ideale Sprache, um »mal schnell« etwas zu automatisieren, was man
sonst von Hand erledigen würde. Da keine Variablendeklarationen, Typen,
Klassen oder komplizierte Regeln zu beachten sind, macht das Programmie-
ren wirklich Spaß.

PYTHON 2 ODER 3?

Auf dem Raspberry Pi sind gleich zwei Versionen von Python vorinstalliert. Leider
verwendet die neueste Python-Version 3.x teilweise eine andere Syntax als die be-
währte Version 2.x, sodass Programme aus der einen Version nicht mit der anderen
laufen. Einige wichtige Bibliotheken, wie z. B. das bekannte PyGame zur Program-
mierung von Spielen und grafischen Bildschirmausgaben im Allgemeinen sind noch
nicht für Python 3.x verfügbar. Deshalb und weil auch die meisten im Internet ver-
fügbaren Programme für Python 2.x geschrieben wurden, verwenden wir in diesem
Buch die bewährte Python-Version 2.7.3.

7.1  Python-Eingabefenster starten


Python 2.7.3 wird über den Menüpunkt Python 2 im Startmenü unter Entwick-
lung gestartet. Hier erscheint ein auf den ersten Blick simples Eingabefenster
mit einem Befehlsprompt.

Bild 7.1: Das Eingabefenster der Python-Shell


88
In diesem Fenster öffnen Sie vorhandene Python-Programme, schreiben neue
oder können auch direkt Python-Kommandos interaktiv abarbeiten, ohne ein
eigentliches Programm schreiben zu müssen. Geben Sie z. B. am Prompt Fol-
gendes ein:

>>> 1+2

erscheint sofort die richtige Antwort:

Auf diese Weise lässt sich Python als komfortabler Taschenrechner verwen-
den, was aber noch nichts mit Programmierung zu tun hat.
Üblicherweise fangen Programmierkurse mit einem Hallo-Welt-Programm an,
das auf den Bildschirm die Worte »Hallo Welt« schreibt. Dieses Kapitel ist kein
kompletter Programmierkurs, aber ein »Hallo Welt« ist in Python derart ein-
fach, dass es sich nicht einmal lohnt, dafür eine eigene Überschrift zu verge-
ben. Tippen Sie einfach folgende Zeile im Python-Shell-Fenster ein:

>>> print "Hallo Welt"

Dieses erste »Programm« schreibt dann Hallo Welt in die nächste Zeile auf
dem Bildschirm.

Bild 7.2: Hallo Welt in Python (oberhalb ist noch die Ausgabe der Berechnung zu sehen)

Hier sehen Sie auch gleich, dass die Python-Shell zur Verdeutlichung automa-
tisch verschiedene Textfarben verwendet. Python-Kommandos sind orange,
Zeichenketten grün und Ergebnisse blau. Später werden Sie noch weitere Far-
ben entdecken.
89
7  Mit Spaß und Python programmieren

7.2  Syntaxelemente auf kleinen Spickzetteln


Dieses Kapitel will kein vollständiger Python-Programmierkurs sein. Die wich-
tigsten Syntaxelemente der Sprache Python werden in Form kleiner »Spick-
zettel« kurz beschrieben. Diese basieren auf den Python Flashcards von David
Whale. Was es damit genau auf sich hat, finden Sie bei: bit.ly/­pythonflashcards.
Diese Flashcards erklären nicht die technischen Hintergründe, sondern be-
schreiben nur anhand ganz kurzer Beispiele die Syntax, wie etwas gemacht
wird. Ausführliche Programmierbeispiele mit Hintergrundwissen folgen da-
nach.

7.2.1  Ausgabe auf dem Bildschirm


Um Texte oder Inhalte von Variablen im Konsolenfenster auszugeben, verwen-
det Python den Befehl print.

001 print "Hallo Welt"


002
003 name = "Fred"
004 print name
005
006 print "Hallo " + name + " wie geht es Dir?"

7.2.2  Variablen vom Typ String


String-Variablen enthalten beliebige Zeichenketten und können mit dem
+-Operator miteinander verknüpft werden.

001 vorname = "Fred"


002 nachname = "Schmidt"
003 name = vorname + " " + nachname
004 gruss = "Hallo "
005 gruss += name
006 print gruss

90
7.2  Syntaxelemente auf kleinen Spickzetteln

7.2.3  Variablen vom Typ Number


Number-Variablen enthalten Zahlenwerte, mit denen das Programm rechnen
kann.

001 sekInMin = 60
002 minInStd = 60
003 stdInTag = 24
004 sekInTag = sekInMin * minInStd * stdInTag
005 print sekInTag

7.2.4  Eingabe durch den Benutzer


Die Eingabefunktion raw_input() ermöglicht Benutzereingaben. Diese wer-
den in String-Variablen gespeichert. Um Zahlen einzugeben, müssen die
String-Variablen in Zahlenwerte umgewandelt werden.

001 name = raw_input("Wie ist Dein Name?")


002 print "Hallo " + name
003
004 alter = int(raw_input("Wie alt bist Du?"))
005 print "Nächstes Jahr bist Du " + str(alter+1)

7.2.5  Bedingungen mit if


Das Wort if (englisch: wenn) steht für eine Bedingung. Ist diese erfüllt, wird
der folgende eingerückte Programmteil ausgeführt.

001 alter=10
002 if alter > 16:
003 print "Du bist fertig mit der Schule"
004 a=1
005 if a==1:
006 print "gleich"
007 if a!=1:
008 print "nicht gleich" „

91
8 NOCH EINFACHER PROGRAM-
MIEREN MIT SCRATCH

Scratch ist eine intuitive Programmierumgebung, mit der Kinder und Pro-
grammiereinsteiger schnell Ideen umsetzen können, ohne sich zuerst mit
Programmiertheorie auseinandersetzen zu müssen. Scratch ist ein Projekt der
Lifelong-Kindergarten-Group am Media-Lab des MIT (scratch.mit.edu) und auf
dem Raspberry Pi vorinstalliert. Passend für die Zielgruppe der Kinder und
Jugendlichen eignet sich Scratch besonders für interaktive Animationen und
Spiele. Eine grafische Oberfläche gibt bereits alle Grundlagen vor, sodass man
sich um die Programmierung der Benutzeroberfläche des eigenen Programms
keine Gedanken zu machen braucht. Die Scratch-Skripte werden nicht als Text
geschrieben, sondern aus vorgefertigten Elementen zusammengeklickt. Ein
ganz einfaches Beispiel zeigt die Arbeitsweise mit Scratch.
Starten Sie Scratch über den Menüpunkt Entwicklung im Startmenü auf dem
Raspbian-Desktop. Scratch startet mit einem viergeteilten Programmfenster:

Bild 8.1: Die Programmieroberfläche von Scratch


126
1. Links befindet sich die Blockpalette mit allen Elementen, aus denen ein
Scratch-Skript zusammengesetzt werden kann. Da ausschließlich vorde-
finierte Blöcke verwendet werden, kann der Benutzer keine Syntaxfehler
machen, die beim Einstieg in andere Programmiersprachen sehr ärgerlich
und frustrierend sind.
2. Das mittlere Feld ist am Anfang noch leer. Hier entsteht später das Skript.

3. Rechts oben ist die sogenannte Bühne, die Oberfläche, auf der das Skript
abläuft. Die Katze, die dort zu sehen ist, die Symbolfigur von Scratch, stellt
beispielhaft ein Objekt dar, das mit Scratch animiert werden kann.
4. Das Objektfenster unten rechts zeigt die im Skript verwendeten Objekte.
Hier können Sie später auch selbst eigene Objekte gestalten.

8.1  Das erste Experiment mit Scratch


In einem ganz einfachen Skript soll die Katze einmal im Kreis herum laufen
und dabei ihre Farbe verändern.
1. Klicken Sie im Objektfenster unten rechts auf die Katze. Diese wird her-
vorgehoben und erscheint als Objekt1 oberhalb des Skriptfensters. Alle
Befehle im Skriptfenster beziehen sich dann auf dieses Objekt.
2. Klicken Sie in der Blockpalette oben auf das gelbe Symbol Steuerung. Da-
mit werden die Blöcke zur Programmsteuerung angezeigt.

3. Ziehen Sie den abgebildeten Block aus der Blockpalette in das Skript-
fenster. Auf der Scratch-Bühne ist oben rechts ein grünes Fähnchen. Die-
ses dient üblicherweise dazu, ein Programm zu starten. Das abgebildete
Element bewirkt, dass die folgenden Skriptelemente ausgeführt werden,
wenn der Benutzer auf das grüne Fähnchen klickt.

127
8  Noch einfacher programmieren mit Scratch

4. Die kreisförmige Bewegung wird aus einzelnen Gehen- und Drehen-Schrit-


ten zusammengesetzt. Diese werden so oft wiederholt, bis die Katze einen
ganzen Kreis gegangen ist. Ziehen Sie für die Wiederholungsschleife den
abgebildeten Block in das Skriptfenster und docken ihn unten an das dort
bereits vorhandene Element an.

5. In jedem Bewegungsschritt soll sich die Katze um 15° drehen. Dabei dreht
sie sich in 24 Schritten genau einmal. Tippen Sie in das weiße Zahlenfeld
des Wiederhole-Blocks und ändern Sie den vorgegebenen Wert auf 24.

6. Damit die Katze eine Kreisbewegung ausführt, muss sie zunächst einen
Schritt gehen, sich danach um 15° drehen, wieder einen Schritt gehen usw.
Klicken Sie oben in der Blockpalette auf das blaue Symbol Bewegung und
ziehen Sie den abgebildeten Block in das Skriptfenster. Docken Sie ihn in-
nerhalb der Schleife an. Ändern Sie dann noch die Schrittweite auf 20.

7. Ziehen Sie danach den Block für die Drehbewegung gegen den Uhrzeiger-
sinn in das Skriptfenster. Platzieren Sie ihn so über den vorhandenen Blö-
cken, dass er sich innerhalb der Schleife nach der Gehbewegung einklinkt.

8. Das Skript sollte jetzt wie abgebildet aussehen. Probieren Sie aus, ob es
auch wie erwartet funktioniert. Klicken Sie dazu rechts oberhalb der Büh-
ne auf das grüne Fähnchen. Die Katze wird eine Kreisbewegung gehen.
128
Hardware mit Scratch steuern

9. Jetzt fehlt nur noch die gewünschte Veränderung der Farbe. Klicken Sie
dazu oben in der Blockpalette auf das violette Symbol Aussehen. Jetzt wer-
den Blöcke angeboten, die das Aussehen des aktiven Objekts beeinflussen.
Ziehen Sie den abgebildeten Block in das Skriptfenster in die Wiederho-
lung hinter den Drehe-Block.

Bild 8.2: Gehen, drehen, Farbe ändern

Lassen Sie das Skript jetzt wieder ablaufen, ändert die Katze im Laufe ihrer
Bewegung zyklisch ihre Farbe. Am Ende der 24 Wiederholungen steht die
Katze wieder an ihrer ursprünglichen Position und hat auch wieder ihre ur-
sprüngliche Farbe.

8.2  Hardware mit Scratch steuern


Scratch wurde so entwickelt, dass es auf einer Vielzahl von Geräteplattformen
läuft (Windows, Linux, Mac OS). Daher bietet es auch standardmäßig keine
Unterstützung für die GPIO-Ports des Raspberry Pi.

8.2.1  ScratchGPIO installieren


ScratchGPIO ist ein Zusatzmodul, mit dem es möglich ist, die GPIO-Schnittstel-
le des Raspberry Pi mit Scratch zu steuern. Dieses wird über ein LXTerminal-­
Fenster nachinstalliert. Geben Sie dazu nacheinander diese beiden Befehle ein:

wget http://bit.ly/1wxrqdp -O isgh7.sh


sudo bash isgh7.sh

129
60343-0 Titelei_X 21.05.14 15:45 Seite 1

E. F. Engelhardt
Roboter mit
Raspberry Pi
Vorwort

Wer sich mit Mechanik und Robotik in Kombination mit dem Raspberry Pi
beschäftigen möchte, der hat sich ein komplexes Themenfeld ausgesucht. Grund-
sätzlich ist neben einem Grundverständnis für die Elektronik und die GPIO-
Anschlüsse auf dem Raspberry Pi der Wille notwendig, sich mit der Programmierung
des Raspberry Pi auseinanderzusetzen.
Gerade wer sich noch nicht lange mit dem Thema Raspberry Pi beschäftigt, für den
stellen die GPIO-Anschlüsse noch eine Wissenschaft dar, auch Änderungen im
grundsätzlichen Setup des Raspberry Pi sind anfangs eine spannende Angelegenheit.
Doch wenn Sie in Sachen Linux und Shell-Umgang schon fit sind, dann sollten Sie sich
mit der Raspberry-Pi-Sprache Python beschäftigen: Hier bieten zig Codebeispiele
umgehend passende Lösungen zu verschiedenen Problemstellungen an. Egal ob
einfach und banal oder technisch kompliziert und verschachtelt mit mehreren
Python-Bibliotheken: Mit diesem Buch werden Sie Schritt für Schritt zum Raspberry-
Pi-Python-Experten, und Ihnen raubt anschließend keine nervige Fehlermeldung mehr
den Schlaf.
Um Mechanik- und Robotik-Modelle zu bauen, bieten sich einige Möglichkeiten – die
einfachste Lösung ist die Legokiste im Kinderzimmer. Angereichert mit LEGO®-
Technic, lässt sich schon einiges bewegen und umsetzen – wer in Sachen Elektronik
und Robotik hier Gas geben möchte, holt sich noch LEGO®-Mindstorms ins Haus.
Mit und ohne Kinder: Hier sind einige Stunden Beschäftigung garantiert. Wer jenseits
der traditionellen Legowelt mit Mindstorms eigene Lösungen bauen möchte, muss
sich spätestens jetzt ernsthaft mit der Elektronik und der Programmierung
auseinandersetzen. Hier lernen Sie die Gesetze der Physik und der Mechanik
spielerisch kennen: Wer damit später spielen – oder besser, sich damit beschäftigen –
will, sollte sich auch mit der Programmierung des Raspberry Pi auseinandersetzen.
Hier bringt der Raspberry Pi eine Menge an Programmierschnittstellen mit.
Diese Schnittstellen werden auch benötigt, wenn es darum geht, den Raspberry Pi mit
Robotern im Haushalt zu koppeln. In diesem Buch wird das an einem Vorwerk/
Neato-Staubsaugerroboter demonstriert – hier wird das vorhandene Betriebssystem
angezapft und mit dem Raspberry Pi gesteuert. Auch wenn Sie keinen Haushalts-
roboter im Einsatz haben, die in diesem Projekt beschriebenen Kniffe wie das
Anzapfen des USB-Anschlusses, die Steuerung eines Fahrzeugs über eine Web-
serversteuerung und vieles mehr lassen sich für weitere Raspberry-Pi-Projekte auch
dank des vorliegenden Quellcodes schnell und bequem verwenden. Sie benötigen
dafür ebenfalls Programmierkenntnisse – denn Mechanik und Robotik machen
mehrere komplexe Denkvorgänge notwendig, damit beispielsweise klar ist, welche
Motoren sich wie schnell bewegen müssen, um einen Arm zu bewegen und was mit
6 Vorwort

diesem erfasst werden kann. Außerdem müssen Sie sich überlegen, wie eine
passende Steuerung in Form einer Software zu funktionieren hat, damit die Motoren
im richtigen Moment das Gewünschte in der richtigen Reihenfolge tun.
Das Buch ist kein Einsteigerbuch zum Thema Raspberry Pi und Programmierung,
doch nach dem Lesen werden Sie feststellen, dass die Mechanik und Robotik mit dem
Raspberry Pi kein Hexenwerk ist. Sie brauchen aber etwas Zeit und Geduld sowie den
Willen, auftretende Probleme selbst zu lösen. Wir wünschen Ihnen viel Spaß mit den
Projekten!
Autor und Verlag
Sie haben Anregungen, Fragen, Lob oder Kritik zu diesem Buch? Sie erreichen den
Autor per E-Mail unter ef.engelhardt@gmx.de.

ZUSATZINFORMATIONEN ZUM PRODUKT

Zu diesem Produkt, wie zu vielen anderen Produkten des Franzis Verlags, finden
Sie unter www.buch.cd Zusatzmaterial zum Download. Tragen Sie für dieses Pro-
dukt im Eingabefeld den Code 60343-0 ein.
Inhaltsverzeichnis

1 Lenken und Steuern mit der GPIO-Schnittstelle ....................................................11


1.1 Betriebssystem und Treiber aktualisieren ................................................................ 15
1.2 Analog-digital-Wandler MCP3008 nachrüsten ....................................................16
Datenblatt prüfen, Funktionen verstehen.................................................................16
MCP3008 auf dem Steckboard nutzen.................................................................... 17
Programmierung des MCP3008 mit Python .......................................................... 21
SPI-Schnittstelle aktivieren .......................................................................................... 26
SPI-Nutzung ohne Umwege: py-spidev-Modul installieren .............................. 28
1.3 Joystick-Steuerung mit dem Raspberry Pi ..............................................................30
GPIO-Eingang schalten: Risiken und Nebenwirkungen........................................ 31
Schaltungsdesign vom Steckboard auf die Rasterplatine ...................................34
Joystick-Steuerung mit Python................................................................................... 35
Richtungsbestimmung mittels ADC-Werten ........................................................ 37
1.4 I2C-Bus – Schnittstelle wecken und checken...........................................................41
I2C-Geräte und Raspberry-Pi-Revision.....................................................................45
1.5 Schalten und walten mit Touchsensor.....................................................................46
Touch- und Drucksensor – Dateneingabe über den I2C-Bus.............................47
Flexibler Zugriff dank I2C- und MRP121-Bibliothek...............................................48
Inbetriebnahme des MRP121-Touchsensors ..........................................................50

2 Fahren und bremsen – Motorsteuerung mit dem Raspberry Pi ........................ 53


2.1 Die erste Schaltung – LEDs mit ULN2803A steuern ........................................... 53
2.2 GPIO-Steuerung über die Konsole und Python .....................................................56
Schalten per Konsole ..................................................................................................... 57
2.3 Motoren und Steppermotoren....................................................................................59
Oft vernachlässigt: Spannungsversorgung des Motors ...................................... 62
2.4 Motorsteuerung versus Motortreiber ...................................................................... 63
Mehr Kontrolle – Schrittmotorcontroller .................................................................64
2.5 Unipolaren Steppermotor mit ULN2803-IC steuern ...........................................65
Schaltung auf Steckboard umsetzen.........................................................................65
Vollschritt- vs. Halbschrittverfahren im Detail ......................................................69
Schritt für Schritt: Vollschritt- und Halbschrittverfahren einsetzen ................70
Vorwärts- und Rückwärtsbewegungen ...................................................................74
2.6 Praktisch und sicher – USV für den Raspberry Pi.................................................. 76
Pi USV in Betrieb nehmen ............................................................................................ 77
8 Inhaltsverzeichnis

Ohne Strom nix los – Akkupack auswählen............................................................ 78


Pi-USV-Software in Betrieb nehmen ........................................................................ 79
Status der Pi USV erkennen..........................................................................................81
Status der Pi USV mit Python auslesen ................................................................... 82

3 Pan/Tilt-Kamera im Eigenbau ................................................................................. 85


3.1 Raspberry-Pi-Kamera im Robotik-Einsatz...............................................................86
Kameramodul mit dem Raspberry Pi koppeln........................................................86
Inbetriebnahme per Software ..................................................................................... 87
raspistill – Fotografieren über die Kommandozeile ...............................................91
LED abschalten und heimlich fotografieren............................................................ 93
Programmierung der Raspberry-Pi-Kamera ........................................................... 93
3.2 Einzellösung: Tower-SG90-Servomotor..................................................................96
3.3 Hardware-PWM-Ausgang mit LED testen.............................................................99
3.4 Servoblaster-Treiber installieren............................................................................... 101
3.5 Motoren mit Servoblaster in Betrieb nehmen...................................................... 103
3.6 Servomotor mit Python steuern ............................................................................... 105
3.7 Pan/Tilt-Achse und Kamera steuern......................................................................106
3.8 Steuerung der Raspberry-Pi-Kamera......................................................................108
3.9 Bewegungen und Aufnahmen steuern...................................................................109
3.10 Hürden bei der Inbetriebnahme umgehen ............................................................. 114
Automatischer Log-in: pi vom Start weg................................................................ 114
Autostart nach dem Einschalten............................................................................... 115

4 Haushaltshilfe: Staubsauger-Modding ................................................................. 117


4.1 Vorwerk vs. Neato – mehr als nur eine Kopie ....................................................... 118
Einrichtung und Treiberinstallation .......................................................................... 119
Zugriff über PuTTY auf das Betriebssystem......................................................... 124
4.2 Staubsauger über Raspberry Pi steuern................................................................. 126
Staubsaugerroboter mit Raspberry Pi verbinden ................................................ 126
minicom-Modemzugang zum Staubsauger einrichten..................................... 129
minicom-Steuerung für den Staubsauger .............................................................. 131
Staubsaugerkommandozeile im Überblick............................................................ 134
Python-Programmierung über python-serial ....................................................... 135
Spazierfahrt mit der Kommandozeile – Staubsauger fortbewegen ............... 138
Zeitplanung für den Staubsauger.............................................................................140
4.3 Staubsauger und Raspberry Pi koppeln..................................................................144
Aufwecken aus dem Schlafmodus ..........................................................................144
USB-Geräte über GPIO schalten.............................................................................. 146
Staubsauger mit dem Raspberry Pi verbinden..................................................... 148
Schaltung über Kommandozeile prüfen................................................................. 150
Inhaltsverzeichnis 9

4.4 Roboter über die Webseite steuern ......................................................................... 151


Python-Zugriff über Browser – Bottle im Einsatz ................................................ 152
4.5 Videostreaming installieren und einbinden .......................................................... 158
Streaming-Werkzeug laden und installieren ........................................................ 159
MJPG-Streamer als Live-View-Quelle ................................................................... 162
Live-View und Steuerung verheiraten .................................................................... 165
Fotografieren mit dem Vorwerk/Neato-Staubsauger ....................................... 170
4.6 Drahtlos-Raspberry-Pi einrichten ............................................................................. 171
Raspberry Pi mit drahtloser Stromversorgung..................................................... 172
Akkupack und USV für Raspberry Pi kombinieren...............................................173
WLAN-Netzwerk einrichten und Verbindung aufnehmen .............................. 174
Umschalten zwischen WLAN-Verbindungen ..................................................... 178
WLAN-Verbindung mit Python steuern................................................................180
4.7 Staubsaugerroboter mit dem Smartphone steuern............................................ 183
USB-Debugging-Modus – Smartphone einrichten ............................................. 183
Staubsaugerroboter mit dem Smartphone koppeln ........................................... 185

5 Schrauben, löten, programmieren: RC-Car-Modding ....................................... 187


5.1 Basis für das RaspiRoboCAR-Projekt...................................................................... 188
5.2 Lenken und Steuern über die Tastatur .................................................................... 191
5.3 Google-Streetview-RC-Car mit der Raspberry-Pi-Kamera............................. 203

6 LEGO ® Pi mit Mindstorms EV3 und LEGO®-Technic ..................................... 205


6.1 Viel kreativer Spielraum für Technikfantasien .................................................... 205
6.2 LEGO®-Technic und LEGO®-Mindstorms mit Raspberry Pi
aufmotzen...................................................................................................................... 208
6.3 BrickPi: LEGO®-Mindstorms im Eigenbau ........................................................... 209
BrickPi-Treiber in Betrieb nehmen........................................................................... 210
BrickPi-Schnittstellen aktivieren............................................................................... 212
Python-Bibliothek für BrickPi installieren................................................................213
Motoren und Sensoren im BrickPi-Einsatz............................................................ 215
6.4 Legokran- und -greifer-Steuerung mit dem Raspberry Pi................................. 216
Basis, Neigung und Greifer: drei Motoren für den Kran .................................... 218
6.5 LEGO®-Modding: Mindstorms im Eigenbau....................................................... 224
LEGO®-Steine mit LED-Birnen nachrüsten ..........................................................225
Servomotor-Modding für LEGO®-Technic.......................................................... 226
LEGO®-Extrem-Modding: bis zu 16 Servomotoren steuern........................... 228
Adressbelegung für den Anschluss am I2C-Bus................................................. 230
Mehrere Servomotoren im Zusammenspiel ........................................................232
10 Inhaltsverzeichnis

A Anhang.......................................................................................................................239
A Python-Basics auf dem Raspberry Pi ..................................................................... 239
LED-Steuerung mit Python ........................................................................................ 241
Schneller Zugriff über die Wiring-Pi-API.............................................................. 245
Raspberry-Pi-Revision 2: zusätzlicher GPIO-Sockel ......................................... 248
Fahren und bremsen – Motor-
steuerung mit dem Raspberry Pi

Egal ob manuell oder autonom – ein Fahrzeug besteht in der Regel aus mindestens
einem Motor, der für die Bewegung zuständig ist. Meist sorgt ein zweiter Motor für
die Richtungsänderung, und damit lässt sich schon mal experimentell starten. Für das
Umsetzen einer ersten Motorschaltung über die GPIO-Schnittstelle des Raspberry Pi
ist es empfehlenswert, diese Motoranschlüsse mithilfe eines Steckboards zunächst
über einfache LEDs sozusagen zu emulieren, um etwaige Fehler im Schaltungsdesign
von vornherein aufzuspüren. Auch ist so eine Motorersatzschaltung verhältnismäßig
schnell aufgebaut, um mal schnell das Shell-Skript oder Python-Code mithilfe der
GPIO-Schnittstelle zu testen, ohne den teuren Steppermotor zu beschädigen.

2.1 Die erste Schaltung – LEDs mit ULN2803A


steuern
Zum Einstieg in dieses Projekt wird die erste Schaltung zunächst auf dem Steckboard
umgesetzt, was gerade für Einsteiger recht bequem ist, da es erst einmal ohne löten
geht. In diesem Schritt wird ein GPIO-Anschluss auf die Plusleitung des Steckboards
gelegt, der sich anschließend per Shell-Befehl schalten lässt. Sie haben damit einen
einfachen Lichtschalter per Software realisiert.
54 2 Fahren und bremsen – Motorsteuerung mit dem Raspberry Pi

Welcher GPIO-Anschluss ist der richtige? Grundsätzlich sind sämtliche Anschlüsse


schaltbar, doch um beispielsweise das Skript oder das Programm so flexibel wie mög-
lich zu halten, sollten Sie primär GPIO-Pins nutzen, die auf allen Raspberry-Pi-Model-
len gleich implementiert sind. Dies gilt umso mehr, wenn Sie daran denken, den
Quelltext für Ihre Skripte und Programme im Internet weiterzugeben oder selbst
unterschiedliche Raspberry-Pi-Revisionen zu betreiben.

Achtung –Vorwiderstand für LED-Einsatz zwingend notwendig!


LEDs (Licht emittierende Dioden) dürfen nie direkt an die Stromversorgung angeschlossen werden.
Bei einem direkten Anschluss sollte immer mindestens ein Vorwiderstand von 200 bis 300 Ω
vorgeschaltet werden, damit der Strom auf einen zulässigen Wert begrenzt ist und die LED auch
funktionsfähig bleibt.

Da für die Steuerung der Motoren in einem späteren Projekt ein ULN2803A-IC (NPN
Darlington-Array) zum Einsatz kommt, weil es intern bereits die nötigen Widerstände
in seiner Transistorschaltung integriert hat, wird dieser IC auch in diesem Beispiel für
die LED-Lampen verwendet. Liegt bei dem ULN2803A-IC an den einzelnen acht Ein-
gängen ein Signal an, wird der Schaltkreis mit der Masse geschlossen und nach dem
entsprechenden Ausgang geschaltet.
Hierbei müssen Sie nur beachten, dass Sie die Masse von Eingang und Ausgang
zusammenlegen, falls Eingang und Ausgang mal unterschiedliche Versorgungsspan-
nungen verwenden. In der schematischen Darstellung sind vier LED-Dioden an den
ULN2803-NPN angeschlossen, die sich jeweils per GPIO schalten lassen.

Bild 2.1: Schematische Darstellung der Schaltung mit der Steckboard-Emulation Fritzing.

Im nächsten Schritt setzen Sie die Schaltung auf dem Steckboard um. Dabei merken
Sie schnell, dass das Steckboard zwar groß wirkt, es aber beim Bestücken der Wider-
stände und LEDs schnell eng zugeht. Der Grund ist der praktische Umstand, dass jede
Leiterbahn schon mit den Nachbarpins verdrahtet ist. Wenn Sie eine Diode oder
einen Widerstand mit beiden Beinchen in eine Reihe stecken, passiert erst mal gar
nichts, da kein bzw. ein geringer Stromfluss durch die Diode fließt.
2.1 Die erste Schaltung – LEDs mit ULN2803A steuern 55

Das Ziel ist, auf dem Steckboard einen Stromkreis zu kreieren. Die fertige Schaltung
haben wir auf dem Steckboard aus Platzgründen mit zwei LEDs an zwei Eingängen
realisiert, was für Demonstrationszwecke völlig ausreicht.

Bild 2.2: Erfolgreich: Die beiden LEDs lassen sich erfolgreich mit dem IC gekoppelt über die
beiden GPIO-Anschlüsse steuern.

In dieser Beispielschaltung wird das Steckboard wie folgt mit dem Raspberry Pi ver-
bunden:

Raspberry-Pi-Pin Raspberry-Pi- ULN2803A-Pin- ULN2803A-Pin-Be-


GPIO Nummer zeichnung
6 GND 9 GND
18 24 1 I1
16 23 2 I2

Die Ausgänge des ULN2803A werden jeweils mit einem Widerstand verbunden
(200 Ω), das zweite Beinchen des Widerstands geht an die Kathode der LED. Wie
herum der Widerstand aufgesteckt wird, ist egal, die Polung spielt bei Widerständen
keine Rolle.
56 2 Fahren und bremsen – Motorsteuerung mit dem Raspberry Pi

Raspberry-Pi- ULN2803A-Pin- ULN2803A-Pin- Widerstand


Pin Nummer Bezeichnung
- 18 O1 R1-Links
- 17 O2 R2-Links
1 15 - -

Die Anode der beiden LEDs wird mit der 5-V-Stromversorgung sowie mit Pin 15 des
ULN2803 verbunden. Nun ist die Schaltung komplett, auf dem Schaltplan stellt sich
diese wie folgt dar:

Bild 2.3: Schaltplan: Hier werden nur zwei der verfügbaren acht Eingänge genutzt, um die
beiden LEDs unabhängig voneinander schalten zu können.

Im nächsten Schritt können Sie die Schaltung in der Praxis testen. Dafür nehmen Sie
per SSH mit dem Raspberry Pi Verbindung auf und prüfen auf der Konsole die beiden
GPIO-Anschlüsse, die Sie für die LEDs reserviert haben. In diesem Beispiel wurden
dafür GPIO23 und GPIO24 verwendet.

2.2 GPIO-Steuerung über die Konsole und Python


Grundsätzlich werden die GPIO-Ausgänge des Raspberry Pi über virtuelle Dateien
bzw. über deren Dateimanipulation gesteuert. Vereinfacht bedeutet dies: Steht in
einer solchen Steuerdatei der Wert 0, ist der Schalter geschlossen, und es fließt kein
Strom, steht hingegen dort der Wert 1, ist der Stromkreis geschlossen, und die ange-
schlossene Schaltung wird aktiviert.
2.2 GPIO-Steuerung über die Konsole und Python 57

Bild 2.4: Nach dem »Aktivieren« des GPIO-Pins steht im Verzeichnis /sys/class/gpio die
entsprechende Steuerdatei zur Verfügung.

Die virtuellen Dateien für den GPIO-Pfostenstecker finden Sie im Verzeichnis


/sys/class/gpio. Mit dem Kommando

ls /sys/class/gpio

stellen Sie fest, dass sich dort die Dateien export und unexport befinden. Der Trick ist
hier zunächst, den oder die gewünschten GPIO-Pins auf dem Raspberry Pi zu
aktivieren, dies erledigen Sie mit dem Eintragen der entsprechenden GPIO-Nummer
in die export-Datei. Dadurch wird beispielsweise GPIO24 und GPIO23 mitgeteilt,
dass sie womöglich bald genutzt werden:

sudo echo "24" > /sys/class/gpio/export


sudo echo "23" > /sys/class/gpio/export

Nun verwenden wir die vorhandene Schaltung mit den beiden LEDs an GPIO23 und
GPIO24, die an Pin 17 und Pin 18 auf dem Raspberry Pi gekoppelt sind.

Schalten per Konsole


Grundsätzlich kann ein GPIO-Anschluss auf dem Raspberry als Ausgang, aber auch
als Eingang genutzt werden. In diesem Fall ist der Raspberry der Aktor, denn wir
wollen etwas einschalten: Um die erste Diode dauerhaft einzuschalten, müssen Sie
beide GPIO-Pins zunächst als Ausgang definieren:

sudo echo "out" > /sys/class/gpio/gpio23/direction


sudo echo "out" > /sys/class/gpio/gpio24/direction

Im umgekehrten Fall – beispielsweise wenn an dem GPIO-Anschluss ein Sensor


angebracht wäre und Sie den Wert im Raspberry Pi weiterverarbeiten wollten –
würden Sie den Anschluss als Eingang definieren und stattdessen
sudo echo "in" > /sys/class/gpio/gpio23/direction

in die Konsole eingeben. Die oben definierten GPIO-Anschlüsse 23 und 24 liegen auf
0 V, der Stromkreis ist also noch nicht geschlossen, und die gekoppelten LEDs
leuchten nicht. Um diese zu schalten, nutzen Sie die Befehle:

sudo echo "1" > /sys/class/gpio/gpio23/value


sudo echo "1" > /sys/class/gpio/gpio24/value
58 2 Fahren und bremsen – Motorsteuerung mit dem Raspberry Pi

Hier tragen Sie jeweils den Wert 1 in die Datei mit der Bezeichnung value ein. In
diesem Fall werden nun sowohl Pin 16 als auch Pin 18 mit Strom versorgt, die beiden
LEDs sollten jetzt dauerhaft leuchten. Um die LEDs wieder abzuschalten, setzen Sie
den Pegel von HIGH auf LOW. Dies erledigen Sie, indem Sie einfach statt der "1" den
Wert "0" in die value-Datei des entsprechenden GPIO-Verzeichnisses schreiben:

sudo echo "0" > /sys/class/gpio/gpio23/value


sudo echo "0" > /sys/class/gpio/gpio24/value

Für das einmalige Experimentieren auf der Kommandozeile macht dies eine Zeit lang
Spaß, auf Dauer jedoch sind lange Kommandozeilenbefehle lästig und fehleranfällig.

Bild 2.5: Vier Befehle pro genutztem GPIO-Anschluss sind notwendig, um diesen für die
Schaltung ordnungsgemäß zu präparieren.

Deshalb ist es sinnvoll, sämtliche bzw. zumindest die benötigten virtuellen Dateien
der entsprechenden GPIOs bereits beim Systemstart des Raspberry Pi automatisch
zu starten. Erstellen Sie einfach ein Shell-Skript mit der Bezeichnung gpiostart.sh
mit folgendem Inhalt:

#!/bin/sh
# Roboter mit Raspberry Pi
echo "23" > /sys/class/gpio/export
echo "24" > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio23/direction
echo "out" > /sys/class/gpio/gpio24/direction
chmod 666 /sys/class/gpio/gpio23/value
chmod 666 /sys/class/gpio/gpio24/value
chmod 666 /sys/class/gpio/gpio23/direction
chmod 666 /sys/class/gpio/gpio24/direction

Hier wurde noch zusätzlich der Schreib- und Lesezugriff für Besitzer und Gruppe
(root) sowie andere (others) modifiziert. In diesem Fall darf nun jeder Benutzer die
virtuellen Dateien lesen und schreiben. Dies ist in Sachen sudo/root eine kleine, aber
feine Erleichterung, damit bei der Nutzung von Skripten auf der Shell oder in Python
nicht immer mit dem auf Dauer lästigen sudo-Kommando gearbeitet werden muss.
2.3 Motoren und Steppermotoren 59

Damit das Skript auch von der Kommandozeile aus vom User pi ausgeführt werden
kann, setzen Sie per chmod-Kommando die Ausführen-Berechtigung auf die erstellte
Datei gpiostart.sh.

sudo chmod +x gpiostart.sh


sudo ./gpiostart.sh

Beachten Sie, dass dieses Shell-Skript zunächst (noch) nicht automatisch aufgerufen
wird. Bei einem Neustart des Raspberry Pi müssen die entsprechenden Dateien sowie
die gewünschten Berechtigungen wieder neu gesetzt werden. In diesem Fall starten
Sie das erstellte Shell-Skript einfach manuell.

2.3 Motoren und Steppermotoren


Im Allgemeinen besteht ein Motor aus einem Stator und einem Rotor, und über
Klemmen oder Drahtanschlüsse wird elektrische Energie zugeführt, die für das
Drehen des Rotors sorgt und die an der Welle angebrachte Last bewegt. In Sachen
Elektronik und Raspberry Pi kommen Sie meist entweder mit Gleichstrommotoren
oder mit Schrittmotoren in Berührung. Beide Arten von Motoren lassen sich an einem
Raspberry Pi betreiben bzw. von ihm steuern, doch Schrittmotoren – auch Stepper
bzw. Steppermotoren genannt – sind von der Art und Weise, wie sie anzusteuern und
zu regeln sind, vollkommen anders als Gleichstrommotoren.
Das fängt schon bei der Anzahl der verfügbaren Anschlüsse an: Während ein Gleich-
strommotor mit zwei Anschlussadern kommt, sind es bei einem Steppermotor deren
vier, sechs oder gar acht Anschlüsse, die je nach Bauform (bipolar oder unipolar) vor-
handen sind.
Besitzt der Motor beispielsweise sechs Kabelverbindungen, hat er zwei Spulenwick-
lungen mit je zwei Endanschlüssen sowie einem sogenannten Mittelanschluss/
Zapfen. Je nachdem, ob die beiden Mittelanschlüsse angesteuert werden oder nicht,
kann der Motor unipolar oder bipolar betrieben werden.
60 2 Fahren und bremsen – Motorsteuerung mit dem Raspberry Pi

Bild 2.6: Anschlussbelegung aus dem Datenblatt: Bei diesem Beispiel handelt es sich um einen
unipolaren Steppermotor, der ohne das Beschalten der weißen und schwarzen Kabeladern
jedoch auch in bipolarer Bauweise betrieben werden kann. Die entsprechenden zusammen-
gehörenden Kabelpaare (Orange/Blau und Rot/Gelb) versorgen jeweils eine Spule des Motors.

Um herauszufinden, welche der jeweils zwei Kabel der beiden Spulen zusammen-
gehören, nehmen Sie ein Multimeter und schalten den Drehregler des Multimeters
auf die Einstellung Widerstand (Ω, Ohm) um. Anschließend stecken Sie die schwarze
Leitung des Prüfkabels in die mit COM, die rote Leitung in die mit V-Ohm beschrif-
tete Buchse.
Dann schließen Sie die schwarze Leitung an ein beliebiges Kabel des Motors an – die
rote Leitung wird schrittweise mit jedem anderen übrigen Kabel verbunden, bis das
Kabel gefunden ist, bei dem das Multimeter reagiert und einen Messwert ausgibt.
2.3 Motoren und Steppermotoren 61

Bild 2.7: Mit dem Multimeter finden Sie die zusammengehörigen Kabelpaare.

Jetzt haben Sie ein zusammengehöriges Kabelpaar gefunden, das Sie nun an den
Motortreiber montieren können. Gehen Sie für die verbliebenen Kabel analog vor.
Hier muss das Multimeter ebenfalls reagieren. Damit haben Sie die beiden Kabel-
paare identifiziert und montiert.

Bild 2.8: Die Kabelpaare des Motors sollten sicherheitshalber per


Multimeter bestimmt werden.
62 2 Fahren und bremsen – Motorsteuerung mit dem Raspberry Pi

In diesem Beispiel ist der Widerstandswert von der orangefarbenen Kabelader zur
weißen Ader nur rund halb so groß wie der Widerstandswert vom orangefarbenen
zum blauen Kabel. Verbinden Sie das orangefarbene oder das blaue Kabel mit einem
Kabel der zweiten Spule, besteht kein Stromkreis – der Widerstand ist also unendlich.
Verbindet man nun Schritt für Schritt sämtliche Kabel paarweise miteinander und
misst den Spulenwiderstand, sollten die gleichen Kabelpaare wie im Datenblatt
zueinander passen.
Bei dem Beispiel-Steppermotor beträgt der Widerstand der Adern Orange zu Weiß
4 Ω, Orange zu Blau 8 Ω (aufgerundet) und Weiß zu Blau 4 Ω. Damit ist der Mittel-
anschluss mit der weißen Ader identifiziert, die Anordnung ist Orange – Weiß – Blau.
Analog werden die verbliebenen Leitungen durchgemessen, was die Anordnung Rot –
Schwarz – Gelb im Datenblatt bestätigt. Bleiben die Mittelanzapfungen unberück-
sichtigt und werden nicht angeklemmt, wird aus dem Motor mit unipolarer Ansteue-
rung ein echter bipolarer Steppermotor.

Oft vernachlässigt: Spannungsversorgung des Motors


Ist nun geklärt, welche Kabeladern für welche Spule zuständig sind – unabhängig
davon, ob es sich um einen uni- oder bipolaren Motor handelt –, sollten Sie sich als
Nächstes im Datenblatt in Sachen Spannungsversorgung darüber informieren,
welcher Maximalstrom pro Spule erlaubt ist bzw. welchen Spulenwiderstand der
Steppermotor besitzt.

Bild 2.9: Schematische Darstellung des bipolaren


Steppermotors mit zwei Spulen mit jeweils beiden
Anschlüssen.

Um den Motor schnell auf Touren zu bringen, also die Spulenströme umgehend nach
dem Einschalten fließen zu lassen, damit ein Drehmoment entsteht, sind je nach
Motor hohe Betriebsspannungen und geringe Windungszahlen bzw. Induktivitäten
notwendig. Umgekehrt zählt dies auch für ein schnelleres Absinken des Stroms nach
dem Abschalten des entsprechenden Anschlusses – für die in beide Stromrichtungen
abwechselnde Zuteilung und Steuerung der Ströme in einem bipolaren Steppermotor
sorgt eine sogenannte H-Brücke, die dafür sorgt, dass die in der Induktivität gespei-
cherte Energie auf arbeitende Freilaufdioden geführt wird.
2.4 Motorsteuerung versus Motortreiber 63

2.4 Motorsteuerung versus Motortreiber


Grundsätzlich arbeiten Schrittmotoren digital: Die von der Steuerung gesendeten
Taktimpulse werden direkt in definierte Winkelschritte umgesetzt, was eine einfache
Winkeleinstellung ohne Regelung möglich macht. Bei den Schrittmotoren ist in der
Regel ein Schrittwinkel angegeben – wird dieser durch die Vollumdrehung 360 Grad
dividiert, erhalten Sie die Anzahl der Schritte, die notwendig ist, damit der Motor eine
komplette Umdrehung umsetzen kann. Von der Bauform, den technischen Spezifika-
tionen und dem Einsatzzweck ist es abhängig, welche Lösung Sie für die Ansteuerung
des Motors verwenden.
Hier haben Sie nahezu freie Auswahl: Entweder Sie bauen sich mithilfe eines
ULN2803-IC eine passende Schaltung selbst, was nur im Bereich von niedervoltigen
Kleinmotoren zu empfehlen ist, oder Sie greifen auf »Fertiglösungen« in Form eines
sogenannten Motortreibers/Motorcontrollers zurück. In diesem Fall lassen sich auch
die weitverbreiteten bipolaren Steppermotoren an den Raspberry Pi anschließen.

Bild 2.10: Solche Billig-Anschlussboards auf Basis von L293D & Co. findet
man in den Verkaufsbörsen im Internet zuhauf.
65310-7 Titelei 2_X 10.11.15 14:03 Seite 1

WILFRIED KLAAS
BUSSYSTEME IN DER PRAXIS
65310-7 Titelei 2_X 10.11.15 14:03 Seite 2

Wilfried Klaas studierte Elektrotechnik an der Ruhr Universität Bochum (Abschluss


Dipl.-Ing.) und arbeitet bei der EASY Software AG als System-Architekt. Außer mit
Musik beschäftigt er sich intensiv mit Mikrocontrollern sowie deren Programmierung
und sucht dabei immer die Verbindung zu seinem zweiten großen Hobby, dem Modell-
bau. Als freier Autor hat er diverse Publikationen zu diesen Themen verfasst.
Kontakt: w.klaas@gmx.de, http://www.rcarduino.tk
Vorwort

Schnittstellen und Bussysteme sind sehr wichtige Grundlagen der Mikrocontroller-


Programmierung, ermöglichen sie doch die Kommunikation mit der »Außenwelt«.
In diesem Buch stelle ich Ihnen zunächst die verschiedenen relevanten Schnittstellen
und Bussysteme vor, die für diese Kopplung wichtig sind.
Im zweiten Teil steigen Sie dann in die Programmierung ein. Ich werde mich auf zwei
der wichtigsten Systeme beschränken: Arduino und Raspberry Pi. Die vermittelten
Grundlagen können Sie später auf andere Mikrocontroller übertragen.
Alle hier vorgestellten Schaltungen und Programme wurden nach bestem Wissen
erstellt und getestet. Jedoch kann für die korrekte Funktion keine Haftung übernom-
men werden.
Ich wünsche viel Spaß bei der Lektüre.
Wilfried Klaas
Inhaltsverzeichnis

I Die Hardware....................................................................................................................... 11
1.1 Arduino™.....................................................................................................................................11
1.1.1 Schnittstellen .............................................................................................................12
1.2 Raspberry Pi ...............................................................................................................................14
2 Grundlagen der Schnittstellen ......................................................................................... 17
2.1 Serielle Schnittstelle ................................................................................................................17
2.1.1 USART .........................................................................................................................18
2.1.2 RS232...........................................................................................................................19
2.1.3 RS485 ......................................................................................................................... 22
2.1.4 DMX............................................................................................................................ 23
2.1.5 Modbus ...................................................................................................................... 25
2.1.6 PROFIBUS .................................................................................................................. 27
2.1.7 NMEA 0183 ..............................................................................................................28
2.2 SPI ................................................................................................................................................29
2.2.1 Protokoll .....................................................................................................................30
2.3 I2C................................................................................................................................................. 32
2.3.1 Elektrisch.................................................................................................................... 32
2.3.2 Takt und Zustände.................................................................................................. 33
2.3.3 Adressierung ............................................................................................................ 33
2.3.4 Protokoll ..................................................................................................................... 33
2.4 1-Wire .........................................................................................................................................34
2.4.1 Protokoll .....................................................................................................................34
2.5 USB ..............................................................................................................................................36
2.5.1 Übertragungsarten..................................................................................................39
2.5.2 Datenübertragungsraten........................................................................................41
2.5.3 Verwendung ..............................................................................................................41
2.6 CAN..............................................................................................................................................41
2.6.1 Protokoll .....................................................................................................................42
2.6.2 Elektrisch................................................................................................................... 44
2.6.3 Übertragungsraten..................................................................................................45
2.6.4 CANopen ...................................................................................................................45
2.6.5 NMEA 2000.............................................................................................................46
2.7 KNX .............................................................................................................................................46
3 Anwendungsbeispiele mit dem Arduino™................................................................... 49
3.1 Seriell und USB.........................................................................................................................49
3.1.1 USB: Kommunikation mit dem Host ................................................................. 52
3.1.2 USB: Steuerung von Aufgaben ............................................................................54
3.1.3 USB: Messwertaufzeichnung...............................................................................62
3.1.4 NMEA 0183: GPS-Modul, Schnittstellenkonvertierung ..............................70
3.1.5 DMX mit dem Arduino™...................................................................................... 75
3.2 SPI ................................................................................................................................................84
8 Inhaltsverzeichnis

3.2.1 SPI: Schieberegister ................................................................................................84


3.2.2 SPI: Hardware...........................................................................................................87
3.2.3 SPI: Vierstelliges Sieben-Segment-LED-Display ...........................................89
3.2.4 SPI: 16-Bit-Porterweiterung mit dem MCP23S17..........................................93
3.2.5 SPI: Ansteuerung zweizeiliges LC-Display......................................................97
3.2.6 SPI: Ansteuerung Grafik-LCD..............................................................................98
3.2.7 SPI: 5x7-DOT-Matrix-LED mit MAX6952 ...................................................106
3.2.8 SPI: 8-Digit-LED-Driver, MAX7221.................................................................109
3.2.9 SPI: Funkstrecke mit dem nRF24L01................................................................. 111
3.2.10 SPI: SD-Karten und SDHC-Karten..................................................................... 116
3.3 I2C............................................................................................................................................... 120
3.3.1 I2C: Echtzeit-Uhrenbaustein DS3231 .............................................................. 120
3.3.2 I2C: A/D-Wandler 12 Bit, 8 ksps Sampling, MAX127................................ 126
3.3.3 I2C: D/A-Wandler 12 Bit, MCP4725............................................................... 129
3.3.4 I2C: Gyroskop und Beschleunigungssensor MPU6050 ............................ 132
3.3.5 I2C: Magnetometer HMC5883L....................................................................... 136
3.3.6 I2C: EEPROM 24C64............................................................................................ 138
3.3.7 I2C: Temperaturmessung, DS1621 / LM75 ....................................................141
3.3.8 I2C: Luftdruckmessung, BMP085 / BMP180................................................ 143
3.4 1-Wire ....................................................................................................................................... 145
3.4.1 1-Wire: Temperaturmessung mit dem DS18B20........................................ 145
3.5 CAN-Bus.................................................................................................................................. 147
3.6 Sonstige....................................................................................................................................150
3.6.1 Ultraschall mit dem HC-SR04 ..........................................................................150
3.6.2 RGB-LED WS2812B.............................................................................................. 152
3.7 Design eines minimalen Arduino™-Mikrocontrollerboards .................................... 158
4 Anwendungsbeispiele mit dem Raspberry Pi ............................................................. 161
4.1 Seriell und USB........................................................................................................................ 161
4.1.1 USB: Kommunikation mit dem Host ............................................................... 162
4.1.2 USB: Steuerung von Aufgaben ..........................................................................164
4.1.3 NMEA 0183: GPS-Modul ................................................................................... 165
4.2 SPI .............................................................................................................................................. 169
4.2.1 SPI: Schieberegister ............................................................................................... 171
4.2.2 SPI: 16-Bit-Porterweiterung mit dem MCP23S17........................................ 173
4.2.3 SPI: Ansteuerung Grafik-LCD, PiTFT mit Touchscreen............................. 175
4.2.4 SPI: 8-Digit-LED-Driver, MAX7221.................................................................. 178
4.2.5 SPI: Funkstrecke mit dem nRF24L01............................................................... 182
4.3 I2C.............................................................................................................................................. 187
4.3.1 I2C: Der Echtzeit-Uhrenbaustein (RTC) DS3231 ......................................... 188
4.3.2 I2C: A/D-Wandler 12 Bit, 8 ksps Sampling, MAX127................................190
4.3.3 I2C: D/A-Wandler 12 Bit, MCP4725................................................................ 191
4.3.4 I2C: Gyroskop und Beschleunigungssensor MPU6050 ............................. 193
4.3.5 I2C: Magnetometer HMC5883L....................................................................... 195
4.3.6 I2C: Temperaturmessung, DS1621, LM75...................................................... 197
4.3.7 I2C: Luftdruckmessung mit BMP085, BMP180 ........................................... 198
4.4 1-Wire ......................................................................................................................................200
4.4.1 1-Wire: Temperaturmessung mit dem DS18B20.......................................200
4.5 Sonstige................................................................................................................................... 203
Inhaltsverzeichnis 9

4.5.1 Ultraschall mit dem HC-SR04 ......................................................................... 203


4.5.2 RGB-LED WS2812B.............................................................................................206
4.6 Internet ..................................................................................................................................... 210
4.6.1 Installation und Test des Python-WebServers Flask ................................. 210
4.6.2 Benutzung von WebTemplates ........................................................................ 212
4.7 Raspberry Pi und Arduino™, zwei Welten verbunden............................................... 214
5 Benötigte Hardware und Software ...............................................................................217
5.1 Programmierumgebung Arduino™.................................................................................. 217
5.1.1 Installation der Arduino™-IDE .......................................................................... 217
5.1.2 Projektinstallation.................................................................................................. 217
5.1.3 Sketchverzeichnis einstellen.............................................................................. 218
5.1.4 Treiberinstallation – Arduino™ Uno unter Windows................................. 219
5.1.5 Die Arduino™-IDE ............................................................................................... 220
5.1.6 Sketch 1: Blinklicht.................................................................................................223
5.1.7 Debugging .............................................................................................................. 224
5.2 Programmierumgebung Raspberry Pi............................................................................ 226
5.2.1 Idle, integriertes Entwicklungssystem für Python ...................................... 227
5.2.2 Ninja-IDE................................................................................................................. 228
6 Hardware ...........................................................................................................................231
7 Internetseiten................................................................................................................... 233
Benötigte Hardware und Software

5.1 Programmierumgebung Arduino™

5.1.1 Installation der Arduino™-IDE


Für die Installation der Arduino-Entwicklungsumgebung folgen Sie bitte den Installa-
tionsanweisungen. Eine kleine Einführung gibt es auf den ELO-Webseiten unter
http://www.elo-web.de/elo/mikrocontroller-und-programmierung/arduino/die-arduino-
entwicklungsumgebung.

5.1.2 Projektinstallation
Nach erfolgter Arduino-IDE-Installation können Sie die Installationsdatei der Projekte
aus dem Internet laden und installieren. Starten Sie die Installationsroutine BfM_
Setup.exe und wählen Sie einen Projektpfad aus. Nach der Installation haben Sie
folgende Struktur:
218 5 Benötigte Hardware und Software

Projektbaum
001 Sketchordner\
002 Seriell\
003 Host_ser_1\
004 ...
005 SPI\
006 _7SegLED\
007 ...
008 I2C\
009 ...
010 1Wire\
011 ...
012 sonstiges\
013 …
014 libraries\
015 <name>\
016 ...(Die benötigten Bibliotheken)

Es bietet sich an, von Zeit zu Zeit im Internet nach Updates der verschiedenen Bibli-
otheken zu suchen.

5.1.3 Sketchverzeichnis einstellen


Nachdem sowohl die Arduino-IDE als auch die Programme installiert worden sind,
müssen sie miteinander bekannt gemacht werden. Dazu starten Sie die Arduino-IDE
und gehen in die Einstellungen [Datei]/[Einstellungen]. Stellen Sie den [Sketchbook
Speicherort] auf den Pfad um, in dem Sie die Projekte gespeichert haben. Verlassen
Sie den Dialog mit [OK] und beenden Sie die IDE. Jetzt ist Ihre Arduino-IDE komplett
eingerichtet.
5.1 Programmierumgebung Arduino™ 219

Bild 5.1: Arduino-Einstellungen

5.1.4 Treiberinstallation – Arduino™ Uno unter Windows


[ Schließen Sie das Arduino-Board an und warten Sie, bis Windows den Installa-
tionsprozess startet. Nach kurzer Zeit wird der Prozess fehlschlagen.
[ Öffnen Sie im Start-Menü die Systemsteuerung.
[ Öffnen Sie in der Systemsteuerung System und Sicherheit, gehen Sie dann auf
System und öffnen Sie den Geräte-Manager.
[ Sehen Sie unter Anschlüsse (COM & LPT) nach. Hier sollten Sie einen offenen Port
namens »Arduino UNO (COMxx)« sehen. Wenn nicht, finden Sie ihn unter
Andere Geräte.
[ Öffnen Sie mit der rechten Maustaste das Kontextmenü auf Arduino UNO
(COMxx) oder Unbekanntes Gerät und wählen Sie Treiber aktualisieren.
[ Als Nächstes wählen Sie Auf dem Computer nach Treibersoftware suchen.
[ Im nächsten Dialog wählen Sie bitte Durchsuchen und navigieren zum Verzeichnis
drivers der Arduino-IDE-Installation. Mit Weiter wird die Installation gestartet.

[ Den Rest erledigt Windows alleine.


226 5 Benötigte Hardware und Software

005 #endif
006 #include <debugAlt.h>
007
008 void setup() {
009 // Initialisierung der Debug-Bibliothek
010 initDebug();
011 // Erste Ausgabe mit Zeilenumbruch
012 dbgOutLn("InitDebug");
013 }
014
015 int count = 0;
016 void loop() {
017 // einfache String Ausgabe ohne Zeilenumbruch
018 dbgOut("C");
019 // Ausgabe mit zusätzlichen Format-Parameter
020 dbgOutLn2(count, HEX);
021 dbgOutLn2(1.2345, 2);
022
023 #ifdef debug
024 // Der Code dazwischen wird nur im Debug-Modus compiliert.
025 #endif
026
027 count++;
028 delay(100);
029 }

5.2 Programmierumgebung Raspberry Pi


Als Programmierumgebung für den Raspberry Pi in diesem Buch wird Python 2
benutzt. Viele der vorgestellten Bibliotheken gibt es bereits für die Python-3-Umge-
bung. Zur Installation müssen natürlich die entsprechenden Python-3-Bibliotheken
verwendet werden. Leider ist im derzeitigen Raspbian nur Python 3.2 installiert.
Neuere Versionen (wie z. B. die aktuelle Version 3.4) sind zwar in Vorbereitung, aber
leider noch nicht ohne Weiteres verfügbar. Manche der hier vorgestellten Biblio-
theken stehen leider nicht für Python 3.2 zur Verfügung. So wird z. B. das Flask-
Framework nur für Python 3 ab Version 3.4 angeboten. Deswegen habe ich mich ent-
schlossen, alle Quelltexte auf Basis von Python 2 zu veröffentlichen. Allerdings sind
fast alle hier vorgestellten Projekte mit kleineren Änderungen auch unter Python 3
lauffähig.
Für die Programmierung des Raspberry Pi mit Python wird kein zusätzliches Pro-
gramm benötigt, denn alles ist bereits auf dem Raspberry-Pi-System Raspbian einge-
richtet. Als einfachste Variante kann man natürlich einen beliebigen Editor wie nano
oder leafpad benutzen. Dazu noch ein Terminalfenster, in dem man das fertige Pro-
gramm ausführt, fertig.
5.2 Programmierumgebung Raspberry Pi 227

5.2.1 Idle, integriertes Entwicklungssystem für Python


Etwas komfortabler für die Programmierung in Python ist die Nutzung des Entwick-
lungssystems idle (Integrated DeveLopment Environment).

Bild 5.6: Python-Entwicklungssystem idle

Es beinhaltet eine Konsole, einen Quelltexteditor und sogar einen einfachen


Debugger. Mit den Shortcuts im Menü des Raspberry Pi lässt sich idle sehr komforta-
bel starten. Leider können Sie damit nicht auf die Hardware zugreifen, weil die IDE
damit nicht im Admin-Account läuft. Dazu ruft man in einem Terminalfenster einfach
Folgendes auf:
001 sudo /usr/bin/idle

bzw.
228 5 Benötigte Hardware und Software

001 sudo /usr/bin/idle3

für die Python-3-Entwicklungsumgebung.


Sie können sich natürlich auch einen eigenen Menüeintrag oder einen Link auf dem
Desktop einrichten. Für einen Link erzeugen Sie bitte eine neue Datei unter
/home/pi/Desktop/

001 nano /home/pi/Desktop/Py_Root.desktop

mit folgenden Inhalten:


001 [Desktop Entry]
002 Name=Python 2
003 Comment=Integrated development environment for Python 2
004 TryExec=/usr/bin/idle
005 Exec=sudo /usr/bin/idle
006 Icon=/usr/share/pixmaps/idle.xpm
007 Terminal=false
008 MultipleArgs=false
009 Type=Application
010 Categories=Application;Development;
011 StartupNotify=true

Über Debug/Debugger kann man das Debug-Fenster starten. Startet man nun ein Pro-
gramm, startet automatisch auch der integrierte Debugger. Die lokalen Variablen
kann man sich im Bereich »Locals« ansehen, globale Variablen sind im Bereich
»Globals« zu finden. Schaltet man »Source« an, wird die aktuelle Zeile im Quelltext-
editor grau hinterlegt. Breakpoints kann man mit dem Kontextmenü im Editor setzen.
Die entsprechenden Zeilen werden dann gelb hinterlegt.

5.2.2 Ninja-IDE
Wem das immer noch zu unkomfortabel erscheint, der kann sich einmal die Python-
Entwicklungsumgebung Ninja-IDE (siehe Kapitel 7, Internetseite 28) ansehen. Die
IDE hat zwar kleinere Bugs, aber man bekommt ein Syntax-Highlighting, kann die Pro-
gramme direkt in der IDE ausführen und hat eine eingebaute Projektverwaltung.
Mithilfe von Plugins wird die Ninja-IDE auf dem Raspberry Pi installiert über:

001 sudo apt-get update


002 sudo apt-get install ninja-ide

Gestartet wird aus dem Terminal heraus mit sudo ninja-ide. Bild 5.7 zeigt einen
Blick auf die IDE.
5.2 Programmierumgebung Raspberry Pi 229

Bild 5.7: Ninja-IDE

Die Programme werden in sogenannten Projekten verwaltet. Jedes Projekt hat sein
eigenes Verzeichnis. Zu jedem Projekt gibt es eine Hauptdatei (main file). Diese wird
beim ersten Start des Projekts gesetzt. Der Debugger muss separat als Plugin instal-
liert werden. Dazu kann der eingebaute Pluginmanager verwendet werden. Wird das
Programm mit dem Debugger gestartet, hat man die üblichen Möglichkeiten der
Einzelschrittausführung des Programms. Weiterhin können Variablen im Debug-
fenster überwacht werden (im Screenshot unten rechts). In der Bedienoberfläche
oben rechts findet man eine Anzeige der einzelnen vom Programm gestarteten
Threads. Dort wird die aktuelle Zeile angegeben, sie wird in den Quellen allerdings
auch grau hinterlegt. So hat man immer den Überblick.
Leider gibt es die Ninja-IDE bisher nur für Python 2.
Christian Immler, Hannah Bernauer
Raspberry Pi
Serverbuch
Der Raspberry Pi 2 –
Was ist neu?
Im Sommer 2014 erschien der Raspberry Pi B+, eine erweiterte, neue Versi-
on der Platine, bei der die Entwickler auf die Wünsche der Anwender einge-
gangen sind und zwei zusätzliche USB-Ports, mehr GPIO-Pins sowie einen
stabilen microSD-Kartensteckplatz eingebaut haben. Im November 2014
folgte das Modell A+ mit nur einem USB-Port, ohne Netzwerkanschluss
und mit etwas vereinfachter Hardwareleistung. Es verfügt aber trotzdem
über die erweiterte GPIO-Schnittstelle des Modells B+.

Zusatzmaterial zum
Buch
Zu diesem Produkt finden Sie unter
www.buch.cd Zusatzmaterial
zum Download. Der Raspberry Pi 2 Modell B.
Tragen Sie für dieses Produkt im
Eingabefeld den Code 60343-0 ein.
Anfang des Jahres 2015 erschien dann das neue Modell Raspberry
Pi 2 Modell B, auch als Raspberry Pi B2 bezeichnet, mit deutlich verbesser-
ter Hardwareausstattung. Die neue Version verfügt über einen 900-MHz-
Quad-Core-ARM-Cortex-A7-Prozessor und 1 GByte RAM. Die GPIO-Schnitt-
stelle ist gegenüber den Modellen B+ und A+ unverändert.

Betriebssystem installieren
Die neuen Modelle Raspberry Pi B+, A+ und Pi 2 verwenden eine microSD-
Speicherkarte statt einer Speicherkarte im Standard-SDcard-Format.

60441-8 Raspberry Pi Serverbuch U2_U3.indd 2 07.09.2015 15:18:12


3

Seit der Version vom 31.01.2015 unterstützt das Raspbian-Betriebssystem


den Raspberry Pi 2. Ältere Versionen können auf diesem Modell nicht ver-
wendet werden.

Minecraft
Auf aktuellen Raspbian-Versionen braucht Minecraft nicht mehr nachins-
talliert zu werden. Das Spiel ist im Startmenü unter Spiele vorinstalliert.

CalDAV-Sync
Im Kapitel »Wandkalender« ist ein falscher QR-Code für die
App CalDAV-Sync abgedruckt, die außerdem inzwischen den
Betastatus abgeschlossen hat. Hier ist der richtige QR-Code
für die fertige Version der App.

Raspbian Minimal für WLAN-Zugangspunkt


Das im Kapitel »Das Tor zur Welt« erwähnte Betriebssystem Raspbian Mini-
mal unterstützt den Raspberry Pi 2 leider nicht.

arkOS
Die aktuelle stabile Version von arkOS unterstützt den Raspberry Pi 2 noch
nicht. Der Hersteller bietet aber bereits eine Betaversion der kommenden
Version 0.7 zum Download an: bbs.arkos.io/t/arkos-0-7-beta-test-ima-
ges/1692.

Beachten Sie, dass es für den Raspberry Pi 2 und ältere Modelle unter-
schiedliche Downloads gibt.
GPIO-Schnittstellen am Raspberry Pi
Die GPIO-Schnittstelle B und A – ältere Platinen (links) sowie
B+, A+ und B2 (rechts).
Die GPIO-Schnittstelle der neuen Raspberry Pi-Modelle bietet 40 statt 26
Pins, wobei die ersten 26 Pins weitgehend denen der älteren Raspberry Pi-
Modelle entsprechen. Nur der ehemalige Pin 21 wurde in 27 umbenannt.
Pin 21 ist jetzt ganz unten bzw. in der Abbildung rechts.

Aus Kompatibilitätsgründen heißt Pin 21 auf den neu produzierten Rasp-


berry Pi-Modellen B und A jetzt auch Pin 27.

Die Programme zur Statusanzeige auf dem LCD-Display verwenden diesen Pin
nicht, sie laufen unverändert auch auf den aktuellen Raspberry Pi-Modellen.

60441-8 Raspberry Pi Serverbuch U2_U3.indd 3 07.09.2015 15:18:28


Vorwort des Verlags 5

Vorwort des Verlags


Raspberry PI B+
Kurz vor Ende des Buchprojektes wurde der Raspberry Pi B+ veröffentlicht.
Das Buch ist noch auf Basis des Raspberry Pi B geschrieben. Aber
alle Projekte wurden nochmals auf dem Raspberry Pi B+ erfolgreich
getestet. Auf Fotos ist teilweise noch der Raspberry Pi B zu sehen.

Wie funktioniert das Buch?


Nach dem Grundlagenkapitel auf Seite 8 bis 55 folgen die 25 Server. Jeder
Server startet mit einer Überblicksseite. Im Kasten auf der rechten Seite
werden alle wichtigen Informationen zusammengefasst, etwa, wie lange
die Installation dauert und in wie vielen Schritten sie durchgeführt werden
kann. Der Schwierigkeitsgrad wird in Himbeeren (1-5) angegeben. Über
Symbole werden Voraussetzungen spezifiziert:

SYMBOL SD-KARTE, CLASS 10 Gibt an, welche Art von SD-Karte benötigt wird, z. B. SD-Karte des Typs CLASS 10.

SYMBOL USB Angabe, ob eine externe Festplatte oder ein USB-Stick benötigt wird.

SYMBOL X Angabe, ob ein X-Server zur Bedienung benötigt wird.

Angabe, ob ein Programm zur Anzeige des Serverstatus auf einem LC-Display zur
SYMBOL D Verfügung steht.

Sollte für die Konfiguration Vorwissen vorausgesetzt werden, wird auf die
jeweilige Seite verwiesen. Notwendige Software wird aufgeführt. Zu jedem
Server stellen wir Links und Zusatzmaterial online bereit. Über den WWW-
CODE finden Sie die Informationen direkt auf der Webseite www.makers-
choice.de.

Zusatzmaterial
Zum vorliegenden Buch existiert einiges an kostenlosem Zusatzmaterial
auf www.buch.cd, wie z. B. PDF-Dokumente mit weiterem Basis-wissen.

60330-0 Hannahs 25 Raspberry Pi Server_NEU_17.indd 5 24.08.2014 09:48:51


60330-0 Hannahs 25 Raspberry Pi Server_NEU_17.indd 6 24.08.2014 09:48:52
Inhalt 7

Hannahs

RASPBERRY
RY PI
SERVER
VER
25 Grundlagenk
apitel
Hannahs
25 Rezepte
Seite 8 bis 55

01 SFTP-Ser erve
verr .......................................................56 6 01 Hi
Himbeer-Baise er................................... . ..
....
. .......... 63
022 X-Se erver und X11-Forwarding .............................64 4 02 Brattäp
ä fel mit HiH mbeersoße ............................... 6 69
9
0
03 VNC-Se
VN Serrver ... . .....................................................70 70 033 Himbeeee
er-
r Kokos-Ringe ...................................... 77 7
0
04 S mb
Sa m a-Server (NAS) ............................................ 78 044 Himbeer-S Smoothie ....................................... ....
. .. 87
05 W bser
We bsse ve ver (lightttp tpd) .........................................88 055 Ap
pfe
fel-Himbeeeeer-Grütze ... . .............................. . ..... 95
06 Foto
Fo to
oseservr er ... . .......................................................9 96 0
06 Himbe eer-Dresssing .......................................... .. 10 05
0
07 W ki
Wi ki-S
-Se erve er (L(LioionWnWiki) ..................................... 10 06 07 Himbeer-
Hi r-Ho
H tsa au ........................................... 11
auce 1111
08 Clou
Cl udse
dserver (ownCloud) .................................. 112 2 08 H mbeer-Bu
Hi Butt
t ermmilch ..................................... 12 23
099 E-Ma
E- M il
Ma il-S
-Sere ver ...................................................124 09 Himb bee
eertraum
u ................................................ 13 1355
10 Prrin
nts
tser
e ver .......................................................... 13 1 6 10 Feldsaalat mit Him mbeeren ............................... 14 45
11 WebD
We bDA
bD AV Serve
AV-S er (B ( arracu cudad Drive) ....................14 146 111 Himb
mbeeerren mit Honig .................................. ......... 1557
12 Webcam
We m-Server .................................................. 158 12 Himb
mbeeer--Turm .................................... ................. 16
1677
133 Download-Server (pyL
Do yLoaoad) .......... .......................... 161 8 1
13 Himbee
Hi eerq
rqua
uark
rk ............................................... .. 175
1775
14 Minecraft-Spiele leeserverr ... ..............
......
.. ...................... 176 14 Himb
Hi mbeeer-LLim
mes ....................................... ......... 18 81
15 Freeciv-Spielese erver ....... ....
...............
......
...........
. ..
.......
... 1882 155 Himb bee
eerrschaum ............................................ 187
16 D NA-Server ................
DL . ........................
. ...........
......... 188 16
16 Himbeer-Punsch ............................................ 19 193
17 Spielestreamingserve ver (L (Lim mele ig
ight
ht P Pi)
i) .............. . ... 19
94 17 Himbeer-Balsamico-Essig ..... . ............................ 196
18 Chat-Serve v r (IRC C) ..................... ................................. 19
1988 1
18 Himbeer-Joghurt-Eis .................. ...........
....
....
........... 205
19 Kalender- und Kontaktserrve ver (C (Ca
alDDav//CardDa Dav) ....20
Da 06 199 Himbeermarmelade ....... . ...... . .........
. ................... 21 2 1
20 WLLAN
A -Z -Zug
u angspunkt (P Pi-
i-Po
Point)........................... 212 2 20 Himbeer-Milchmix ........................... ............ ....
..... 223
211 Firewa
wa allll .....
....
..................................................................22
2244 21 Himbeer-Müsli ................ ........................................ 22 29
222 B ck
Ba c up pserverr ((rs rssync) .................. ............................. 23
2300 22 Himbeeren mit Sahn ne .......................................... 235 5
23 Haususauto oma
mati tion
ti onss
on sse erver (FHE E M) .......................... 23 36 23 Himbeer-Capp puc
u cino o ........... .............
.................
. ... 242 1
24 PC-
C-Fe
Fernssteu euer e un ngs
gsseserv rver (Syynerg gy)
y .......
. ...........
....
. 24
2422 24 H mbee
Hi erg
rgratin ....................................................... 249
25 arkkOS ................... . .............
.......
...................
................. 250 25 Himb
Hi m eeerm
rmufffi
f ns
ns ..............
. ....
............................... 255

60330-0 Hannahs 25 Raspberry Pi Server_NEU_17.indd 7 24.08.2014 09:48:59


Schaffe,
Schaffe,
Häusle baue
Minecraft mit seiner Retrografik gilt heutzutage
als der Inbegriff des Aufbauspiels. Minecraft-
Server ermöglichen es, dass mehrere Spieler
gleichzeitig in derselben Welt bauen, sich in der
Welt sehen und Interaktionen untereinander
durchführen können.

60330-0 Hannahs 25 Raspberry Pi Server_NEU_17.indd 176 24.08.2014 09:56:25


M ecrra
Mine
Minecraft-Spielese
afft-S
t-Spi errver
ver 14 177
17 7

10 Minuten / 9 Schritte
Installation SCHWIE
ERIGKEIT
T
Laden
adennSSie si
sic
sich
ch d
die Serv
S versoftware Server (www.mc-server.
tware MCSer
MCSer

1 org) v
Sie
i d
ie
von
o derer Webseite
Web te
das Archiv.
chiv.
iv
eddes Entwi
ntwickklers herun
erunter und entpacken
erunt

wget http://ci.bearbin.net/job/MCServer%20Linux-
RasPi%20HardFloat/lastSuccessfulBuild/artifact/
entp
tpa

MCServer.tar Das braucht es:


tar xzf MCServer.tar

VORWISSE
VO EN

2
St
Starten Sie jetzt die
ie S
Serversoftware.
ersso
1 Routerk
Routerkkkonfigurati
o fig
gu ion, S. 25
gu 5
2 IP-Adre
IP-A
P A essen,
en SS. 20
0
cd MCServer
./MCServer KO
KONFI
KONFIGUR
KON RATION
TIO
ON
Portwe
Po
Portweiter
P we g 1
e rleitungen
tung
HTTP
HT
H TT 80
TT 080
0
Minecraft
Min
Minecra
aft 2
2556
25565

K
KO
KONFIGURATION
N
SSH-Verbi
S Verbin
erbindung zum Raspb
Raspberry P
Pii
F
Feste oder dynam
nam
mische
e IP-A
IP-Adresse
sse im
tern 2
IIntern
ternet

SOFTWARE
v www.mc-server.org
Minecraft-Serrver,

De erste S
Der Start kann
k nn me
mehre
mehrere Minuten
u da
d auern
uern, währenddes
ue dde
essen
werd
we den einige Fe
Fehlermeldungen
ehlermeldung
lermeld
ldu gen angezeig
angeze gt.

3
D ffehlenden
Die eh Konfigurationsdateien
tio
on en
n we
werdene be
en beim
meersten
sten Start
Sta
autom
omatisch
ommatisch erzeugt
ugt und
un mit Sta
Standa
ardwerten
rd ert
rdw e n gefüllt.
efü
fü t. Wa
War
Warten
WWWCODE Minecraft-Server
Sie,
Si
ie, bis
b eine Meldung
ldung erscheint
ldun ersche
erscheint.

Startup complete, took...

60330-0 Hannahs 25 Raspberry Pi Server_NEU_17.indd 177 24.08.2014 09:56:31


178

Nach dieser Meldung läuft der Minecraft-Server.

4
Beenden Sie jetzt den Server mit der Tastenkombination [Strg] + [C]. Der
erste Start wurde nur gebraucht, um notwendige Konfigurationsdateien
anzulegen.
Minecraft-Wiki

5
Ausführliche Informatio- Öffnen Sie die Konfigurationsdatei webadmin.ini mit dem nano-Editor.
nen und Hilfestellungen
zum Spiel Minecraft im nano webadmin.ini
Allgemeinen und zu den

6
verschiedenen Versionen Legen Sie in dieser Datei einen Benutzer für die Administration des Mine-
finden Sie bei minecraft- craft-Servers fest. Dieser ist nicht zu verwechseln mit den Spielern. Auf
de.gamepedia.com. einem kleinen privaten Server im lokalen Netzwerk können Sie einfach die
Kommentarzeichen am Anfang der Zeilen für User und Password entfernen.
Betreiben Sie den Server im Internet, sollten Sie sich zusätzlich einen neu-
en Benutzernamen und ein sicheres Passwort ausdenken.

60330-0 Hannahs 25 Raspberry Pi Server_NEU_17.indd 178 24.08.2014 09:56:47


Minecraft-Spieleserver 179 14

Minecraft in
Zahlen
Verkaufte Lizenzen der Minecraft-
PC-Version:

14.000.000
Benutzerdaten für die Konfigurationsoberfläche des Minecraft-Servers einrichten (14 Millionen)

7
Starten Sie dann den MCServer neu und warten, bis wieder diese Meldung
Verkaufte Lizenzen der Minecraft-
erscheint:
Pocket-Edition:

Startup complete, took...


16.000.000

8
Öffnen Sie jetzt in einem Browser auf einem PC im Netzwerk die Konfigura- (16 Millionen)
tionsseite des Minecraft-Servers. Ersetzen Sie die angegebene IP-Adresse
durch die Ihres Raspberry Pi. Verkaufte Lizenzen der Minecraft-
Xbox360-Version:
http://192.168.2.124:8080

10.000.000

9
Richten Sie hier Ihre Minecraft-Welt, das Wetter sowie sonstige Umge-
(10 Millionen)
bungseinstellungen ein. Anschließend können sich Benutzer auf dem Ser-
ver anmelden und spielen.
Verkaufte Lizenzen der Minecraft-
PS3-Version im ersten Monat:

1.000.000
(1 Million)

60330-0 Hannahs 25 Raspberry Pi Server_NEU_17.indd 179 24.08.2014 09:56:48


180

In der Praxis

Minecraft auf dem Raspberry Pi spielen


Minecraft kann auch auf dem Raspberry Pi gespielt werden, allerdings
nicht auf demselben, auf dem auch der Server läuft. Zum Spielen ist der
grafische Desktop von Raspbian erforderlich.

Die Minecraft Pi Edition wird bei pi.minecraft.net kostenlos zum Down-


load angeboten.

Die vorinstallierte Spielwe


Spielwelt von
Minecraft ist auf dem RaRaspberry Pi
nicht ganz so umfangreich wie auf
dem PC, aber flüssig spielbar. Sie
können sich jedoch jederzeit auf einem
Minecraft-Server anmelden und in
einer ganz anderen Welt spielen.

60330-0 Hannahs 25 Raspberry Pi Server_NEU_17.indd 180 24.08.2014 09:56:49


Minecraft-Spieleserver 181 14
Wenn die Steuerung
nicht reagiert
Es kann immer wieder vor-
kommen, dass das Spiel auf
Spielablauf und Steuerung Mausbewegungen nicht richtig
Wer Minecraft kennt, wird sich auch in der Pi-Edition schnell zurechtfinden. oder viel zu schnell reagiert und
Die Steuerung des Spiels und die Bewegungen in der Spielwelt laufen sehr man ständig nach unten oder
ähnlich. oben blickt. Drücken Sie bei sol-
chen Problemen die [Tab]-Taste,
[ Mit der Maus dreht man sich, ohne eine Maustaste zu drücken, um die bewegen Sie die Maus kurz au-
eigene Achse und neigt den Blick nach oben oder unten. Das Spiel rea- ßerhalb des Minecraft-Fensters
giert sehr schnell, man muss also aufpassen, dass man sich beim Dre- und schalten Sie dann mit [Tab]
hen nicht »überschlägt«. wieder zurück ins Spiel.
[ Mit vier auch aus anderen Spielen bekannten Buchstabentasten bewegt
man sich: mit [W] nach vorne, [S] nach hinten, [A] nach links und [D]
nach rechts. Bei Stufen im Gelände steigt man während der Bewegung
automatisch nach oben oder unten.

[ Mit der [Leertaste]


kann man in die Höhe springen. Drückt man die
[Leertaste] zweimal kurz hintereinander, wird auf den Flugmodus um-
geschaltet. In diesem Modus schwebt man und ist nicht mehr an den
Boden gebunden. Im Flugmodus steigt man durch längeres Drücken der
[Leertaste] weiter nach oben.

[ Umgekehrt duckt man sich mit der linken [Umschalt]-Taste etwas nach Himbeer-
unten. Im Flugmodus verringert man mit dieser Taste die Flughöhe.

[ Die Taste [E] öffnet das Inventar, wo jede Menge unterschiedlicher


Limes
Blöcke zum Bau zur Verfügung stehen. Acht verschiedene Blöcke oder Zutaten:
Werkzeuge sind in der Inventarleiste am unteren Bildschirmrand jeder- 500 g Himbeeren, durch ein Sieb
zeit verfügbar. Hier wählt man mit den Tasten [1] bis [8] oder mit dem passiert
Mausrad das gewünschte Objekt aus. 200 ml Wasser
200 g Zucker
[ Ein Klick mit der linken Maustaste entfernt den angeklickten Block, ein 100 ml Zitronensaft, frisch
Klick mit der rechten Maustaste platziert einen Block des gewählten gepresst
Typs an der angeklickten Position. 200 ml Wodka
100 ml Himbeergeist
[ Die [Esc]-Taste blendet ein Menü ein, in dem man das Spiel verlassen
oder auch auf die Sicht eines außen stehenden Betrachters wechseln Zubereitung:
kann. Zucker und Wasser kochen, bis
die Flüssigkeit klar ist. Die durch
[ Die [Tab]-Taste befreit die Maus aus dem Minecraft-Fenster, wenn man ein Sieb passierten Himbeeren
zwischendurch in ein anderes Programm wechseln möchte. mit Wodka, Himbeergeist,
Zitronensaft und dem abgekühlten
Zuckerwasser mischen.
Alles in eine oder zwei Flaschen
füllen und im Kühlschrank
aufbewahren.
Quelle: chefkoch.de

60330-0 Hannahs 25 Raspberry Pi Server_NEU_17.indd 181 24.08.2014 09:56:54


60351-5_19x24_Titelei 7_X 23.01.15 13:13 Seite 1

Christian Immler
Raspberry Pi
Mach´s einfach
Betriebssystem
Wie funktioniert das Buch?
Dieses Buch enthält 222 Lösungen, die im Umgang mit dem Minicompu-
ter Raspberry Pi unabdingbar sind. Der Übersicht halber sind die Lösungen
in verschiedene Themenbereiche aufgeteilt, die mit Farben gekennzeichnet
sind:

Betriebssystem: rot

Praxiseinsatz: orange

Hardware: violett

Server: grün

Programmierung: gelbgrün

Elektronik: blau

Die einzelnen Lösungen in den Kategorien sind alleinstehend; sollten sie auf
eine andere Lösung im Buch aufbauen, ist das vermerkt.

Zusatzmaterial:

Einige Lösungen haben es nicht ins Buch geschaff t - bei 222 Lösungen muss
man Prioritäten setzen. Wir möchten dieses Zusatzmaterial aber nieman-
dem vorenthalten, deshalb gibt es die Lösungen als kostenlosen Download
unter www.makers-choice.de/raspberry-pi-machs-einfach/

60351-5 Raspberry Pi für Maker_NEU Raster_06.indd 5 29.01.2015 09:20:17


Inhalt

1 Betriebssystem
1 Betriebssystem mit NOOBS installieren ..... 10 10 Betriebssysteme ohne NOOBS
2 Raspbian installieren ................................ 10 installieren................................................ 15
3 Erste Konfiguration mit raspi-config g........... 11 11 PiBang Linuxx ............................................. 16
4 Rastrack – alle Raspberry Pis auf der Weltt ... 12 12 Moebius, Minimal-Linux............................
x 17
5 Wichtige Unterschiede gegenüber 13 ha-pi – ha(ck with raspberry)pi .................. 17
Windows bei Dateinamen und 14 ChameleonPi – das Spiele-Linux .............. 17
Verzeichnissen .......................................... 12 15 Spiele in ChameleonPi installieren ............ 19
6 Speicherkarte komplett sichern und 16 RISC OS installieren und einrichten .......... 19
duplizieren ............................................... 13 17 Tipps zur Bedienung von RISC OS ............. 21
7 Speicherkarte aus Image-Datei 18 Anwendungen unter RISC OS installieren ... 21
duplizieren ............................................... 13 19 Raspberry Pi-Emulator für Windows ........... 22
8 Pidora Linux..............................................
x 14 20 Betriebssystem im Raspberry Pi-Emulator
9 Arch Linux ARM ......................................... 14 aktualisieren ............................................. 23

2 Praxiseinsatz
21 Der Raspbian-Desktop .............................. 24 40 Screenshots vom Raspbian-Desktop
22 Der LXDE-Dateimanagerr ............................ 24 erstellen ................................................... 37
23 Wichtige Befehle auf der Linux- 41 LibreOffice auf dem Raspberry Pi
Kommandozeile ........................................ 25 installieren................................................ 38
24 Der Superuser root .................................... 26 42 Tipps zu LibreOffice................................... 39
25 Dateimanager mit root-Rechten nutzen...... 26 43 Schlanke Alternative: AbiWord .................. 40
26 Eigenes Hintergrundbild für den Desktop .. 27 44 Texteditoren für Konfigurationsdateien ...... 41
27 Fan-Art als Hintergrundbild ....................... 28 45 Einfache Bildbearbeitung mit Mirage ......... 44
28 Diashow im Vollbildmodus ........................ 29 46 xfce4-goodies – nützliche Erweiterungen
29 Bilder aus dem Dateimanager für den Desktop ........................................ 45
standardmäßig mit dem Bildbetrachter 47 Wissenschaftlicher Taschenrechnerr ........... 47
anzeigen ................................................... 30 48 Drucker einrichten ..................................... 48
30 Fotos von PC oder Netzwerkfestplatte 49 Drucken aus einem Linux-Programm.......... 48
auf dem Raspberry Pi anzeigen ................. 30 50 Epiphany-Browser verwenden ................... 49
31 Desktopverknüpfungen für Programme 51 DNT (Do Not Track) – ein Politikum
aus dem Startmenü anlegen...................... 31 im Internet ................................................ 50
32 Die wichtigsten Standardverzeichnisse 52 Epiphany-Browser auf älterem Raspbian
in Linux.....................................................
x 31 nachinstallieren ........................................ 51
33 LXTerminal mit weißem Hintergrund .......... 33 53 Tipps zum Midori-Browser.........................
r 52
34 Software aus dem Pi Store installieren ...... 33 54 Chrome-Browser – Sync mit PC/
35 Software als Linux-Paket installieren ......... 34 Smartphone.............................................. 53
36 Software über Synaptic installieren ........... 34 55 Firefox synchronisiert mit Iceweasel .......... 54
37 Ziffernblock aktivieren............................... 35 56 Werbe-Pop-ups in Iceweasel blockieren ..... 54
38 Freien Speicherplatz anzeigen ................... 35 57 Standardbrowser ändern........................... 55
39 Speicherkarte aufräumen, wenn der 58 Dillo – der schnellste Browserr ................... 55
Raspberry Pi nicht mehr bootet ................. 36 59 CloudMe auf dem Raspberry Pi nutzen ...... 57

60351-5 Raspberry Pi für Maker_NEU Raster_06.indd 6 29.01.2015 09:20:45


Inhalt
60 E-Mail mit Claws Mail ................................ 57 74 Pi Presents für Präsentationen .................. 74
61 Gmail in Claws Mail nutzen ....................... 59 75 Eigene Präsentationen mit Pi Presents
62 Icedove – Thunderbird für Linuxx ................ 62 erstellen ................................................... 75
63 Raspbmc Media Center einrichten ............. 63 76 Minecraft .................................................. 77
64 Nur Ton, kein Bild – was nun?.................... 64 77 Schnelles 3-D-Spiel mit Pinguin................. 78
65 Webradio in Raspbmc ............................... 64 78 The little crane that could .......................... 79
66 YouTube und Mediatheken in Raspbmc 79 Alte Debian-Spiele auf dem Raspberry Pi .. 80
nutzen ...................................................... 65 80 Textadventures – interaktive Fiktion .......... 80
67 Fotos im Raspbmc-Mediacenter.................
r 66 81 Klassische Point-and-Click-Adventures ...... 81
68 Wetter im Raspbmc-Mediacenter............... r 67 82 Python Games........................................... 82
69 Raspbmc per WLAN nutzen........................ 68 83 Atari800-Emulator.....................................
r 83
70 Fernbedienung des Fernsehers über 84 Sinclair ZX Spectrum-Emulatorr .................. 85
HDMI-CEC nutzen ...................................... 68 85 rpix86 – PC DOS-Emulator.........................
r 86
71 Smartphone als Fernbedienung für 86 Deutsche Tastatur im PC-Emulatorr ............. 87
Raspbmc................................................... 69 87 rpix86 in einem Fenster auf dem
72 Raspbmc im Browser auf einem Linux-Desktop ........................................... 87
anderen PC fernsteuern ............................. 70 88 RetroPie – Sammlung von Emulatoren ....... 88
73 ASCII-Art ................................................... 71 89 Der RetroPie-Adapter.................................
r 89

3 Hardware
90 Die Anschlüsse des Raspberry Pi B+ .......... 90 101 Raspberry Pi übertakten ............................ 97
91 Die Anschlüsse des Raspberry Pi A+ .......... 90 102 Raspberry Pi-Kamera anschließen ............. 98
92 Die Anschlüsse des Raspberry Pi B 103 Firmware-Upgrade bei Kameraproblemen .. 98
(und A)...................................................... 91 104 Fotografieren mit der Raspberry
93 Die Anschlüsse des Raspberry Pi Pi-Kamera ................................................. 99
Compute-Moduls ...................................... 91 105 Video mit der Raspberry Pi-Kamera.......... 100
94 Was unterscheidet die verschiedenen 106 Mit der Raspberry Pi-Kamera
Raspberry Pi-Modelle?............................... 92 aufgenommene Videos abspielen ........... 100
95 Netzteil anschließen ................................. 92 107 TBOPlayer – grafische Oberfläche für
96 Audio einrichten ....................................... 93 den OMXPlayerr ....................................... 101
97 WLAN einrichten ....................................... 94 108 USB-Sticks mounten................................ 102
98 Nicht jeder WLAN-Stick funktioniert am 109 Die Linux-Dateisysteme ........................... 103
Raspberry Pi.............................................. 95 110 Komfortable Festplatteneinrichtung
99 Mehr Leistung durch Speichertuning g ......... 96 mit GParted ............................................. 103
100 Aktuelle Speicherauslastung anzeigen ...... 96 111 Gehäuse für den Raspberry Pi bauen ....... 105

4 Server
112 IP-Adresse und MAC-Adresse des 115 Vom PC aus über SSH auf dem
Raspberry Pi anzeigen ............................. 108 Raspberry Pi anmelden ........................... 110
113 Feste IP-Adresse über statisches DHCP 116 Daten per SSH vom PC aus auf den
vergeben................................................. 108 Raspberry Pi kopieren –
114 Feste IP-Adresse auf dem Raspberry Pi und umgekehrt ....................................... 111
eintragen ................................................ 109
7

60351-5 Raspberry Pi für Maker_NEU Raster_06.indd 7 29.01.2015 09:20:45


Inhalt

117 Dateiübertragung mit dem Total 132 LionWiki – eigene kleine


Commanderr ............................................ 112 Wissensdatenbank einrichten ................. 127
118 Dateiverwaltung mit dem Midnight 133 Fotogalerie auf dem Webserverr ............... 129
Commanderr ............................................ 112 134 Samba-Server installieren ....................... 131
119 SSH-Client für Smartphones und 135 Samba-Server im Windows-Netzwerk
Tablets .................................................... 113 nutzen .................................................... 132
120 Grafische Anwendungen vom 136 Samba-Statusanzeige im Browserr ........... 134
Raspberry Pi auf dem PC nutzen .............. 114 137 CloudServer BarracudaDrive
121 Raspbian-Desktop per VNC auf den einrichten ............................................... 135
PC übertragen ......................................... 115 138 BarracudaDrive im Netzwerk nutzen ........ 137
122 VNC-Server beim Booten 139 DLNA-Streamingserver MediaTomb ......... 138
automatisch mit starten .......................... 117 140 Medien auf Android-Smartphones oder
123 Notebook als Tastatur und Monitor für Tablets streamen..................................... 140
Raspberry Pi nutzen ............................... 117 141 Spielestreaming mit Limelight Pi ............. 141
124 VNC-Konfiguration bei NOOBS- 142 Freeciv-Spieleserverr ................................ 142
Installation ............................................. 119 143 Serverstatusanzeige htop........................ 143
125 VNC vom Tablet aus verbinden ................ 119 144 RasPi Check – Statusanzeige auf dem
126 Fernsteuerung mit Synergy ...................... 121 Smartphone ............................................ 144
127 Synergy auf dem Raspberry Pi 145 Raspcontrol............................................. 144
automatisch starten ................................ 122 146 Nagios-Netzwerkmonitor.........................
r 145
128 Externe Festplatten für Serverbetrieb 147 Pi-Point-Raspberry Pi als WLAN-
mounten ................................................. 122 Zugangspunkt ........................................ 148
129 Webserver installieren............................. 123 148 Pi-Point automatisch starten ................... 151
130 Webserver über No-IP ins Internet 149 WPA2-Verschlüsselung in Pi-Point
bringen ................................................... 124 einrichten ............................................... 151
131 Portweiterleitung auf dem Router 150 arkOS – Cloudserver-Betriebssystem....... 152
einrichten ............................................... 125

5 Programmierung
151 Python-Programme nutzen ...................... 155 163 Python – Funktionen ohne Parameter...... r 161
152 Python-Programme über die 164 Python – Funktionen mit Parametern....... 161
Kommandozeile starten .......................... 156 165 Python – Funktionen mit Rückgabewert ... 161
153 Python – Ausgabe auf dem Bildschirm .... 156 166 Boolesche Wahr- und Falsch-Werte .......... 162
154 Python – Variablen vom Typ Numberr ....... 157 167 Einfaches Programmierbeispiel:
155 Python – Variablen vom Typ String........... g 157 Zahlen raten............................................ 162
156 Python – Eingabe durch den Benutzer..... r 157 168 Farbige Texte im Terminal-Fensterr ............ 163
157 Python – Bedingungen mit iff ................... 158 169 Uhrzeiten in Python verarbeiten .............. 165
158 Python – Bedingungen mit if – else ......... 158 170 Analoguhr mit PyGame programmieren ... 165
159 Python – Bedingungen mit 171 Raspberry Pi-Kamera mit Python
if – elif – else .......................................... 159 steuern ................................................... 172
160 Python – Bedingungen mit and und or 172 Raspberry Pi-Kamera als Webcam............ 173
verknüpfen ............................................. 159 173 Programmieren in Scratch ....................... 175
161 Python – Schleifen mit forr ....................... 160 174 Programmieren in Java ............................ 176
162 Python – Schleifen mit while ................... 160 175 Programmieren in C und C++ ................... 177

60351-5 Raspberry Pi für Maker_NEU Raster_06.indd 8 29.01.2015 09:20:46


Inhalt
6 Elektronik
176 Elektronik über GPIO anschließen ........... 178 200 Zeichenorientiertes LCD-Display
177 Elektronische Schaltungen ohne Löten anschließen ............................................ 219
aufbauen ................................................ 179 201 Zeichenorientiertes LCD-Display mit
178 LEDs an die GPIO-Ports anschließen ........ 180 Python ansteuern .................................... 221
179 GPIO-Ports über Python ansteuern .......... 180 202 IP-Adresse und Uhr auf dem
180 LED-Lauflicht ........................................... 181 LCD-Display............................................. 224
181 Desktopsymbol für IDLE mit GPIO- 203 Statusanzeige für Server oder
Unterstützung g ......................................... 183 USB-Sticks .............................................. 226
182 Taster am GPIO-Anschluss ....................... 184 204 Pi_Scratch – GPIO mit Scratch ................. 229
183 LED-Würfel .............................................. 184 205 Pi_Scratch auf Raspbian
184 Fußgängerampel mit LEDs und Tasterr ...... 188 nachinstallieren ...................................... 230
185 IP-Adresse mit blinkender LED anzeigen .. 189 206 Pi_Scratch – unterstützte Hardware......... 233
186 Python-Programme auf dem LXDE-Desktop 207 LED-Würfel mit Scratch ............................ 234
automatisch starten ................................ 191 208 LCD-Display mit Scratch steuern .............. 237
187 IP-Adresse auf LED-Streifen anzeigen ...... 192 209 Digitaluhr mit Scratch-LCD-Display .......... 238
188 7-Segment-Anzeige zur Darstellung von 210 LCD-Display für Mediacenter.................... 239
Ziffern ..................................................... 194 211 i2c-Unterstützung auf dem Raspberry Pi
189 7-Segment-Anzeige mit Python aktivieren................................................ 242
ansteuern ............................................... 195 212 i2c-Geräte adressieren und finden .......... 243
190 Kamera mit Selbstauslöser und 213 Der Portexpander MCP23017 .................. 244
GPIO-Taste .............................................. 197 214 Portexpander sind eine gute
191 Mehrstellige 7-Segment-Anzeigen .......... 200 Erweiterung zum Raspberry Pi
192 Zeitmultiplex – der Trick mit dem bei Elektronikprojekten ........................... 245
Nachleuchten.......................................... 201 215 Sensorkontakte selbst bauen .................. 245
193 Mehrstellige 7-Segment-Anzeige mit 216 Spiel mit Sensorkontakten steuern.......... 247
Python ansteuern .................................... 201 217 WebIOPi .................................................. 250
194 Uhr auf der 7-Segment-Anzeige ............... 204 218 Erweiterungsplatine BerryClip ................. 252
195 IP-Adresse auf der 7-Segment-Anzeige .... 207 219 Erweiterungsplatine John Jay‘s 8 LED &
196 LED-Punktmatrixanzeigen........................ 210 Button Breakout Board ............................ 253
197 LED-Punktmatrixanzeige mit Python 220 Erweiterungsplatine Slice of Pi/O ............ 254
ansteuern ............................................... 211 221 Erweiterungsplatine PiFace digital ........... 254
198 Zeichensatz für die LED- 222 Erweiterungsplatine Pi-LITE .................... 255
Punktmatrixanzeige ................................ 213 223 Arduino mit dem Raspberry Pi
199 Zeichen auf der LED-Punktmatrixanzeige programmieren ....................................... 256
ausgeben................................................ 216

60351-5 Raspberry Pi für Maker_NEU Raster_06.indd 9 29.01.2015 09:20:46


Betriebssystem mit NOOBS installieren
Betriebssystem
1 Betriebssystem mit NOOBS installieren
NOOBS (New Out Of the Box Software) ist ein besonders einfacher Installer
für Raspberry Pi-Betriebssysteme, bei dem kein spezielles Image-Tool nötig ist.

1 NOOBS herunterladen: www.raspberrypi.org/downloads

2 Zip-Archiv auf die Festplatte entpacken.

3 Die Dateien des Hauptverzeichnisses und die Unterverzeichnisse auf eine


neue SD-Karte kopieren.

4 Wurde die SD-Karte bereits benutzt, mit SD-Formatter im PC neu formatie-


ren: www.sdcard.org/downloads/formatter. Dabei Format Size Adjustment
einschalten.

5 SD-Karte aus dem PC nehmen, in den Raspberry Pi stecken und booten.

Die wichtigsten Neuerungen in NOOBS 1.3.11


Deutlich kleinerer Download – nur Raspbian ist noch offline installierbar,
die anderen Betriebssysteme müssen während der Installation herunter-
geladen werden.
Der Epiphany-Browser ist als Standardbrowser vorinstalliert.
Unterstützt den BCM43143 802.11n-WLAN-Chip.

2 Raspbian installieren
berry Pi. Nach dem Booten mit der NOOBS-Speicherkarte erscheint ein Aus-
wahlmenü.

1 Ganz unten Deutsch als Installationssprache wählen. Damit wird automa-


tisch auch die deutsche Tastatur ausgewählt.

2 Das Häkchen beim vorausgewählten Raspbian-Betriebssystem setzen.

10

60351-5 Raspberry Pi für Maker_NEU Raster_06.indd 10 29.01.2015 09:20:46


Betriebssystem
3 Nach Bestätigung einer Sicherheitsabfrage, die darauf hinweist, dass die
Speicherkarte überschrieben wird, startet die Installation, die einige Minu-
ten dauert.

4 Nach abgeschlossener Installation bootet der Raspberry Pi neu und startet


automatisch das Konfigurationstool raspi-config.

3 Erste Konfiguration mit raspi-config


Das Konfigurationstool raspi-
config wird beim ersten Start
automatisch mitgestartet. Später
kann es über sudo raspi-config
aufgerufen werden. raspi-config
wird mit den Pfeiltasten und der
[Tab]-Taste bedient.

1 Sprache und Tastatur sind bei der


Installation mit NOOBS automa-
tisch ausgewählt.

2 Unter 3 Enable Boot to Desktop/


Scratch die Option Desktop Log
in as user ‘pi’ at the graphical
desktop auswählen.

3 Unter 4 Internationalisation Options die Option Change Timezone aus-


wählen und die Zeitzone auf Europa/Berlin stellen.

4 Unter 8 Advanced Options die Option Audio wählen und hier den verwen-
deten Audioanschluss HDMI oder 3.5 mm /’headphone’ auswählen.

5 <Finish> wählen und Raspberry Pi neu booten.

11

60351-5 Raspberry Pi für Maker_NEU Raster_06.indd 11 29.01.2015 09:20:46


Rastrack – alle Raspberry Pis auf der Welt

4 Rastrack – alle Raspberry Pis auf der Welt

Die Webseite rastrack.co.uk zeigt, wie viele Raspberry Pis auf der ganzen Welt
im Einsatz sind. Der Schwerpunkt liegt natürlich, wie zu erwarten, in Groß-
britannien, der Heimat des Raspberry Pi.

1 Terminal starten: sudo raspi-config

2 Add to Rastrack

3 Eigenen Nicknamen ausdenken und eintragen.

4 E-Mail-Adresse eintragen. (Mit jeder E-Mail-Adresse kann nur ein Raspberry


Pi eingetragen werden.)

5 Nach kurzer Zeit bekommt man eine E-Mail, in der man die Anmeldung
bestätigen muss. Die E-Mail enthält Links, über die man zusätzliche Infor-
mationen veröffentlichen oder den Standort präzisieren kann.

Wichtige Unterschiede gegenüber Windows


5 bei Dateinamen und Verzeichnissen
Wer Dateien zwischen Raspberry Pi und Windows übertragen möchte, muss
die Unterschiede bezüglich der Namensregeln kennen.

• Linux unterscheidet bei Dateinamen zwischen Groß- und Kleinschreibung.

12

60351-5 Raspberry Pi für Maker_NEU Raster_06.indd 12 29.01.2015 09:20:47


Betriebssystem
• Die Dateinamen sollten aussagekräftig sein, aber bei 128 Stellen ist
Schluss. Leerzeichen dürfen nicht verwendet werden.

• Linux kennt das Backslash-Zeichen \ für Pfadangaben nicht. Zur Angabe


von Verzeichnissen wird immer der normale Schrägstrich / verwendet.

• Bei Linux kann jeder beliebige Name für eine Datei verwendet werden. Es
gibt keinen Unterschied zwischen dem Dateinamen und der Dateiendung.

Speicherkarte komplett sichern und


6 duplizieren
Eine Komplettsicherung der Speicherkarte in eine Image-Datei auf dem PC
bietet die Möglichkeit, diese bei einem Ausfall wiederherzustellen oder auch
identisch zu duplizieren.

1 USB Image Tool von www.alexpage.de auf dem PC installieren.

2 Speicherkarte in den Kartenleser des PCs stecken.

3 Im linken Fenster Speicherkarte auswählen, Backup anklicken und


Dateinamen festlegen.

Platzbedarf auf der Festplatte


Die Image-Datei wird durch Komprimierung etwas kleiner sein als die
Speicherkarte. Während der Sicherung sollte aber Speicherplatz in der
kompletten Größe der Speicherkarte auf der Festplatte vorhanden sein.

7 Speicherkarte aus Image-Datei duplizieren


1 Im USB Image Tool den Device Mode wählen und die Speicherkarte auswählen.

2 Auf Restore klicken, Image-Datei auswählen und Kopiervorgang


starten.

13

60351-5 Raspberry Pi für Maker_NEU Raster_06.indd 13 29.01.2015 09:20:47


Pidora Linux

8 Pidora Linux
Pidora basiert auf dem beliebten Fedora-Linux, der Communityversion von
Red Hat Linux.

1 Pidora ist im NOOBS-Installer enthalten, muss aber während der Installation


direkt auf dem Raspberry Pi aus dem Internet heruntergeladen werden.

2 Nach der Installation startet ein Konfigurationstool für die wichtigsten Ein-
stellungen. Hier muss ein Benutzer mit Passwort anlegt werden.

3 Pidora bootet mit dem xfce-Desktop, der sich in der Desktopgestaltung eher
an Mac OS orientiert, wogegen der Lxde-Desktop an Windows erinnert. Auf
dem xfce-Desktop befindet sich die Taskleiste am oberen Bildschirmrand,
ein Klick ganz links öffnet das Applications Menu mit allen installierten Pro-
grammen. Wichtige Programme sind als Schnellstartsymbole am unteren
Bildschirmrand zu finden.

Weitere Informationen unter pidora.ca.

9 Arch Linux ARM


Arch  Linux  ARM ist eine besonders schlanke, ressourcensparende Linux-
Distribution, die für den Raspberry Pi über NOOBS angeboten wird.
Arch Linux ARM ist nicht im NOOBS-Archiv enthalten, sondern muss wäh-
rend der Installation heruntergeladen werden.

14

60351-5 Raspberry Pi für Maker_NEU Raster_06.indd 14 29.01.2015 09:20:48


Betriebssystem
• Dank der flexiblen Architektur können genau die Komponenten instal-
liert werden, die man wirklich braucht. Allerdings fehlen die einsteiger-
freundlichen Tools von Raspbian, wie z. B. raspi-config.

• Arch Linux ARM basiert nicht auf Debian. Die Paketinstallation läuft über


das AUR (Arch User Repository).

• Standardmäßig gibt es keinen grafischen Desktop. Der LXDE-Desktop


kann nachinstalliert werden.

Weitere Informationen unter archlinuxarm.org und wiki.archlinux.org.

10 Betriebssysteme ohne NOOBS installieren


Betriebssysteme, die nicht bei NOOBS enthalten sind, werden über Image-
Dateien auf dem PC auf die Speicherkarte übertragen.

1 Speicherkarte mit SD-Formatter im PC neu formatieren: www.sdcard.org/


downloads/formatter. Dabei Format Size Adjustment einschalten.

2 USB Image Tool von www.alexpage.de auf dem PC installieren.

3 Im USB Image Tool den Device Mode wählen, Speicherkarte auswählen.

4 Auf Restore klicken, Image-Datei auswählen, Kopiervorgang starten.

15

60351-5 Raspberry Pi für Maker_NEU Raster_06.indd 15 29.01.2015 09:20:49


60365-2 Titelei 03.09.14 18:22 Seite 1

Christian Immler
Schnelleinstieg
Raspberry Pi
2. Auflage
V orwort

When six of us founded the Raspberry Pi Foundation in 2008, we could hardly have
imagined the scale of interest that we would see from engineers, educators and
ordinary people around the world. Having planned to produce no more than
10,000 devices for the UK education sector, we find ourselves, 15 months after
launch shipping this many devices every 2–3 days. While a majority of the 100,000
orders we took on launch day were from UK customers, the US is now our largest
global market, followed closely by Germany.
Our core focus at the Foundation remains education; using profits from the sale of
devices, and with the help of a $1m grant from Google in January 2013, we have
been rolling out Raspberry Pi kits to schoolchildren throughout the UK, developing
teaching material and encouraging the Government to invest in teacher training.
But it is the response of the maker/hacker community (to whom we sometimes
refer as »children of all ages«) who have been the greatest surprise for us. From
high-altitude balloons to garage door openers, from wildlife cameras to remote-
control boats, our challenge during our second year on the market is to connect the
wave of enthusiasm and creativity that Raspberry Pi has unleashed with our target
audience of children. We want to show them that learning about computing and
electronics can be not just educational, and a great career move, but also fantastic
fun.
The internet offers today’s children resources and learning opportunities which
weren’t available to previous generations, but printed books are a vital part of the
ecosystem and the principal source of professionally produced content. We’re
delighted to see a new German-language title enter the market, and look forward to
seeing what new projects it inspires you to create using the Raspberry Pi.
Eben Upton, Erfinder des Raspberry Pi, Juni 2013.
I nhaltsverzeichnis

1 Kleiner Computer ganz groß .................................................................... 9


1.1 Eine Himbeere verzückt die Maker-Szene .................................... 10
1.2 Das unterscheidet die verschiedenen Raspberry-Pi-Modelle........ 12
1.3 Das Betriebssystem auf dem Raspberry Pi ................................... 14
1.4 Braucht man ein Gehäuse? .......................................................... 15
1.5 Ein wenig Zubehör für die Inbetriebnahme................................... 15

2 Raspbian: Das Betriebssystem............................................................... 23


2.1 Micro-SD-Speicherkarte vorbereiten............................................ 23
2.2 Komfortable Installation mit NOOBS............................................ 25
2.3 Klassische Installation mit einem Image ...................................... 28
2.4 Raspberry Pi zum ersten Mal booten............................................ 30
2.5 Manuelle Konfiguration mit raspi-config ...................................... 32

3 LXDE: Die Benutzeroberfläche ................................................................ 39


3.1 Dateimanagement auf dem Raspberry Pi ..................................... 41
3.2 Dateien auf den PC oder vom PC kopieren.................................... 44
3.3 Der Midori-Browser...................................................................... 51
3.4 Vorinstallierte Programme in Raspbian........................................ 55
3.5 Eigene Hintergrundbilder für den Desktop ................................... 62
3.6 Via WLAN-Stick im lokalen Netzwerk............................................ 67
3.7 Mehr Leistung durch Speichertuning ........................................... 71

4 Programme aus dem Pi Store und anderen Quellen installieren ............. 75


4.1 Paketinstallation und Software-Aktualisierung ............................ 79
4.2 Synaptic liefert Hunderte von Programmen.................................. 80
4.3 Gestatten, Iceweasel. Ich vertrete Firefox..................................... 82
8 Inhaltsverzeichnis

5 Büroanwendungen auf dem Raspberry Pi ............................................... 93


5.1 LibreOffice: Alles, was man im Büro braucht ................................ 93
5.2 Ziffernblock aktivieren................................................................. 97
5.3 Dokumente drucken mit dem Raspberry Pi................................... 98

6 Einfache Linux-Befehle und Cloud-Dienste ........................................... 105


6.1 Linux-Befehle für die Dateiverwaltung ....................................... 108
6.2 Cloud-Dienste für den Datenaustausch nutzen .......................... 113
6.3 Raspberry Pi über das Heimnetz fernsteuern ............................. 119

7 Mit Spaß und Python programmieren .................................................. 135


7.1 Python-Eingabefenster starten .................................................. 135
7.2 Syntaxelemente auf kleinen Spickzetteln .................................. 137
7.3 Rate die Zahl: Das erste Spiel mit Python................................... 143
7.4 LEDs via GPIO-Ports leuchten lassen.......................................... 148
7.5 LED-Lauflichter erregen Aufmerksamkeit ................................... 156
7.6 IP-Adresse mit blinkender LED anzeigen .................................... 162
7.7 Python-Programme automatisch starten.................................... 167
7.8 IP-Adresse auf LED-Streifen anzeigen ........................................ 167

8 Noch einfacher programmieren mit Scratch ......................................... 173


8.1 Das erste Experiment mit Scratch .............................................. 175

9 Die Raspberry-Pi-Kamera ..................................................................... 177


9.1 Kamera aktivieren...................................................................... 179
9.2 Das erste Foto............................................................................ 180
9.3 Video mit der Raspberry-Pi-Kamera ........................................... 183
Büroanwendungen auf dem
5 Raspberry Pi

Wer einen Brief oder einen sonstigen Text schreiben will, braucht theoretisch keine
riesige Hardwareleistung. Zu Zeiten von Windows 3.11 konnte man auf einem
damaligen PC mit 8 MB Arbeitsspeicher und einer Festplatte im Bereich von eini-
gen Hundert MB komfortabel alle anfallenden Textverarbeitungsaufgaben erledi-
gen. Das geht heute noch genauso, die Arbeiten an sich haben sich nicht verändert.
Nur Microsoft versucht, spätestens seit MS Office 2007, den Nutzern glaubhaft zu
machen, dass ein hochgerüsteter PC mit mindestens 2 GB Speicher nötig ist, um
einen Brief zu schreiben.
Streichen Sie die Wörter »Windows« und »Microsoft Office« und besinnen Sie sich
auf die eigentliche Aufgabe, nämlich einen Brief oder gar ein Buch zu schreiben.
Ein Raspberry Pi, der im Vergleich zu PCs aus der Zeit der ersten Windows-Versi-
onen ein Vielfaches leistet, bietet eine angenehme ruhige Umgebung zum kreativen
Schreiben, ohne das ewige Rauschen von Lüfter und Festplatte.

5.1 LibreOffice: Alles, was man im Büro braucht


Das freie Office-Paket LibreOffice wurde speziell für den Raspberry Pi angepasst
und steht im Pi Store zum Download zur Verfügung. LibreOffice bietet alle Funk-
tionen eines modernen Office-Pakets: Textverarbeitung, Präsentation, Grafik und
eine Tabellenkalkulation, die selbst anspruchsvolle wissenschaftliche oder statisti-
sche Funktionen beherrscht. Neben dem von den Entwicklern präferierten Open-
Document-Format kann LibreOffice aber auch Dokumente in den bekannten
Office-Dateiformaten lesen und schreiben.
94 5 Büroanwendungen auf dem Raspberry Pi

Bild 5.1: Das Office-Paket LibreOffice gibt es auch für den Raspberry Pi.

Ist LibreOffice schlechter als Microsoft Office?


Klare Antwort: nein! Immer wieder hört man Möchtegernprofis über die
mangelhaften Funktionen freier Office-Pakete fachsimpeln. Tatsächlich
fehlen gegenüber Microsoft Office einige wenige Funktionen in der Tabel-
lenkalkulation, im Bereich automatisierter Analysen, die für ingenieurwis-
senschaftliche Berechnungen benötigt werden – aber sicher nicht im
Alltag. Dafür liefert LibreOffice ein umfangreiches Grafikprogramm auch
für Vektorgrafik sowie ein Datenbanksystem mit, was Microsoft Office in
der weit verbreiteten Home- und Student-Version völlig fehlt. Gerade bei
komplexen Programmpaketen wie Office-Lösungen gilt die alte Adminis-
tratorenweisheit: Nur 10 % der Anwender nutzen mehr als 10 % der
Funktionen eines Programms.

Sie finden das komplette LibreOffice als ein einziges Programm im Pi Store und
können es von dort mit einem Klick herunterladen und installieren. Das Paket ist
über 800 MB groß, dementsprechend dauern Download und Installation einige
5.1 LibreOffice: Alles, was man im Büro braucht 95

Zeit. Stellen Sie zuvor sicher, dass auf der Speicherkarte mindestens 1 GB Speicher-
platz frei ist.

Bild 5.2: Die Textverarbeitung LibreOffice Writer.

Nach der Installation können Sie LibreOffice direkt starten, werden aber feststellen,
dass die Benutzeroberfläche auf Englisch ist und sich in den Optionen auch nicht
umstellen lässt. Das deutsche Sprachpaket fehlt in der LibreOffice-Version aus dem
Pi Store einfach. Beenden Sie LibreOffice und geben Sie danach in einem
LXTerminal-Fenster folgende Befehlsfolge ein oder installieren Sie das Paket
libreoffice-l10n-de mit Hilfe von Synaptic:
sudo apt-get install libreoffice-l10n-de
96 5 Büroanwendungen auf dem Raspberry Pi

Damit installieren Sie das deutsche Sprachpaket nach. Nach Abschluss der Installa-
tion starten Sie LibreOffice neu. Sie finden es im Startmenü unter Büro. Benutzer-
oberfläche, Gebietsschema und Standardsprache für Dokumente wurden mit der
Installation des Sprachpakets automatisch umgestellt. Sie brauchen hier nichts
mehr von Hand einzustellen und können direkt beginnen, an Ihren Dokumenten
zu arbeiten.

Bild 5.3: Die Tabellenkalkulation LibreOffice Calc.


5.2 Ziffernblock aktivieren 97

Tipps zu LibreOffice
Für Umsteiger von Word mag LibreOffice auf den ersten Blick etwas fremd wirken.
Sie werden aber bald bemerken, dass Sie mit LibreOffice eher mehr als weniger
Möglichkeiten haben als mit Word. Ein paar Einstellungen unter Extras / Optionen
machen den Umstieg leichter.
Schalten Sie unter LibreOffice / Allgemein den Schalter LibreOffice-Dialoge ver-
wenden unter Dialoge zum Öffnen/Speichern aus. Dann verwendet LibreOffice
die gewohnten Dateidialoge der anderen Anwendungen auf dem Raspberry Pi.
Den gleichen Schalter unter Dialoge zum Drucken sollten Sie eingeschaltet lassen,
denn der Druckdialog von LibreOffice bietet mehr Möglichkeiten.
Um auf dem Raspberry Pi knappen Arbeitsspeicher zu sparen, setzen Sie unter
LibreOffice / Arbeitsspeicher die Anzahl der Schritte, die rückgängig gemacht
werden können, herab. Niemand merkt in einer Textverarbeitung einen Fehler
erst 100 Schritte später. Da Sie in Ihren Texten auf dem Raspberry Pi kaum
riesige Grafiken verarbeiten werden, setzen Sie auch die Werte unter Grafik-
Cache auf die Hälfte herab.
Schalten Sie unter LibreOffice / Zugänglichkeit die Schalter Animierte Grafiken
zulassen und Animierten Text zulassen aus. Diese Optionen kosten nur Perfor-
mance und bremsen die Darstellung auf dem Raspberry Pi unnötig aus.
Verarbeiten Sie Ihre auf dem Raspberry Pi geschriebenen Texte oft auf dem PC
mit Microsoft Office weiter, so schalten Sie das Standardformat für neue Dateien
unter Laden/Speichern / Allgemein auf Microsoft Word um und den Schalter
Immer warnen, wenn nicht im ODF-Format aus. Natürlich können Sie auch ohne
die Umstellung des Standardformats jederzeit Word-Dokumente öffnen und
speichern.

5.2 Ziffernblock aktivieren


Leider schaltet Linux von sich aus den Ziffernblock der Tastatur nicht automatisch
ein, was besonders in Office-Anwendungen lästig ist. Man tippt gewohnheitsmäßig
Zahlen über den Ziffernblock ein, ohne vorher [Num Lock] zu drücken. Statt der
Zahlen bewegt sich aber der Cursor über den Bildschirm.
98 5 Büroanwendungen auf dem Raspberry Pi

Das Problem lässt sich mit einem kleinen Programmpaket lösen:

sudo apt-get install numlockx

Dieses Paket braucht nur installiert zu sein, dann aktiviert sich der Ziffernblock
beim nächsten Neustart des Raspberry Pi automatisch.

5.3 Dokumente drucken mit dem Raspberry Pi


Wer den Raspberry Pi als leisen, stromsparenden Alltags-PC nutzt, wird immer mal
wieder auch etwas ausdrucken wollen. Einige Programme bieten die Möglichkeit,
Dokumente im PDF-Format zu speichern und dann auf jedem Computer der Welt
zu drucken – direkt aus einem beliebigen Programm vom Raspberry Pi zu drucken,
wäre aber deutlich komfortabler.
Linux-Computer verwenden zum Drucken das sogenannte Common Unix Printing
System (CUPS). Die Software wandelt die Druckaufträge von Programmen für die
jeweils verfügbaren Drucker um. Diese können lokal angeschlossen oder über das
Netzwerk verbunden sein.

Druckaufbereitung ist speicherhungrig


CUPS benötigt zur Verarbeitung der Dokumente sehr viel Arbeitsspeicher.
Bei größeren oder grafikintensiven Dokumenten kann es mit den 512 MB
RAM des Raspberry Pi eng werden. Achten Sie darauf, dass bei der
Druckaufbereitung möglichst wenige Programme nebenher laufen, die
Ressourcen verbrauchen.

Installieren Sie CUPS als Linux-Paket:

sudo apt-get install cups

CUPS verwendet eine eigene Benutzergruppe lpadmin, die festlegt, welche


Benutzer berechtigt sind, die Drucker zu verwalten und einzurichten. Fügen Sie
den Standard-Benutzer pi zu dieser Gruppe hinzu:

sudo adduser pi lpadmin


5.3 Dokumente drucken mit dem Raspberry Pi 99

Zur Verwaltung der Drucker und Druckaufträge verwendet CUPS eine komfor-
table Weboberfläche anstatt eines eigenen Programms. Starten Sie den Midori-
Browser und geben Sie dort diese Adresse ein:

http://127.0.0.1:631

Bild 5.4: CUPS wird über eine Weboberfläche im Browser konfiguriert.

Schalten Sie auf die Registerkarte Verwaltung und klicken Sie dort auf Verfügbare
Drucker auflisten. Wenn eine Aufforderung zur Anmeldung erscheint, melden
Sie sich mit dem Benutzernamen pi und dem Passwort raspberry an. Nach
kurzer Zeit werden lokal an den USB-Anschlüssen angeschlossene Drucker
sowie freigegebene Drucker im Netzwerk angezeigt, die CUPS erkennen kann.
Das sind leider nicht alle unter Windows freigegebenen Drucker.
100 5 Büroanwendungen auf dem Raspberry Pi

Bild 5.5: Mit einem Klick lässt sich ein gefundener Drucker hinzufügen.

Auf der nächsten Seite legen Sie einen eindeutigen Namen und eine Beschrei-
bung für den neuen Drucker fest.

Bild 5.6: Der maschinenlesbare Name darf bestimmte Zeichen nicht enthalten. Die
Bezeichnungen in den anderen beiden Feldern sind nur für die Wiedererkennung
durch den Benutzer wichtig und können beliebig lauten.

Nach einem Klick auf Weiter wählen Sie zunächst den Druckerhersteller und
dann den Druckertyp aus, um den passenden Treiber zu installieren. Klicken Sie
danach auf Drucker hinzufügen.
5.3 Dokumente drucken mit dem Raspberry Pi 101

Bild 5.7: CUPS liefert Treiber für zahlreiche aktuelle und auch ältere Drucker.

Auf der nächsten Seite legen Sie die Standardeigenschaften des Druckers fest, wie
unter anderem Papierformat, Papierzufuhr und Druckauflösung. Je nach Pro-
gramm, aus dem gedruckt wird, können diese Einstellungen vor jedem Druck
noch geändert werden. Stellen Sie den Drucker hier so ein, wie Sie ihn am
häufigsten verwenden werden.
102 5 Büroanwendungen auf dem Raspberry Pi

Bild 5.8: Die Grundeinstellungen für einen Drucker in CUPS werden gespeichert und
sind bei einem Neustart des Raspberry Pi ohne weiteres Zutun wieder verfügbar.

Nach einem Klick auf Standardeinstellungen festlegen wird der Drucker initiali-
siert und steht ab sofort in allen Programmen, die drucken können, zur Verfü-
gung.
5.3 Dokumente drucken mit dem Raspberry Pi 103

Bild 5.9: Wenn die Statusseite Frei, Aufträge werden akzeptiert anzeigt, ist alles in
Ordnung.

Drucken Sie im Listenfeld Wartung auf der Druckerstatusseite in CUPS eine


Druckertestseite aus, um zu prüfen, ob der Drucker funktioniert. Starten Sie
jetzt ein Programm, das drucken kann, eine Textverarbeitung, einen einfachen
Editor oder einen Browser, öffnen dann ein Dokument und wählen im Menü
die Option Drucken.
104 5 Büroanwendungen auf dem Raspberry Pi

Bild 5.10: Ein typischer Druckdialog in einem Linux-Programm.

Wählen Sie hier den Drucker aus. Wie von Windows-Druckdialogen bekannt,
können Sie auch hier wählen, welche Seiten gedruckt werden sollen. Je nach
Programm haben Sie noch Möglichkeiten zur Einrichtung von Seitenrändern
oder zur Auswahl der zu druckenden Inhalte.
60244-0 Titelei_X 28.11.12 15:59 Seite 1

E. F. Engelhardt
Coole Projekte mit
Raspberry Pi
5

Vorwort
Nicht einmal 34 Euro kostet ein Raspberry Pi – mit etwas Glück bekommen Sie auf dem
Flohmarkt dafür ein über zehn Jahres altes Gebrauchtgerät, das noch allerhand
Zusatzinvestitionen erfordert, damit es seinen vorgesehenen Zweck erfüllt. Deutlich
besser ist das Geld in einen Raspberry Pi angelegt, mit dem Sie beispielsweise nach der
Ersteinrichtung und Konfiguration sämtliche Mediendateien zu Hause zusammen-
führen und ihn anschließend als HD-Mediaplayer im Wohnzimmer nutzen können.
Insbesondere extern angeschlossene Festplatten und Netzteile beeinflussen die
Lärmentwicklung im Wohnzimmer entscheidend. Wer nicht davon gestört werden
möchte, greift auf Netzwerkfreigaben zurück und verfrachtet die Festplatten, NAS-Ser-
ver etc. in Räumlichkeiten wie Keller, Dachboden oder das Arbeitszimmer. Oder Sie
nutzen den scheckkartengroßen Computer als Steuerzentrale für sämtliche Netzwerk-
dienste – angefangen vom Datei- und Druckerzugriff bis hin zum drahtlosen AirPrint-
Drucken lässt sich so ziemlich alles mit dem Raspberry Pi anstellen.
Die Installation und Konfiguration des Raspberry Pi ist kein Hexenwerk, erfordert aber
etwas Zeit und Geduld sowie den Willen, auftretende Probleme selbst zu lösen. Denn
ein gut konfigurierter Raspberry Pi zeichnet sich dadurch aus, dass Sie aus den Arbeits-
speichermodulen die maximale Leistung herauskitzeln oder einfach nur nicht benötigte
Programme und Dienste abschalten, um Ressourcen für das Betriebssystem freizugeben.
Änderungen im grundlegenden Setup des Raspberry Pi sollten Sie grundsätzlich nur
ausführen, wenn Sie in Sachen Linux und Shell-Umgang wirklich fit sind – und das sind
Sie, wenn Sie dieses Buch nutzen. Doch wenn eine Änderung nicht den gewünschten
Effekt bringt oder ein Fehler die Konfiguration gründlich verdorben hat, bietet es sich
an, die vorgenommenen Änderungen rückgängig zu machen und den Ursprungszustand
wiederherzustellen. Mit diesem Buch werden Sie zum Raspberry-Pi-Experten – dann
bringt kein unzulässiger Eintrag ein in der Konfiguration passendes Betriebssystem zum
Stillstand.
Passend bedeutet hier: Der Raspberry Pi nutzt einen ressourcenschonenden ARM-Pro-
zessor, der auch in NAS-Systemen, Routern, Smartphones, Tablets und dergleichen zum
Einsatz kommt und vor allem den Vorteil hat, wenig Strom zu verbrauchen. Gerade
deshalb ist der Raspberry Pi auch für den Dauerbetrieb nahezu perfekt. Für diesen
besonderen Prozessortyp sind ebenfalls besondere Betriebssysteme notwendig, hier
stehen angepasste Versionen von Arch Linux, Fedora oder Debian mit allerhand
Erweiterungen zur Verfügung. Am häufigsten wird Debian eingesetzt, der Wechsel von
Release 6 Squeeze zu Version 7 mit Raspbian Wheezy ist in der stetig wachsenden Com-
munity hier auch schon vollzogen. Debian Wheezy gilt derzeit als das angesagte
Betriebssystem für den Raspberry Pi – wer es bereits auch ohne Raspberry Pi testen
möchte, greift zum kostenlosen Raspberry Pi-Image, das Sie in einer virtuellen Maschine
auf Ihrem Computer betreiben können.
7

Inhaltsverzeichnis
1 Raspberry Pi als virtuelle Maschine testen ................................................... 11
1.1 Raspberry in VMware oder Virtualbox ............................................. 11
1.1.1 Aktuell bleiben: Raspberry per Update frisch halten......................... 13
1.1.2 Netzwerkkopplung: VMware und Raspberry Pi ................................. 14
1.2 Netzwerkverbindung eth0 wiederherstellen.................................... 14
1.3 Deutsche Tastatureinstellungen verwenden.................................... 14
1.4 Bequemer surfen und Browser nachrüsten...................................... 15

2 Welches Modell: Raspberry A, B oder B2? .................................................... 19


2.1 Nötiges Zubehör für den Raspberry-Betrieb .................................... 22
2.1.1 Micro-USB-Kabel und Netzteil.......................................................... 22
2.1.2 Bildschirm und Raspberry: HDMI, FBAS oder nichts ......................... 23
2.1.3 Raspberry-Modding: passive Kühlkörper ......................................... 24

3 Raspberry Pi: Selbstbau in zwei Minuten...................................................... 25


3.1 Das Gehäuse: selber bauen oder kaufen ......................................... 25
3.1.1 Plexiglasgehäuse zum einfachen Zusammenstecken....................... 25
3.1.2 Kreativ und bunt: Legogehäuse aus der Spielzeugkiste.................... 27

4 Raspberry Pi einrichten und konfigurieren.................................................... 29


4.1 Kein Bildschirm angeschlossen? – Bootprobleme
beheben ......................................................................................... 29
4.2 SD-Karten: der Unterschied zwischen schnell und
langsam.......................................................................................... 31
4.2.1 Speicherkarte checken mit CrystalDiskMark .................................... 32
4.3 Image auswählen und auf SD-Card installieren ............................... 33
4.3.1 Inbetriebnahme: root oder pi? ......................................................... 35
4.3.2 Via Mac OS X-Konsole: Raspberry-Image aufspielen ........................ 35
4.3.3 Windows: das USB Image Tool im Einsatz........................................ 37
4.4 SD-Karte checken und partitionieren............................................... 39
4.4.1 Kein Hexenwerk: fdisk im Einsatz .................................................... 40
4.4.2 Partitionen löschen und anlegen ..................................................... 42
4.4.3 Partitionen sichern und aktivieren ................................................... 43
4.4.4 Das Dateisystem wieder anpassen .................................................. 45
4.5 Tuningmaßnahmen für den Raspberry Pi......................................... 46
8 Inhaltsverzeichnis

4.5.1 Überblick über die Systemauslastung mit htop................................ 46


4.5.2 Optimierung per Speichersplitting................................................... 47
4.5.3 Kommandozeilenfetischisten: GUI-Start unterbinden....................... 49
4.5.4 Arbeitsspeicher unterstützen: Swapdatei anlegen ........................... 50
4.5.5 Swapdatei in fstab konfigurieren ..................................................... 51
4.5.6 Dateien und Verzeichnisse via fstab optimieren .............................. 51
4.5.7 Konsolen reduzieren ....................................................................... 52

5 Ersteinrichtung: Schritt für Schritt zum perfekten System ............................ 53


5.1 Man schreibt deutsch: Konsoleneinstellungen anpassen................ 53
5.2 Konsolen-Basics: wichtige Befehle im Überblick............................. 56
5.2.1 chmod: effektive Berechtigungen .................................................... 57

6 Raspberry im Netzwerk ................................................................................ 59


6.1 Raspberry Pi über SSH steuern: PuTTY, Terminal & Co.
im Einsatz ....................................................................................... 59
6.1.1 Praktisch und sicher: Zugriff über SSH............................................. 59
6.1.2 Debian Squeeze: SSH einschalten................................................... 60
6.1.3 Keine Installation nötig: Windows-Zugriff über PuTTY....................... 61
6.1.4 Raspberry Pi per Mausklick abschalten............................................ 64
6.1.5 Mac OS X: SSH-Zugriff über die eingebaute Konsole ........................ 65
6.1.6 Ubuntu: SSH-Zugriff nachrüsten ...................................................... 67
6.2 WLAN-Adapter nachrüsten: Achtung, Chipsatz! ............................... 67
6.2.1 Treiber herunterladen und installieren............................................. 69
6.2.2 Mit Sicherheit: Netzwerkeinstellungen festlegen ............................. 71
6.2.3 WLAN in Betrieb nehmen................................................................. 72
6.3 Raspberry im Heimnetz ................................................................... 74
6.3.1 DHCP: IP-Adresse gesucht ............................................................... 74
6.3.2 Zugriff auf das Raspberry Pi-Dateisystem im Heimnetz..................... 75
6.3.3 Mac OS X mit Raspberry Pi via Samba koppeln ................................ 80
6.3.4 Windows-Ordner für Raspberry Pi im Heimnetz freigeben................. 84
6.3.5 Windows zickt beim Samba-Zugriff: Freigabeprobleme lösen........... 87

7 Wohnzimmer-PC 3.0: Smart-TV-Eigenbau ..................................................... 91


7.1 OpenELEC: laden oder kompilieren?................................................ 91
7.1.1 OpenELEC-Image herunterladen und anpassen ............................... 92
7.1.2 Inbetriebnahme eines fertigen OpenELEC-Image.............................. 92
7.2 OpenELEC besorgen, kompilieren und installieren .......................... 93
7.2.1 Vorbereitungen zum Kompilieren .................................................... 94
7.2.2 Bitte warten: OpenELEC wird gebaut................................................ 96
7.2.3 SD-Karte für OpenELEC vorbereiten.................................................. 98
7.2.4 OpenELEC auf die SD-Karte übertragen .......................................... 101
Inhaltsverzeichnis 9

7.2.5 Größere Speicherkarte? – Image per GParted vergrößern ............... 104


7.3 XBMC-Mediacenter einrichten....................................................... 107
7.3.1 OpenELEC-Einstellungen anpassen und Freigaben einrichten ........ 109
7.3.2 Administration über die Kommandozeile: SSH-Zugriff
einschalten ................................................................................... 112
7.3.3 Samba einrichten: bequemer Zugriff auf das Mediacenter ............. 113
7.3.4 Zugriff auf NFS/Samba-Freigaben im Heimnetz .............................. 118
7.3.5 NFS konfigurieren: Zugriff auf Linux/NAS-Server ............................ 119
7.3.6 CIFS/Samba konfigurieren: Zugriff auf Windows-Freigaben ............ 120
7.3.7 Praktisch: XBMC-Webserver einschalten........................................ 124
7.3.8 Wettervorhersage mit dem Wetter-Plug-in...................................... 129
7.3.9 OpenELEC: hohe CPU-Auslastung reduzieren ................................. 129
7.3.10 Mehr Funktionen: Add-ons nachrüsten, einrichten und nutzen....... 131
7.3.11 MPEG-2- und MPEG-1-Codec nachreichen...................................... 135
7.3.12 Manchmal praktisch: Screenshots erstellen .................................. 138

8 Raspberry Pi-Praxis: Projekte und Lösungen .............................................. 139


8.1 Mit VPN: sicherer Zugriff auf das Heimnetz ................................... 139
8.1.1 VPN-Verbindung zum FRITZ!Box-Heimnetz einrichten..................... 139
8.1.2 VPN-Config-Datei für FRITZ!Box erstellen........................................ 140
8.1.3 VPN-Konfiguration in FRITZ!Box importieren................................... 146
8.1.4 Sicherer Zugriff auf das Heimnetz mit Mac OS X............................. 148
8.2 Raspberry Pi als AirPrint-Server im Heimnetz ................................ 154
8.2.1 Undokumentiert: AirPrint nachrüsten............................................. 155
8.2.2 AirPrint-Drucker von Apples Gnaden .............................................. 156
8.2.3 AirPrint-Drucker mit Raspberry Pi nachrüsten................................. 156
8.2.4 CUPS und AirPrint-Funktionen herunterladen und installieren........ 159
8.2.5 Zwingend: Avahi und mDNS-Server installieren ............................. 162
8.2.6 Alle zu Hause? – Zugriff auf CUPS konfigurieren............................. 165
8.2.7 Admin-Webseite nutzen: Drucker mit CUPS koppeln ...................... 167
8.2.8 Drucker im Heimnetz zu CUPS hinzufügen und einrichten .............. 170
8.2.9 Raspberry Pi-Printserver: Netzwerkdrucker für alle ......................... 173
8.2.10 Automatische AirPrint-Installation mit Python-Skript...................... 176
8.2.11 iOS6 im Einsatz? – AirPrint auf Raspberry Pi nachrüsten ................ 178
8.2.12 Drucker via AirPrint mit iPad oder iPhone nutzen ........................... 181
8.3 AirPlay selbst gebaut: Musik im Badezimmer................................ 184
8.3.1 Klinke als Standardausgabegerät für Audio ................................... 184
8.3.2 Shairport-Paket installieren........................................................... 186
8.3.3 Shairport einrichten ...................................................................... 188
8.3.4 Shairport auf dem iPhone nutzen .................................................. 190
8.4 Anwendungsmöglichkeiten: Webcam und Raspberry Pi ................ 191
8.4.1 FFMpeg besorgen und kompilieren ................................................ 192
10 Inhaltsverzeichnis

8.4.2 FFMpeg einrichten und Konfigurationsdatei erstellen..................... 196


8.4.3 Startskript für Webcam erzeugen................................................... 197
8.4.4 Los geht’s: Live-Übertragung starten.............................................. 198
8.5 Big Brother mit dem Raspberry Pi ................................................. 199
8.5.1 Zoneminder per apt-get installieren............................................... 200
8.5.2 Zoneminder mit Apache-Webserver koppeln.................................. 201
8.5.3 Apache-Feintuning und Bug-Behebung.......................................... 203
8.5.4 Lokale Webcam für Zoneminder-Einsatz vorbereiten...................... 205
8.5.5 Raspberry-Webcam in Zoneminder einbinden................................ 208
8.5.6 Webcam-Bug von Zoneminder fixen .............................................. 211
8.5.7 Lib-JPEG-Fehlermeldung eliminieren .............................................. 214
8.6 IP-Kamera mit Raspberry Pi koppeln ............................................. 217
8.6.1 IP-Kamera in Betrieb nehmen ........................................................ 217
8.6.2 IP-Kamera konfigurieren ................................................................ 219
8.6.3 IP-Kamera mit Zoneminder koppeln............................................... 224
8.6.4 Zoneminder-Feintuning: mehr Bandbreite, mehr Qualität............... 226
8.6.5 Elektronischer Wachhund auf dem Raspberry Pi ............................ 228
8.6.6 Raspberry Pi als Fernbedienung für die Webcam nutzen ................ 232
8.6.7 Alles unter Kontrolle: IP-Kamera aus der Ferne steuern .................. 239
8.6.8 Nadelöhr oder nicht? – DSL-Geschwindigkeit testen ...................... 241
8.7 Raspberry Pi-Zugriff per DynDNS................................................... 243
8.7.1 DNS: Namen statt Zahlen .............................................................. 244
8.7.2 Dynamische DNS-Adresse einrichten............................................. 245
8.7.3 Portweiterleitung für Raspberry im DSL/WLAN-Router freigeben ..... 253
25

3 Raspberry Pi: Selbstbau in


zwei Minuten
Je nach Anwendungszweck und persönlichen Vorlieben wird die kleine, scheckkarten-
große Raspberry Pi-Platine von den Hartgesottenen ohne jeglichen Schutz in Form eines
Gehäuses etc. betrieben. Je nach Ablageort der Platine und eventuellen Witterungsein-
flüssen ist dies nicht nur nicht ratsam, sondern ein Gehäuse kann sogar zwingend erfor-
derlich sein. Seien Sie verantwortungsbewusst genug und verwenden Sie eine für den
Anwendungszweck angemessen dimensionierte und sichere Lösung. Ideen und Beispiele
für den Selbstbau bzw. den Zusammenbau eines Gehäuses bietet das Raspberry Pi-
Forum im Speziellen und das Internet im Allgemeinen zuhauf. Sie benötigen nur ein
wenig Zeit und Kreativität, um ein persönliches Schmuckstück für den Raspberry Pi zu
gestalten.

3.1 Das Gehäuse: selber bauen oder kaufen


Wer keine kreative Selbstbauader hat, der bedient sich in der Ramschzone des Internets
in den Auktionshäusern und sucht sich dort bei den zahlreichen Anbietern ein passen-
des Gehäuse aus. Hier achten Sie vor allem auf die Typbezeichnung für das Raspberry
Pi-Gehäuse – zwar sind die Raspberry Pi-Modelle nahezu identisch, doch die Anzahl der
Anschlüsse ist je nach Modell A/B1/B2 unterschiedlich, und das wirkt sich somit auch
auf das Gehäuse und die Buchsen aus. Es ist anzunehmen, dass auch die Nachfolge-
modelle ähnlich kompakt gebaut und übersichtlich designt sind.
Grundsätzlich lässt sich der Raspberry Pi aufgrund der kleinen und robusten Bauform
auch ohne Gehäuse betreiben. Je nach Anwendungszweck und Aufstellort sollten Sie
jedoch trotzdem über die Verwendung eines Gehäuses nachdenken – gerade wenn der
Raspberry Pi beispielsweise im Wohnzimmer am TV platziert wird und kleine Kinder-
finger im Haushalt auf Entdeckungsreise gehen.

3.1.1 Plexiglasgehäuse zum einfachen Zusammenstecken


Sie bekommen spottbillige Gehäuse auf dem Markt – daran ist nicht zu zweifeln. Wie
alles in der Welt hat aber auch ein ordentliches Gehäuse seinen Preis. Das beginnt bei
der Optik: Je billiger ein Gehäuse ist, desto langweiliger sieht es normalerweise aus. Die
Auswahl des richtigen Gehäuses hängt vorwiegend vom Einsatzzweck und natürlich
vom Preis ab. Grundsätzlich gilt: Je hübscher, desto besser ist die Verarbeitung und
26 Kapitel 3: Raspberry Pi: Selbstbau in zwei Minuten

desto höher der Preis. Für einen guten Kompromiss in Sachen Preis und Optik sorgen in
diesem Fall durchsichtige Plexiglasplatten.

Bild 3.1: Bastelstunde: Zunächst legen Sie sich die Einzelteile so bereit, dass Sie Schritt für
Schritt das Gehäuse um den Raspberry Pi herum zusammenstecken können.

Gute Gehäuse für den Raspberry Pi haben viele kleine Erleichterungen beim Zusam-
menbau zu bieten. Da wird die Platine in eine Gehäusehalterung geklemmt, die Sie zum
leichteren Zusammenbau einfach zusammenstecken und die auch sonst einen robusten
Eindruck macht.
Bei den Plexiglaslösungen für den Raspberry Pi müssen Sie etwas sanfter mit den
Klemmverschlüssen umgehen, denn schnell ist ein Beinchen abgebrochen. Das ist zwar
zunächst nicht weiter schlimm, da ja noch drei weitere vorhanden sind, die das Gehäuse
zusammenhalten. Allzu häufig auseinander- und zusammenbauen sollten Sie das
Gehäuse aber nicht. Das ist in der Regel auch nicht nötig, da die besseren Gehäuse die
Raspberry Pi-Anschlüsse passend aussparen und diese somit auch bequem genutzt wer-
den können.
3.1 Das Gehäuse: selber bauen oder kaufen 27

Bild 3.2: Fertig: Abgesehen vom GPIO-Anschluss lassen sich nun sämtliche Anschlüsse des
Raspberry Pi nutzen – auch die SD-Karte kann bequem gewechselt werden.

3.1.2 Kreativ und bunt: Legogehäuse aus der Spielzeugkiste


Steht vom Sohnemann noch eine Kiste Legosteine im Keller und staubt dort vor sich
hin, ist die Anschaffung des Raspberry Pi eine Gelegenheit, den Staub von der Kiste
herunterzuklopfen und mit den vorhandenen Legosteinen ein passendes Gehäuse zu
bauen.
28 Kapitel 3: Raspberry Pi: Selbstbau in zwei Minuten

Bild 3.3: Einfach, praktisch, gut: Beim Gehäusebasteln achten Sie darauf, dass für die
spätere Inbetriebnahme die Anschlüsse noch gut erreichbar bleiben.

Hier können Sie Ihrer Kreativität freien Lauf lassen: Sparen Sie beim Zusammensetzen
der Legosteine einfach die Stellen für die jeweiligen Anschlüsse – Stromversorgung, je
nach Anwendungszweck USB- und/oder LAN- bzw. HDMI/FBAS-Ausgang für den
Anschluss des Bildschirms – aus.
60275-4_Titelei_X 17.06.13 16:39 Seite 1

E. F. Engelhardt
Hausautomation mit
Raspberry Pi
5

Hausautomation mit
Raspberry Pi
Hausautomation oder Smart Home – ganz egal, welchen Begriff Sie dafür verwenden,
mit diesem Buch liegen Sie richtig, wenn Sie mit dem Raspberry Pi Schlagworte wie
Bequemlichkeit, Wohnkomfort, Stromüberwachung, Schutz vor Schimmelbefall und
Feuchtigkeit, Temperaturregelung, Energie und Geldsparen in Verbindung bringen
möchten. Smart Home, das schlaue Haus im Eigenbau – mit dem Raspberry Pi lassen
sich grundsätzlich alle Anwendungsszenarien zum Steuern, Regeln und Messen erfassen.
Jede der beschriebenen Do-it-yourself-(DIY-)Lösungen zur Realisierung des gewünschten
Anwendungszwecks kostet nur einen Bruchteil vergleichbarer kommerzieller Produkte,
sofern diese überhaupt verfügbar sind.
Bemerkt der Raspberry Pi beispielsweise über einen Sensor einen Schaden, etwa mittels
eines Feuchtigkeitssensors einen Wasserrohrbruch im Keller, sendet er umgehend eine
SMS als Schadensmeldung. Ein weiteres Beispiel: Klingelt ein Gast an der Haustür, kann
eine entsprechende Benachrichtigung beispielsweise per E-Mail an das Smartphone
gesendet werden.
Auch Stromverbrauch und Heizung lassen sich optimieren. Grundsätzlich können mit
ein klein wenig Elektronik und einem Raspberry Pi der Energieverbrauch im Alltag und
damit die Kosten erheblich gesenkt werden – wenn Sie zumindest wissen, von welcher
Seite Sie den Lötkolben anfassen müssen. Eine Voraussetzung ist, dass Sie über den
Verbrauch in den entsprechenden Räumen bzw. den Gesamtverbrauch im Detail
informiert sind. Mit dem Raspberry Pi und ein paar Sensoren vom Typ DS18B20 in
einer Schaltung baut sich die individuelle und preiswerte Temperaturüberwachungs-
lösung fast von selbst.
Doch manchmal ist es allein mit der Temperaturüberwachung nicht getan. Ein sinnvol-
ler Anwendungszweck ist etwa eine elektronische Heizungssteuerung, die, abhängig
davon, ob Sie zu Hause sind oder nicht, ob Sie Urlaub haben oder Wochenende ist,
genau die gewünschte Wohlfühltemperatur zur Verfügung stellt. Das persönliche Smart
Home gewinnt seine speziellen Eigenschaften durch die zentrale Steuerung über den
Raspberry Pi – egal, ob Sie die eine kabelgebundene Lösung über 1-Wire, TCP/IP oder
per Funkadapter mittels CUL/COC & Co. oder einen Mix daraus einsetzen. Die
Ansteuerung der verschiedenen Funksysteme im ISM-Band erfolgt über einen 868-
MHz-Funksender, der per USB an den Raspberry Pi angeschlossen wird. Die Anbindung
weiterer Aktoren ist auch über 1-Wire-Adapter, die GPIO-Anschlüsse, WLAN, Blue-
tooth und Ethernet möglich.
Eines noch: Wenn Sie sich für eine flexible und leistungsfähige Smart-Home-Lösung mit
dem Raspberry Pi entscheiden, dann müssen Sie sich selbst helfen können – die wenigs-
ten Projekte dazu sind für Anfänger geeignet. Zwar lassen sich zum Beispiel TCP/IP-
6 Hausautomation mit Raspberry Pi

Steckdosenlösungen von Rutenbeck auch vom Laien in Betrieb nehmen, den Mehrwert
in Sachen Smart Home und Automatisierung übernimmt jedoch hier der Raspberry Pi.
Sind solche kabelgebundenen Lösungen in einer einheitlichen Oberfläche wie dem
Open-Source-Projekt FHEM (Freundliche Hausautomatisierung und Energie-Messung)
gebündelt, dann zählt auch hier: Das Buch gibt Hilfe zur Selbsthilfe. Gerade FHEM hat
seine Ecken, Kanten und tückischen Fallstricke für Anfänger, teils gibt es gut dokumen-
tierte Anleitungen für den Einstieg, doch teils fehlen auch wichtige Teile der Dokumen-
tation, um die Lösung in Betrieb nehmen zu können. Damit dies nicht nur ein nettes
Spielzeug für Nerds und Skript-Kiddies bleibt, sondern auch technisch anspruchsvolle
Lösungen für die Steuerung von Geräten zu Hause möglich sind, finden Sie in diesem
Buch allerhand Möglichkeiten, Ihr Smart Home, die Hausautomatisierung, ganz
individuell einzurichten.
Wir wünschen Ihnen viel Spaß mit und vor allem viel Nutzen von diesem Buch!
Autor und Verlag
Sie haben Anregungen, Fragen, Lob oder Kritik zu diesem Buch? Sie erreichen den
Autor per E-Mail unter ef.engelhardt@gmx.de.
7

Inhaltsverzeichnis
1 Heimnetzwerk + Heimautomation = Smart Home ......................................... 11
1.1 Pflichtprogramm: LAN/WLAN-DSL-Router............................................. 11
1.1.1 Gemeinsamer Nenner: das TCP/IP-Protokoll.............................12
1.1.2 DHCP, Gerätenamen und Gateway............................................14
1.1.3 Übermittlung von IP-Adressen im Internet ................................14
1.1.4 Aus dem Internet sieht man nur den Router..............................16
1.1.5 Zugriff aus dem Internet? DynDNS konfigurieren ......................16
1.1.6 Raspberry Pi im DSL-WLAN-Router konfigurieren ......................17
1.1.7 Konfiguration einer Portfreigabe...............................................18
1.1.8 Mehr Sicherheit: Benutzerkonten absichern.............................19
1.2 Raspberry Pi als Funkzentrale: Standards und Anschlüsse ................... 20
1.2.1 Durchblick im Funk-Dschungel: FS20 Vs HomeMatic ................21
1.2.2 COC: angepasstes CUL-Modul für den GPIO-Einsatz .................22
1.2.3 CUL: USB-Alternative für den Raspberry Pi................................24
1.3 Kontra Konfigurationsfrust: FHEM im Einsatz........................................ 27
1.3.1 FHEM über die Kommandozeile installieren..............................27
1.3.2 COC-Erweiterung im Einsatz: FHEM-Startskript anpassen .........29
1.3.3 CUPS im bereits im Betrieb? Praxishürden überwinden ............31
1.3.4 Grundkonfiguration von FHEM..................................................31
1.3.5 Der erste Start von FHEM ..........................................................34
1.3.6 Mehr Sicherheit: HTTPS einschalten.........................................37
1.3.7 FHEM mit Zugriffskennwort absichern ......................................39
1.3.8 Funkkomponenten in Betrieb nehmen......................................40
1.4 Cloud-Funktionen im Eigenbau: ownCloud im Einsatz........................... 45
1.4.1 Raspberry Pi für ownCloud vorbereiten.....................................46
1.4.2 ownCloud: Installation und Konfiguration ................................51

2 Coole Projekte zum Messen, Steuern, Regeln............................................... 55


2.1 Netzausfall überwachen: Raspberry Pi als SMS-Gateway ..................... 55
2.1.1 Bluetooth-Schnittstelle und Gnokii in Betrieb nehmen .............56
2.1.2 SMS-Versand über die Kommandozeile....................................61
2.1.3 Raspberry Pi über SMS-Nachrichten steuern ............................64
2.2 Schalter im Eigenbau: GPIO ausreizen ................................................. 65
2.2.1 GPIO-Pin-Belegung aufgeklärt ..................................................66
2.2.2 GPIO-Zugriff ohne Umwege mit WiringPi ...................................67
8 Inhaltsverzeichnis

2.2.3 WiringPi: die Pin-Belegung im Detail ........................................69


2.2.4 Nummer 5 lebt: GPIO-API im Einsatz.........................................70
2.3 PIR-Wachhund im Selbstbau ................................................................ 71
2.3.1 Shell-Skript für Bewegungsmelder ...........................................74
2.3.2 PIR im Dauereinsatz: das Skript als Daemon nutzen.................75
2.3.3 WiringPi-API und Python...........................................................78
2.4 Briefkastenalarm und Benachrichtigung im Eigenbau .......................... 79
2.4.1 Reed-Schalter und Sensoren im Einsatz ...................................80
2.4.2 Shell-Skript für Schaltereinsatz ................................................81
2.5 Fotograf im Vogelhaus: Paparazzi Raspberry Pi .................................... 83
2.5.1 Fotograf im Vogelhaus: fswebcam via Shell nutzen ..................84
2.5.2 Kamera und Bewegungsmelder: Piri-Skript aufbohren..............85
2.5.3 Ohne Strom nix los: Akkupack auswählen................................87
2.5.4 Vogelhaus-Montage: kleben und knipsen ................................88
2.6 Raspberry Pi unter Strom: Smart Home im Eigenbau ............................ 89
2.6.1 Einbau und Anschluss eines Drehstromzählers ........................92
2.6.2 1-Wire-USB-Connector im Einsatz.............................................93
2.6.3 1-Wire-Bus und 1-Wire-USB-Connector prüfen..........................96
2.6.4 OWFS: kompilieren und installieren .........................................98
2.6.5 Zählermodul am Raspberry Pi in Betrieb nehmen ...................104
2.6.6 FHEM-Konfiguration für Stromzähler.......................................106
2.7 Raspberry Pi als elektronischer Wetterfrosch ..................................... 109
2.7.1 USB-Wetterstation in Betrieb nehmen ....................................110
2.7.2 pywss: mit crontab regelmäßig Daten holen...........................118
2.7.3 Wettervorhersage zu Hause: Raspberry Pi als Wetterfrosch ....119
2.8 Stromrechnung senken mit dem Raspberry Pi .................................... 125
2.8.1 Markenprodukt oder China-Ware? ..........................................126
2.9 Für Profis: IP-Steckdose im Sicherungskasten.................................... 127
2.9.1 TCR IP 4 in Betrieb nehmen ....................................................128
2.9.2 Manchmal praktisch: HTTP-Hintertür nutzen...........................131
2.9.3 Rutenbeck-Schalter über Terminal und Skript steuern ............131
2.9.4 Hacking Rutenbeck: Schalten über HTTP-Adresse...................132
2.10 TC IP 1: Apple-Design und geniale Funktionen.................................... 135
2.10.1 Waschmaschine und Trockner überwachen............................136
2.11 Für Konsolenfetischisten: Steckdose über UDP steuern...................... 138
2.11.1 UDP-Steuerung mit Python .....................................................145
2.11.2 Energiemessung und mehr: TC IP 1 WLAN und FHEM ..............146
2.12 Licht, Steckdosen oder Heizung steuern: Siri im Einsatz..................... 148
2.12.1 Siri: Sekretärin in der Hosentasche ........................................149
2.12.2 iPhone: Kontakt für Gerät erstellen und konfigurieren ............150
Inhaltsverzeichnis 9

2.13 Billigsteckdosen-Modding: Schalten über GPIO-Ausgänge................. 152


2.13.1 Taugliche Funksteckdosen finden: Fernbedienung
entscheidend!........................................................................152
2.13.2 Funksteckdosen mit GPIO von Raspberry Pi koppeln ..............154
2.13.3 China-Chip: Schaltung entschlüsselt......................................155
2.13.4 Prinzip und Aufbau ................................................................156
2.13.5 Steckdosen schalten mit der Shell .........................................160
2.13.6 Steckdosen schalten mit Python ............................................162
2.14 Baumarkt-Steckdosen und FHEM koppeln .......................................... 163
2.14.1 DIP-Schalter-Codierung entschlüsselt ....................................163
2.14.2 DIP-Schalter und FHEM verknüpfen ........................................164
2.15 Computer und Haushaltselektronik steuern ....................................... 166
2.15.1 Sicheres Login ohne Passwort: SSH Keys im Einsatz ..............167
2.15.2 NAS-Server: Netzwerkfestplatten konfigurieren ......................168
2.15.3 Raspberry Pi per Windows-Desktopverknüpfung schalten ......169
2.15.4 Manchmal trickreich: SSH-Parameter finden ..........................171
2.15.5 Windows-Computer per Shell-Kommando schalten ................172
2.15.6 Shutdown-Skript erstellen......................................................174
2.15.7 Shell-Skript und FHEM verbinden ...........................................176
2.16 Richtig abschalten: Drucker-Stand-by eliminieren ............................. 177
2.16.1 Drucker vorbereiten: CUPS installieren...................................178
2.16.2 CUPS-Backend anpassen .......................................................178
2.16.3 Skript zum Schalten der Steckdose ........................................180
2.16.4 FHEM-Konfiguration der FS20-Druckersteckdose ....................182
2.17 Garage und Türen mit dem Smartphone öffnen .................................. 185
2.17.1 Handy, Tablet & Co.: Bluetooth als Aktor................................186
2.17.2 To be or not to be Admin: root-Werkzeuge für Benutzer ..........189
2.17.3 Shell-Skript für Bluetooth-Erkennung erstellen.......................191
2.18 Türklingelbenachrichtigung per E-Mail............................................... 192
2.18.1 Vorarbeiten: Einbau des Funkmoduls in Klingel......................193
2.18.2 Schnell erledigt: Funkmodul konfigurieren .............................194
2.18.3 E-Mail auch für die Klingel: sendEmail installieren .................195
2.18.4 Shell-Fotografie mit der Klingel: fswebcam im Einsatz ............198
2.18.5 Skript für Mailversand erstellen .............................................199
2.18.6 FHEM und Raspberry Pi verheiraten........................................202
2.19 Der richtige Dreh: Heizung- und Temperatursteuerung mit
dem Raspberry Pi............................................................................... 204
2.19.1 Steckboard sei Dank: Temperaturmessung im Eigenbau ........204
2.19.2 Temperatursensor in Betrieb nehmen ....................................208
2.19.3 Funktion des Temperatursensors prüfen ................................209
2.19.4 Kernel-Module automatisch laden..........................................211
2.19.5 Heizungsverbrauch messen und dokumentieren....................212
10 Inhaltsverzeichnis

2.20 Gesund und sparsam heizen statt Geld verheizen .............................. 215
2.20.1 Funkheizkörpermodule im Einsatz .........................................217
2.20.2 Steuereinheit mit dem Funkthermostaten verheiraten ............219
2.20.3 Kopplung mit Fenster und Türen.............................................220
2.20.4 Heizungsreglereinheit mit Raspberry Pi koppeln ....................220
2.20.5 Temperaturen in Haus und Wohnung steuern.........................222
2.21 Raspberry Pi als Ninja: Ninja Blocks 2.0 pimpen................................. 224
2.21.1 Ninja Blocks 2.0 in Betrieb nehmen .......................................225
2.21.2 Grundeinstellungen und WLAN-Einrichtung............................228
2.21.3 Ninja, mach mal, aber dalli! Regeln aufstellen........................231
55

2 Coole Projekte zum


Messen, Steuern, Regeln
Der Raspberry Pi nutzt einen ressourcenschonenden ARM-Prozessor, der auch in NAS-
Systemen, Routern, Smartphones und Tablets zum Einsatz kommt und vor allem den
Vorteil hat, wenig Strom zu verbrauchen. Gerade deshalb ist der Raspberry Pi auch für
den Dauerbetrieb im Rahmen der Hausautomation nahezu perfekt geeignet. Dank der
verfügbaren Schnittstellen lässt sich alles Erdenkliche mit dem Raspberry Pi messen,
steuern und regeln.
Nutzen Sie Sensoren wie einen Temperatursensor, einen Schaltersensor und viele mehr,
um die gewünschten Anwendungsszenarien aus dem Alltag technisch abzubilden. Aber
auch dank des USB-Anschlusses lassen sich noch weitere Schnittstellen wie eine draht-
lose Bluetooth- oder WLAN-Schnittstelle nachrüsten, mit der Sie in Sachen Kontakt zur
Außenwelt noch flexibler sind. So haben Sie damit zum Beispiel die Möglichkeit, selbst
bei einem Internet-/Netzwerksausfall zu Hause auf wichtige, vorab definierte Funktio-
nen des Raspberry Pi zuzugreifen.
Oder Sie nutzen die interessante OneWire-Technik, um mit dem Raspberry Pi die
Temperaturen in Ihren Räumen kontinuierlich zu überwachen und davon abhängig die
Heizung zu steuern. Sämtliche Projekte lassen sich auf Wunsch koppeln und erweitern.
Ziel ist es, wie die weiteren Abschnitte dieses Buches zeigen, elektronische Komponenten
im Alltag zusammenzuführen, angefangen bei der Haustürklingel und dem Smartphone
bis hin zur Steckdose.

2.1 Netzausfall überwachen: Raspberry Pi als SMS-


Gateway
Fällt der Internetzugang daheim aus, ist naturgemäß auch die Benachrichtigung über
den Status der Geräte und Ereignisse per E-Mail oder Webseite nach außen nicht mehr
möglich. Mit einem alten Telefon und dem Raspberry Pi lässt sich dieses Problem
umschiffen, indem Sie kurzerhand für die Notfallbenachrichtigung in Ihrem Heimnetz
und Ihrer Smart-Home-Umgebung ein SMS-Gateway konfigurieren. Damit lassen sich
über den Raspberry Pi bequem per Kommandozeile SMS-Nachrichten versenden und
empfangen.
Die gleich vorgestellte Methode basiert auf dem aus dem Linux-Umfeld bekannten
Gnokii, das eigentlich für die Synchronisation der Smartphone-Daten mit dem Com-
puter gedacht ist. Es lässt sich jedoch auch für andere Dinge nutzen, wie zum Beispiel
56 Kapitel 2: Coole Projekte zum Messen, Steuern, Regeln

die gewünschte Schnittstelle nach außen über SMS/GSM. Grundsätzlich benötigen Sie
kein neues oder modernes Handy. Haben Sie noch ein altes, ausgemustertes Gerät in der
Schublade liegen, dann prüfen Sie, ob es noch funktioniert.
Die Unterstützung von Gnokii ist zwar auf dem ersten Blick etwas Nokia-lastig
(http://wiki.gnokii.org/index.php/Config), bringt das einzusetzende Handy jedoch eine
Bluetooth-Schnittstelle mit und haben Sie einen Bluetooth-Mini-USB-Adapter am
Raspberry Pi im Einsatz, dann lassen sich auch andere Hersteller zur Zusammenarbeit
mit Gnokii überreden. In diesem Beispiel wird als Referenz das betagte Sony Ericsson
K800i-Handy (http://wiki.gnokii.org/index.php/SonyK800iConfig) als SMS-Gateway für
den Raspberry Pi eingerichtet. Dafür wird die vorhandene Bluetooth-Schnittstelle des
Telefons genutzt.
Wie auf dem Raspberry Pi die Bluetooth-Schnittstelle in Betrieb genommen wird, lesen
Sie im Abschnitt 2.17.1 »Handy, Tablet & Co.: Bluetooth als Aktor«. Zudem sollten Sie
sich eine passende SIM-Karte besorgen, die in der Lage ist, SMS zu versenden. Hierzu
gehören auch ausreichend Guthaben auf der Karte und die dazugehörige PIN, die
jedoch abgeschaltet sein sollte, falls das Telefon seinerseits mal neu gestartet werden
muss.

2.1.1 Bluetooth-Schnittstelle und Gnokii in Betrieb nehmen


Nun zum ersten Test: Haben Sie die Bluetooth-Schnittstelle auf dem Raspberry Pi in
Betrieb genommen, aktivieren Sie auf dem Telefon die Bluetooth-Sichtbarkeit. Dies ist
bei jedem Gerät etwas unterschiedlich gelöst. In der Regel wird die Sichtbarkeit auch mit
dem Einschalten der Bluetooth-Funktion aktiviert. Nun nutzen Sie auf der Kommando-
zeile des Raspberry Pi den Befehl:

hcitool scan

um die nähere Umgebung auf verfügbare und nicht geschützte Bluetooth-Geräte hin zu
prüfen.

Bild 2.1: K800i gefunden: Ist die Bluetooth-


Sichtbarkeit des Telefons aktiviert, meldet sich
das Bluetooth-Gerät umgehend mit seiner
Bluetooth-ID sowie dem Gerätenamen zurück.

Nun ist zunächst die Voraussetzung geschaffen, Gnokii in Betrieb zu nehmen. Dafür
installieren Sie das Paket mit dem Kommando

sudo apt-get install gnokii

auf dem Raspberry Pi. Wer Gnokii lieber auf der grafischen Benutzeroberfläche des
Raspberry Pi verwenden möchte, der nutzt stattdessen:

sudo apt-get install xgnokii


2.1 Netzausfall überwachen: Raspberry Pi als SMS-Gateway 57

In diesem Fall werden die notwendigen Basispakete für die Kommandozeile per Paket-
abhängigkeiten mit installiert.

Bild 2.2: Ist Bluetooth installiert und betriebsbereit, dann installieren Sie Gnokii wie
gewohnt über die Konsole.

Nach der Installation geht es an das Konfigurieren, doch wer aus Gewohnheit umge-
hend im /etc-Verzeichnis Ausschau hält, der wird auf Anhieb keine Konfigurationsdatei
zu Gnokii finden. Zunächst hilft die Suche über das gewöhnliche find-Kommando:

sudo find / -name 'gnokii' -type d


ls /etc/xdg/gnokii

Das Suchergebnis offenbart, dass das Programm im Verzeichnis /etc/xdg/gnokii zu


finden ist. Dort finden Sie die Beispieldatei config, die Sie vom Verzeichnis /etc/xdg/
gnokii in das Home-Verzeichnis des Users pi kopieren:

cp /etc/xdg/gnokii/config.
58 Kapitel 2: Coole Projekte zum Messen, Steuern, Regeln

In diesem Fall wird gemäß der Anleitung im Wiki der Gnokii-Installation (http://wiki.
gnokii.org/index.php/Bluetooth) anschließend die Beispieldatei umbenannt:

# This is a sample ~/.gnokiirc file. Copy it into your


# home directory and name it .gnokiirc.
# See http://wiki.gnokii.org/index.php/Config for working examples.

Ist die Datei in das Home-Verzeichnis kopiert, benennen Sie sie in .gnokiirc um.

mv config .gnokiirc

Aus dieser Konfigurationsdatei holt sich Gnokii die Parameter des zu nutzenden Tele-
fons. Bei port tragen Sie die über hcitool scan ermittelte Bluetooth-Adresse ein und
stellen bei connection die Verbindung auf bluetooth um. Laut Wiki von Gnokii sind
für das Sony Ericsson K800i folgende Parameter in der Datei einzutragen:

config : Linux, Bluetooth Verbindung


port = 00:19:63:E1:AE:18
# Mit der Bluetooth Adresse des Telefons ersetzen
model = AT
connection = bluetooth
rfcomm_channel = 2

Holen Sie die passenden Parameter für Ihr Telefon aus dem Gnokii-Wiki
(http://wiki.gnokii.org/index.php) und tragen Sie sie in die Konfigurationsdatei ein. Mit
dem Kommando

sudo nano .gnokiirc

öffnen Sie die Datei und tragen die Parameter ein. Wenn Sie die Beispieldatei verwen-
den, dann achten Sie auch darauf, andere gleichlautende Attribute per vorangestelltem
Lattenzaun-Symbol # auszukommentieren, damit diese nicht doppelt und möglicher-
weise fehlerhaft beim Start von Gnokii ausgelesen werden.
2.1 Netzausfall überwachen: Raspberry Pi als SMS-Gateway 59

Bild 2.3: Übertragen Sie die Konfigurationseinstellungen für das Telefon in die Gnokii-
Konfiguration.

Die Konfigurationsdatei muss für alle lokalen User, die später auch Gnokii einsetzen
dürfen, in das Home-Verzeichnis kopiert werden. Grundsätzlich ist das auf dem
Raspberry Pi der User pi. Wollen Sie also mit FHEM, ähnlich wie bei der im Abschnitt
»Türklingelbenachrichtigung per E-Mail« beschriebenen Mail-Benachrichtigung, auch
SMS verschicken, muss die Konfigurationsdatei im Home-Verzeichnis des Benutzers
fhem abgelegt werden. Doch zuvor prüfen Sie, ob die eben angepasste Konfigurations-
datei überhaupt funktioniert. Mit dem Kommando

gnokii --identify

prüfen Sie, ob das Telefon überhaupt vom Raspberry Pi bzw. von Gnokii erkannt wird.
60 Kapitel 2: Coole Projekte zum Messen, Steuern, Regeln

Bild 2.4: Gnokii läuft zwar,


jedoch noch nicht fehlerfrei:
Hier fehlt offensichtlich ein
Verzeichnis für die
Konfigurationsdatei.

In diesem Beispiel moniert Gnokii mit der Fehlermeldung Couldn't read /home/pi/.
config/gnokii/config config file ein fehlendes Verzeichnis für die Konfigurations-
datei – auch entgegen den Wiki-Einträgen heißt die Konfigurationsdatei hier doch
wieder config und nicht .gnokiirc. Die kurze Verwirrung wird wieder besser, nachdem
folgende Kommandos im Terminal auf die Reise geschickt wurden:

mkdir -p /home/pi/.config/gnokii
mv /home/pi/.gnokiirc /home/pi/.config/gnokii/config

Anschließend starten Sie Gnokii erneut:

gnokii --identify

Die Fehlermeldung verschwindet und, wie könnte es anders sein, eine neue taucht auf:
In diesem Fall hat nämlich der Raspberry Pi mit dem Telefon Kontakt aufgenommen,
und dieses hat als Verbindungsbestätigung eine Bluetooth-Verbindungs-PIN angefor-
dert. Die Standard-PIN in solchen Fällen lautet 0000, doch hier wird sie abgewiesen –
Gnokii liefert eine Fehlermeldung:

Bild 2.5: Obwohl die Bluetooth-


Sichtbarkeit aktiviert ist, ist eine
Verbindung nicht möglich –
aufgrund offensichtlicher
Sicherheitsprobleme (Connection
refused).

Hier brachte das manuelle Setzen der Bluetooth-Verbindungs-PIN mithilfe des


Kommandos

cd /user/bin
sudo sudo bluez-simple-agent hci0 00:19:63:E1:AE:18

den durchschlagenden Erfolg, um den Raspberry Pi und das Telefon miteinander zu


koppeln.
2.1 Netzausfall überwachen: Raspberry Pi als SMS-Gateway 61

Bild 2.6: Nun lässt sich eine PIN festlegen, die Sie auf dem Telefon zum Pairing mit dem
Raspberry Pi verwenden können.

Das Pairing funktionierte in diesem Fall jedoch auch nicht auf Anhieb: Aufgrund des
sehr kurzen Zeitintervalls für die Bestätigung der PIN auf dem Telefon sollten Sie eine
einfache PIN nutzen. Nach mehreren Anläufen mit einer schnell zu tippenden PIN ist
die Zwangsheirat von Raspberry Pi und Sony Ericsson über Bluetooth letztendlich
erfolgreich.

2.1.2 SMS-Versand über die Kommandozeile


Sind der Raspberry Pi und das Telefon nun miteinander gekoppelt, dann prüfen Sie mit
dem Gnokii-Kommando
gnokii --monitor

die Umgebungsvariablen bzw. die Konfiguration des verbundenen Telefons. Hier wird
allerhand ausgegeben, es ist interessant, welche Informationen zutage treten. Falls Sie
sich einmal gefragt haben, woher die Kartenapplikation auf dem Smartphone Ihren
Standort so genau kennt – hier ist die Lösung:
Obwohl die Positionen der Handymasten und deren Zuordnung zur CellID zu den gut
gehüteten Geheimnissen der Mobilfunkbetreiber gehören und eigentlich nicht öffentlich
gemacht werden, sammeln Dienste wie Google, Apple und dergleichen so viele
Rohdaten (Zelle und Position) wie möglich, um daraus die eine wahrscheinliche Posi-
tion des Zellmittelpunkts (bzw. des Mastenstandorts) zu berechnen.
62 Kapitel 2: Coole Projekte zum Messen, Steuern, Regeln

Bild 2.7: Jeder Mobilfunkmast verfügt über eine eindeutige Bezeichung – die CellID. Damit
ist eine genaue Ortung des Geräts mit einfachen Mitteln möglich.

Abseits der technischen Spielereien können Sie mit Gnokii nun auch bequem per Kom-
mandozeile eine SMS versenden: Mit einem simplen echo-Befehl, der zwecks Ausgabe
auf Gnokii umgeleitet wird:
echo "Das ist eine Test-SMS vom Raspberry Pi" | gnokii --sendsms
+4917977XXXXX

schicken Sie eine Nachricht auf die Handynummer, die Sie am besten mit der internati-
onalen Vorwahl +49 einleiten.
2.1 Netzausfall überwachen: Raspberry Pi als SMS-Gateway 63

Bild 2.8: Unknown Fehler: Gnokii ist ratlos. Tatsächlich liegt die Ursache beim
Mobilfunkbetreiber bzw. bei der eingelegten SIM-Karte, die nicht für den Empfang und
Versand der Datendienste konfiguriert ist.

Im Beispiel wurde eine Multi-SIM von T-Mobile verwendet – nutzen Sie für das betagte
Handy eine zusätzliche Karte für das SMS-Gateway, dann funktioniert das Versenden
der SMS so lange nicht, bis die eingelegte Karte über die Nummer *222# für den
Empfang und Versand der Datendienste konfiguriert wurde. So werden sämtliche SMS-
Nachrichten auch auf das SMS-Gateway geschickt.

Bild 2.9: Ist das Telefon bzw. die SIM-Karte für den Empfang und Versand der Datendienste
konfiguriert, funkioniert auch der Versand der SMS über die Kommandozeile.

Nun können Sie die Benachrichtigungsfunktion per SMS in der Smart-Home-Logik


einsetzen. Dafür gibt es zahlreiche Anwendungsszenarien. Ist etwa der DSL-Internetzu-
gang gestört, können Sie sich umgehend per SMS benachrichtigen lassen.

#!/bin/sh
ping -c 5 www.google.de
if [[ $? != 0 ]]; then
date '+%Y-%m-%d %H:%M:%S WWW Verbindung nicht verfuegbar'| gnokii --
sendsms +4917977XXXXX
else
date '+%Y-%m-%d %H:%M:%S Verbindung verfuegbar'
echo "Web verfuegbar"
fi
60263-1_Titelei_X 27.05.13 16:29 Seite 1

Christian Immler
Linux mit
Raspberry Pi
 5

Inhaltsverzeichnis
1 Raspbian-Betriebssystem ­installieren...................................................... 10
1.1 Raspbian Wheezy: die Linux-Distribution.................................................. 11
1.2 Speicherkarte im PC vorbereiten................................................................ 12
1.3 Der erste Start auf dem Raspberry Pi.......................................................... 13
1.4 Fast wie Windows: die grafische Oberfläche LXDE.................................... 17
Eigene Dateien auf dem Raspberry Pi ............................................................. 18
1.5 Eigene Dateien auf den PC sichern oder vom PC kopieren....................... 20
Datenübertragung mit dem Total Commander................................................. 23
Komplettsicherung der SD-Karte...................................................................... 26
1.6 Persönliches Hintergrundbild auf dem Raspberry Pi................................ 27
1.7 WLAN mit dem Raspberry Pi ....................................................................... 31
wicd: das bessere WLAN-Konfigurationstool.................................................... 33

2 Diashow am Fernseher..................................................................................... 36
2.1 Bilder direkt vom PC..................................................................................... 36
2.2 Diashow mit Bildern von der SD-Karte....................................................... 38
2.3 Bilder von einer Netzwerkfestplatte auf dem R ­ aspberry Pi zeigen.......... 41
Bilder aus dem Netzwerk auf den Raspberry Pi holen...................................... 43
2.4 Diashow aus der Cloud mit dem Midori-Browser...................................... 44
Der NetSurf-Browser....................................................................................... 47
Der superschnelle Dillo-Browser..................................................................... 48
2.5 Diashow mit Nokia Windows Phones und P ­ hotoBeamer......................... 50
2.6 Chromium: der bessere Browser................................................................ 51
Tipps zum Chromium-Browser......................................................................... 52
2.7 Lesezeichen vom PC auf dem Raspberry Pi nutzen................................... 55
Lesezeichen aus Firefox und Internet Explorer übernehmen............................. 56
Lesezeichen aus Opera auf dem Raspberry Pi.................................................. 57
Delicious: Lesezeichen online verwalten......................................................... 58

3 Linux-Kommandos und Verzeichnisstruktur........................................... 59


3.1 Wichtige Kommandozeilenbefehle............................................................. 61
man: Manual-Dateien lesen............................................................................ 62
ls: Verzeichnisinhalt anzeigen......................................................................... 63
cd: Verzeichnis wechseln................................................................................ 64
pwd: aktuelles Verzeichnis anzeigen............................................................... 64
cat: Dateien anzeigen oder zusammenfügen................................................... 64
cp: Dateien kopieren....................................................................................... 64
mv: Dateien verschieben oder umbenennen................................................... 65
6 Inhaltsverzeichnis

rm: Dateien löschen........................................................................................ 65


mkdir: Verzeichnis anlegen............................................................................. 65
rmdir: Verzeichnis löschen.............................................................................. 65
3.2 Speichertuning für mehr Performance....................................................... 66
3.3 Raspberry Pi über das Netzwerk fernsteuern............................................. 68
Grafische Anwendungen vom Raspberry Pi auf dem PC nutzen........................ 71
Raspberry Pi mit dem Smartphone steuern..................................................... 76
Mit VNC den Linux-Desktop übertragen........................................................... 77
VNC-Server beim Booten automatisch starten................................................. 82
VNC mit einem Android-Tablet......................................................................... 82
3.4 Notebook als Tastatur und Monitor für den R ­ aspberry Pi nutzen............ 85

4 Programme und Spiele aus dem Pi Store................................................. 88


4.1 Klassische Linux-Paketinstallation über apt-get....................................... 91
Komfortable Paketverwaltung Synaptic........................................................... 93

5 Office und CAD auf dem Raspberry Pi........................................................ 94


5.1 LibreOffice: komplettes Office-Paket für den Raspberry Pi...................... 94
5.2 Schlanke Alternative AbiWord..................................................................... 97
5.3 Office im Browser ohne Installation........................................................... 98
5.4 Drucken mit dem Raspberry Pi ................................................................... 100
Der Raspberry Pi als Printserver im Netzwerk................................................... 105
5.5 CAD mit CADEMIA auf dem Raspberry Pi.................................................... 110
Java installieren.............................................................................................. 110
CADEMIA installieren und starten.................................................................... 113
CADEMIA-Symbol auf dem Desktop................................................................. 114

6 Coole Spiele auf dem Raspberry Pi............................................................. 116


6.1 The little crane that could............................................................................ 116
6.2 FreeCiv........................................................................................................... 117
6.3 Minecraft Pi Edition...................................................................................... 118
So funktioniert die Installation........................................................................ 118
Spielablauf und Steuerung.............................................................................. 120
Minecraft-Symbol auf den Desktop legen........................................................ 121
6.4 Retrospiele auf dem Raspberry Pi .............................................................. 123
Alte Debian-Spiele auf dem Raspberry Pi ........................................................ 123
Klassische Point-and-Click-Adventures auf dem Raspberry Pi .......................... 125
Python Games................................................................................................ 127
6.5 Emulatoren für Retrocomputer.................................................................... 130
Atari800-Emulator.......................................................................................... 130
Sinclair-ZX-spectrum-Emulator........................................................................ 134
Inhaltsverzeichnis  7

7 Der Raspberry Pi als Media Center.............................................................. 136


7.1 Raspbmc = xbmc für Raspberry Pi.............................................................. 136
Videos im xbmc Media Center......................................................................... 141
YouTube und Mediatheken.............................................................................. 143
Musik im xbmc Media Center.......................................................................... 144
Fotos im xbmc Media Center........................................................................... 147
Wetter im xbmc Media Center.......................................................................... 148
Smartphones als Fernbedienung für xbmc...................................................... 149
xbmc im Browser fernsteuern.......................................................................... 152
Raspbmc per WLAN nutzen............................................................................. 153
Raspbmc automatisch updaten....................................................................... 154

8 Pi-Point: Raspberry Pi als WLAN-­Zugangspunkt.................................. 155


8.1 Notebook mit Pi-Point verbinden................................................................ 159
8.2 Pi-Point automatisch starten....................................................................... 160
8.3 WPA2-Verschlüsselung einrichten.............................................................. 161

9 Das erste Spiel in Python................................................................................ 162


9.1 Zahlenraten................................................................................................... 163
So funktioniert es........................................................................................... 165
Text in Farbe................................................................................................... 167
9.2 Würfeln mit PyGame.................................................................................... 170
So funktioniert es........................................................................................... 172
9.3 Botschaft aus dem All.................................................................................. 176
So funktioniert es........................................................................................... 179
9.4 Labyrinth....................................................................................................... 183
So funktioniert es........................................................................................... 187
9.5 Weg durch das Labyrinth............................................................................. 191
So funktioniert es........................................................................................... 195

10 Hardware über GPIO ansteuern.................................................................... 199


10.1 Steckplatinen statt löten............................................................................. 201
LED anschließen............................................................................................. 202
LED ein- und ausschalten................................................................................ 202
LED per Shell blinken lassen........................................................................... 203
10.2 Die BerryClip-Erweiterungsplatine.............................................................. 204
BerryClip-Testprogramme................................................................................ 206
BerryClip-Schaltschema zum Selberbauen...................................................... 207
10.3 LEDs per Python-Programm leuchten lassen............................................. 208
So funktioniert es........................................................................................... 210
8 Kapitel 

10.4 LED-Würfel auf dem BerryClip..................................................................... 212


So funktioniert es........................................................................................... 212
Spielwürfel unterwegs.................................................................................... 214
Ein Würfel mit sieben Augen........................................................................... 216
So funktioniert es........................................................................................... 218
10.5 Speicherkarten-Füllstandsanzeige mit LEDs............................................. 220
So funktioniert es........................................................................................... 221

11 Der Raspberry Pi als persönlicher Server................................................ 224


11.1 Serversoftware BarracudaDrive.................................................................. 224
BarracudaDrive einrichten............................................................................... 225
BarracudaDrive im Netzwerk nutzen................................................................ 227
Echtes NAS-Laufwerk per WebDAV.................................................................. 229
Externe Festplatte mit BarracudaDrive nutzen................................................. 231
11.2 Komfortable Festplatteneinrichtung mit GParted...................................... 235
11.3 Eigene Fotogalerie mit PhotoShow und Webserver.................................. 241
PhotoShow installieren................................................................................... 242
Fotos hochladen und betrachten..................................................................... 246
Fotos direkt ins Dateisystem kopieren............................................................. 247
Die Benutzerverwaltung von PhotoShow......................................................... 248
11.4 Webserver im Internet zur Verfügung stellen............................................. 250
Portweiterleitung einrichten............................................................................ 251
no-ip-Client für den Raspberry Pi .................................................................... 253

12 Die eigene Cloud auf dem R


­ aspberry Pi.................................................... 255
12.1 Webserver vorbereiten................................................................................. 256
12.2 Eigene Festplatte für ownCloud einrichten................................................ 258
12.3 ownCloud auf dem Webserver einrichten.................................................. 260
12.4 ownCloud im Browser nutzen..................................................................... 262
Kalender und Adressbuch in ownCloud........................................................... 264
Browserlesezeichen in ownCloud ablegen....................................................... 266
12.5 Eigene Dateien vom PC automatisch mit ownCloud s­ ynchronisieren..... 268
ownCloud-Apps für Smartphones.................................................................... 272
12.6 ownCloud von außen über das Internet nutzen........................................ 273
Mehrere Server im eigenen Netzwerk.............................................................. 273
12.7 ownCloud-Ordner im Windows Explorer einbinden.................................. 274
12.8 Raspberry Pi als ownCloud-Client............................................................... 276
12.9 Die Benutzerverwaltung in ownCloud........................................................ 277
 9

13 Museumsreife Präsentation mit Pi Presents.......................................... 279


13.1 Pi Presents im Deutschen Pferdemuseum................................................. 280
13.2 Pi Presents installieren................................................................................ 282
13.3 Erster Test von Pi Presents........................................................................... 283
13.4 Audio auf dem Raspberry Pi einrichten...................................................... 284
Audioausgabe in Pi Presents........................................................................... 285
13.5 Die Möglichkeiten von Pi Presents in Beispielen...................................... 286
Steuerung mit der Tastatur.............................................................................. 287
13.6 Der Editor für Pi Presents............................................................................. 288
13.7 Abspielbare Medien..................................................................................... 290
13.8 Die verschiedenen Arten von Shows in Pi Presents.................................. 292
Startshow....................................................................................................... 292
Mediashow..................................................................................................... 293
Menü.............................................................................................................. 295
Liveshow........................................................................................................ 296
13.9 Pi Presents im Blackbox-Betrieb................................................................. 298
Der Vollbildmodus von Pi Presents.................................................................. 299
Pi Presents mit dem Starten des Raspberry Pi automatisch starten.................. 301
Pi Presents über GPIO steuern......................................................................... 302

14 Jenseits von Raspbian...................................................................................... 304


14.1 PiBang Linux................................................................................................. 304
14.2 RISC OS: das schnellere Betriebssystem................................................... 307
Deutsche Tastaturbelegung festlegen.............................................................. 308
Internet in RISC OS nutzen.............................................................................. 309
Innovative Bedienung in RISC OS.................................................................... 309
Anwendungen aus dem Store installieren....................................................... 310
14.3 BerryBoot: mehrere Betriebssysteme gleichzeitig i­nstallieren................ 311
88

4  Programme und Spiele aus dem


Pi Store
Auf dem Raspberry Pi lassen sich per Kommandozeilenbefehl apt-get install ver-
schiedenste Programme installieren, aber das ist wie auf allen Linux-Computern mit eini-
ger Kenntnis über Paketnamen und Abhängigkeiten verbunden. Das dachten sich auch die
Entwickler des Raspberry Pi und bauten den Pi Store, eine Art App Store, wie man sie von
Handys kennt. Dort sucht man sich ein Programm aus und installiert es mit einem Klick,
ohne sich um Dateinamen und Verzeichnisstrukturen kümmern zu müssen.

Ein Laden, ohne zu bezahlen: Die Bezeichnung „Store“ ist verwirrend, denn eigentlich
sind die meis­ten Anwendungen in diesem Laden kostenlos. Das Wort Store hat sich seit
dem ersten App Store auf dem iPhone für diese Art vorinstallierter Downloadarchive
durchgesetzt, die mit Windows 8 auch auf dem PC Einzug gehalten haben.

Der Pi Store ist auf aktuellen Versionen des Raspbian-Betriebssystems vorinstalliert. Falls
Sie noch eine ältere Version ohne Pi  Store verwenden, laden Sie sich den notwendigen
Downloadclient herunter.
sudo apt-get update
sudo apt-get install pistore

Auf der Webseite store.raspberrypi.com können Sie auch das gesamte Angebot des Pi Store
durchstöbern.
3.4 Notebook als Tastatur und Monitor für den R
­ aspberry Pi nutzen 89

Anmeldung für den Pi Store.

Um den Pi Store nutzen zu können, legen Sie sich über den Link Register auf der Startseite
ein kostenloses Benutzerkonto an. Dazu ist eine gültige E-Mail-Adresse nötig, eine, die
Sie auf dem Raspberry Pi selbst oder auf einem PC oder Smartphone in der Nähe lesen
können. Denn zur Anmeldung muss eine E-Mail bestätigt werden. Sollten Sie bereits ein
Benutzerkonto bei IndieCity, dem Betreiber des Pi Store, haben, können Sie es auch hier
verwenden.

Das aktuelle Angebot des Pi Store.


90 Kapitel 4  Programme und Spiele aus dem Pi Store

Nach der Anmeldung sehen Sie das Angebot des Pi Store, das zurzeit noch nicht besonders
umfangreich ist, aber sehr interessante Anwendungen und Spiele speziell für den Rasp­
berry Pi enthält. Ein Klick auf eines der Vorschaubilder zeigt eine Programmbeschreibung
und oft auch weitere Bilder sowie Links auf die Webseiten der Entwickler. Ein Klick auf
Download lädt das gewünschte Programm herunter und installiert es auch gleich.
Die meisten Programme, aber nicht alle, tragen sich bei der Installation automatisch ins
Startmenü ein oder legen ein Symbol auf dem Desktop an. Installierte Programme sind un-
ter Linux bei Weitem nicht so leicht zu finden wie auf einem Windows-PC. Deshalb zeigt
der Pi Store unter My Library oben links eine Liste aller aus dem Store installierten Pro-
gramme und Spiele. Wählen Sie hier ein Programm aus und klicken Sie rechts auf Launch,
um es zu starten. Mit dem Button Delete können Sie es auch sauber und rückstandsfrei
deinstallieren, ohne die verwendeten Linux-Pakete kennen zu müssen.

My Library enthält alle aus dem Pi Store installierten Programme.


4.1 Klassische Linux-Paketinstallation über apt-get 91

4.1 Klassische Linux-Paketinstallation über apt-get


Linux wird ständig weiterentwickelt. Dabei gibt es nicht, wie bei kommerziellen Program-
men, große Versionssprünge mit neuen Versionsnummern, sondern es werden einzelne
Komponenten unabhängig voneinander aktualisiert. Gerade eine Distribution wie Debian,
auf der Raspbian basiert, an der Hunderte von Entwicklern beteiligt sind, erfährt alle paar
Tage eine Änderung. Noch wichtiger als bei den Distributionen, die von einer Firma ver-
waltet werden, ist hier eine übersichtliche Verwaltung der einzelnen Pakete. Debian liefert
zu diesem Zweck das Paketverwaltungssystem apt-get mit, über das einzelne Programm-
pakete aktualisiert und auch zusätzliche Programme installiert werden können.
Die Bedienung von apt-get erfolgt über die Konsole. Dazu werden root-Rechte benötigt.
Rufen Sie also die Befehle immer mit sudo apt-get ... im LXTerminal auf oder ver-
wenden Sie gleich das Root-Terminal aus dem Startmenü unter Zubehör.
Die Paketverwaltung apt-get bietet diverse Optionen. Die wichtigsten sind ­apt-get up-
date und apt-get install.

• apt-get update liest die neuesten Paketlisten ein, damit die Möglichkeit besteht,
aktuelle Versionen der Pakete herunterzuladen und zu installieren. Die Pakete selbst
werden dabei nicht aktualisiert. Dazu verwendet man apt-get upgrade.
• apt-get install [Paketname] installiert ein neues Paket. Dazu muss der Paket-
name bekannt sein. Abhängige Pakete werden automatisch mit installiert.

Zeit für ein erstes Upgrade


Seit der Veröffentlichung der letzten Raspbian-Version wurden zahlrei-
che Pakete aktualisiert. Nehmen Sie sich für das erste Upgrade Zeit. Die
Komplettaktualisierung aller Pakete kann beim ersten Mal über eine Stunde
dauern.

apt-get-Befehl Wirkung
update Neue Paketinformationen holen.
upgrade Upgrade (Paketaktualisierung) durchführen.
install Neue Pakete installieren.
remove Pakete entfernen.
autoremove Alle nicht mehr verwendeten Pakete automatisch entfernen.
purge Pakete vollständig entfernen (inkl. Konfigurationsdateien).
source Quellarchive herunterladen.
build-dep Bauabhängigkeiten für Quellpakete konfigurieren.
92 Kapitel 4  Programme und Spiele aus dem Pi Store

dist-upgrade Upgrade (Paketaktualisierung) für die komplette Distribution durchführen.


dselect-up-
grade Der Auswahl von dselect folgen.
clean Heruntergeladene Archive löschen.
autoclean Veraltete heruntergeladene Archive löschen.
check Überprüfen, ob es unerfüllte Abhängigkeiten gibt.
changelog Änderungsprotokoll für das angegebene Paket herunterladen und anzeigen.
download Das Binärpaket in das aktuelle Verzeichnis herunterladen.

Die Tabelle beschreibt die weiteren Optionen von apt-get.

Um weiter in die Linux-Paketverwaltung einzusteigen, liefert Raspbian im Startmenü un-


ter Sonstige den Aptitude Package Manager mit. Damit lassen sich unter einer einfachen,
textbasierten Menüoberfläche Pakete interaktiv verwalten, installieren und nicht mehr be-
nötigte oder veralterte Pakete finden.

Unter einer spartanischen Oberfläche bietet Aptitude etwas mehr Übersicht als der
e
­ infache Kommandozeilenbefehl.

Das Menü wird über die Tastenkombination [Strg]+[T] aufgerufen und über Cursor- und
Buchstabentasten gesteuert.
4.1 Klassische Linux-Paketinstallation über apt-get 93

Komfortable Paketverwaltung Synaptic


Die kommandozeilenbasierte Paketverwaltung apt-get eignet sich gut für skriptgesteu-
erte automatisierte Prozesse, ist aber alles andere als benutzerfreundlich. Wesentlich mehr
Komfort und Möglichkeiten bietet die grafische Paketverwaltung Synaptic, die auch auf
dem Raspberry Pi läuft, aber erst installiert werden muss:
sudo apt-get update
sudo apt-get install synaptic

Nach der Installation trägt sich Synaptic automatisch im Startmenü unter Einstellungen
ein. Von dort können Sie es aufrufen, ohne ein LXTerminal zu benötigen. Beim Start müs-
sen Sie sich einmal mit dem Passwort raspberry autorisieren.
Synaptic bietet eine gute Übersicht über installierte Pakete und deren Abhängigkeiten. Alle
Befehle für die Installation, die Deinstallation oder die vollständige Entfernung werden zu-
nächst zur Ausführung vorgemerkt und dann unbeaufsichtigt hintereinander ausgeführt.
Die Installation mehrerer großer Pakete kann durch Abhängigkeiten mit anderen Paketen
manchmal sehr lange dauern.
Klicken Sie beim ersten Start von Synaptic einmal auf den Button Neu laden links oben,
um die lokale Paketdatenbank zu aktualisieren.

Installierte ­Pakete werden in der grafi­schen Paketverwaltung Synaptic mit einem


grünen Symbol angezeigt.