Christian Immler Schnelleinstieg - files.elv.com · PDF filelernen?Die Programmiersprache...

37
SCHNELLEINSTIEG RASPBERRY PI VORWORT VON EBEN UPTON 192 SEITEN ALLES DRIN: INSTALLATION, BEDIENUNG, PROGRAMMIERUNG UND ELEKTRONIK FÜR DIE PRAXIS Christian Immler FÜR RASPBERRY B+ 2. Auflage

Transcript of Christian Immler Schnelleinstieg - files.elv.com · PDF filelernen?Die Programmiersprache...

SCHNELLEINSTIEG

RASPBERRY PI

VORWORT VON

EBEN UPTON

192 SEITENALLES DRIN: INSTALLATION,

BEDIENUNG, PROGRAMMIERUNG UND ELEKTRONIK FÜR DIE PRAXIS

12,95 EUR [D] / 13,40 EUR [A]ISBN 978-3-645-60365-2

Hat Sie auch schon die Raspberry-Pi-Neugier gepackt?Der Minicomputer für weniger als 40 Euro erobert dieWelt und bietet sich für alle möglichen Projekte an:Druckserver, Mediacenter, Garagentoröffner und vielesmehr – auch als PC-Ersatz. Wussten Sie, dass es einkomplettes Officepaket für den Raspberry Pi gibt?

Installieren, konfigurieren und nutzenOb nun die Vorbereitung der SD-Karte oder die Installa-

tion mit dem Installer Noobs: Das vorliegende Buch

zeigt verständlich, wie Sie den Einstieg meistern.

Die Konfiguration für WLAN wird erklärt, ebenso die

Optimierung des Raspberry Pi. Der Minicomputer läuft

mit Linux, aber auch Windows-Benutzer fühlen sich

mit der grafischen Oberfläche LXDE schnell wie zu

Hause. Neue Programme installieren Sie übrigens am

besten über den Pi Store. Das Beste: Alle Anleitungen

gehen auch auf das neue Modell ein, den Raspberry Pi B+.

Los geht es mit eigenen Projekten!Der Raspberry Pi ist die optimale Plattform für Ihre

Projekte, ob Software oder Hardware. Die Skriptsprache

Python kennt hier keine Grenzen. Sie möchten das

Programmieren von einer ganz neuen Seite kennen-

lernen? Die Programmiersprache Scratch sorgt mit

Bildbefehlen für großen Spaß beim Coden. Die frei

programmierbare GPIO-Schnittstelle öffnet die Tür für

Hardwareprojekte. Wie Sie die GPIO ansteuern, zeigt ein

eigenes Praxisprojekt.

Über den Autor:Christian Immler,Jahrgang 1964, warbis 1998 als Dozentfür Computer AidedDesign an der Fach-hochschule Nienburg und an derUniversity of Brighton tätig. EinenNamen hat er sich mit diversen Veröffentlichungen zu Spezialthemenwie 3-D-Visualisierung, PDA-Betriebs-systemen, Linux und Windows gemacht. Seit mehr als 20 Jahren arbeitet er als erfolgreicher Autormit mehr als 100 veröffentlichtenComputerbüchern, u. a. das Buch„Linux mit Raspberry Pi“.

Aus dem Inhalt:• Raspberry Pi im Überblick

• Unterschiede zwischen denRaspberry-Pi-Modellen

• Das Betriebssystem Raspbian

• Installation mit NOOBS

• Die Benutzeroberfläche LXDE

•WLAN nutzen

• Programme installieren

• Büroanwendungen

• Programmieren mit Scratch

• Dateiverwaltung mit Linux

• Cloud-Dienste für Datenaus-tausch

• Spiele programmieren mit Python

• Elektronikprojekt mit der GPIO

• Die Raspberry-Pi-Kamera nutzen

Besuchen Sie unsere Website www.franzis.de

SCH

NEL

LEIN

STIE

GRA

SPBERRY PI

