Cover | 1 |
Titel | 3 |
Impressum | 4 |
Inhaltsverzeichnis | 5 |
Über die Autoren | 13 |
Einleitung | 15 |
Teil I: Erste Schritte mit demRaspberry Pi | 23 |
Kapitel 1: Den Raspberry Pi zum Laufen bringen | 25 |
1.1 Das Betriebssystem | 25 |
1.1.1 Das Betriebssystem auf eine SD-Karte schreiben | 26 |
1.2 Den Raspberry Pi anschließen | 32 |
1.2.1 Anschluss eines Bildschirms | 34 |
1.2.2 Anschluss ans Netzwerk | 37 |
1.2.3 Start des Betriebssystems | 37 |
1.2.4 Einschalten! | 38 |
1.3 Der Startvorgang | 39 |
1.3.1 Sprache, Ländereinstellungen und Tastaturbelegung anpassen | 40 |
1.4 Die grafische Benutzeroberfläche starten | 41 |
1.5 Terminal unter X starten | 42 |
1.6 Fehlerbehebung | 42 |
1.6.1 Häufige Fehlerquellen | 43 |
1.6.2 Weitere Hilfestellung | 44 |
1.7 Der Spaß geht los! | 44 |
Kapitel 2: Ein erstes Programm: Der Beschimpfungsgenerator | 45 |
2.1 Das erste Python-Programm | 46 |
2.2 Das Programm speichern | 48 |
2.3 Beschimpfung generieren | 51 |
2.3.1 Variablen | 51 |
2.3.2 Strings | 52 |
2.3.3 Listen | 52 |
2.3.4 Funktionen | 52 |
2.4 Beschimpfung mit Anrede | 54 |
2.4.1 Bedingtes Verhalten | 56 |
2.5 Ein ganzer Schwall an Beschimpfungen | 56 |
2.5.1 Eigene Funktionen erstellen | 56 |
2.5.2 Schleifen | 58 |
2.6 Fazit | 60 |
Teil II: Software-Projekte | 61 |
Kapitel 3: Tic-Tac-Toe | 63 |
3.1 Fehler | 64 |
3.2 Zum Auftakt das Spielbrett | 64 |
3.2.1 Verbesserung der Spielbrettausgabe | 66 |
3.2.2 Gibt es einen Gewinner? | 66 |
3.2.3 Hilfsfunktionen | 68 |
3.3 Ein Spiel für zwei Teilnehmer | 68 |
3.4 Der Computer als Spieler | 72 |
3.4.1 Der Computer als Fünfjähriger | 72 |
3.4.2 Einen siegreichen Spielzug erkennen | 74 |
3.4.3 Eine Strategie hinzufügen | 77 |
3.4.4 Strategieverfeinerung | 79 |
3.5 Sie sind am Zug! | 83 |
Kapitel 4: Hier sind die Nachrichten | 85 |
4.1 Die ersten Teleprompter | 85 |
4.2 Der Pi-Prompter | 86 |
4.3 Erforderliche Schritte | 87 |
4.4 Ein weiterer Schritt zu einem brauchbaren Programm | 92 |
4.5 Das fertige Programm | 97 |
4.6 Mechanischer Aufbau | 102 |
4.7 Sie sind am Zug! | 105 |
Kapitel 5: Ping | 107 |
5.1 Erste kommerzielle Produkte | 107 |
5.2 Das Spiel | 108 |
5.2.1 Bewegung auf dem Bildschirm | 108 |
5.2.2 Kollisionen feststellen | 110 |
5.2.3 Aufpralltest | 111 |
5.3 Das Spiel verfeinern | 113 |
5.4 Version für Einzelspieler | 117 |
5.5 Version für zwei Spieler | 125 |
5.6 Sie sind am Zug! | 132 |
Kapitel 6: Pie-Man: Ein Pac-Man-Klon | 133 |
6.1 Das Spiel | 134 |
6.2 Ressourcen zusammentragen | 135 |
6.2.1 Die Soundeffekte | 135 |
6.2.2 Die Spielfiguren | 136 |
6.3 Bühne frei! | 139 |
6.4 Das Spielgeschehen | 144 |
6.4.1 Pillen verspeisen | 147 |
6.4.2 Das Ende des Pie-Mans – oder eines Geistes | 150 |
6.4.3 Die jagende Meute | 152 |
6.5 Bildschirmdarstellung | 153 |
6.6 Die main()-Funktion | 156 |
6.6.1 Das Spiel beginnt | 161 |
6.6.2 Geisterjagd | 161 |
6.6.3 Spielende | 162 |
6.7 Sie sind am Zug! | 162 |
Kapitel 7: Minecraft Maze Maker | 165 |
7.1 Minecraft installieren | 166 |
7.2 Start des Spiels | 167 |
7.3 Spielablauf | 167 |
7.3.1 Umherstreifen | 168 |
7.3.2 Objekte erzeugen und zerstören | 168 |
7.4 Vorbereitungen für den Einsatz von Python | 169 |
7.5 Verwendung des Minecraft-Moduls | 170 |
7.5.1 Koordinaten in Minecraft | 171 |
7.5.2 Neupositionierung des Spielers | 171 |
7.5.3 Bausteine hinzufügen | 172 |
7.5.4 Änderungen durch den Spieler verhindern | 174 |
7.5.5 Die Parameter des Labyrinths | 174 |
7.5.6 Das Fundament legen | 176 |
7.5.7 Aufbau der Wände | 177 |
7.5.8 Der Labyrinth-Algorithmus | 178 |
7.5.9 Variablen und Listen vorbereiten | 178 |
7.5.10 Funktionen erstellen | 179 |
7.5.11 Die Hauptschleife | 181 |
7.5.12 Eine Decke hinzufügen | 183 |
7.5.13 Die Spielfigur positionieren | 183 |
7.5.14 Der endgültige Code | 184 |
7.6 Sie sind am Zug! | 187 |
Teil III: Hardware-Projekte | 189 |
Kapitel 8: Schnappen | 191 |
8.1 Das Spiel implementieren | 192 |
8.1.1 Die Theorie | 192 |
8.1.2 Das Gehäuse herstellen | 200 |
8.2 Die Software zum Testen des Geräts | 205 |
8.3 Die Spielsoftware | 208 |
8.4 Sie sind am Zug! | 214 |
Kapitel 9: Reaktionstest | 215 |
9.1 Willkommen in einer anderen Computerwelt! | 215 |
9.1.1 Bewährte Verfahrensweisen | 216 |
9.2 Beschaffung von Bauteilen | 217 |
9.2.1 Eine Schnittstellen-Platine | 217 |
9.2.2 PiFace-Digital | 217 |
9.3 PiFace-Digital einrichten | 218 |
9.3.1 Installation der PiFace-Digital-Software | 219 |
9.4 PiFace-Digital anschließen | 222 |
9.5 Den Emulator verwenden | 222 |
9.6 Die Schnittstelle zu Python | 223 |
9.6.1 LED einschalten | 223 |
9.6.2 Schaltzustand erkennen | 225 |
9.7 Der Reaktionstest | 226 |
9.7.1 Die Anschlüsse des PiFace-Digital | 227 |
9.7.2 Einen Taster und eine LED anschließen | 231 |
9.7.3 Mit dem Reaktionstester spielen | 236 |
9.8 Schnittstellen | 237 |
Kapitel 10: Gezwitscher | 239 |
10.1 Das Spielzeug hacken | 239 |
10.1.1 Verdrahtung | 241 |
10.2 Das Huhn zum Sprechen bringen | 244 |
10.2.1 espeak in Python verwenden | 245 |
10.2.2 Test des espeak-Moduls | 246 |
10.3 Bewegungssteuerung | 246 |
10.3.1 Klassen erstellen | 248 |
10.3.2 Objekte erzeugen | 249 |
10.3.3 Ständiges Testen | 250 |
10.4 Verbindungsaufnahme mit Twitter | 250 |
10.4.1 Das Python-Modul kompilieren und installieren | 251 |
10.4.2 Kommunikation mit Twitter | 253 |
10.5 Fertigstellung | 256 |
10.6 Fazit | 258 |
10.6.1 Weitere Ideen | 259 |
Kapitel 11: Disco-Beleuchtung | 261 |
11.1 Die Reihenfolge festlegen | 262 |
11.2 Den Code erweitern | 263 |
11.3 Ein kleiner theoretischer Exkurs | 266 |
11.4 Entwurf des Sequenzers | 267 |
11.5 Implementierung des Sequenzers | 267 |
11.6 Lichterketten | 275 |
11.7 Längere Lichterketten | 278 |
11.8 Musik als Taktgeber | 279 |
11.9 Schaltungsentwurf | 280 |
11.10 Schaltungsaufbau | 282 |
11.11 Anschluss der Schaltung | 283 |
11.12 Sie sind am Zug! | 283 |
Kapitel 12: Türschloss | 285 |
12.1 Überblick | 286 |
12.2 Sicherheitskritische Systeme | 286 |
12.3 Die Türschloss-Hardware | 287 |
12.4 Software-Simulation | 288 |
12.5 Ausgabe | 290 |
12.5.1 Anschluss der Schaltung | 290 |
12.5.2 Programmierung der Türsteuerung | 292 |
12.6 Eingabe | 293 |
12.6.1 Benutzereingabe abfragen | 293 |
12.7 Authentifizierung | 293 |
12.7.1 Vertrauliche Daten speichern | 294 |
12.8 Berührungsloses Türöffnen | 295 |
12.8.1 Anschluss des RFID-Lesegeräts | 296 |
12.8.2 Den RFID-Leser in Python verwenden | 299 |
12.8.3 Die Programmteile zusammenfügen | 301 |
12.9 Programmtest und Schlosseinbau | 301 |
12.10 Mehrere Türen vernetzen | 303 |
12.11 Sie sind am Zug! | 304 |
12.12 Die Kunst der Programmierung | 304 |
Kapitel 13: Hausautomation | 307 |
13.1 Das Internet der Dinge | 307 |
13.2 Projekt 1: Bewegungsmelder und Türkontaktschalter | 308 |
13.2.1 Schaltungsaufbau | 310 |
13.2.2 Software | 313 |
13.3 Projekt 2: Überwachung per Webcam | 314 |
13.3.1 Schaltungsaufbau | 314 |
13.3.2 Software | 315 |
13.4 Projekt 3: Temperaturanzeige | 320 |
13.4.1 Schaltungsaufbau | 320 |
13.4.2 Software | 321 |
13.5 Projekt 4: Warnmeldungen via E-Mail versenden | 325 |
13.5.1 Anforderungen | 325 |
13.5.2 Software | 325 |
13.6 Projekt 5: E-Mail per Funkfernsteuerung versenden | 330 |
13.6.1 Schaltungsaufbau | 331 |
13.6.2 Software | 333 |
13.7 Sie sind am Zug! | 337 |
Kapitel 14: Computergesteuertes Modellbahnrennen | 339 |
14.1 Beschaffung einer Modellrennbahn | 339 |
14.2 Umbau der Rennbahn | 340 |
14.2.1 Test der Schaltung | 341 |
14.3 Spielereingaben | 342 |
14.3.1 Taster | 343 |
14.3.2 Gehäuse | 347 |
14.3.3 Joystick-Test | 350 |
14.4 Die Software | 351 |
14.5 Das Spiel | 353 |
14.6 Sie sind am Zug! | 360 |
Kapitel 15: Drehgeber mit Facebook-Anbindung | 361 |
15.1 Das Konzept | 361 |
15.2 Drehgebertypen | 362 |
15.3 Ausgabe des Drehgebers | 362 |
15.4 Automatisches Hinaufladen | 370 |
15.4.1 Flickr | 371 |
15.5 Das fertige Programm | 374 |
15.6 Symmetrische Muster erzeugen | 381 |
15.7 Sie sind am Zug! | 387 |
Kapitel 16: Das Pi-Pendel – ein Harmonograph | 389 |
16.1 Das Konzept | 390 |
16.2 Der Hall-Effekt | 390 |
16.3 Kurz vorgestellt: Der Arduino | 392 |
16.4 Zusammenbau | 393 |
16.4.1 Sanfte Schwingungen | 398 |
16.4.2 Elektronik | 399 |
16.5 Programmierung des Arduino | 403 |
16.5.1 Der fertige Arduino-Code | 409 |
16.6 Programmierung des Raspberry Pi | 417 |
16.7 Das Pi-Pendel in Aktion | 422 |
16.8 Sie sind am Zug! | 424 |
Kapitel 17: Das Hightech-Vogelhäuschen – Beobachtung der Tierwelt | 425 |
17.1 Bau einer Lichtschranke | 427 |
17.1.1 Erforderliche Bauteile | 427 |
17.1.2 Anschluss des Senders | 427 |
17.1.3 Anschluss des Empfängers | 428 |
17.1.4 Test der Sensoren | 430 |
17.2 Montage der Sensoren | 430 |
17.2.1 Schutz vor Wind und Wetter | 432 |
17.3 Aktivitäten aufzeichnen | 433 |
17.3.1 Verarbeitung in Echtzeit oder im Nachhinein? | 433 |
17.3.2 Das Programm zum Aufzeichnen | 435 |
17.3.3 Das Programm testen | 444 |
17.4 Die Daten verarbeiten | 445 |
17.4.1 Endliche Automaten | 446 |
17.4.2 Ein einfaches Programm zur Auswertung | 447 |
17.5 Störsignale handhaben | 451 |
17.5.1 Störsignale herausfiltern | 451 |
17.5.2 Auswertungsprogramm mit Störsignalfilterung | 452 |
17.6 Ein Diagramm erstellen | 457 |
17.7 Das Vogelhäuschen in Betrieb nehmen | 460 |
17.8 Sie sind am Zug! | 460 |
17.8.1 Teilen Sie Ihre Daten | 461 |
17.8.2 Weitere Sensoren hinzufügen | 461 |
17.9 Unbegrenzte Möglichkeiten | 461 |
Stichwortverzeichnis | 463 |