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...

Full description

Saved in:
Bibliographic Details
Online Access: Full Text (via O'Reilly/Safari)
Main Author: Weigend, Michael (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.