Immler

SCHNELLEINSTIEG

RASPBERRY PI

Christian Immler

FÜRRASPBERRYB+

2. Auflage2. Auflage

60365-2 U1+U4_2 03.09.14 18:21 Seite 1

Christian ImmlerSchnelleinstieg

Raspberry Pi2. Auflage

60365-2 Titelei 03.09.14 18:22 Seite 1

Christian Immler

SCHNELLEINSTIEG

RASPBERRY PI2. Auflage

60365-2 Titelei 03.09.14 18:22 Seite 3

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.

© 2014 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.

Programmleitung: Dr. Markus Stäuble

Herausgeber 1. Auflage: Ulrich Dorn

Satz: DTP-Satz A. Kugge, München

art & design: www.ideehoch2.de

Druck: CPI-Books

Printed in Germany

ISBN 978-3-645-60365-2

60365-2 Titelei 03.09.14 18:22 Seite 4

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.

Vorwort

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

I

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

Stichwortverzeichnis ........................................................................... 187

Programme aus dem Pi Store und anderen Quellen installieren

Auf dem Raspberry Pi lassen sich per Kommandozeilenbefehl apt-get install verschiedenste Programme installieren, aber das ist wie auf allen Linux-Computern mit einiger Kenntnis der Paket-namen und Abhängigkeiten verbunden. Das dachten sich auch die Entwickler des Raspberry Pi und bauten den Pi Store, eine Art App-Store, wie man ihn 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.

4

76 4 Programme aus dem Pi Store und anderen Quellen installieren

Bild 4.1: Das aktuelle Angebot des Pi Store.

Ein Laden, in dem Sie nicht bezahlen müssen Die Benennung Store hört sich verwirrend an, allerdings sind die meisten Anwendungen in diesem Laden kostenlos. Das Wort Store hat sich seit dem ersten AppStore auf dem iPhone für diese Art vorinstallierter Downloadarchive durchgesetzt, die seit Windows 8 auch auf dem PC Einzug gehalten haben.

4 Programme aus dem Pi Store und anderen Quellen installieren 77

Der Pi Store ist auf aktuellen Versionen des Raspbian-Betriebssystems vorinstal-liert. 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.

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 auslesen 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 dieses auch hier verwenden.

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 Raspberry Pi enthält. Ein Klick auf eines der Vorschaubilder zeigt eine Pro-grammbeschreibung 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.

78 4 Programme aus dem Pi Store und anderen Quellen installieren

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

Die meisten Programme, aber nicht alle, tragen sich bei der Installation automa-tisch ins Startmenü ein oder legen ein Symbol auf dem Desktop an. Installierte Programme ohne Startmenüeintrag sind unter 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 Programme und Spiele. Wäh-len 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 deinstallie-ren, ohne die verwendeten Linux-Pakete kennen zu müssen. In dieser Liste erschei-nen auch Programme, die Sie unter dem gleichen Benutzerkonto auf einer anderen Speicherkarte für den Raspberry Pi installiert haben.

Büroanwendungen auf dem 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.

5

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

Mit Spaß und Python programmieren

Der Raspberry Pi wurde ursprünglich entwickelt, um Kindern und Jugendlichen den Spaß am Programmieren und Basteln mit Elektronik nahezubringen. Zur Pro-grammierung wurde die Programmiersprache Python vorinstalliert, zum Basteln mit Elektronik befindet sich auf dem Raspberry Pi der sogenannte GPIO-Port, eine frei programmierbare Schnittstelle zum Ansteuern von LEDs und weiterer Hard-ware. Python überzeugt durch seine klare Struktur, die einen einfachen Einstieg in das Programmieren erlaubt, sie ist aber auch eine ideale Sprache, um »mal schnell« etwas zu automatisieren, was man sonst von Hand erledigen würde. Da keine Vari-ablendeklarationen, Typen, Klassen oder komplizierte Regeln zu beachten sind, macht das Programmieren wirklich Spaß.

