Spielerisch programmieren lernen und mit DIY-Projekten durchstarten
E-Book, Deutsch, 254 Seiten
ISBN: 978-3-446-46600-5
Verlag: Carl Hanser
Format: PDF
Kopierschutz: Wasserzeichen (»Systemvoraussetzungen)
Der Raspberry Pi ist ein preiswerter, leistungsfähiger Mini-Computer. Python ist eine leicht erlernbare, vielseitig einsetzbare Programmiersprache. Im Doppelpack sind sie die perfekte Spielwiese für alle Elektronik- und Programmierneulinge, die darauf brennen, ihre DIY-Projekte in die Tat umzusetzen.
Dieses Buch führt dich auf spielerische Weise in die Python-Programmierung für den Raspberry Pi ein. Zahlreiche Beispielprojekte versetzen dich Schritt für Schritt in die Lage, deine eigenen Anwendungen für den RasPi zu entwickeln.
Folgende Themen erwarten dich:
- Raspbian- und Python 3-Installation, Raspberry Pi-Fernsteuerung
- Entwicklungsumgebungen im Einsatz: IDLE, Thonny und Geany
- Grundlagen der Python-Programmierung: Abfragen, Schleifen, Funktionen, Variablen, Debugging & Co.
- Python-Anwendungen für den Raspberry Pi: von der Konsolen- und GUI-Programmierung über Grafik- und Soundanwendungen bis zur App- und Webprogrammierung
- Die Beispielprojekte aus dem Buch: Zahlenratespiel, Vokabeltrainer, Analoguhr, Taschenrechner, Spieleprogrammierung, Webradio, To-do-App und Wetter-App
Auf plus.hanser-fachbuch.de findest du kostenloses digitales Zusatzmaterial: Sämtliche Quellcodes zu den Beispielprojekten stehen dort in ungekürzter Form zur Verwendung bereit.
Autoren/Hrsg.
Fachgebiete
Weitere Infos & Material
1;Inhalt;6
2;1 Einführung;10
3;2 Den Raspberry Pi und Python zum Laufen bringen;14
3.1;2.1 Was brauchen wir alles?;14
3.2;2.2 Ein Blick auf die Hardware;15
3.3;2.3 Raspbian – das Mini-Linux für deinen Raspberry Pi;17
3.4;2.4 Die SD-Karte vorbereiten;19
3.4.1;2.4.1 NOOBS oder Raspbian?;19
3.4.2;2.4.2 Eine fertige SD-Karte bestellen;20
3.4.3;2.4.3 Ein Betriebssystem-Image auf die SD-Karte schreiben;20
3.5;2.5 Python 3 installieren;21
3.6;2.6 Der Python Package Index;23
3.7;2.7 Die Entwicklungsumgebung;24
3.7.1;2.7.1 IDLE – die Standardumgebung;25
3.7.2;2.7.2 Geany – der Allrounder;27
3.7.3;2.7.3 Python lernen mit Raspberry Pi und Thonny;28
3.8;2.8 Den Raspberry Pi fernsteuern;30
3.8.1;2.8.1 SSH-Verbindung im Textmodus herstellen;31
3.8.2;2.8.2 Remotedesktop-Verbindung für Windows;34
3.8.3;2.8.3 X11-Forwarding für Linux und Windows;35
4;3 Einstieg in die Python-Programmierung;42
4.1;3.1 Interpreter und Compiler;42
4.2;3.2 Die interaktive Shell;43
4.2.1;3.2.1 Es geht immer los mit „Hallo Welt!“;44
4.2.2;3.2.2 Die Shell als Taschenrechner nutzen;44
4.2.3;3.2.3 Integer- und Fließkommazahlen;45
4.2.4;3.2.4 Werte in Variablen abspeichern;46
4.2.5;3.2.5 Strings und Typumwandlungen;47
4.2.6;3.2.6 Wahrheiten und Unwahrheiten;48
4.3;3.3 Ein Zahlenratespiel – das erste richtige Programm;49
4.4;3.4 Kontroll- und Datenstrukturen in Python;58
4.4.1;3.4.1 Daten kommen oft als Listen daher;58
4.4.2;3.4.2 Eine besondere Listenform;60
4.5;3.5 Wörterbücher in Aktion – ein Vokabeltrainer;63
4.5.1;3.5.1 Die Textdatei in Thonny anlegen;64
4.5.2;3.5.2 Der Vokabeltrainer – Schritt für Schritt erklärt;66
4.5.3;3.5.3 Der Vokabeltrainer wird mehrsprachig;69
4.6;3.6 Python bei der Arbeit zusehen – der Debugger;73
4.6.1;3.6.1 Ein kurzer Ausflug in die Theorie;73
4.6.2;3.6.2 Der Debugger in Aktion;77
4.6.3;3.6.3 Rekursive Funktionen und noch mehr Debugger-Aktion;80
4.7;3.7 Mit Objekten zum Vokabellernassistenten;82
5;4 Grafik und Sound mit Pygame;90
5.1;4.1 Ein Überblick der Möglichkeiten von Pygame;91
5.1.1;4.1.1 Bring Bewegung ins Spiel: eine Laufschrift;93
5.1.2;4.1.2 Auf Ereignisse reagieren;95
5.1.3;4.1.3 Mit pygame.draw geometrische Formen zeichnen;97
5.1.4;4.1.4 Eine Analoguhr mit Pygame;101
5.1.5;4.1.5 Arbeiten mit Musik und Soundeffekten;105
5.2;4.2 Rückkehr eines Klassikers: Pong mit Pygame;108
5.2.1;4.2.1 Noch ein wenig Objektorientierung;109
5.2.2;4.2.2 Sound kommt hinzu;114
5.2.3;4.2.3 Code für pong.py;115
6;5 GUI-Programmierung mit Tkinter;120
6.1;5.1 Tkinter einbinden;121
6.2;5.2 Die Bausteine einer GUI;122
6.2.1;5.2.1 Das Basisfenster Tk();122
6.2.2;5.2.2 Die wichtigsten GUI-Elemente;123
6.3;5.3 Eine Oberfläche für den Vokabeltrainer;127
6.3.1;5.3.1 Das Layout des Vokabeltrainers;129
6.3.2;5.3.2 Die Callback-Methoden implementieren;135
6.4;5.4 Noch mehr Tkinter und ein Taschenrechner für den Raspberry Pi;140
6.4.1;5.4.1 Die Layout-Manager;140
6.4.2;5.4.2 Eine Klasse für Taschenrechner;141
7;6 Willkommen in der Cloud: Web Apps mit dem Raspberry Pi;148
7.1;6.1 Erste Schritte mit Flask;149
7.1.1;6.1.1 Routing;151
7.1.2;6.1.2 HTML und HTML-Templates;153
7.1.3;6.1.3 GET und POST;158
7.1.4;6.1.4 Ein Crashkurs in SQL und Datenbanken;162
7.2;6.2 Eine To-do-App für den Raspberry Pi;168
7.2.1;6.2.1 Bestandteile der Web App;169
7.2.2;6.2.2 Das To-do-Listen-HTML-Template;171
7.2.3;6.2.3 Der Python-Code für die To-do-Liste;175
7.3;6.3 Eine Web App automatisch starten;180
7.3.1;6.3.1 Python-Programme starten ohne IDE;181
7.3.2;6.3.2 Programme beim Systemstart automatisch starten;184
8;7 Ein Webradio mit dem Raspberry Pi;186
8.1;7.1 Vorbereitungen für den Raspberry Pi;186
8.2;7.2 Den Music Player installieren;187
8.3;7.3 Die Stationsliste erstellen;188
8.4;7.4 Teil 1: Ein Webradio mit Flask;194
8.4.1;7.4.1 Das Webradio-HTML-Template;196
8.4.2;7.4.2 Der Python-Code für das Radio-Webinterface;199
8.5;7.5 Teil 2: Ein Webradio mit Tkinter;205
8.5.1;7.5.1 Eine Autoupdate-Funktion hinzufügen;206
8.5.2;7.5.2 Die benötigten GUI-Elemente für das Webradio;208
8.5.3;7.5.3 Der Python-Code für das Webradio;210
9;8 Datengewinnung aus dem Internet;216
9.1;8.1 Web Scraping;217
9.1.1;8.1.1 Pythons Zugang zum Web – das Modul requests;217
9.1.2;8.1.2 JSON- oder XML-Format;221
9.1.3;8.1.3 Die wundervolle Suppe aus HTML;223
9.1.4;8.1.4 Ein reales Beispiel: Fußballergebnisse scrapen;234
9.1.5;8.1.5 Die rechtliche Seite;235
9.1.6;8.1.6 Analyse des HTML-Codes;235
9.2;8.2 Wetterdaten abfragen mit OpenWeatherMap;240
9.2.1;8.2.1 Den API-Key erhalten;241
9.2.2;8.2.2 API-Abfragen: Die Wetter-App für die Konsole;242
9.2.3;8.2.3 Die Wetter-Web App: Flask meets OpenWeatherMap;247
9.2.4;8.2.4 APIs für jeden Zweck;249
10;Index;252