Sie sind hier
E-Book

Raspberry Pi programmieren mit Python

AutorMichael Weigend
VerlagMITP Verlags GmbH & Co. KG
Erscheinungsjahr2016
Reihemitp Professional 
Seitenanzahl464 Seiten
ISBN9783958454309
FormatPDF/ePUB
KopierschutzWasserzeichen/DRM
GerätePC/MAC/eReader/Tablet
Preis25,99 EUR
Alle Python-Grundlagen, die Sie für Ihren Raspberry Pi 3 brauchen Projekte mit Temperatur-Sensoren, Relais und AD-Wandlern Einsatz von Peripheriegeräten wie Kameramodul und Lautsprecher Der Raspberry Pi ist ein preiswerter und äußerst energiesparsamer Computer in der Größe einer Kreditkarte. In Kombination mit der Programmiersprache Python bietet er eine hervorragende Umgebung für die schnelle Realisierung technischer Ideen und Projekte. Und Python ist - auch für Programmiereinsteiger - einfach zu lernen und deshalb Teil des Gesamtkonzeptes des Raspberry Pi. Dieses Buch vermittelt Ihnen anhand vieler anschaulicher Beispiele sowohl die Grundlagen von Python als auch fortgeschrittene Techniken wie Objektorientierung, Internetprogrammierung und grafische Benutzungsoberflächen. Nach dem Erlernen der Programmierkonzepte finden Sie besonders in der zweiten Hälfte des Buches eine Fülle von kleinen Projekten, die auf die besondere Hardware des Raspberry Pi und das Linux-Betriebssystem Raspbian zugeschnitten sind. Zur Vorbereitung jedes Projekts werden zunächst neue Elemente der Python-Programmierung eingeführt. Zahlreiche Illustrationen und einfache Beispiele zum Ausprobieren erleichtern das Verständnis. Zu den vielfältigen Projekten im Buch gehören Schaltungen mit Temperatur-Sensoren, Relais, AD-Wandlern und LEDs. Sie erfahren, wie man Peripheriegeräte wie das Kameramodul anschließt und den 1-Wire- sowie den SPI-Bus zur Datenkommunikation nutzt. Am Ende jedes Kapitels finden Sie Aufgaben und Lösungen, mit denen Sie Ihr Wissen festigen, erweitern und vertiefen können. Aus dem Inhalt: Namen und Zuweisungen Kontrollstrukturen Kollektionen: Mengen, Listen, Tupel, Dictionaries Verarbeitung von Strings Funktionen Grafische Benutzungsoberflächen Dateien und Ressourcen aus dem Internet Zeitfunktionen und Threads Objektorientierte Programmierung Webserver und CGI-Skripte Einsatz von Datenbanken Projekte mit dem Raspberry Pi: Gerätesteuerung Messwerterfassung und -visualisierung Interaktive Spiele Animationen und Simulationen Automatische Textproduktion und Editoren Digitale Bildverarbeitung Morsezeichen senden und Signalmuster erkennen Uhren und Kalender Farben und Bewegung wahrnehmen Steuerung mit Potentiometer und AD-Wandler Auswertung von Daten aus dem Internet Webserver und interaktive Webcam

Michael Weigend ist Informatiklehrer und hat bereits mehrere Bücher zu Python geschrieben wie z.B. Python Ge-Packt.

Kaufen Sie hier:

Horizontale Tabs

Leseprobe

Kapitel 1: Begegnung mit Python


In diesem Kapitel verwenden Sie Python im interaktiven Modus. Sie geben in der Kommandozeile der Python-Shell einzelne Befehle ein, die der Python-Interpreter sofort ausführt. Sie lernen Operatoren, Datentypen, die Verwendung von Funktionen und den Aufbau von Termen kennen. Dabei bekommen Sie einen ersten Eindruck vom Charme und der Mächtigkeit der Programmiersprache Python. Ich gehe davon aus, dass Sie bereits ein fertig konfiguriertes Computersystem besitzen, bestehend aus SD-Karte, Tastatur, Netzteil, Monitor und natürlich – als Herzstück – den Raspberry Pi, der meist als RPi abgekürzt wird. Auf der SD-Speicherkarte ist als Betriebssystem Raspbian installiert.