Python 2.7.3 oder 3.3.0? Auf dem Raspberry Pi sind gleich zwei Versionen von Python vorinstal-liert. Leider verwendet die neueste Python-Version 3.x teilweise eine andere Syntax als die bewä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 Programmierung von Spielen und grafischen Bildschirmausgaben im Allgemeinen,s 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 mit dem Symbol IDLE auf dem Desktop gestartet. Hier erscheint ein auf den ersten Blick simples Eingabefenster mit einem Befehlsprompt.

7

136 7 Mit Spaß und Python programmieren

Bild 7.1: Das Eingabefenster der Python-Shell.

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

>>> 1+2

erscheint sofort die richtige Antwort:

3

Auf diese Weise lässt sich Python als komfortabler Taschenrechner verwenden, 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 kom-pletter Programmierkurs, aber ein »Hallo Welt« ist in Python derart einfach, dass es sich nicht einmal lohnt, dafür eine eigene Überschrift zu vergeben. Tippen Sie ein-fach 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).

7.2 Syntaxelemente auf kleinen Spickzetteln 137

Hier sehen Sie auch gleich, dass die Python-Shell zur Verdeutlichung automatisch verschiedene Textfarben verwendet. Python-Kommandos sind orange, Zeichen-ketten grün und Ergebnisse blau. Später werden Sie noch weitere Farben entde-cken.

7.2 Syntaxelemente auf kleinen Spickzetteln

Dieses Kapitel will kein vollständiger Python-Programmierkurs sein. Die wichtigs-ten Syntaxelemente der Sprache Python werden in Form kleiner »Spickzettel« 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 beschreiben nur anhand ganz kurzer Beispiele die Syntax, wie etwas gemacht wird. Ausführliche Program-mierbeispiele mit Hintergrundwissen folgen im nächsten Kapitel.

Ausgabe auf dem Bildschirm Um Texte oder Inhalte von Variablen im Konsolenfenster auszugeben, verwendet Python den Befehl print.

print "Hallo Welt"

name = "Fred"

print name

print "Hallo " + name + " wie geht es Dir?"

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

vorname = "Fred"

nachname = "Schmidt"

name = vorname + " " + nachname

gruss = "Hallo "

gruss += name

print gruss

138 7 Mit Spaß und Python programmieren

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

sekInMin = 60

minInStd = 60

stdInTag = 24

sekInTag = sekInMin * minInStd * stdInTag

print sekInTag

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

name = raw_input("wie ist Dein Name?")

print "Hallo " + name

alter = int(raw_input("Wie alt bist Du?"))

print "nächstes Jahr bist Du " + str(alter+1)

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.

alter=10

if alter > 16:

print "Du bist fertig mit der Schule"

a=1

if a==1:

print "gleich"

if a!=1:

print "nicht gleich"

if a<1:

print "kleiner"

if a>1:

7.2 Syntaxelemente auf kleinen Spickzetteln 139

print "größer"

if a<=1:

print "kleiner oder gleich"

if a>=1:

print "größer oder gleich"

Bedingungen mit »if«, »else« Hinter dem Programmteil, der ausgeführt wird, wenn die Bedingung erfüllt ist, kann ein weiterer Block mit dem Schlüsselwort else stehen. Der darauf folgende Programmteil wird ausgeführt, wenn die Bedingung nicht erfüllt ist.

alter=10

if alter>17:

print "Du darfst Auto fahren"

else:

print "Du bist nicht alt genug"

Bedingungen mit »if«, »elif«, »else« Gibt es mehr Alternativen als nur richtig und falsch, lassen sich mit dem Wort elif weitere Bedingungen einfügen. Diese werden nur abgefragt, wenn keine der vorhe-rigen Bedingungen wahr ist. Ist keine der Bedingungen wahr, wird der letzte Pro-grammblock hinter else ausgeführt.

alter=10

if alter<4:

