Raspberry Pi programmieren mit Python / Michael Weigend.
Alle Python-Grundlagen, die Sie für Ihren Raspberry Pi 3 brauchen Projekte mit Temperatur-Sensoren, Relais und AD-Wandlern Einsatz von Peripheriegeräten wie Kameramodul, Lautsprecher und WiFi-Adapter Das Buch ist eine Einführung in die Programmierung mit Python auf dem Raspberry Pi. Python-Progra...
Saved in:
Online Access: |
Full Text (via O'Reilly/Safari) |
---|---|
Main Author: | |
Format: | eBook |
Language: | German |
Published: |
[Germany] :
Mitp Verlags,
2016.
|
Edition: | 3. Auflage. |
Subjects: |
Table of Contents:
- Cover
- Impressum
- Inhaltsverzeichnis
- Einleitung
- Kapitel 1: Begegnung mit Python
- 1.1 Was ist Python?
- 1.2 Python-Versionen
- 1.3 IDLE
- 1.3.1 Die Python-Shell
- 1.3.2 Hotkeys
- 1.4 Die Python-Shell als Taschenrechner
- 1.4.1 Operatoren und Terme
- 1.4.2 Zahlen
- 1.4.3 Mathematische Funktionen
- 1.5 Hilfe
- 1.6 Namen und Zuweisungen
- 1.6.1 Zuweisungen für mehrere Variablen
- 1.6.2 Rechnen mit Variablen in der Shell
- 1.6.3 Syntaxregeln für Bezeichner
- 1.6.4 Neue Namen für Funktionen und andere Objekte
- 1.6.5 Erweiterte Zuweisungen
- 1.7 Mit Python-Befehlen Geräte steuern
- 1.7.1 Projekt: Eine LED ein- und ausschalten
- 1.7.2 Das Modul RPI.GPIO
- 1.7.3 Steuern mit Relais
- 1.7.4 Projekt: Eine Taschenlampe an- und ausschalten
- 1.8 Aufgaben
- 1.9 Lösungen
- 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 Grundzustände festlegen und Flankensteuerung
- 2.7 Projekt: Eine Alarmanlage
- 2.7.1 Aufbau und Arbeitsweise der Alarmanlage
- 2.7.2 Programmierung
- 2.8 Aufgaben
- 2.9 Lösungen
- Kapitel 3: Kollektionen: Mengen, Listen, Tupel und Dictionaries
- 3.1 Die Typhierarchie
- 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 Der Formatierungsoperator %
- 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.11.1 Projekt: Häufigkeit von Buchstaben in einem Text
- 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 Projekt: Der kürzeste Weg zum Ziel
- 3.15 Aufgaben
- 3.16 Lösungen
- Kapitel 4: Funktionen
- 4.1 Aufruf von Funktionen
- 4.1.1 Unterschiedliche Anzahl von Argumenten
- 4.1.2 Positionsargumente und Schlüsselwort-Argumente
- 4.1.3 Für Experten: Funktionen als 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 Experimente zur Rekursion mit der Turtle-Grafik
- 4.12.1 Turtle-Befehle im interaktiven Modus
- 4.12.2 Projekt: Eine rekursive Spirale aus Quadraten
- 4.12.3 Projekt: Pythagorasbaum
- 4.12.4 Projekt: Eine Koch-Schneeflocke
- 4.13 Projekt: Der Sierpinski-Teppich
- 4.14 Funktionen per Knopfdruck aufrufen: Callback-Funktionen
- 4.14.1 Projekt: Digitaler Türgong
- 4.14.2 Projekt: Verkehrszählungen
- Zählen mit mehreren Knöpfen
- 4.15 Aufgaben
- 4.16 Lösungen
- 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 Bilder auf Widgets
- 5.3.1 Projekt: Ein visueller Zufallsgenerator
- 5.3.2 Bilder verarbeiten
- 5.3.3 Projekt: Schwarzweißmalerei
- 5.4 Projekt: Der Krimiautomat
- 5.4.1 Texteingabe
- 5.4.2 Programmierung
- 5.5 Wer die Wahl hat, hat die Qual: Checkbutton und Radiobutton
- 5.5.1 Projekt: Automatische Urlaubsgrüße
- 5.5.2 Projekt: Digitaler Glückskeks
- 5.6 Viele Widgets schnell platziert: Das Grid-Layout
- 5.6.1 Projekt: Rechenquiz
- 5.7 Projekt: Farbmixer
- 5.8 Projekt: Editor mit Pulldown-Menüs
- 5.8.1 Aufbau einer Menüstruktur
- 5.8.2 Programmierung
- 5.9 Aufgaben
- 5.10 Lösungen
- 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.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
- 6.11 Lösungen
- 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 Projekt: Stoppuhr mit Gong
- 7.7 Aufgaben
- 7.8 Lösungen
- 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 Pong revisited
- 8.3.1 Bau eines Fußschalters
- 8.3.2 Die Klasse Canvas
- 8.3.3 Die Programmierung
- 8.4 Renn, Lola renn!
- 8.4.1 Vorbereitung
- 8.4.2 Struktur des Programms
- 8.4.3 Background
- 8.4.4 Switch
- 8.4.5 Display
- 8.4.6 Clock
- 8.4.7 Die Klasse Runner
- 8.4.8 Controller
- 8.4.9 Module
- 8.5 Aufgaben
- 8.6 Lösungen
- 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 Projekt: Mobile Datenerfassung
- 9.6.1 Experimente mit mobiler Temperaturerfassung
- 9.6.2 Programmierung
- 9.6.3 Wiedergabe der Daten
- 9.7 Spannung messen
- 9.7.1 Das SPI-Protokoll
- 9.7.2 Bitverarbeitung
- 9.7.3 Programmierung
- 9.8 Aufgaben
- 9.9 Lösungen
- Kapitel 10: Projekte mit der Kamera
- 10.1 Das Kameramodul anschließen
- 10.2 Die Kamerasoftware
- 10.2.1 Einzelbilder
- 10.3 Projekt: Kameraoptionen testen
- 10.4 Projekt: Überwachungskamera
- Livebild auf dem Bildschirm
- 10.5 Projekt: Bewegung erfassen
- 10.6 Projekt: Gerichtete Bewegungen erfassen
- 10.6.1 Files verarbeiten mit subprocess und io
- 10.6.2 Die Programmierung
- 10.7 Projekt: Birnen oder Tomaten?
- 10.7.1 Magische Methoden
- das Überladen von Operatoren
- 10.7.2 Programmierung
- 10.7.3 Weiterentwicklungen
- 10.8 Das Modul picamera
- 10.8.1 Die Klasse PiCamera
- 10.8.2 Projekt: Einen Film aufnehmen
- 10.8.3 Projekt: Fotos per E-Mail verschicken
- 10.9 Was ist los am Autobahnkreuz? Bilder einer Webcam auswerten
- 10.9.1 Webcams im Internet anzapfen
- 10.9.2 Auf einem Foto zeichnen
- das Modul ImageDraw
- 10.9.3 Projekt: Verkehrsdichte auf der Autobahn
- 10.10 Randbemerkung: Was darf man? Was soll man?
- 10.11 Aufgabe
- 10.12 Lösung
- Kapitel 11: Webserver
- 11.1 Der RPi im lokalen Netz
- 11.1.1 WLAN
- 11.1.2 Eine dauerhafte IP-Adresse für den RPi
- 11.1.3 Über SSH auf dem RPi arbeiten
- 11.1.4 Virtual Network Computing (VNC)
- 11.2 Ein Webserver.