Ansteuerung von LED-Lichterketten über Musik, Hausautomation mit Webcam und E-Mail-Alarm Twitter- und Facebook-Anbindung, Hightech-Vogelhäuschen, Zusammenarbeit von Arduino und Raspberry Pi Python-Grundlagen anhand mehrerer Software-Projekte Sie haben mit Ihrem Raspberry Pi schon die ersten Schritte unternommen und stellen sich nun die Frage - und jetzt? Genau hier setzt dieses Buch an. Sie finden zahlreiche inspirierende Projekte für den Raspberry Pi, die Sie direkt umsetzen könnenDie Autoren stellen 16 interessante und zunehmend anspruchsvollere Projekte vor, mit denen Sie Ihre Kenntnisse erweitern können. Dazu gehören unter anderem: Erstellen einfacher Programme mit Python, z.B. das Spiel Tic-Tac-Toe Nachprogrammierung von Spieleklassikern wie Pong und Pac Man Minecraft Maze Maker, ein Python-Programm, das Minecraft-Labyrinthe erzeugt Anschluss von Schnittstellen-Hardware und Bau eines Reaktionstesters Ein softwaregesteuertes Spielzeug, das auf Twitter zugreift und Tweets vorliest Disco-Beleuchtung: Ansteuerung von LED-Lichterketten im Takt der Musik Aufbau eines vernetzten Überwachungssystems mit Türkontaktschalter, Bewegungsmelder, Webcam und E-Mail-Alarm Computergesteuerte Projekte wie Modellrennbahn und Türschloss Ein Bilder zeichnender Drehgeber als Zaubertafel mit Facebook-Anbindung Elektronischer Harmonograph: eine Maschine zum Zeichnen komplizierter Muster, ein Arduino hilft beim Sammeln von Daten in Echtzeit Hightech-Vogelhäuschen mit Lichtschranke zum Aufzeichnen und Auswerten von Bewegungsdaten Das Buch zeigt Ihnen, wie Sie den Raspberry Pi programmieren und coole automatisierte, interaktive Technikspielereien basteln. Am Ende aller Kapitel finden Sie Vorschläge zum Ausbau der Projekte.Es werden keine Kenntnisse vorausgesetzt. Für Neulinge wird am Anfang kurz erläutert, wie Sie den Raspberry Pi zum Laufen bekommen. Python-Einsteiger finden eine Einführung in die Programmierung mit Python.
Andrew Robinson ist führender Raspberry-Pi-Experte und Entwickler des PiFace, der Erweiterungsplatine für den Raspberry Pi. Er hat am Fachbereich Informatik der Universität Manchester dabei geholfen, den Pi-Projekt-Wettbewerb ins Leben zu rufen, einen landesweiten Wettstreit für Raspberry-Pi-Projekte. Mike Cook, auch unter dem Namen »Grumpy Mike« bekannt, ist tätig als freiberuflicher Berater für alles, was irgendwie mit »Physical Computing« zu tun hat. Er ist ein erfahrener Fachautor und hat mehr als 300 Artikel über Computer und Elektronik verfasst. Jonathan Evans ist in Toronto ansässig und Mitbegründer von »PrivateEyePi«, einem Projekt zur Hausüberwachung. Sean McManus ist freiberuflicher Fachautor.
Inhaltsverzeichnis
1;Cover;1 2;Titel;3 3;Impressum;4 4;Inhaltsverzeichnis;5 5;Über die Autoren;13 6;Einleitung;15 7;Teil I: Erste Schritte mit demRaspberry Pi;23 7.1;Kapitel 1: Den Raspberry Pi zum Laufen bringen;25 7.1.1;1.1 Das Betriebssystem;25 7.1.1.1;1.1.1 Das Betriebssystem auf eine SD-Karte schreiben;26 7.1.2;1.2 Den Raspberry Pi anschließen;32 7.1.2.1;1.2.1 Anschluss eines Bildschirms;34 7.1.2.2;1.2.2 Anschluss ans Netzwerk;37 7.1.2.3;1.2.3 Start des Betriebssystems;37 7.1.2.4;1.2.4 Einschalten!;38 7.1.3;1.3 Der Startvorgang;39 7.1.3.1;1.3.1 Sprache, Ländereinstellungen und Tastaturbelegung anpassen;40 7.1.4;1.4 Die grafische Benutzeroberfläche starten;41 7.1.5;1.5 Terminal unter X starten;42 7.1.6;1.6 Fehlerbehebung;42 7.1.6.1;1.6.1 Häufige Fehlerquellen;43 7.1.6.2;1.6.2 Weitere Hilfestellung;44 7.1.7;1.7 Der Spaß geht los!;44 7.2;Kapitel 2: Ein erstes Programm: Der Beschimpfungsgenerator;45 7.2.1;2.1 Das erste Python-Programm;46 7.2.2;2.2 Das Programm speichern;48 7.2.3;2.3 Beschimpfung generieren;51 7.2.3.1;2.3.1 Variablen;51 7.2.3.2;2.3.2 Strings;52 7.2.3.3;2.3.3 Listen;52 7.2.3.4;2.3.4 Funktionen;52 7.2.4;2.4 Beschimpfung mit Anrede;54 7.2.4.1;2.4.1 Bedingtes Verhalten;56 7.2.5;2.5 Ein ganzer Schwall an Beschimpfungen;56 7.2.5.1;2.5.1 Eigene Funktionen erstellen;56 7.2.5.2;2.5.2 Schleifen;58 7.2.6;2.6 Fazit;60 8;Teil II: Software-Projekte;61 8.1;Kapitel 3: Tic-Tac-Toe;63 8.1.1;3.1 Fehler;64 8.1.2;3.2 Zum Auftakt das Spielbrett;64 8.1.2.1;3.2.1 Verbesserung der Spielbrettausgabe;66 8.1.2.2;3.2.2 Gibt es einen Gewinner?;66 8.1.2.3;3.2.3 Hilfsfunktionen;68 8.1.3;3.3 Ein Spiel für zwei Teilnehmer;68 8.1.4;3.4 Der Computer als Spieler;72 8.1.4.1;3.4.1 Der Computer als Fünfjähriger;72 8.1.4.2;3.4.2 Einen siegreichen Spielzug erkennen;74 8.1.4.3;3.4.3 Eine Strategie hinzufügen;77 8.1.4.4;3.4.4 Strategieverfeinerung;79 8.1.5;3.5 Sie sind am Zug!;83 8.2;Kapitel 4: Hier sind die Nachrichten;85 8.2.1;4.1 Die ersten Teleprompter;85 8.2.2;4.2 Der Pi-Prompter;86 8.2.3;4.3 Erforderliche
Schritte;87 8.2.4;4.4 Ein weiterer Schritt zu einem brauchbaren Programm;92 8.2.5;4.5 Das fertige Programm;97 8.2.6;4.6 Mechanischer Aufbau;102 8.2.7;4.7 Sie sind am Zug!;105 8.3;Kapitel 5: Ping;107 8.3.1;5.1 Erste kommerzielle Produkte;107 8.3.2;5.2 Das Spiel;108 8.3.2.1;5.2.1 Bewegung auf dem Bildschirm;108 8.3.2.2;5.2.2 Kollisionen feststellen;110 8.3.2.3;5.2.3 Aufpralltest;111 8.3.3;5.3 Das Spiel verfeinern;113 8.3.4;5.4 Version für Einzelspieler;117 8.3.5;5.5 Version für zwei Spieler;125 8.3.6;5.6 Sie sind am Zug!;132 8.4;Kapitel 6: Pie-Man: Ein Pac-Man-Klon;133 8.4.1;6.1 Das Spiel;134 8.4.2;6.2 Ressourcen zusammentragen;135 8.4.2.1;6.2.1 Die Soundeffekte;135 8.4.2.2;6.2.2 Die Spielfiguren;136 8.4.3;6.3 Bühne frei!;139 8.4.4;6.4 Das Spielgeschehen;144 8.4.4.1;6.4.1 Pillen verspeisen;147 8.4.4.2;6.4.2 Das Ende des Pie-Mans oder eines Geistes;150 8.4.4.3;6.4.3 Die jagende Meute;152 8.4.5;6.5 Bildschirmdarstellung;153 8.4.6;6.6 Die main()-Funktion;156 8.4.6.1;6.6.1 Das Spiel beginnt;161 8.4.6.2;6.6.2 Geisterjagd;161 8.4.6.3;6.6.3 Spielende;162 8.4.7;6.7 Sie sind am Zug!;162 8.5;Kapitel 7: Minecraft Maze Maker;165 8.5.1;7.1 Minecraft installieren;166 8.5.2;7.2 Start des Spiels;167 8.5.3;7.3 Spielablauf;167 8.5.3.1;7.3.1 Umherstreifen;168 8.5.3.2;7.3.2 Objekte erzeugen und zerstören;168 8.5.4;7.4 Vorbereitungen für den Einsatz von Python;169 8.5.5;7.5 Verwendung des Minecraft-Moduls;170 8.5.5.1;7.5.1 Koordinaten in Minecraft;171 8.5.5.2;7.5.2 Neupositionierung des Spielers;171 8.5.5.3;7.5.3 Bausteine hinzufügen;172 8.5.5.4;7.5.4 Änderungen durch den Spieler verhindern;174 8.5.5.5;7.5.5 Die Parameter des Labyrinths;174 8.5.5.6;7.5.6 Das Fundament legen;176 8.5.5.7;7.5.7 Aufbau der Wände;177 8.5.5.8;7.5.8 Der Labyrinth-Algorithmus;178 8.5.5.9;7.5.9 Variablen und Listen vorbereiten;178 8.5.5.10;7.5.10 Funktionen erstellen;179 8.5.5.11;7.5.11 Die Hauptschleife;181 8.5.5.12;7.5.12 Eine Decke hinzufügen;183 8.5.5.13;7.5.13 Die Spielfigur positionieren;183 8.5.5.14;7.5.14
Der endgültige Code;184 8.5.6;7.6 Sie sind am Zug!;187 9;Teil III: Hardware-Projekte;189 9.1;Kapitel 8: Schnappen;191 9.1.1;8.1 Das Spiel implementieren;192 9.1.1.1;8.1.1 Die Theorie;192 9.1.1.2;8.1.2 Das Gehäuse herstellen;200 9.1.2;8.2 Die Software zum Testen des Geräts;205 9.1.3;8.3 Die Spielsoftware;208 9.1.4;8.4 Sie sind am Zug!;214 9.2;Kapitel 9: Reaktionstest;215 9.2.1;9.1 Willkommen in einer anderen Computerwelt!;215 9.2.1.1;9.1.1 Bewährte Verfahrensweisen;216 9.2.2;9.2 Beschaffung von Bauteilen;217 9.2.2.1;9.2.1 Eine Schnittstellen-Platine;217 9.2.2.2;9.2.2 PiFace-Digital;217 9.2.3;9.3 PiFace-Digital einrichten;218 9.2.3.1;9.3.1 Installation der PiFace-Digital-Software;219 9.2.4;9.4 PiFace-Digital anschließen;222 9.2.5;9.5 Den Emulator verwenden;222 9.2.6;9.6 Die Schnittstelle zu Python;223 9.2.6.1;9.6.1 LED einschalten;223 9.2.6.2;9.6.2 Schaltzustand erkennen;225 9.2.7;9.7 Der Reaktionstest;226 9.2.7.1;9.7.1 Die Anschlüsse des PiFace-Digital;227 9.2.7.2;9.7.2 Einen Taster und eine LED anschließen;231 9.2.7.3;9.7.3 Mit dem Reaktionstester spielen;236 9.2.8;9.8 Schnittstellen;237 9.3;Kapitel 10: Gezwitscher;239 9.3.1;10.1 Das Spielzeug hacken;239 9.3.1.1;10.1.1 Verdrahtung;241 9.3.2;10.2 Das Huhn zum Sprechen bringen;244 9.3.2.1;10.2.1 espeak in Python verwenden;245 9.3.2.2;10.2.2 Test des espeak-Moduls;246 9.3.3;10.3 Bewegungssteuerung;246 9.3.3.1;10.3.1 Klassen erstellen;248 9.3.3.2;10.3.2 Objekte erzeugen;249 9.3.3.3;10.3.3 Ständiges Testen;250 9.3.4;10.4 Verbindungsaufnahme mit Twitter;250 9.3.4.1;10.4.1 Das Python-Modul kompilieren und installieren;251 9.3.4.2;10.4.2 Kommunikation mit Twitter;253 9.3.5;10.5 Fertigstellung;256 9.3.6;10.6 Fazit;258 9.3.6.1;10.6.1 Weitere Ideen;259 9.4;Kapitel 11: Disco-Beleuchtung;261 9.4.1;11.1 Die Reihenfolge festlegen;262 9.4.2;11.2 Den Code erweitern;263 9.4.3;11.3 Ein kleiner theoretischer Exkurs;266 9.4.4;11.4 Entwurf des Sequenzers;267 9.4.5;11.5 Implementierung des Sequenzers;267 9.4.6;11.6 Lichterketten;275 9.4.
7;11.7 Längere Lichterketten;278 9.4.8;11.8 Musik als Taktgeber;279 9.4.9;11.9 Schaltungsentwurf;280 9.4.10;11.10 Schaltungsaufbau;282 9.4.11;11.11 Anschluss der Schaltung;283 9.4.12;11.12 Sie sind am Zug!;283 9.5;Kapitel 12: Türschloss;285 9.5.1;12.1 Überblick;286 9.5.2;12.2 Sicherheitskritische Systeme;286 9.5.3;12.3 Die Türschloss-Hardware;287 9.5.4;12.4 Software-Simulation;288 9.5.5;12.5 Ausgabe;290 9.5.5.1;12.5.1 Anschluss der Schaltung;290 9.5.5.2;12.5.2 Programmierung der Türsteuerung;292 9.5.6;12.6 Eingabe;293 9.5.6.1;12.6.1 Benutzereingabe abfragen;293 9.5.7;12.7 Authentifizierung;293 9.5.7.1;12.7.1 Vertrauliche Daten speichern;294 9.5.8;12.8 Berührungsloses Türöffnen;295 9.5.8.1;12.8.1 Anschluss des RFID-Lesegeräts;296 9.5.8.2;12.8.2 Den RFID-Leser in Python verwenden;299 9.5.8.3;12.8.3 Die Programmteile zusammenfügen;301 9.5.9;12.9 Programmtest und Schlosseinbau;301 9.5.10;12.10 Mehrere Türen vernetzen;303 9.5.11;12.11 Sie sind am Zug!;304 9.5.12;12.12 Die Kunst der Programmierung;304 9.6;Kapitel 13: Hausautomation;307 9.6.1;13.1 Das Internet der Dinge;307 9.6.2;13.2 Projekt 1: Bewegungsmelder und Türkontaktschalter;308 9.6.2.1;13.2.1 Schaltungsaufbau;310 9.6.2.2;13.2.2 Software;313 9.6.3;13.3 Projekt 2: Überwachung per Webcam;314 9.6.3.1;13.3.1 Schaltungsaufbau;314 9.6.3.2;13.3.2 Software;315 9.6.4;13.4 Projekt 3: Temperaturanzeige;320 9.6.4.1;13.4.1 Schaltungsaufbau;320 9.6.4.2;13.4.2 Software;321 9.6.5;13.5 Projekt 4: Warnmeldungen via E-Mail versenden;325 9.6.5.1;13.5.1 Anforderungen;325 9.6.5.2;13.5.2 Software;325 9.6.6;13.6 Projekt 5: E-Mail per Funkfernsteuerung versenden;330 9.6.6.1;13.6.1 Schaltungsaufbau;331 9.6.6.2;13.6.2 Software;333 9.6.7;13.7 Sie sind am Zug!;337 9.7;Kapitel 14: Computergesteuertes Modellbahnrennen;339 9.7.1;14.1 Beschaffung einer Modellrennbahn;339 9.7.2;14.2 Umbau der Rennbahn;340 9.7.2.1;14.2.1 Test der Schaltung;341 9.7.3;14.3 Spielereingaben;342 9.7.3.1;14.3.1 Taster;343 9.7.3.2;14.3.2 Gehäuse;347 9.7.3.3;14.3.3 Joystic
k-Test;350 9.7.4;14.4 Die Software;351 9.7.5;14.5 Das Spiel;353 9.7.6;14.6 Sie sind am Zug!;360 9.8;Kapitel 15: Drehgeber mit Facebook-Anbindung;361 9.8.1;15.1 Das Konzept;361 9.8.2;15.2 Drehgebertypen;362 9.8.3;15.3 Ausgabe des Drehgebers;362 9.8.4;15.4 Automatisches Hinaufladen;370 9.8.4.1;15.4.1 Flickr;371 9.8.5;15.5 Das fertige Programm;374 9.8.6;15.6 Symmetrische Muster erzeugen;381 9.8.7;15.7 Sie sind am Zug!;387 9.9;Kapitel 16: Das Pi-Pendel ein Harmonograph;389 9.9.1;16.1 Das Konzept;390 9.9.2;16.2 Der Hall-Effekt;390 9.9.3;16.3 Kurz vorgestellt: Der Arduino;392 9.9.4;16.4 Zusammenbau;393 9.9.4.1;16.4.1 Sanfte Schwingungen;398 9.9.4.2;16.4.2 Elektronik;399 9.9.5;16.5 Programmierung des Arduino;403 9.9.5.1;16.5.1 Der fertige Arduino-Code;409 9.9.6;16.6 Programmierung des Raspberry Pi;417 9.9.7;16.7 Das Pi-Pendel in Aktion;422 9.9.8;16.8 Sie sind am Zug!;424 9.10;Kapitel 17: Das Hightech-Vogelhäuschen Beobachtung der Tierwelt;425 9.10.1;17.1 Bau einer Lichtschranke;427 9.10.1.1;17.1.1 Erforderliche Bauteile;427 9.10.1.2;17.1.2 Anschluss des Senders;427 9.10.1.3;17.1.3 Anschluss des Empfängers;428 9.10.1.4;17.1.4 Test der Sensoren;430 9.10.2;17.2 Montage der Sensoren;430 9.10.2.1;17.2.1 Schutz vor Wind und Wetter;432 9.10.3;17.3 Aktivitäten aufzeichnen;433 9.10.3.1;17.3.1 Verarbeitung in Echtzeit oder im Nachhinein?;433 9.10.3.2;17.3.2 Das Programm zum Aufzeichnen;435 9.10.3.3;17.3.3 Das Programm testen;444 9.10.4;17.4 Die Daten verarbeiten;445 9.10.4.1;17.4.1 Endliche Automaten;446 9.10.4.2;17.4.2 Ein einfaches Programm zur Auswertung;447 9.10.5;17.5 Störsignale handhaben;451 9.10.5.1;17.5.1 Störsignale herausfiltern;451 9.10.5.2;17.5.2 Auswertungsprogramm mit Störsignalfilterung;452 9.10.6;17.6 Ein Diagramm erstellen;457 9.10.7;17.7 Das Vogelhäuschen in Betrieb nehmen;460 9.10.8;17.8 Sie sind am Zug!;460 9.10.8.1;17.8.1 Teilen Sie Ihre Daten;461 9.10.8.2;17.8.2 Weitere Sensoren hinzufügen;461 9.10.9;17.9 Unbegrenzte Möglichkeiten;461 10;Stichwortverzeichnis;4
63
Jetzt reinlesen:
Inhaltsverzeichnis(pdf)