print "Du bist in der Kinderkrippe"

elif alter<6:

print "Du bist im Kindergarten"

elif alter<10:

print "Du bist in der Grundschule"

elif alter<19:

print "Du bist im Gymnasium"

else:

print "Du hast die Schule verlassen"

140 7 Mit Spaß und Python programmieren

Bedingungen mit »and« und »or« verknüpfen Mehrere Bedingungen lassen sich miteinander verknüpfen. Bei einer Verknüpfung mit and müssen alle einzelnen Bedingungen erfüllt sein, bei einer Verknüpfung mit or mindestens eine.

a=1

b=2

if a>0 and b>0:

print "Beide sind nicht Null"

if a>0 or b>0:

print "Mindestens eine ist nicht Null"

Schleifen mit »for« Schleifen mit for arbeiten eine bestimmte Anzahl von Durchläufen ab. Dabei kann auch ein Wertebereich oder eine Zeichenfolge angegeben werden. Die Schleife wird dann für jedes Zeichen der Zeichenfolge einmal ausgeführt.

total=20

for n in range(total):

print n

for n in range(1,20):

print n

name="Fred"

for ch in name:

print ch

Schleifen mit »while« Schleifen mit while werden so lange ausgeführt, wie die Bedingung erfüllt ist.

# Bohnen auf einem Schachbrett

# lege 1 Bohne auf das erste Feld

# lege 2 Bohnen auf das zweite Feld

# lege 4 Bohnen auf das dritte Feld

7.2 Syntaxelemente auf kleinen Spickzetteln 141

# wie lange, bis es 1000 Bohnen sind?

felder=0

bohnen=1

total=0

while total<1000:

total += bohnen

bohnen *= 2

felder += 1

print "es dauert " + str(felder)

Die Zeilen, die mit einem # beginnen, sind Kommentare zur Verständlichkeit des Programms. Diese Zeilen werden vom Python-Interpreter nicht beachtet.

Funktionen ohne Parameter Soll ein bestimmter Programmteil mehrfach und von verschiedenen Stellen im Programm aufgerufen werden, definieren Sie eine Funktion, anstatt den Pro-grammtext immer wieder zu kopieren.

def meinname():

print "Mein Name ist Fred"

meinname()

meinname()

meinname()

Funktionen mit Parametern Definiert man mit einer Funktion einen oder mehrere Parameter, liefert die Funk-tion verschiedene Ergebnisse je nach den übergebenen Parametern.

def zeigename(name):

print "Mein Name ist " + name

def info(name, alter):

print "Mein Name ist " + name

print "Mein Alter ist " + str(alter)

zeigename("Fred")

142 7 Mit Spaß und Python programmieren

zeigename("Harry")

info("Fred", 10)

info("Harry", 20)

Funktionen mit Rückgabewert Eine Funktion kann einen Wert zurückgeben, der mit return definiert wird. Der aufrufende Programmteil kann anschließend mit dem Rückgabewert der Funktion weiterrechnen.

def quadrat(n):

return n*n

print quadrat(5)

print quadrat(10)

a=100

print quadrat(a)

print quadrat(a+10)

b=quadrat(a)

print b

Boolesche Wahr- und Falsch-Werte Kann ein Wert nur den Zustand »Wahr« (True) oder »Falsch« (False) annehmen, kann dies als boolescher Wert gespeichert und ganz einfach abgefragt werden. Es ist kein Umweg über Zahlen wie z. B. 1 oder 0 nötig.

nochmal = True

while nochmal:

print "Hallo"

antwort = raw_input("Nochmal spielen?")

if antwort != "Ja" and antwort != "ja":

nochmal = False

print "denke..."

7.3 Rate die Zahl: Das erste Spiel mit Python 143

if nochmal:

print "Noch eine Runde"

7.3 Rate die Zahl: Das erste Spiel mit Python