Falls Sie noch nicht so weit sind, können Sie in Anhang A nachlesen, welche Komponenten Sie benötigen und wie Sie bei der Einrichtung Ihres RPi-Systems vorgehen.

1.1  Was ist Python?


Python ist eine Programmiersprache, die so gestaltet wurde, dass sie leicht zu erlernen ist und besonders gut lesbare Programmtexte ermöglicht. Ihre Entwicklung wurde 1989 von Guido van Rossum am Centrum voor Wiskunde en Informatica (CWI) in Amsterdam begonnen und wird nun durch die nichtkommerzielle Organisation »Python Software Foundation« (PSF, http://www.python.org/psf) koordiniert. Das Logo der Programmiersprache ist eine stilisierte Schlange. Dennoch leitet sich der Name nicht von diesem Schuppenkriechtier ab, sondern soll an die britische Comedy-Gruppe Monty Python erinnern.

Ein Python-Programm – man bezeichnet es als Skript – wird von einem Interpreter ausgeführt und läuft auf den gängigen Systemplattformen (Unix, Windows, Mac OS). Ein Programm, das auf Ihrem Raspberry Pi funktioniert, läuft in der Regel auch auf einem Windows-Rechner. Python ist kostenlos und kompatibel mit der GNU General Public License (GPL).

Python ist objektorientiert, unterstützt aber auch andere Programmierparadigmen (z.B. funktionale und imperative Programmierung). Python ist eine universelle Programmiersprache mit vielen Einsatzmöglichkeiten. Es wird in der Wissenschaft und Technik verwendet (z.B. im Deutschen Zentrum für Luft- und Raumfahrt), aber auch für visuell-kreative Projekte (z.B. bei Disney zur Entwicklung von Computerspielen). Python hat gegenüber älteren Programmiersprachen drei Vorteile:

  • Python ist leicht zu erlernen und hat eine niedrige »Eingangsschwelle«. Ohne theoretische Vorkenntnisse kann man sofort die ersten Programme schreiben. Im interaktiven Modus kann man einzelne Befehle eingeben und ihre Wirkung beobachten. Es gibt nur wenige Schlüsselwörter, die man lernen muss. Gewohnte Schreibweisen aus der Mathematik können verwendet werden, z.B. mehrfache Vergleiche wie 0 < a < 10.

  • Python-Programme sind kurz und gut verständlich. Computerprogramme werden von Maschinen ausgeführt, aber sie werden für Menschen geschrieben. Software wird meist im Team entwickelt. Programmtext muss für jedermann gut lesbar sein, damit er verändert, erweitert und verbessert werden kann. Der berühmte amerikanische Informatiker Donald Knuth hat deshalb schon vor drei Jahrzehnten vorgeschlagen, Programme als Literatur zu betrachten, so wie Romane und Theaterstücke. Nicht nur Korrektheit und Effizienz, auch die Lesbarkeit ist ein Qualitätsmerkmal.

  • Programme können mit Python nachweislich in kürzerer Zeit entwickelt werden als mit anderen Programmiersprachen. Das macht Python nicht nur für die Software-Industrie interessant; auch Universitäten verwenden immer häufiger Python, weil so weniger Zeit für den Lehrstoff benötigt wird.

1.2  Python-Versionen


Auf Ihrem Raspberry Pi (der meist mit RPi abgekürzt wird) sind zwei Versionen von Python installiert:

  • Python 2 in der Version Python 2.7

  • Python 3 in der Version Python 3.4

Dieses Buch bezieht sich fast ausschließlich auf das modernere Python 3. Aber es ist wichtig zu wissen, dass es noch eine andere Version gibt. Python 3 ist nicht kompatibel zu Python 2. Das heißt, ein Python-3-Interpreter kann mit einem Programm, das in Python 2 geschrieben worden ist, in der Regel nichts anfangen.

Das neuere Python 3 ist konsistenter und konzeptionell »sauberer«. Das bedeutet, es gibt mehr Regelmäßigkeit und weniger Ausnahmen. Deshalb ist Python 3 vielleicht etwas leichter zu erlernen und die Programme, die in Python 3 geschrieben worden sind, sind etwas leichter zu durchschauen. Aber groß sind die Unterschiede nicht.

Beide Versionen existieren parallel. Auch Python 2 wird weiterhin gepflegt. Warum eigentlich? Nun, es gibt viele Module für spezielle Anwendungen (z.B. für die Bildbearbeitung und wissenschaftliche Berechnungen), die in Python 2 geschrieben worden sind. Ein Modul ist eine Sammlung von Programmtexten, die man wiederverwenden kann. In vielen Fällen wäre es zu aufwendig (und zu teuer), diese Module umzuschreiben. Wenn jemand ein Projekt plant, das auf Python-2-Modulen aufsetzt, muss er notgedrungen auch für seine eigenen Programmtexte Python 2 verwenden.

1.3  IDLE


Zur Standardinstallation von Python gehört eine integrierte Entwicklungsumgebung namens IDLE. Der Name erinnert an den englischen Schauspieler, Autor und Komponisten Eric Idle, ein Mitglied der Comedy-Gruppe Monty Python.

IDLE besteht im Wesentlichen aus drei Komponenten:

  • Die Python-Shell. Wenn Sie IDLE starten, öffnet sich zuerst das Python-Shell-Fenster. Die Shell ist eine Anwendung, mit der Sie direkt mit dem Python-Interpreter kommunizieren können: Sie können auf der Kommandozeile einzelne Python-Anweisungen eingeben und ausführen lassen. Ein Python-Programm, das eine Bildschirmausgabe liefert, gibt diese in einem Shell-Fenster aus.

  • Der Programmeditor. Das ist eine Art Textverarbeitungsprogramm zum Schreiben von Programmen. Sie starten den Programmeditor vom Shell-Fenster aus (File|New Window).

  • Der Debugger. Er dient dazu, den Lauf eines Programms zu kontrollieren, um logische Fehler zu finden.

1.3.1  Die Python-Shell


Anweisungen sind die Bausteine von Computerprogrammen. Mit der Python-Shell können Sie einzelne Python-Anweisungen ausprobieren. Man spricht auch vom interaktiven Modus, weil Sie mit dem Python-Interpreter eine Art Dialog führen: Sie geben über die Tastatur einen Befehl ein – der Interpreter führt ihn aus und liefert eine Antwort.

Öffnen Sie das Shell-Fenster der Python-3-Version auf Ihrem Rechner (Menu|Entwicklung|Python 3 (IDLE)). Da Sie ständig mit Idle arbeiten werden, lohnt es sich, das Programmicon auf den Desktop zu bringen. Das geht so: Sie klicken mit der rechten Maustaste auf das Icon Python 3 und wählen im Kontextmenü den Befehl Dem Desktop hinzufügen. Die Python-Shell meldet sich immer mit einer kurzen Information über die Version und einigen weiteren Hinweisen.

Abb. 1.1: Die Python-Shell der Entwicklungsumgebung IDLE

Die unterste Zeile beginnt mit einem Promptstring aus drei spitzen Klammern >>> als Eingabeaufforderung. Das ist die Kommandozeile. Hinter dem Prompt können Sie eine Anweisung eingeben. Wenn Sie die Taste Enter drücken, wird der Befehl ausgeführt. In den nächsten Zeilen kommt entweder eine Fehlermeldung, ein Ergebnis oder manchmal auch keine Systemantwort. Probieren Sie aus:

>>> 2+2 4

Hier ist die Anweisung ein mathematischer Term. Wenn Sie Enter drücken, wird der Term ausgewertet (also die Rechnung ausgeführt) und in der nächsten Zeile (ohne Prompt) das Ergebnis dargestellt.

>>> 2 + SyntaxError: invalid syntax

Jetzt haben Sie einen ungültigen Term eingegeben (der zweite Summand fehlt). Dann folgt eine Fehlermeldung.

>>> a = 1257002 >>>

Eine solche Anweisung nennt man eine Zuweisung. Der Variablen a wird der Wert 1257002 zugewiesen. Dabei ändert sich zwar der Zustand des Python-Laufzeitsystems (es merkt sich eine Zahl), aber es wird nichts ausgegeben. Sie sehen in der nächsten Zeile sofort wieder das Prompt. Die gespeicherte Zahl können Sie wieder zum Vorschein bringen, indem Sie den Variablennamen eingeben:

>>> a 1257002

1.3.2  Hotkeys


Um effizient mit der Python-Shell arbeiten zu können, sollten Sie einige Tastenkombinationen (Hotkeys) beherrschen.

Manchmal möchten Sie ein früheres Kommando ein zweites Mal verwenden – vielleicht mit kleinen Abänderungen. Dann benutzen Sie die Tastenkombination Alt+P. Beispiel:

>>> 1 + 2*3 + 4 11 >>>

Wenn Sie jetzt einmal die Tastenkombination Alt+P betätigen, erscheint hinter dem letzten Prompt wieder das vorige Kommando (previous):

>>> 1 + 2*3 + 4

Wenn Sie nochmals diesen Hotkey drücken, verschwindet der Term wieder und es erscheint das vorletzte Kommando, beim nächsten Mal das vorvorletzte und so weiter. Die Shell merkt sich alle Ihre Eingaben in einer Folge, die man History nennt. Mit Alt+P und Alt+N können Sie in der History rückwärts- und vorwärtsgehen (Abbildung 1.2).

Abb. 1.2: Navigieren in der History mit...

Blick ins Buch
Inhaltsverzeichnis
Cover1
Impressum4
Inhaltsverzeichnis5
Einleitung15
Kapitel 1: Begegnung mit Python19
1.1 Was ist Python?19
1.2 Python-Versionen20
1.3 IDLE21
1.3.1 Die Python-Shell21
1.3.2 Hotkeys23
1.4 Die Python-Shell als Taschenrechner24
1.4.1 Operatoren und Terme24
1.4.2 Zahlen25
1.4.3 Mathematische Funktionen29
1.5 Hilfe34
1.6 Namen und Zuweisungen35
1.6.1 Zuweisungen für mehrere Variablen37
1.6.2 Rechnen mit Variablen in der Shell37
1.6.3 Syntaxregeln für Bezeichner38
1.6.4 Neue Namen für Funktionen und andere Objekte39
1.6.5 Erweiterte Zuweisungen39
1.7 Mit Python-Befehlen Geräte steuern40
1.7.1 Projekt: Eine LED ein- und ausschalten40
1.7.2 Das Modul RPI.GPIO42
1.7.3 Steuern mit Relais43
1.7.4 Projekt: Eine Taschenlampe an- und ausschalten44
1.8 Aufgaben46
1.9 Lösungen49
Kapitel 2: Python-Skripte51
2.1 Ein Skript mit IDLE erstellen51
2.1.1 Ein neues Projekt starten51
2.1.2 Programmtext eingeben52
2.1.3 Das Skript ausführen52
2.1.4 Shortcuts53
2.2 Programme ausführen53
2.2.1 Programm in der Konsole starten53
2.2.2 Anklicken des Programmicons im File-Manager55
2.3 Interaktive Programme – das EVA-Prinzip57
2.3.1 Format mit Bedeutung – Aufbau eines Python-Programmtextes58
2.3.2 Eingabe – die input()-Funktion59
2.3.3 Verarbeitung – Umwandeln von Datentypen und Rechnen59
2.3.4 Ausgabe – die print()-Funktion60
2.4 Programmverzweigungen61
2.4.1 Einfache Bedingungen62
2.4.2 Wie erkennt man eine gute Melone? Zusammengesetzte Bedingungen64
2.4.3 Einseitige Verzweigungen und Programmblöcke65
2.4.4 Haben Sie Ihr Idealgewicht?66
2.4.5 Eine Besonderheit von Python: Wahrheitswerte für Objekte69
2.5 Bedingte Wiederholung – die while-Anweisung70
2.5.1 Projekt: Zahlenraten71
2.5.2 Have a break! Abbruch einer Schleife72
2.6 Projekte mit dem GPIO72
2.6.1 Blinklicht73
2.6.2 Schalter73
2.6.3 Zähler75
2.6.4 Grundzustände festlegen und Flankensteuerung76
2.7 Projekt: Eine Alarmanlage77
2.7.1 Aufbau und Arbeitsweise der Alarmanlage77
2.7.2 Programmierung78
2.8 Aufgaben81
2.9 Lösungen83
Kapitel 3: Kollektionen: Mengen, Listen, Tupel und Dictionaries87
3.1 Die Typhierarchie87
3.2 Gemeinsame Operationen für Kollektionen89
3.3 Kollektionen in Bedingungen90
3.3.1 Projekt: Kundenberatung91
3.3.2 Projekt: Sichere Kommunikation91
3.4 Iteration – die for-Anweisung92
3.4.1 Verwendung von break93
3.5 Sequenzen94
3.5.1 Konkatenation und Vervielfältigung94
3.5.2 Direkter Zugriff auf Elemente – Indizierung95
3.5.3 Slicing95
3.5.4 Projekt: Lesbare Zufallspasswörter96
3.6 Tupel98
3.7 Zeichenketten (Strings)99
3.7.1 Strings durch Bytestrings codieren100
3.7.2 Der Formatierungsoperator %101
3.8 Listen102
3.8.1 Listen sind Objekte und empfangen Botschaften102
3.8.2 Klasse, Typ und Instanz104
3.8.3 Kopie oder Alias?104
3.8.4 Listenoperationen105
3.8.5 Projekt: Zufallsnamen107
3.8.6 Projekt: Telefonliste108
3.8.7 Listen durch Comprehensions erzeugen109
3.9 Zahlen in einer Folge – range()-Funktion110
3.10 Projekt: Klopfzeichen111
3.11 Mengen115
3.11.1 Projekt: Häufigkeit von Buchstaben in einem Text116
3.12 Projekt: Zufallssounds117
3.12.1 Wie kommen Töne aus dem Raspberry Pi?117
3.12.2 Sounds mit PyGame118
3.12.3 Programmierung119
3.13 Dictionaries120
3.13.1 Operationen für Dictionaries122
3.13.2 Projekt: Morsen123
3.14 Projekt: Der kürzeste Weg zum Ziel124
3.15 Aufgaben127
3.16 Lösungen129
Kapitel 4: Funktionen131
4.1 Aufruf von Funktionen131
4.1.1 Unterschiedliche Anzahl von Argumenten132
4.1.2 Positionsargumente und Schlüsselwort-Argumente132
4.1.3 Für Experten: Funktionen als Argumente133
4.2 Definition von Funktionen134
4.3 Funktionen in der IDLE-Shell testen136
4.4 Docstrings136
4.5 Veränderliche und unveränderliche Objekte als Parameter137
4.6 Voreingestellte Parameterwerte139
4.7 Beliebige Anzahl von Parametern140
4.8 Die return-Anweisung unter der Lupe141
4.9 Mehr Sicherheit! Vorbedingungen testen143
4.10 Namensräume: Global und lokal145
4.11 Rekursive Funktionen – die Hohe Schule der Algorithmik147
4.11.1 Projekt: Rekursive Summe147
4.11.2 Projekt: Quicksort148
4.12 Experimente zur Rekursion mit der Turtle-Grafik149
4.12.1 Turtle-Befehle im interaktiven Modus149
4.12.2 Projekt: Eine rekursive Spirale aus Quadraten151
4.12.3 Projekt: Pythagorasbaum153
4.12.4 Projekt: Eine Koch-Schneeflocke155
4.13 Projekt: Der Sierpinski-Teppich157
4.14 Funktionen per Knopfdruck aufrufen: Callback-Funktionen159
4.14.1 Projekt: Digitaler Türgong160
4.14.2 Projekt: Verkehrszählungen – Zählen mit mehreren Knöpfen161
4.15 Aufgaben164
4.16 Lösungen167
Kapitel 5: Fenster für den RPi – Grafische Benutzungsoberflächen171
5.1 Wie macht man eine Benutzungsoberfläche?171
5.2 Projekt: Die digitale Lostrommel172
5.2.1 Die Gestaltung der Widgets174
5.2.2 Das Layout-Management175
5.3 Bilder auf Widgets177
5.3.1 Projekt: Ein visueller Zufallsgenerator178
5.3.2 Bilder verarbeiten179
5.3.3 Projekt: Schwarzweißmalerei181
5.4 Projekt: Der Krimiautomat182
5.4.1 Texteingabe182
5.4.2 Programmierung184
5.5 Wer die Wahl hat, hat die Qual: Checkbutton und Radiobutton185
5.5.1 Projekt: Automatische Urlaubsgrüße186
5.5.2 Projekt: Digitaler Glückskeks188
5.6 Viele Widgets schnell platziert: Das Grid-Layout190
5.6.1 Projekt: Rechenquiz191
5.7 Projekt: Farbmixer194
5.8 Projekt: Editor mit Pulldown-Menüs196
5.8.1 Aufbau einer Menüstruktur197
5.8.2 Programmierung198
5.9 Aufgaben200
5.10 Lösungen202
Kapitel 6: Daten finden, laden und speichern207
6.1 Dateien207
6.1.1 Daten speichern207
6.1.2 Daten laden208
6.2 Ein Blick hinter die Kulissen: Die SD-Karte208
6.3 Datenstrukturen haltbar machen mit pickle211
6.4 Versuch und Irrtum – Mehr Zuverlässigkeit durch try-Anweisungen212
6.5 Projekt: Karteikasten212
6.5.1 Der Editor213
6.5.2 Der Presenter216
6.6 Benutzungsoberfläche zum Laden und Speichern219
6.6.1 Dialogboxen219
6.6.2 Erweiterung des Editors für Karteikarten221
6.6.3 Erweiterung des Presenters224
6.7 Daten aus dem Internet226
6.8 Projekt: Goethe oder Schiller?227
6.8.1 Methoden der String-Objekte228
6.8.2 Programmierung230
6.9 Daten finden mit regulären Ausdrücken233
6.9.1 Reguläre Ausdrücke233
6.9.2 Die Funktion findall()235
6.9.3 Projekt: Staumelder235
6.9.4 Programmierung236
6.10 Aufgaben239
6.11 Lösungen241
Kapitel 7: Projekte mit Zeitfunktionen243
7.1 Projekt: Fünf Sekunden stoppen und gewinnen243
7.2 Datum und Zeit im Überblick245
7.3 Projekt: Digitaluhr246
7.3.1 Woher bekommt der RPi die Zeit?246
7.3.2 Was ist ein Prozess?247
7.3.3 Vollbildmodus249
7.3.4 Event-Verarbeitung252
7.3.5 Autostart253
7.4 Projekt: Ein digitaler Bilderrahmen253
7.4.1 Zugriff auf das Dateisystem: Das Modul os254
7.4.2 Python Imaging Library (PIL)255
7.4.3 Die Programmierung257
7.5 Projekt: Wahrnehmungstest259
7.5.1 Die Programmierung260
7.6 Projekt: Stoppuhr mit Gong263
7.7 Aufgaben266
7.8 Lösungen267
Kapitel 8: Objektorientierte Programmierung273
8.1 Überall Objekte273
8.2 Klassen und Vererbung bei Python275
8.2.1 Einführendes Beispiel: Alphabet276
8.2.2 Qualitätsmerkmal Änderbarkeit279
8.2.3 Vererbung280
8.3 Pong revisited282
8.3.1 Bau eines Fußschalters283
8.3.2 Die Klasse Canvas285
8.3.3 Die Programmierung289
8.4 Renn, Lola renn!293
8.4.1 Vorbereitung294
8.4.2 Struktur des Programms294
8.4.3 Background296
8.4.4 Switch296
8.4.5 Display298
8.4.6 Clock298
8.4.7 Die Klasse Runner299
8.4.8 Controller300
8.4.9 Module302
8.5 Aufgaben304
8.6 Lösungen306
Kapitel 9: Sensortechnik315
9.1 Was ist ein digitaler Temperatursensor?315
9.2 Den DS1820 anschließen316
9.3 Temperaturdaten lesen317
9.3.1 Temperaturdaten eines Sensors automatisch auswerten319
9.4 Projekt: Ein digitales Thermometer mit mehreren Sensoren320
9.4.1 Ein Modul für die Messwerterfassung321
9.4.2 Die grafische Oberfläche323
9.4.3 Temperaturdaten per E-Mail senden324
9.5 Projekt: Ein Temperaturplotter326
9.5.1 Temperatur-Zeitdiagramme326
9.5.2 Programmierung327
9.6 Projekt: Mobile Datenerfassung330
9.6.1 Experimente mit mobiler Temperaturerfassung332
9.6.2 Programmierung332
9.6.3 Wiedergabe der Daten334
9.7 Spannung messen334
9.7.1 Das SPI-Protokoll336
9.7.2 Bitverarbeitung338
9.7.3 Programmierung341
9.8 Aufgaben343
9.9 Lösungen345
Kapitel 10: Projekte mit der Kamera353
10.1 Das Kameramodul anschließen353
10.2 Die Kamerasoftware355
10.2.1 Einzelbilder356
10.3 Projekt: Kameraoptionen testen357
10.4 Projekt: Überwachungskamera – Livebild auf dem Bildschirm359
10.5 Projekt: Bewegung erfassen360
10.6 Projekt: Gerichtete Bewegungen erfassen364
10.6.1 Files verarbeiten mit subprocess und io365
10.6.2 Die Programmierung366
10.7 Projekt: Birnen oder Tomaten?371
10.7.1 Magische Methoden – das Überladen von Operatoren372
10.7.2 Programmierung375
10.7.3 Weiterentwicklungen378
10.8 Das Modul picamera378
10.8.1 Die Klasse PiCamera379
10.8.2 Projekt: Einen Film aufnehmen380
10.8.3 Projekt: Fotos per E-Mail verschicken381
10.9 Was ist los am Autobahnkreuz? Bilder einer Webcam auswerten383
10.9.1 Webcams im Internet anzapfen383
10.9.2 Auf einem Foto zeichnen – das Modul ImageDraw384
10.9.3 Projekt: Verkehrsdichte auf der Autobahn386
10.10 Randbemerkung: Was darf man? Was soll man?390
10.11 Aufgabe391
10.12 Lösung392
Kapitel 11: Webserver395
11.1 Der RPi im lokalen Netz395
11.1.1 WLAN395
11.1.2 Eine dauerhafte IP-Adresse für den RPi396
11.1.3 Über SSH auf dem RPi arbeiten397
11.1.4 Virtual Network Computing (VNC)398
11.2 Ein Webserver399
11.2.1 Der Apache Webserver399
11.2.2 Ein Webserver mit Python400
11.2.3 Den Server starten401
11.2.4 Die Startseite401
11.2.5 Den Server testen402
11.3 Was ist los im Gartenteich?403
11.3.1 Projekt: Einfache Webcam mit statischer Webseite403
11.3.2 CGI-Skripte407
11.3.3 CGI-Skripte für den Apache-Server410
11.3.4 Hilfe, mein CGI-Skript läuft nicht!411
11.3.5 Interaktive Webseiten412
11.3.6 Eingabekomponenten in einem HTML-Formular414
11.3.7 Verarbeitung von Eingaben in einem CGI-Skript415
11.3.8 Zugriff aus der Ferne417
11.4 Geräte über das Internet steuern418
11.4.1 Privilegierte Rechte für ein CGI-Skript418
11.4.2 Programmierung419
11.5 Datenbanken421
11.5.1 Das Modul sqlite3421
11.5.2 Projekt: Freies Obst424
11.6 Aufgaben431
11.7 Lösungen433
Anhang A: Den Raspberry Pi einrichten437
A.1 Hardware-Ausstattung437
A.2 Das Betriebssystem installieren437
A.2.1 Download der Software437
A.2.2 Die SD-Karte formatieren438
A.3 Den Raspberry Pi das erste Mal starten und konfigurieren439
A.4 Die grafische Oberfläche von Raspbian440
Anhang B: Der GPIO443
B.1 Der GPIO443
B.2 Ein Flachbandkabel mit Pfostenverbindern446
Anhang C: Autostart449
Anhang D: So entstand das Titelbild451
Stichwortverzeichnis455

Weitere E-Books zum Thema: Hardware - Rechnerarchitektur - Softwaresysteme

Arduino-Projekte

E-Book Arduino-Projekte

Mark Geddes zeigt Ihnen in 25 unterhaltsamen und interaktiven Projekten, wie Sie mit nur einer Handvoll Komponenten, einem Arduino und einem Computer elektronische Projekte selbst bauen und ...

Computer

E-Book Computer

Computer umgeben uns heute in fast allen Lebensbereichen. Sie erleichtern uns nicht nur als PC oder Laptop die Arbeit, sondern sind auch eingebettet in zahlreiche Objekte unseres täglichen Lebens - ...

DASS 2016.

E-Book DASS 2016.

Die Dresdner Arbeitstagung Schaltungs- und Systementwurf (DASS) besitzt eine langjährige Tradition als bedeutende Fachveranstaltung am Mikroelektronikstandort Sachsen. Sie bietet vor allem ...

c't TESTGUIDE (2015)

E-Book c't TESTGUIDE (2015)

Auf über 280 Seiten sind im 'c't TESTGUIDE' die wichtigsten Tests der c't-Redaktion des Jahres versammelt. Die insgesamt mehrere Hundert Einzel- und Vergleichstests in bewährter gründlicher ...

Suppenintelligenz (TELEPOLIS)

E-Book Suppenintelligenz (TELEPOLIS)

Nach Jahrzehnten des Immer-schneller, Immer-kleiner, Immer-billiger stößt der herkömmliche Computerchip an seine Grenzen. Forscher entwickeln stattdessen neue Computer, die ganz anders arbeiten ...

Die Computerwerkstatt

E-Book Die Computerwerkstatt

»Die Computerwerkstatt« bietet fachkundiges Know-how für die Konfiguration, die Fehlersuche und die Erweiterung von unterschiedlichen Computersystemen. Dazu werden Vorgehensweisen nach dem Motto ...

Weitere Zeitschriften

BIELEFELD GEHT AUS

BIELEFELD GEHT AUS

Freizeit- und Gastronomieführer mit umfangreichem Serviceteil, mehr als 700 Tipps und Adressen für Tag- und Nachtschwärmer Bielefeld genießen Westfälisch und weltoffen – das zeichnet nicht ...

Card-Forum

Card-Forum

Card-Forum ist das marktführende Magazin im Themenbereich der kartengestützten Systeme für Zahlung und Identifikation, Telekommunikation und Kundenbindung sowie der damit verwandten und ...

küche + raum

küche + raum

Internationale Fachzeitschrift für Küchenforschung und Küchenplanung. Mit Fachinformationen für Küchenfachhändler, -spezialisten und -planer in Küchenstudios, Möbelfachgeschäften und den ...

Das Hauseigentum

Das Hauseigentum

Das Hauseigentum. Organ des Landesverbandes Haus & Grund Brandenburg. Speziell für die neuen Bundesländer, mit regionalem Schwerpunkt Brandenburg. Systematische Grundlagenvermittlung, viele ...

Die Großhandelskaufleute

Die Großhandelskaufleute

Prüfungs- und Praxiswissen für Großhandelskaufleute Mehr Erfolg in der Ausbildung, sicher in alle Prüfungen gehen, im Beruf jeden Tag überzeugen: „Die Großhandelskaufleute“ ist die ...

Euphorion

Euphorion

EUPHORION wurde 1894 gegründet und widmet sich als „Zeitschrift für Literaturgeschichte“ dem gesamten Fachgebiet der deutschen Philologie. Mindestens ein Heft pro Jahrgang ist für die ...

Euro am Sonntag

Euro am Sonntag

Deutschlands aktuelleste Finanz-Wochenzeitung Jede Woche neu bietet €uro am Sonntag Antworten auf die wichtigsten Fragen zu den Themen Geldanlage und Vermögensaufbau. Auch komplexe Sachverhalte ...

Evangelische Theologie

Evangelische Theologie

 Über »Evangelische Theologie« In interdisziplinären Themenheften gibt die Evangelische Theologie entscheidende Impulse, die komplexe Einheit der Theologie wahrzunehmen. Neben den ...