
Raspberry Pi programmieren mit Python
Beschreibung
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
- Alle Python-Grundlagen, die Sie für Ihren Raspberry Pi 5, 4, 3 oder Zero brauchen
- Projekte mit Sensoren, Relais und AD-Wandlern
- Einsatz von Peripheriegeräten wie Kameramodul und Lautsprecher
Raspberry Pi - der Mini-Computer zum Experimentieren
Der Raspberry Pi ist ein preiswerter 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. In diesem Buch lernen Sie alle Grundlagen, die Sie brauchen, um mit dem Raspberry Pi oder dem Raspberry Pi Zero spannende Projekte zu realisieren.
Zahlreiche Projekte mit Sensoren, Kamera u.v.m.
Sie finden in diesem Buch eine Fülle von kleinen Projekten, die auf die besondere Hardware des Raspberry Pi und das Linux-Betriebssystem Raspberry Pi OS zugeschnitten sind. Dazu gehören sowohl Schaltungen mit Sensoren (Temperatur, Licht, Alkohol), Relais, AD-Wandlern und LEDs als auch die Verwendung des Kameramoduls und des 1-Wire- sowie SPI-Bus zur Datenkommunikation. Zahlreiche Illustrationen und einfache Beispiele zum Ausprobieren erleichtern das Verständnis.
Die Programmiersprache Python als Grundlage
Python ist - auch für Programmiereinsteiger - einfach zu lernen und deshalb Teil des Gesamtkonzepts des Raspberry Pi. Dieses Buch vermittelt Ihnen anhand anschaulicher Beispiele sowohl die Grundlagen von Python als auch fortgeschrittene Techniken wie Objektorientierung, Internetprogrammierung und grafische Benutzungsoberflächen. Am Ende jedes Kapitels finden Sie Aufgaben mit Lösungen zum Download, mit denen Sie Ihr Wissen festigen, erweitern und vertiefen können.
Aus dem Inhalt:
- Gerätesteuerung
- Messwerterfassung und -visualisierung
- Interaktive Spiele mit Schaltern und Sensoren
- Animationen und Simulationen
- Automatische Textproduktion
- Digitale Bildverarbeitung
- Morsezeichen senden und Signalmuster erkennen
- Projekte mit dem Sense HAT
- Farben und Bewegung wahrnehmen
- Steuerung mit Potentiometer und AD-Wandler
- Auswertung von Daten aus dem Internet
- Webserver und Webcam
Zum Download: Programmcode für alle Projekte sowie Lösungen der Übungsaufgaben
Rezensionen / Stimmen
Pressestimmen:Die Bastelprojekte sind durchweg lehrreich und haben gleichzeitig fast alle hohen Unterhaltungswert. (Maik Schmitz, c`t, 11/2024)
Pressestimme zur Vorauflage:»Das Buch ist qualitativ hochwertig. Man findet sich gut zurecht, lernt mit einem aufsteigenden Schwierigkeitsgrad Python und setzt coole kleine Projekte um. (.) Bücher in der 5. Auflage kann man, denke ich, ohne Bedenken empfehlen.« (developer-blog.net, 09/2021)
Weitere Details
Weitere Ausgaben
Andere Ausgaben

Person
Inhalt
- Cover
- Titel
- Impressum
- Inhaltsverzeichnis
- Einleitung
- Was macht man mit dem Raspberry Pi?
- Interaktives Exponat
- System mit speziellen Eingabegeräten
- System mit speziellen Ausgabegeräten
- Mobiles Gerät
- Server für spezielle Aufgaben
- Warum überhaupt Python auf dem RPi?
- Zum Aufbau dieses Buchs
- Lösungen und Programmcode zum Download
- Kapitel 1: Begegnung mit Python
- 1.1 Was ist Python?
- 1.2 IDLE
- 1.2.1 IDLE-Shell
- 1.2.2 Hotkeys
- 1.3 Die IDLE-Shell als Taschenrechner
- 1.3.1 Operatoren und Terme
- 1.3.2 Zahlen
- 1.3.3 Mathematische Funktionen
- 1.4 Hilfe
- 1.5 Namen und Zuweisungen
- 1.5.1 Zuweisungen für mehrere Variablen
- 1.5.2 Rechnen mit Variablen in der Shell
- 1.5.3 Syntaxregeln für Bezeichner
- 1.5.4 Neue Namen für Funktionen und andere Objekte
- 1.5.5 Erweiterte Zuweisungen
- 1.6 Mit Python-Befehlen Geräte steuern
- 1.6.1 Projekt: Eine LED ein- und ausschalten
- 1.6.2 Das Modul gpiozero
- 1.6.3 Steuern mit Relais
- 1.6.4 Projekt: Eine Taschenlampe an- und ausschalten
- 1.6.5 Projekt: Steuerung eines LED-Strips mit MOSFETs
- 1.7 Aufgaben
- Kapitel 2: Python-Skripte
- 2.1 Ein Skript mit IDLE erstellen
- 2.1.1 Ein neues Projekt starten
- 2.1.2 Programmtext eingeben
- 2.1.3 Das Skript ausführen
- 2.1.4 Shortcuts
- 2.2 Programme ausführen
- 2.2.1 Programm in der Konsole starten
- 2.2.2 Anklicken des Programmicons im File-Manager
- 2.3 Interaktive Programme - das EVA-Prinzip
- 2.3.1 Format mit Bedeutung - Aufbau eines Python-Programmtextes
- 2.3.2 Eingabe - die input()-Funktion
- 2.3.3 Verarbeitung - Umwandeln von Datentypen und Rechnen
- 2.3.4 Ausgabe - die print()-Funktion
- 2.4 Programmverzweigungen
- 2.4.1 Einfache Bedingungen
- 2.4.2 Wie erkennt man eine gute Melone? Zusammengesetzte Bedingungen
- 2.4.3 Einseitige Verzweigungen und Programmblöcke
- 2.4.4 Haben Sie Ihr Idealgewicht?
- 2.4.5 Eine Besonderheit von Python: Wahrheitswerte für Objekte
- 2.5 Bedingte Wiederholung - die while-Anweisung
- 2.5.1 Projekt: Zahlenraten
- 2.5.2 Have a break! Abbruch einer Schleife
- 2.6 Projekte mit dem GPIO
- 2.6.1 Blinklicht
- 2.6.2 Schalter
- 2.6.3 Zähler
- 2.6.4 Die Methode wait_for_press()
- 2.7 Projekt: Eine Alarmanlage
- 2.7.1 Aufbau und Arbeitsweise der Alarmanlage
- 2.7.2 Programmierung
- 2.8 Aufgaben
- Kapitel 3: Kollektionen: Mengen, Listen, Tupel und Dictionaries
- 3.1 Die Typhierarchie
- 3.1.1 Reihenfolge der Elemente und Zugriff
- 3.1.2 Änderbarkeit
- 3.2 Gemeinsame Operationen für Kollektionen
- 3.3 Kollektionen in Bedingungen
- 3.3.1 Projekt: Kundenberatung
- 3.3.2 Projekt: Sichere Kommunikation
- 3.4 Iteration - die for-Anweisung
- 3.4.1 Verwendung von break
- 3.5 Sequenzen
- 3.5.1 Konkatenation und Vervielfältigung
- 3.5.2 Direkter Zugriff auf Elemente - Indizierung
- 3.5.3 Slicing
- 3.5.4 Projekt: Lesbare Zufallspasswörter
- 3.6 Tupel
- 3.7 Zeichenketten (Strings)
- 3.7.1 Strings durch Bytestrings codieren
- 3.7.2 Formatieren
- 3.8 Listen
- 3.8.1 Listen sind Objekte und empfangen Botschaften
- 3.8.2 Klasse, Typ und Instanz
- 3.8.3 Kopie oder Alias?
- 3.8.4 Listenoperationen
- 3.8.5 Projekt: Zufallsnamen
- 3.8.6 Projekt: Telefonliste
- 3.8.7 Listen durch Comprehensions erzeugen
- 3.9 Zahlen in einer Folge - range()-Funktion
- 3.10 Projekt: Klopfzeichen
- 3.11 Mengen
- 3.12 Projekt: Zufallssounds
- 3.12.1 Wie kommen Töne aus dem Raspberry Pi?
- 3.12.2 Sounds mit PyGame
- 3.12.3 Programmierung
- 3.13 Dictionaries
- 3.13.1 Operationen für Dictionaries
- 3.13.2 Projekt: Morsen
- 3.14 Aufgaben
- Kapitel 4: Funktionen
- 4.1 Aufruf von Funktionen
- 4.1.1 Unterschiedliche Anzahl von Argumenten
- 4.1.2 Positionsargumente und Schlüsselwort-Argumente
- 4.2 Definition von Funktionen
- 4.3 Funktionen in der IDLE-Shell testen
- 4.4 Docstrings
- 4.5 Veränderliche und unveränderliche Objekte als Parameter
- 4.6 Voreingestellte Parameterwerte
- 4.7 Beliebige Anzahl von Parametern
- 4.8 Die return-Anweisung unter der Lupe
- 4.9 Mehr Sicherheit! Vorbedingungen testen
- 4.10 Namensräume: Global und lokal
- 4.11 Rekursive Funktionen - die Hohe Schule der Algorithmik
- 4.11.1 Projekt: Rekursive Summe
- 4.11.2 Projekt: Quicksort
- 4.12 Funktionen per Knopfdruck aufrufen: Callback-Funktionen
- 4.12.1 Projekt: Klangmaschine
- 4.12.2 Projekt: Zeit schätzen
- 4.13 Aufgaben
- Kapitel 5: Fenster für den RPi - Grafische Benutzungsoberflächen
- 5.1 Wie macht man eine Benutzungsoberfläche?
- 5.2 Projekt: Die digitale Lostrommel
- 5.2.1 Die Gestaltung der Widgets
- 5.2.2 Das Layout-Management
- 5.3 Projekt: Farbmischer
- 5.4 Wer die Wahl hat, hat die Qual: Checkbutton und Radiobutton
- 5.5 Projekt: Automatische Urlaubsgrüße
- 5.6 Projekt: Digitaler Glückskeks
- 5.7 Viele Widgets schnell platziert: Das Grid-Layout
- 5.8 Projekt: 100 Farben
- 5.8.1 Die professionelle Version
- 5.9 Aufgaben
- Kapitel 6: Daten finden, laden und speichern
- 6.1 Dateien
- 6.1.1 Daten speichern
- 6.1.2 Daten laden
- 6.2 Ein Blick hinter die Kulissen: Die SD-Karte
- 6.2.1 Experiment 1: Wie viel Zeit wird zum Schreiben von 10 MB auf die SD-Karte benötigt?
- 6.2.2 Experiment 2: Wie viel Zeit wird zum Lesen von 100 MB von der SD-Karte benötigt?
- 6.3 Datenstrukturen haltbar machen mit pickle
- 6.4 Versuch und Irrtum - Mehr Zuverlässigkeit durch try- Anweisungen
- 6.5 Projekt: Karteikasten
- 6.5.1 Der Editor
- 6.5.2 Der Presenter
- 6.6 Benutzungsoberfläche zum Laden und Speichern
- 6.6.1 Dialogboxen
- 6.6.2 Erweiterung des Editors für Karteikarten
- 6.6.3 Erweiterung des Presenters
- 6.7 Daten aus dem Internet
- 6.8 Projekt: Goethe oder Schiller?
- 6.8.1 Methoden der String-Objekte
- 6.8.2 Programmierung
- 6.9 Daten finden mit regulären Ausdrücken
- 6.9.1 Reguläre Ausdrücke
- 6.9.2 Die Funktion findall()
- 6.9.3 Projekt: Staumelder
- 6.9.4 Programmierung
- 6.10 Aufgaben
- Kapitel 7: Projekte mit Zeitfunktionen
- 7.1 Projekt: Fünf Sekunden stoppen und gewinnen
- 7.2 Datum und Zeit im Überblick
- 7.3 Projekt: Digitaluhr
- 7.3.1 Woher bekommt der RPi die Zeit?
- 7.3.2 Was ist ein Prozess?
- 7.3.3 Vollbildmodus
- 7.3.4 Event-Verarbeitung
- 7.3.5 Autostart
- 7.4 Projekt: Ein digitaler Bilderrahmen
- 7.4.1 Zugriff auf das Dateisystem: Das Modul os
- 7.4.2 Python Imaging Library (PIL)
- 7.4.3 Die Programmierung
- 7.5 Projekt: Wahrnehmungstest
- 7.5.1 Die Programmierung
- 7.6 Aufgaben
- Kapitel 8: Objektorientierte Programmierung
- 8.1 Überall Objekte
- 8.2 Klassen und Vererbung bei Python
- 8.2.1 Einführendes Beispiel: Alphabet
- 8.2.2 Qualitätsmerkmal Änderbarkeit
- 8.2.3 Vererbung
- 8.3 Projekt: Pong revisited
- 8.3.1 Die Klasse Canvas
- 8.3.2 Aufbau des Projekts
- 8.3.3 Die Tick-Metapher
- 8.3.4 Die Programmierung
- 8.3.5 Erweiterungen
- 8.4 Aufgaben
- Kapitel 9: Sensortechnik
- 9.1 Was ist ein digitaler Temperatursensor?
- 9.2 Den DS1820 anschließen
- 9.3 Temperaturdaten lesen
- 9.3.1 Temperaturdaten eines Sensors automatisch auswerten
- 9.4 Projekt: Ein digitales Thermometer mit mehreren Sensoren
- 9.4.1 Ein Modul für die Messwerterfassung
- 9.4.2 Die grafische Oberfläche
- 9.4.3 Temperaturdaten per E-Mail senden
- 9.5 Projekt: Ein Temperaturplotter
- 9.5.1 Temperatur-Zeitdiagramme
- 9.5.2 Programmierung
- 9.6 Spannung messen
- 9.6.1 Das SPI-Protokoll
- 9.6.2 Programmierung
- 9.7 Alkoholsensor
- 9.7.1 Projekt: Achtung! Alkoholisches Getränk!
- 9.7.2 Projekt: Den Alkoholgehalt der Luft und von Flüssigkeiten messen
- 9.7.3 Wie kann man den Alkoholgehalt von Flüssigkeiten messen?
- 9.7.4 Messen und interpolieren
- 9.8 Projekte mit einem digitalen Lichtsensor
- 9.8.1 Ein Paket in einer virtuellen Umgebung installieren
- 9.8.2 Die Programmierung
- 9.8.3 Das Modul smbus
- 9.8.4 Mit dem Raspberry Pi Farben messen - Absorptionsspektrometer
- 9.9 Kohlendioxid-Sensor
- 9.9.1 Projekt: Datenlogger
- 9.9.2 Das Sensormodul kalibrieren
- 9.9.3 Projekt: Ein Experiment zur Diffusion von Gasen
- 9.10 Mit Ultraschall Entfernungen messen
- 9.10.1 Die Schaltung
- 9.10.2 Projekt: Abstandsmessungen
- 9.10.3 Projekt: Fische - eine interaktive Animation mit Ultraschall- Sensor
- 9.11 Aufgaben
- 9.12 Lösung des Rätsels
- Kapitel 10: Projekte mit der Kamera
- 10.1 Das Kameramodul anschließen
- 10.2 Die Kamerasoftware
- 10.3 Projekt: Überwachungskamera - Livebild auf dem Bildschirm
- 10.4 Projekt: Bewegung erfassen
- 10.5 Projekt: Gerichtete Bewegungen erfassen
- 10.5.1 Files verarbeiten mit subprocess und io
- 10.5.2 Die Programmierung
- 10.6 Projekt: Birnen oder Tomaten?
- 10.6.1 Magische Methoden - das Überladen von Operatoren
- 10.6.2 Programmierung
- 10.6.3 Weiterentwicklungen
- 10.7 Projekt: Fotos per E-Mail verschicken
- 10.8 Randbemerkung: Was darf man? Was soll man?
- 10.9 Aufgabe: Wie lang? Wie breit?
- Kapitel 11: Webserver
- 11.1 Der RPi im lokalen Netz
- 11.1.1 WLAN
- 11.1.2 Virtual Network Computing (VNC)
- 11.2 Webserver
- 11.2.1 Der Apache-Webserver
- 11.2.2 Die eigene Startseite
- 11.3 Was ist los im Gartenteich?
- 11.3.1 Projekt: Einfache Webcam mit statischer Webseite
- 11.4 Lösungen zu den Zwischenfragen
- Kapitel 12: Erweiterungen: OLED und HAT
- 12.1 OLED-Display
- 12.2 Anschluss
- 12.3 Installation der SSD1306-Bibliothek
- 12.4 Auf dem Display Texte und Formen ausgeben
- 12.4.1 Projekt: Uhrzeit
- 12.5 Mit ImageDraw zeichnen und Texte schreiben
- 12.5.1 Grafiken zeichnen
- 12.5.2 Schriftarten definieren
- 12.6 Projekt: Thermometer
- 12.7 Sense HAT
- 12.8 Die Klasse SenseHat
- 12.9 Grafische Ausgabe über die LED-Matrix
- 12.10 Die räumliche Orientierung des Sense HAT
- 12.10.1 Projekt: Das Murmellabyrinth
- 12.11 Der Joystick
- 12.11.1 InputEvent
- 12.11.2 Die Klasse JoyStick
- 12.11.3 Definition von Eventhandlern
- 12.11.4 Auf Events warten und Events abfragen
- 12.12 Aufgaben
- Anhang A: Den Raspberry Pi einrichten
- A.1 Hardware-Ausstattung
- A.2 Das Betriebssystem installieren
- A.3 Raspberry Pi das erste Mal starten und konfigurieren
- A.4 Die grafische Oberflächevon Raspberry Pi OS
- A.4.1 Überblick über die Standardsoftware
- A.4.2 LXTerminal
- Anhang B: Der GPIO
- B.1 Der GPIO
- Anhang C: Autostart
- Anhang D: Bau eines Fußschalters
- Anhang E: Virtuelle Umgebungen
- E.1 Eine virtuelle Umgebung einrichten
- E.2 Die virtuelle Umgebung aktivieren
- E.3 Eine virtuelle Umgebung verwenden
- E.4 Die virtuelle Umgebung deaktivieren
- Stichwortverzeichnis
- Lösungen zu den Aufgaben
- Lösungen zu Kapitel 1
- Lösungen zu Kapitel 2
- Lösungen zu Kapitel 3
- Lösungen zu Kapitel 4
- Lösungen zu Kapitel 5
- Lösungen zu Kapitel 6
- Lösungen zu Kapitel 7
- Lösungen zu Kapitel 8
- Lösungen zu Kapitel 9
- Lösung zu Kapitel 10
- Lösungen zu Kapitel 12
Systemvoraussetzungen
Dateiformat: ePUB
Kopierschutz: Wasserzeichen-DRM (Digital Rights Management)
Systemvoraussetzungen:
- Computer (Windows; MacOS X; Linux): Verwenden Sie eine Lese-Software, die das Dateiformat ePUB verarbeiten kann: z.B. Adobe Digital Editions oder FBReader – beide kostenlos (siehe E-Book Hilfe).
- Tablet/Smartphone (Android; iOS): Installieren Sie die App Adobe Digital Editions oder eine andere Leseapp für E-Books, z.B. PocketBook (siehe E-Book Hilfe).
- E-Book-Reader: Bookeen, Kobo, Pocketbook, Sony, Tolino u.v.a.m.
Das Dateiformat ePUB ist sehr gut für Romane und Sachbücher geeignet - also für „fließenden” Text ohne komplexes Layout. Bei E-Readern oder Smartphones passt sich der Zeilen- und Seitenumbruch automatisch den kleinen Displays an.
Mit Wasserzeichen-DRM wird hier ein „weicher” Kopierschutz verwendet. Daher ist technisch zwar alles möglich – sogar eine unzulässige Weitergabe. Aber an sichtbaren und unsichtbaren Stellen wird der Käufer des E-Books als Wasserzeichen hinterlegt, sodass im Falle eines Missbrauchs die Spur zurückverfolgt werden kann.
Weitere Informationen finden Sie in unserer E-Book Hilfe.