Anstatt uns mit Programmiertheorie, Algorithmen und Datentypen aufzuhalten, schreiben wir gleich das erste kleine Spiel in Python. Ein einfaches Ratespiel, in dem eine vom Computer zufällig gewählte Zahl vom Spieler in möglichst wenigen Schritten erraten werden soll.

www.buch.cd Alle Downloads zu diesem Buch, wie unter anderem alle Python-Pro-grammierbeispiele, finden Sie unter www.buch.cd. Geben Sie dort den auf der Rückseite dieses Buches aufgedruckten Buch-CD-Code ein.

Wählen Sie im Menü der Python-Shell File / New Window. Hier öffnet sich ein neues Fenster, in das Sie den folgenden Programmcode eintippen:

import random

zahl = random.randrange (0, 1000)

tipp = 0

i = 0

while tipp != zahl:

tipp = input("Dein Tipp:")

if tipp > zahl:

print "Die gesuchte Zahl ist kleiner als ",tipp

if tipp < zahl:

print "Die gesuchte Zahl ist größer als ",tipp

i += 1

print "Du hast die Zahl beim ",i,". Tipp erraten"

Speichern Sie die Datei über File/Save As als spiel1.py ab. Die Farbcodierung im Quelltext erscheint automatisch und hilft dabei, Tippfehler zu finden.

Noch einfacher programmieren mit Scratch

Scratch ist eine intuitive Programmierumgebung, mit der Kinder und Pro-grammierinsteiger schnell Ideen umsetzen können, ohne sich in zuerst mit Pro-grammiertheorie 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 Jugend-lichen eignet sich Scratch besonders für interaktive Animationen und Spiele. Eine grafische Oberfläche gibt bereits alle Grundlagen vor, sodass man sich um die Pro-grammierung 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 das vorinstallierte Desktopsymbol auf dem Raspbian-Desktop. Scratch startet mit einem viergeteilten Programmfenster:

8

174 8 Noch einfacher programmieren mit Scratch

Bild 8.1: Die Programmieroberfläche von Scratch.

Links befindet sich die Blockpalette mit allen Elementen, aus denen ein Scratch-Skript zusammengesetzt werden kann. Da ausschließlich vordefinierte Blöcke verwendet werden, kann der Benutzer keine Syntaxfehler machen, die beim Einstieg in andere Programmiersprachen sehr ärgerlich und frustrierend sind.

Das mittlere Feld ist am Anfang noch leer. Hier entsteht später das Skript.

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 beispiel-haft ein Objekt dar, das mit Scratch animiert werden kann.

Das Objektfenster unten rechts zeigt die im Skript verwendeten Objekte. Hier können Sie später auch selbst eigene Objekte gestalten.

Die Raspberry-Pi-Kamera

Die Raspberry Pi Foundation hat eine eigene kleine Kamera mit 5 Megapixeln für den Raspberry Pi entwickelt, die zwar von Anfang an geplant war, aber erst seit Sommer 2013 lieferbar ist. Die Kamera ist auf einer ca. 2,5 x 2,5 cm großen Platine verbaut, an der ein dünnes Flachkabel fest angeschlossen ist. Dieses Kabel wird auf dem Raspberry Pi B+ in einen speziell dafür vorgesehenen Steckplatz zwischen den Anschlüssen für Audio und HDMI eingesteckt (auf dem Raspberry Pi Modell B neben dem Netzwerkanschluss). Dazu müssen Sie zunächst die Verriegelung leicht nach oben ziehen, um sie zu lösen. Stecken Sie das Kabel der Kamera mit der blauen Seite zum Netzwerkanschluss in den Steckplatz und drücken Sie die Verrie-gelung wieder nach unten.

Bild 9.1: Anschluss der Kamera am Raspberry Pi.

9

178 9 Die Raspberry-Pi-Kamera

