Jörn Donges
Mach was mit Python & Raspberry Pi!
Spielerisch programmieren lernen und mit DIY-Projekten durchstarten
Inhalt
6
1 Einführung
10
2 Den Raspberry Pi und Python zum Laufen bringen
14
2.1 Was brauchen wir alles?
14
2.2 Ein Blick auf die Hardware
15
2.3 Raspbian – das Mini-Linux für deinen Raspberry Pi
17
2.4 Die SD-Karte vorbereiten
19
2.4.1 NOOBS oder Raspbian?
19
2.4.2 Eine fertige SD-Karte bestellen
20
2.4.3 Ein Betriebssystem-Image auf die SD-Karte schreiben
20
2.5 Python 3 installieren
21
2.6 Der Python Package Index
23
2.7 Die Entwicklungsumgebung
24
2.7.1 IDLE – die Standardumgebung
25
2.7.2 Geany – der Allrounder
27
2.7.3 Python lernen mit Raspberry Pi und Thonny
28
2.8 Den Raspberry Pi fernsteuern
30
2.8.1 SSH-Verbindung im Textmodus herstellen
31
2.8.2 Remotedesktop-Verbindung für Windows
34
2.8.3 X11-Forwarding für Linux und Windows
35
3 Einstieg in die Python-Programmierung
42
3.1 Interpreter und Compiler
42
3.2 Die interaktive Shell
43
3.2.1 Es geht immer los mit „Hallo Welt!“
44
3.2.2 Die Shell als Taschenrechner nutzen
44
3.2.3 Integer- und Fließkommazahlen
45
3.2.4 Werte in Variablen abspeichern
46
3.2.5 Strings und Typumwandlungen
47
3.2.6 Wahrheiten und Unwahrheiten
48
3.3 Ein Zahlenratespiel – das erste richtige Programm
49
3.4 Kontroll- und Datenstrukturen in Python
58
3.4.1 Daten kommen oft als Listen daher
58
3.4.2 Eine besondere Listenform
60
3.5 Wörterbücher in Aktion – ein Vokabeltrainer
63
3.5.1 Die Textdatei in Thonny anlegen
64
3.5.2 Der Vokabeltrainer – Schritt für Schritt erklärt
66
3.5.3 Der Vokabeltrainer wird mehrsprachig
69
3.6 Python bei der Arbeit zusehen – der Debugger
73
3.6.1 Ein kurzer Ausflug in die Theorie
73
3.6.2 Der Debugger in Aktion
77
3.6.3 Rekursive Funktionen und noch mehr Debugger-Aktion
80
3.7 Mit Objekten zum Vokabellernassistenten
82
4 Grafik und Sound mit Pygame
90
4.1 Ein Überblick der Möglichkeiten von Pygame
91
4.1.1 Bring Bewegung ins Spiel: eine Laufschrift
93
4.1.2 Auf Ereignisse reagieren
95
4.1.3 Mit pygame.draw geometrische Formen zeichnen
97
4.1.4 Eine Analoguhr mit Pygame
101
4.1.5 Arbeiten mit Musik und Soundeffekten
105
4.2 Rückkehr eines Klassikers: Pong mit Pygame
108
4.2.1 Noch ein wenig Objektorientierung
109
4.2.2 Sound kommt hinzu
114
4.2.3 Code für pong.py
115
5 GUI-Programmierung mit Tkinter
120
5.1 Tkinter einbinden
121
5.2 Die Bausteine einer GUI
122
5.2.1 Das Basisfenster Tk()
122
5.2.2 Die wichtigsten GUI-Elemente
123
5.3 Eine Oberfläche für den Vokabeltrainer
127
5.3.1 Das Layout des Vokabeltrainers
129
5.3.2 Die Callback-Methoden implementieren
135
5.4 Noch mehr Tkinter und ein Taschenrechner für den Raspberry Pi
140
5.4.1 Die Layout-Manager
140
5.4.2 Eine Klasse für Taschenrechner
141
6 Willkommen in der Cloud: Web Apps mit dem Raspberry Pi
148
6.1 Erste Schritte mit Flask
149
6.1.1 Routing
151
6.1.2 HTML und HTML-Templates
153
6.1.3 GET und POST
158
6.1.4 Ein Crashkurs in SQL und Datenbanken
162
6.2 Eine To-do-App für den Raspberry Pi
168
6.2.1 Bestandteile der Web App
169
6.2.2 Das To-do-Listen-HTML-Template
171
6.2.3 Der Python-Code für die To-do-Liste
175
6.3 Eine Web App automatisch starten
180
6.3.1 Python-Programme starten ohne IDE
181
6.3.2 Programme beim Systemstart automatisch starten
184
7 Ein Webradio mit dem Raspberry Pi
186
7.1 Vorbereitungen für den Raspberry Pi
186
7.2 Den Music Player installieren
187
7.3 Die Stationsliste erstellen
188
7.4 Teil 1: Ein Webradio mit Flask
194
7.4.1 Das Webradio-HTML-Template
196
7.4.2 Der Python-Code für das Radio-Webinterface
199
7.5 Teil 2: Ein Webradio mit Tkinter
205
7.5.1 Eine Autoupdate-Funktion hinzufügen
206
7.5.2 Die benötigten GUI-Elemente für das Webradio
208
7.5.3 Der Python-Code für das Webradio
210
8 Datengewinnung aus dem Internet
216
8.1 Web Scraping
217
8.1.1 Pythons Zugang zum Web – das Modul requests
217
8.1.2 JSON- oder XML-Format
221
8.1.3 Die wundervolle Suppe aus HTML
223
8.1.4 Ein reales Beispiel: Fußballergebnisse scrapen
234
8.1.5 Die rechtliche Seite
235
8.1.6 Analyse des HTML-Codes
235
8.2 Wetterdaten abfragen mit OpenWeatherMap
240
8.2.1 Den API-Key erhalten
241
8.2.2 API-Abfragen: Die Wetter-App für die Konsole
242
8.2.3 Die Wetter-Web App: Flask meets OpenWeatherMap
247
8.2.4 APIs für jeden Zweck
249
Index
252
© 2009-2024 ciando GmbH