Stichwortverzeichnis Symbole B ^-Operator 153, 274 != 56 &-Operator 207, 272 < 56 <= 56 == 56 > 56 >= 56 Baylis, Trevor 15 Benutzeroberfläche grafische 41 Betriebssystem 25 Bewegungsmelder 308 Bildschirmspeicher 87 Binnenmajuskel 57 Bit-Banging 405 Bitmap 88, 139 Bitmaske 207 Blindwiderstand 279 Blitting 88, 139 Block 27 Bottom-Up-Implementierung 267 Buffer Overflow 287 Byte 266 Numerisch 0604 (SMD-Widerstand) 200 0806 (SMD-Widerstand) 200 5050-LED 199 A abs()-Funktion 152 Absolutbetrag 152 ACT-LED 39 AD-Wandler 361 Aktuator 237 Altair 8800 63 Analog-digital-Wandler 361 Analogsignal 36 Anode 236, 428 Antikondensationsbeutel 433 append() 179 Apple II 63 Arbeitskontakt 292, 308, 340 Arduino 392 IDE 403 Sketch 404 Argument 53 Attribut 248 Ausgabeumlenkung 450 Authentifizierung 293 Automat endlicher 446 AY-3-8500 (Chip) 107 C CamelCase 57, 171 Challenge-Response-Authentifizierung 298 Cinchkabel 36 Composite-Video-Anschluss 36 Compu-Prompt 86 D Datei öffnen 442 Dateisystem 27 Daten protokollieren 434 vertrauliche 294 Datumsangabe Platzhalter 438 Datumsformat 40 Deep Copy 150 Delta 109 Diagramm erstellen 457 © des Titels »Spannende Projekte mit dem Raspberry Pi« (ISBN 978-3-8266-9699-2) 2014 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg. Nähere Informationen unter: http://www.mitp.de/9699 463 Stichwortverzeichnis dictionary 300 digital_read()-Funktion 226 digital_write()-Funktion 224 Digitalkamera 430 Digitalsignal 36 Doppelpufferung 265 Double Buffering 265 draw.rect()-Funktion 265 Drehgeber 362 DS18B20 (Temperatursensor) 320 DVI-Bildschirm 34 Dynamikkompressor 283 E Echtzeit 433 Elektrizität 228 Elektronen 228 elif-Anweisung 75 E-Mail 325 Datei anhängen 328 ferngesteuert versenden 330 verschlüsseln 327 versenden 326 Emitter 428 Endlicher Automat 446 Erde 228, 428 Ereignis 263 espeak 244 Ethernet-Anschluss 37 Exklusive ODER-Verknüpfung 274 Exklusives ODER 153, 214 ext 27 F Facebook Bilder hinaufladen 370 Fail2Ban 320 Farbmischung additive 195 subtraktive 195 FAT 27 Fehler 64 Fehlerbehebung 42 Feldeffekttransistor 283 Fensterkoordinate 265 Fernüberwachung 426 Finite State Machine Siehe Endlicher Automat Firewall 320 464 First-Person-View 167 Flickr Bilder hinaufladen 371 Flussspannung 193 folders2flickr 371 for-Schleife 58 Fototransistor 428 FPV 167 Frequenzweiche 279 FSM Siehe Endlicher Automat Funkfernsteuerung 331 Funktion 52 Body 56 Definition 56 importieren 54 G Gegenkopplung 280 Gehäuse Schutzart 432 Git 221 GitHub 221 GPIO 217 GPIO-Schnittstelle 307 Grafikspeicher 87 Grafische Benutzeroberfläche 41 Gray-Code 363 Grenzfrequenz 279 H Hall-Effekt 390 Hall-Spannung 391 Harmonograph 390 Hausautomation 307 HDMI-Bildschirm 34 Heimverzeichnis 442 HFS+ 27 HID 295 Histogramm 457 Hochpassfilter 279 I IDE 46 Image 27 Immutable 174 Informationstheorie 434 Infrarot-LED 427 Infrarotlicht 430 in-Funktion 144 © des Titels »Spannende Projekte mit dem Raspberry Pi« (ISBN 978-3-8266-9699-2) 2014 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg. Nähere Informationen unter: http://www.mitp.de/9699 Stichwortverzeichnis Inkrementalgeber 362 Intelligenz künstliche 72 Internet der Dinge 307 Interrupt 365 IP-Code 432 Iteration 58 J Joystick 342 K Kathode 236, 428 KI 72 Klasse 248 Kollektor 428 Kommunikation Twitter 253 Komparator 279 Kompression verlustbehaftete 435 verlustfreie 435 Konstante Python 438 Kontaktprellen 364, 451 Künstliche Intelligenz 72 M Magnet Metellspäne 398 Masse 228, 428 matplotlib-Modul 457 MD5-Prüfsumme 435 Methode 248 Millicandela 343 Minecraft Pi Edition 165 Modprobe 321 Modul kompilieren 251 Motion 315 Musik als Taktgeber 279 Muster symmetrische 381 N Neigungssensor 367 Netzteil 39 NFC 296 NOOBS 28 NTFS 27 numpy-Modul 457 O L Labyrinth perfektes 178 Ländereinstellung 40 Latenz 117 LDAP 303 LED 192 LibreOffice 457 Lichtschranke 427 Linux Distributionen 26 Geschichte 25 sudo 30 Zugriffsrechte 30 Lissajous-Figur 390 Liste 52 Logikfehler 64 Login 39 Lokalisierung 40 Löten 233 lsmod 219 Objektorientierte Programmierung 248, 302 Offener-Kollektor-Ausgang 230 .ogg-Format 117, 135 Ohmsches Gesetz 194, 229 OOP 248 OOP Siehe Objektorientierte Programmierung open()-Funktion 441 Operationsverstärker 280 Overclock 40 P Pac-Man 133 Parallelschaltung 242 Parameter 53 pass-Anweisung 75 PDF anzeigen 460 erzeugen 460 Perfektes Labyrinth 178 Pfadname 441 absoluter 441 relativer 441 © des Titels »Spannende Projekte mit dem Raspberry Pi« (ISBN 978-3-8266-9699-2) 2014 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg. Nähere Informationen unter: http://www.mitp.de/9699 465 Stichwortverzeichnis PiFace-Board Steckbrücke 276 PiFace-Digital 217 Ping-Pong 107 Pipe 450 PIR-Sensor 308 Pi-View VGA-Adapter 35 PN2222 (Transistor) 332 .png-Datei 136 Pong 107 pop() 183 Port-Weiterleitung 319 Potenziometer 361 Poti 361 Powerplay 133 Programmierung objektorientierte 248 Protokollieren Daten 434 Prozess 245 Prüfsumme 28, 435 PS/2-Tastatur 33 Puffergröße 443 Pufferspeicher 443 Pufferüberlauf 287 Pull-up-Widerstand 310 Putty 315 PWR-LED 39 Pygame 262 pygame.transform.rotate()-Funktion 105 Pygame-Modul Text ausgeben 273 Python Konstanten 438 Q QSE113 (Fototransistor) 429 R Raspberry Jam 44 Raspberry Pi fernsteuern 315 Raspberry Pi Foundation 18 Raspbian 26 Raspbian Wheezy 166 raspi-config 40 Rauschen 451 Rechtecksignal 362 Reedschalter 308 466 Refactoring 305 Reflexionsverlust 86 Reihenschaltung 194, 242 Relais 230, 292 RFID 295 Funktionsweise 298 RGB-LED 192 root 30 Rückgabewert 52 Ruhekontakt 292 S Schleife 58 Schleifer 361 Schließen-Ereignis 263 Schloss elektromagnetisch 287 elektromechanisch 287 Schlüssel-Werte-Paar speichern 300 Schreib-/Lese-Modus 442 Schutzart Gehäuse 432 SCM-System 221 SD-Karte einsetzen 37 Image übertragen 28 vorbereitete 26 Vorbereitung auf dem Mac 31 Vorbereitung unter Linux 30 Vorbereitung unter Windows 29 SFH484-2 (Infrarot-LED) 428 shelve-Modul 214 Sicherheitskritisches System 286 simplejson 251 Sketch 404 SMD-Bauteil 196 SMTP-SSL 327 Spannung 228 Spannungsabfall 194 Spannungsversorgung 39 Spannungsverstärkung 280 Speicherblock 27 Speichern vertrauliche Daten 294 SPI 405 SPI-Bus 218 Spitzenwertdetektor 279 split()-Funktion 96 © des Titels »Spannende Projekte mit dem Raspberry Pi« (ISBN 978-3-8266-9699-2) 2014 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg. Nähere Informationen unter: http://www.mitp.de/9699 Stichwortverzeichnis Spracheinstellung 40 Sprite 87, 135 SSH 315 SSM2165 (Verstärkerbaustein) 284 SSOP-Bauweise 400 Standardausgabe 450 Standard-Datenstrom 450 Standardeingabe 450 Standardfehlerausgabe 450 Startvorgang 39 Steckbrücke 276 Störsignal 451 Störsignalfilterung 452 Strategie 77 strftime()-Funktion 450 String 52 Strom 228 Stromaufnahme 39 strptime()-Funktion 450 sudo 30 Surface 87 Syntaxfehler 64 sys-Modul 255 System sicherheitskritisches 286 T Taktgeber Musik 279 Tar-Archiv 251 Tastaturbelegung 40 Teleprompter 85 Temperatursensor 320 Terminal 42 Terminal (OS X) 31 Text mit Pygame-Modul ausgeben 273 Tic-Tac-Toe 63 Tiefpassfilter 279 time-Modul 255 TLS 327 Tonausgabe einstellen 245 Top-Down-Design 267 Torvalds, Linus 26 Transistor 230, 332 Transponder 298 Tupel 182, 265 Türkontaktschalter 308 Twitter Kommunikation 253 U Übertaktung 40 Überwachungskamera 314 Uhrzeit formatieren 438 Uhrzeitformat 40 UND-Operator 207, 273 V Vererbung 302 Vergleichsoperator 56 Verzeichnisdienst 303 VGA-Bildschirm 35 Volt 228 Vorwiderstand 193 W Webcam vom Internet aus zugänglich 319 Webcam-Software 314 Wechselschalter 292 Wertetabelle 84 while-Schleife 59 Widerstand 228 Win32DiskImager 29 X XOR-Operator 214, 274 X-Server 42 Z Zeitangabe Platzhalter 438 Zeitdiagramm 362 Zeitstempel 443 Zenerdiode 282 Zugriff-Token Twitter 253 Zugriff-Twitter Token 253 Zuweisung 51 © des Titels »Spannende Projekte mit dem Raspberry Pi« (ISBN 978-3-8266-9699-2) 2014 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg. Nähere Informationen unter: http://www.mitp.de/9699 467 Thomas Brühlmann 2. Auflage Arduino Praxiseinstieg Behandelt Arduino 1.0 Alle Komponenten der Hardware, Verwendung der digitalen und analogen Ports, Einsatzbeispiele mit Sensoren, Aktoren und Anzeigen Praktischer Einstieg in die ArduinoProgrammierung Zahlreiche Beispielprojekte wie Wasserwaage, Miniroboter mit Wii-Bedienelement und Internetanwen-dungen wie Mailchecker, RSS-Reader und Wetterstation Arduino besteht aus einem Microcontroller und der dazugehörigen kostenlosen Programmierumgebung. Aufgrund der einfachen C-ähnlichen Programmiersprache eignet sich die Arduino-Umgebung für alle, die auf einfache Weise Microcontroller programmieren möchten, ohne gleich Technik-Freaks zu sein, also insbesondere Hobbybastler, Künstler und Designer. Dieses Buch ermöglicht einen leichten Einstieg in das sogenannte Physical Computing. Der Autor bietet Ihnen eine praxisnahe Einführung und zeigt anhand vieler Beispiele, wie man digitale und analoge Signale über die Eingangs- und Ausgangsports verarbeitet. Darüber hinaus lernen Sie, wie man verschiedene Sensoren wie Temperatur-, Beschleunigungs- und optische Sensoren für Anwendungen mit dem Arduino-Board einsetzen kann. Anschließend werden Servo- und Motoranwendungen beschrieben. Dabei wird ein kleiner Roboter realisiert, der mit einem Wii-Bedienelement gesteuert werden kann. Im Praxiskapitel beschreibt der Autor verschiedene Internet-Anwendungen mit dem Arduino-Board. Nach der Realisierung der Ethernet-Verbindung wird Ihr Arduino twittern, E-Mails senden und empfangen sowie Umweltdaten sammeln und verarbeiten können. Als Projekt wird eine Wetterstation realisiert, die Wetterinformationen aus dem Internet abruft und Wetter-und Sensordaten auf einem Display darstellt. Zum Abschluss werden verschiedene Werkzeuge und Hilfsmittel sowie Softwareprogramme für den Basteleinsatz beschrieben und Sie erfahren, wie das Arduino-Board als Messgerät eingesetzt werden kann. Mit dem Wissen aus diesem Praxis-Handbuch können Sie Ihre eigenen Ideen kreativ umsetzen. Probekapitel und Infos erhalten Sie unter: www.mitp.de/9116 ISBN 978-3-8266-9116-4 © des Titels »Spannende Projekte mit dem Raspberry Pi« (ISBN 978-3-8266-9699-2) 2014 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg. Nähere Informationen unter: http://www.mitp.de/9699 Michael Weigend 5. Auflage Python 3 Lernen und professionell anwenden Klassen, Objekte und Vererbung praktisch angewendet Datenbanken, grafische Benutzungsoberflächen und Internet-Programmierung Übungen mit Musterlösungen zu jedem Kapitel Die Skriptsprache Python mit ihrer einfachen Syntax ist hervorragend geeignet, um modernes Programmieren zu lernen. Mit diesem Buch erhalten Sie einen umfassenden Einblick in Python 3. Michael Weigend behandelt Python von Grund auf und erläutert die wesentlichen Sprachelemente. Er geht darüber hinaus besonders auf die objektorientierte Programmierung ein, die in Beispielen praxisnah eingesetzt wird. Insgesamt liegt der Schwerpunkt auf der praktischen Arbeit mit Python. Ziel ist es, die wesentlichen Techniken und dahinter stehenden Ideen anhand zahlreicher anschaulicher Beispiele verständlich zu machen. Zu typischen Problemstellungen werden Schritt für Schritt Lösungen erarbeitet. So erlernen Sie praxisorientiert die Pro- grammentwicklung mit Python und die Anwendung von Konzepten der objektorientierten Programmierung. Alle Kapitel enden mit einfachen und komplexen Übungsaufgaben mit vollständigen Musterlösungen. Das Buch behandelt die Grundlagen von Python 3 (Version 3.3) und zusätzlich auch weiterführende Themen wie die Gestaltung grafischer Benutzungsoberflächen, Threads, CGI- und Internetprogrammierung, automatisiertes Testen, Datenmodellierung mit XML und Datenbanken. Der Autor wendet sich sowohl an ambitionierte Einsteiger als auch an Leser, die bereits mit einer höheren Programmiersprache vertraut sind. Zugleich bietet sich dieses Lehrbuch als Textgrundlage oder nützliche Ergänzung zu Universitätskursen an. Probekapitel und Infos erhalten Sie unter: www.mitp.de/9456 ISBN 978-3-8266-9456-1 © des Titels »Spannende Projekte mit dem Raspberry Pi« (ISBN 978-3-8266-9699-2) 2014 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg. Nähere Informationen unter: http://www.mitp.de/9699 Michael Weigend Raspberry Pi programmieren mit Python Alle Python-Grundlagen, die Sie für Ihren Raspberry Pi brauchen Projekte mit Temperatur-Sensoren, Relais und AD-Wandlern Einsatz von Peripheriegeräten wie Kameramodul, Lautsprecher und WiFi-Adapter 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 sowohl die Grundlagen von Python als auch fortgeschrittene Techniken wie Objektorientierung, Internetprogrammierung und grafische Benutzungsoberflächen anhand vieler anschaulicher Beispiele. Fülle von kleinen Projekten, die auf die besondere Hardware des Raspberry Pi und das Linux-Betriebssystem Wheezy 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 zahlreichen Projekten im Buch gehören: Schaltungen mit TemperaturSensoren, Relais, AD-Wandlern und LEDs. Sie erfahren, wie man Peripheriegeräte wie Kameramodul, Lautsprecher und WiFi-Adapter anschließt und den 1-Wire- sowie den SPI-Bus zur Datenkommunikation nutzt. Am Ende jedes Kapitels finden Sie Nach dem Erlernen der Programmier- Aufgaben und Lösungen, mit denen konzepte finden Sie besonders in Sie Ihr Wissen festigen, erweitern und der zweiten Hälfte des Buches eine vertiefen können. Probekapitel und Infos erhalten Sie unter: www.mitp.de/9474 ISBN 978-3-8266-9474-5 © des Titels »Spannende Projekte mit dem Raspberry Pi« (ISBN 978-3-8266-9699-2) 2014 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg. Nähere Informationen unter: http://www.mitp.de/9699 Eben Upton Gareth Halfacree ® Raspberry Pi Einstieg und User Guide Inbetriebnahme und Anwendungsmöglichkeiten Einführung in Hardware und Linux Erste Programmierschritte mit Python und Scratch Der Raspberry Pi ist ein winziger AllzweckComputer, mit dem man alles machen kann, was auch mit einem normalen PC möglich ist. Dank seiner leistungsstarken Multimedia- und 3D-Grafikfunktionen hat das Board außerdem das Potenzial, als Spieleplattform genutzt zu werden. Dieses Buch richtet sich an Einsteiger ins Physical Computing und bietet Bastlern und der heranwachsenden Generation von Computernutzern einen einfachen und praktischen Einstieg nicht nur in die Programmierung, sondern auch in das Hardware-Hacking. Eben Upton ist einer der Mitbegründer der Raspberry Pi Foundation und erläutert alles, was Sie wissen müssen, um mit dem Raspberry Pi durchzustarten. Es werden keine IT-Vorkenntnisse vorausgesetzt, alle Themen werden von Grund auf erläutert. Zunächst lernen Sie die Hardware kennen und erfahren, wie Sie Peripheriegeräte anschließen, um das Board in Betrieb zu nehmen. Da der Raspberry Pi auf Linux basiert, erhalten Sie eine kurze Einführung in die Einsatzmöglichkeiten des Linux-Betriebssystems, insbesondere der Debian-Distribution. Anschließend werden alle weiteren Aspekte für die Inbetriebnahme des Boards ausführlich behandelt. Darüber hinaus werden zahlreiche Anwendungsmöglichkeiten vorgestellt, beispielsweisewie sich der Raspberry Pi als Mediacenter, Produktivitätstool oder Webserver einsetzen lässt. Um eigene Anwendungen entwickeln zu können, bieten zwei separate Kapitel einen jeweils umfassenden Exkurs in die Programmierung mit Python und Scratch. So können Sie z.B. mit Python die Hardware steuern oder mit Scratch kinderleicht eigene Spiele programmieren. Mit dem Insiderwissen des Entwicklers ausgestattet, werden Sie sehr schnell in der Lage sein, Ihre eigenen Projekte umzusetzen. Probekapitel und Infos erhalten Sie unter: www.mitp.de/9522 ISBN 978-3-8266-9522-3 © des Titels »Spannende Projekte mit dem Raspberry Pi« (ISBN 978-3-8266-9699-2) 2014 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg. Nähere Informationen unter: http://www.mitp.de/9699 Michael Weigend Python GE-PACKT Schneller Zugriff auf Module, Klassen und Funktionen tkinter, Datenbanken, OOP und Internetprogrammierung Für die Versionen Python 3.3 und 2.7 5. Auflage Mit dieser Referenz erhalten Sie effiziente Unterstützung bei der Programmierung mit Python 3.3 und Python 2.7 – klar strukturiert zum Nachschlagen. In 24 thematisch gegliederten Kapiteln werden die wichtigsten Module detailliert und praxisbezogen erläutert: angefangen bei grundlegenden Elementen wie Datentypen, Operatoren und Standardfunktionen bis hin zu Spezialthemen wie der Schnittstelle zum Laufzeit- und Betriebssystem, Generatoren, GUI-Programmierung mit tkinter, Logging, Mengenverarbeitung, XML und Dezimalarithmetik. Darüber hinaus finden Sie kompakte Darstellungen der Umsetzung von objektorientierter Programmierung, CGI- und Internetprogrammierung (E-Mail, FTP, Telnet, HTTP) sowie der Datenbankanbindung (MySQL, SQLite). Die Erläuterungen werden ergänzt durch übersichtliche Tabellen, UML-Diagramme und zahlreiche leicht nachvollziehbare Beispiele, die Anregungen und Lösungen für eigene Programmieraufgaben liefern. Probekapitel und Infos erhalten Sie unter: www.mitp.de/9520 ISBN 978-3-8266-9520-9 © des Titels »Spannende Projekte mit dem Raspberry Pi« (ISBN 978-3-8266-9699-2) 2014 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg. Nähere Informationen unter: http://www.mitp.de/9699