Auf der Kamera selbst befindet sich eine Schutzfolie, die abgezogen werden muss. Die Kamera hat ein Fixfocus-Objektiv, kann also das Bild nicht scharf stellen. Daher ist es umso wichtiger, dass sie während der Aufnahme ruhig gelagert ist. Fotos aus der Hand sind fast unmöglich. In den Ecken der Kameraplatine sind Löcher, um die Kamera irgendwo festzuschrauben. Eine sogenannte »dritte Hand«, wie man sie beim Löten zum Festhalten von Platinen und Kleinteilen benutzt, eignet sich sehr gut als Kamerastativ. Achten Sie dabei darauf, die Platine nur in den äußersten Ecken zu greifen, um keinen Kurzschluss zu verursachen. Sicher-heitshalber schützen Sie die jeweilige Platinenecke mit etwas Klebeband vor einem Kontakt mit Metallteilen oder drehen Sie eine kleine Schraube durch das Loch, an der Sie die Klemme dann anfassen.

Bild 9.2: Kamera mit Stativ am Raspberry Pi.

Infrarotkamera Die Raspberry-Pi-Kamera ist auch in einer speziellen Version als Infrarot-kamera erhältlich. Die sogenannte NoIR-Kamera ist äußerlich baugleich und verwendet auch die gleiche Software wie die normale Raspberry-Pi-Kamera.

tichwortverzeichnis

A Anwendungsstartleiste 58, 91 AppStore 75, 76 apt-get 75, 79 Audio

3,5-mm-Klinkenstecker 35 analog 35, 186 HDMI 35, 186

Audiokabel 20

B Backslash 106 Benutzer 107

pi 32, 40 root 32, 107

Benutzeranmeldung 40 Benutzeroberfläche 39, 122 Betriebssystem 14, 23

Image 28 Bildbetrachter 56, 57 bin 106 BIOS 17 boot 106 booten 30 Breadboards 151 Browser

Dillo 58

Firefox 82 Iceweasel 82 Midori 51 Netsurf 57

C cat 112 cd 111 Change Locale 33 CloudMe 114 Cloud-Speicher 113 cp 112 CUPS 98

D Dateimanagement 41 Dateimanager 40, 41, 58 Dateiname 106 Dateisystem 41 Dateityp 106 Debian 83

Paketverwaltung 79 Referenz 58

Desktop 40 Hintergrundbild 62

Desktopverknüpfung 55 dev 107

S

188 Stichwortverzeichnis

Digital Advertising Alliance 90 Dropbox 114 Druckaufträge 99 Drucker 98

Einstellungen 101 DVI-Anschluss 19, 35, 186

E Eben Upton 5 etc 107 Expand Filesystem 33

F FBAS-Videokabel 20 Fernseher 20 Festplatte 23, 107 Firefox 82

Datenabgleich 83

G Galculator 59 Gehäuse 15 GMX MediaCenter 115 Google Drive 114 GPIO 135, 148

LED 151 Nummerierung 155 Pins 149

Groß- und Kleinschreibung 106, 109

H H.264 183 HDMI-Anschluss 35, 186 HDMI-Kabel 19

Audiosignal 35

Himbeerkuchen 9 Hintergrundbild 62 home 107 Home-Verzeichnis 106, 107 hostname -I 45, 165

I Iceape 83 Icedove 83 Iceweasel 83

Datenabgleich 83 Privater Modus 87

IDLE 135 Image-Datei 50 Infrarotkamera 178 Installer 25 Internationalisation Options 33 IP-Adresse 120

SCP 45 über LED anzeigen 162 WLAN 71

K Kamera 177 Kill 56 Klinkenstecker 20 Kommandozeilenbefehle 108

L Ladegerät 16 Lautsprecher 36 Leafpad 60 LED 149

anschließen 151 lib 107

Stichwortverzeichnis 189

LibreOffice 93 deutsche Oberfläche 95 Tipps 97

Linux 14 Befehle 105 Handbuch 109 Unterschiede zu Windows 106

lost+found 107 Löten 151 ls 110 LXDE 40, 105

Hintergrundbild 66 LXTerminal 45, 60, 79, 108

Farben 109

M Maker-Szene 10 man 109 Maus 18 Mausgesten 54 media 107 memory_split 73 Microsoft Office 94 Midori Browser 51

Erweiterungen 54 Lesezeichen 52 Tipps 52

mkdir 113 mnt 107 Mozilla 83 mv 113

N Nano-Editor 122 Netzteil 16

Netzwerk 19 Netzwerkkabel 19 Neustart 35 NOOBS 25 Num Lock 97

O Office-Paket 93 OMXPlayer 183 opt 107

P Paketinstallation 79 Passwort 40 Pfeiltasten 60 Pi Store 75

Fernbedienung 128 Pop-up-Blocker 85 proc 107 Programmieren

Python 135 Scratch 173

Prozesse beenden 56 PuTTY 119 pwd 112 Python 135

Auto-Programmstart 167 Bedingungen 138 Bildschirmausgabe 137 Einrückungen 147 Flashcards 137 Funktion 141 GPIO-Bibliothek 153 if 147 IP-Adresse anzeigen 162

190 Stichwortverzeichnis

LED-Lauflichter 156 LEDs 148 Number-Variablen 138 Rate die Zahl 143 Schleifen 140 Shell 135 String-Variablen 137 Syntaxelemente 137 try 160 Umlaute 144 while 147 Zufallsgenerator 146

Q QWERTZ-Tastaturlayout 35

R RAM 13 Raspberry Pi 9

ausschalten 40 booten 30 fernsteuern 119

Raspberry Pi B+ 10 Raspberry Pi Compute Modul 13 Raspberry Pi Foundation 11 Raspberry-Pi-Kamera 177

aktivieren 179 Fotografieren 180 Video 183

Raspbian 14, 23 Installation mit NOOBS 26 vorinstallierte Programme 55

raspi-config Audio 36 Kamera aktivieren 179

Speichertuning 71 Sprache 33 SSH 35 Zeitzone 31

raspistill 180 raspivid 183 rm 113 rmdir 113 root 107 Root Terminal 61, 79 Router 19 Routerkonfiguration 120 run 108

S sbin 108 SCP 44 Scratch 173 SDFormatter 24 selinux 108 Speicherbelegung 71 Speicherkarte 15, 17, 23

formatieren 24, 28 freier Platz 43 Komplettsicherung 50

Speichertuning 71 srv 108 SSH-Server 35 SSH-Verbindung 35, 119

X11 122 Standardbrowser 91 Startmenü 40, 55 Steckplatinen 151 Stromversorgung 16 sudo 32, 61

Stichwortverzeichnis 191

Synaptic 80 sys 108 Systemwerkzeuge 56, 71

T Taschenrechner 59

Python 136 Taskmanager 56, 71 Tastatur 17

deutsch 33 QWERTZ 35

TBOPlayer 183 Text schreiben 93 Texteditor 60 tmp 108 Total Commander 48 Touchpad 18 TV-Karte 22

U Uhrzeit 19, 37 UltraVNC 130 USB Image Tool 28, 51 USB-Anschluss 17 USB-Stick 107 User Agent String 53 usr 108

V var 108 Verzeichnisbaum 43 VGA-Monitor 19 Video 183

abspielen 183 H.264 183

Virtual Network Computing 128 VNC 128

Server starten 134

W W3-Konsortium 90 Web.de Online-Speicher 115 WebDAV 114 WebDAV-Laufwerke 116 WiFi Config 69, 71 Wikipedia 53 WinSCP 44 WLAN 67 www.buch.cd 143 www.softwarehandbuch.de/raspberry-pi

10

X X11 forwarding 122 X11VNC 129 Xarchiver 61 Xming 123

Z Zeiteinstellung 37 Zeitzone 31 Ziffernblock 97 zip-Format 61 Zubehör 15, 56 Zufallszahlen 146