Cover image for Die elektronische Welt mit Raspberry Pi entdecken

Book description

Der preiswerte Single-Board-Computer Raspberry Pi hat innerhalb kürzester Zeit die Herzen der Bastler und IT-Tüftler erobert. Das Board verfügt über zahlreiche Anschlussmöglickeiten, die einem großen PC in nichts nachstehen. Dass Linux als Betriebssystem gewählt wurde, trägt sicherlich zur großen Beliebtheit dieses kleinen Technikwunders bei und erlaubt zahlreiche Anwendungsmöglichkeiten, die zuvor mit einem Mikrocontroller nicht möglich waren.

Table of Contents

  1. Die elektronische Welt mit Raspberry Pi entdecken
  2. Einleitung
    1. Aufbau des Buches
    2. Voraussetzungen
    3. Benötige Komponenten
      1. Must-Have
      2. Nice-To-Have
    4. Danksagung
      1. Schaltplan-Designer sPlan
      2. LC-Display
      3. Erweiterungsboards von Quick2Wire
      4. Ein Erweiterungsboard von Cooking Hacks
      5. Ein Erweiterungsboard des WyoLum Team
      6. Ein Erweiterungsboard der University of Manchester
      7. Nützliche Erweiterungen von Adafruit
      8. Kompassmodul
      9. Die Software NI Multisim
      10. Mein Fachgutachter
      11. Meine Korrekturleserin
      12. Last but not Least
  3. 1. Das Raspberry Pi-Board
    1. Dann wollen wir mal
      1. Die Anschlüsse im Detail
        1. Die Spannungsversorgung
        2. Das Videosignal
          1. Anschluss über HDMI (Raspberry Pi) auf HDMI (TFT)
          2. Anschluss über HDMI (Raspberry Pi) auf HDMI / DVI-Adapter (TFT)
          3. Anschluss über RCA-Video Out auf SCART-Adapter
        3. Das Netzwerk
        4. USB-Tastatur und Maus
        5. Audio
          1. HDMI Audio-Ausgang am TFT-Display
          2. Stereo-Buchse
        6. Der externe Speicher
          1. 1. Möglichkeit
          2. 2. Möglichkeit
      2. Die Chips
        1. Der Prozessor
        2. Der Netzwerk-Controller
        3. Die Erweiterbarkeit
      3. Wir verbinden alles miteinander
        1. Ein Gehäuse
        2. Eine typische Verkabelung
        3. Was tun, wenn die USB-Ports knapp werden?
      4. Spezifikationen im Überblick
      5. Ungenutzte Anschlüsse
  4. 2. Das Betriebssystem installieren und die Firmware aktualisieren
    1. SD-Karten-Setup unter Windows
      1. Download von Debian Wheezy
      2. USB Image Tool
      3. Win32 Disk Imager
      4. Eine SD-Karte löschen
    2. SD-Karten-Setup unter Linux
      1. Installation von Debian Wheezy
        1. Download von Debian Wheezy
        2. Überprüfen der Datei
        3. Entpacken der Datei
        4. Image aufspielen (Möglichkeit 1)
        5. Image aufspielen (Möglichkeit 2)
    3. Die Firmware aktualisieren
      1. Schritt 1 (git-core installieren)
      2. Schritt 2 (rpi-update herunterladen)
      3. Schritt 3 (Kopieren der Update-Datei nach /usr/bin)
      4. Schritt 4 (Skript ausführbar machen)
      5. Schritt 5 (Skript ausführen)
  5. 3. Grundlegende Vorbereitungen
    1. Der erste Boot-Vorgang
    2. RasPi-Config
      1. Info
      2. Erweiterung der Root-Partition
      3. Der Overscan
      4. Das Tastaturlayout konfigurieren
        1. Das Tastatur-Modell auswählen
        2. Die Tastaturbelegung für den Rechner wählen
        3. Die Alt-Gr-Auswahl
        4. Die Compose-Taste
        5. Den X-Server über eine Tastenkombination beenden
      5. Das Passwort ändern
      6. Die Sprache und den Zeichensatz anpassen
      7. Die Zeitzone anpassen
      8. Die Wahl der Speicheraufteilung
      9. Die Übertaktung
      10. Eine Verbindung über ssh
      11. Verhalten nach dem Starten
      12. Systemupdate gefällig?
      13. Die Konfiguration beenden
    3. Die Linux-Partitionen
      1. Nun zu den einzelnen Partitionen
      2. Die Swap-Partition
    4. Sichern des SD-Karten Images
  6. 4. Der wirkliche Start
    1. Der Spaß beginnt
      1. Die Taskleiste
      2. Das Terminal-Fenster
        1. Das whoami-Kommando
        2. Das hostname-Kommando
      3. Die Schnellstartleiste
        1. Die LXDE-Schaltfläche
        2. Die Datei-Manager-Schaltfläche
        3. Die Web-Browser-Schaltfläche
        4. Die Fenster-verbergen-Schaltfläche
        5. Die Desktop-wechseln-Schaltflächen
        6. Icons am rechten Rand der Taskleiste
      4. Weitere nützliche Programme
        1. Ein Texteditor
        2. Ein Task-Manager
        3. Der Bildbetrachter (Image Viewer)
    2. Ein paar wichtige Linux-Kommandos bzw. Grundlagen im Detail
      1. Das sudo-Kommando
      2. Das cd-Kommando
      3. Das pwd-Kommando
      4. Das cat-Kommando
      5. Das ls-Kommando
  7. 5. Die Software-Installation
    1. Die Paketverwaltung mit apt-get
      1. Die Paket-Installation
      2. Die Paket-Deinstallation
      3. Die Paket-Suche
      4. Die Paket-Datenbank aktualisieren
      5. Installierte Pakete aktualisieren
    2. Installationen über den Pi Store
    3. Alternative Paket-Installation
      1. Dateidownload mit wget
      2. Paket-Installation mit dpkg
  8. 6. Die Elektronik
    1. Was ist Elektronik eigentlich?
      1. Der Elektronenfluss
      2. Der Strom
      3. Die Spannung
      4. Der allgemeine Widerstand
      5. Das Ohmsche Gesetz
      6. Der geschlossene Stromkreis
    2. Bauteile
      1. Der Unterschied zwischen passiven und aktiven Bauelementen
        1. Passive Bauelemente
        2. Aktive Bauelemente
      2. Der Festwiderstand
      3. Der veränderliche Widerstand
        1. Der Trimmer und das Potentiometer
          1. Der Trimmer
          2. Das Potentiometer
        2. Der lichtempfindliche Widerstand
      4. Der temperaturempfindliche Widerstand
        1. NTC
        2. PTC
      5. Der Kondensator
        1. Polungsunabhängige Kondensatoren
        2. Polungsrelevante Kondensatoren
      6. Die Diode
        1. Linke Schaltung
        2. Rechte Schaltung
      7. Der Transistor
      8. Der integrierte Schaltkreis
      9. Die Leuchtdiode
    3. Weitere interessante Bauteile
      1. Der Schalter
      2. Der Taster
      3. Das Relais
      4. Der Motor
      5. Der Schrittmotor
      6. Der Servo
        1. Periodendauer
        2. Pulsbreite
      7. Das Piezo-Element
  9. 7. Nützliches Equipment und Verbrauchsmaterialien
    1. Nützliches Equipment
      1. Kategorie 1
      2. Kategorie 2
      3. Diverse Zangen
      4. Die Abisolierzange
      5. Schraubendreher
      6. Ein IC-Ausziehwerkzeug
      7. Ein digitales Multimeter
      8. Das Oszilloskop
      9. Externe Stromversorgung
      10. Eine Widerstands-Biegelehre
      11. Die Lötstation mit Lötzinn
        1. Die Ersa-Lötstation
        2. Die Weller-Lötstation
        3. Das Lötzinn
      12. Die Entlötpumpe
      13. Das EEBoard
        1. 4-Kanal-Digital-Oszilloskope
        2. 32-Kanal-Logic-Analyzer
        3. 2-Kanal-Waveform-Generator
        4. 32-Kanal-Digital-Pattern-Generator
        5. Power-Supply + Voltmeter
        6. Static I/O
      14. Das Breadboard
      15. Flexible Steckbrücken
        1. Phase 1
        2. Phase 2
        3. Phase 3
        4. Phase 4
        5. Phase 5
        6. Phase 6
      16. Verbrauchsmaterialien
  10. 8. GPIO-Grundlagen
    1. Die GPIO-Pins
      1. Die Spannungsversorgung
      2. Die IO-Pins
        1. Wichtige Hinweise bezüglich der Spannung
        2. Wichtige Hinweise bezüglich des Stroms
      3. Die Programmierung der GPIO-Pins
        1. GPIO-Pins als Ein- bzw. Ausgabe
          1. Die Ansteuerung einer Leuchtdiode (einfach)
          2. Die Ansteuerung einer Leuchtdiode (erweitert)
          3. Den Status eines Tasters abfragen
        2. Die Shell-Programmierung
          1. Die Ansteuerung einer LED
          2. Den Status eines Tasters abfragen
        3. Die Python-Programmierung
          1. Installation via Shell
          2. Installation via HTTP
          3. Herunterladen der Library
          4. Herunterladen von Python-Dev
          5. Entpacken der GPIO-Library
          6. Dateien aus dem Archiv extrahieren
          7. Installation der Library
          8. Die Ansteuerung einer LED
          9. Den Status eines Tasters abfragen
        4. Die WiringPi-Library
          1. Git installieren
          2. Die wiringPi-Library über Git herunterladen und installieren
          3. Die Ansteuerung einer LED (Shell-Programmierung)
          4. Die Ansteuerung einer LED (C-Programmierung)
          5. Den Status eines Tasters abfragen (Shell-Programmierung)
          6. Den Status eines Tasters abfragen (C-Programmierung)
    2. Das Raspberry Pi-Simple-Board
      1. GPIO-Pin-Sonderfunktionen
        1. Der I2C-Bus
        2. Die serielle Schnittstelle (UART)
          1. Schritt 1: Sicherheitskopien anlegen
          2. Schritt 2: Serial-Port Login disable
          3. Schritt 3: Boot-Informationen deaktivieren
          4. Schritt 4: Reboot
        3. Der SPI-Bus
  11. 9. Programmieren lernen
    1. Der SPE für die Programmierung in Python
    2. Geany für die Programmierung in C
      1. Quellcode kompilieren bzw. Programm starten
        1. Phase 1: Quellcode erstellen und abspeichern
        2. Phase 2: Den Quellcode kompilieren
        3. Phase 3: Die ausführbare Datei generieren
        4. Phase 4: Ausführen der erstellten Datei
  12. 10. Programmieren in Python
    1. Die Variablen
      1. Groß-/Kleinschreibung
      2. Die Syntax
      3. Reservierte Wörter
      4. Namenskonventionen
      5. Wertzuweisung
        1. Ganzzahl-Literale
        2. Fließkomma-Literale
        3. String-Literale
    2. Operatoren
      1. Mathematische Operatoren
      2. Bitweise Operatoren
        1. Bitweise UND-Verknüpfung
        2. Bitweise ODER-Verknüpfung
        3. Bitweise Exclusiv-ODER-Verknüpfung
        4. Bitweises NOT
      3. Vergleichs-Operatoren
      4. Logische Operatoren
    3. Kommentare
    4. Das erste Programm
    5. Wir definieren eigene Funktionen
      1. Lokale und globale Variablen
    6. Import-Anweisung
    7. Wir hantieren mit Daten
      1. Die Zeichenkette
        1. Ermittlung der Länge
        2. Teilbereiche auswählen
        3. Zeichenketten sind unveränderbar
        4. Zeichen über eine Schleife ausgeben
        5. Methoden
          1. upper(), lower()
          2. find()
          3. strip(), lstrip(), rstrip()
      2. Listen
        1. Ermittlung der Anzahl der Elemente
        2. Elemente über eine Schleife ausgeben
        3. Teilbereiche auswählen
        4. Listenelemente hinzufügen bzw. löschen
      3. Tuples
        1. Die Initialisierung von Tuples
      4. Dictionaries
    8. Schleifen
      1. Die for-Schleife
      2. Die while-Schleife
    9. Eine Kontrollstruktur
    10. Die objektorientierte Programmierung
      1. Die Klassendefinition
        1. Attribute
        2. Methoden
  13. 11. Programmieren in C
    1. Das erste Programm
    2. Die Variablen
      1. Groß-/Kleinschreibung
      2. Datentypen
      3. Die Syntax
      4. Reservierte Wörter
      5. Wertzuweisung
        1. Getrennte Deklaration bzw. Initialisierung
        2. Einzeilige Deklaration und Initialisierung
      6. Arrays
    3. Operatoren
      1. Mathematische Operatoren
      2. Bitweise Operatoren
      3. Vergleichs-Operatoren
      4. Logische Operatoren
      5. Lokale bzw. globale Variablen
    4. Kommentare
    5. Schleifen
      1. Die for-Schleife
      2. Die while-Schleife
      3. Einfluss auf den Schleifendurchlauf nehmen
    6. Eine Kontrollstruktur
    7. Wir definieren eigene Funktionen
    8. Zeiger
  14. 12. Raspberry Pi goes Retro
    1. CHAMELEONPI
      1. Schritt 1: Herunterladen und Entpacken des Images
      2. Schritt 2: Installation auf die SD-Karte
      3. Schritt 3: Starten des ChameleonPi
      4. Schritt 4: Rom-Partition vergrößern
      5. Schritt 5: Roms-Partition mit Spielen versehen
      6. Welche Emulatoren stehen zur Verfügung?
      7. Woher bekommst du Spiele?
        1. Freie Spiele für ScummVM
        2. Spiele für den Atari 2600
    2. Native Spiele
      1. Schach
      2. Tetris
      3. ZORK
        1. Schritt 1: ZORK aus dem Internet herunterladen
        2. Schritt 2: In eine ZORK-Spieleverzeichnis kopieren und entpacken
        3. Schritt 3: Installation des Interpreters
        4. Schritt 4: Starten von ZORK
  15. 13. Der Arduino
    1. Der Arduino
      1. Die Software-Installation der Entwicklungsumgebung
      2. Anschluss des Arduino Uno an den Raspberry Pi
      3. Der erste Sketch
        1. Block 1: (Die Deklarierung und Initialisierung)
        2. Block 2: (Die setup-Funktion)
        3. Block 3: (Die loop-Funktion)
        4. Was passiert in der setup-Funktion?
        5. Was passiert in der loop-Funktion?
      4. Die Entwicklungsumgebung
        1. Icon 1
        2. Icon 2
        3. Icon 3
        4. Icon 4
        5. Icon 5
        6. Icon 6
      5. Die Schaltung
    2. Nützliche Links
      1. Homepage des Arduino-Projektes
      2. Befehlsreferenz
      3. Getting started
  16. 14. Elektronikprojekte mit dem Raspberry Pi
    1. Projekt 14-1: Das Blinken einer LED
      1. Das Leuchtfeuer – »Hello World« auf GPIO-Ebene
        1. Benötigte Bauteile
        2. Die LED
        3. Der Schaltplan
        4. Das Programm
        5. Code-Review
        6. Das Simple-Board
        7. Die RGB-LED
        8. Der Schaltplan
        9. Das Programm
        10. Der Aufbau auf dem Simple-Board
        11. Was hast du gelernt?
    2. Projekt 14-2: Das schnelle Blinken einer LED – oder: Was ist PWM?
      1. Benötigte Bauteile
      2. Was bedeutet PWM?
        1. Der Tastgrad bei 0%
        2. Der Tastgrad bei 25%
        3. Der Tastgrad bei 50%
        4. Der Tastgrad bei 75%
        5. Der Tastgrad bei 100%
        6. Der Schaltplan
        7. Die Ansteuerung über die Shell
        8. Die Ansteuerung über C
        9. Was hast du gelernt?
    3. Projekt 14-3: Einen Taster abfragen
      1. Drück den Taster
        1. Benötigte Bauteile
        2. Der geplante Programmablauf
        3. Der Schaltplan
        4. Das Programm
        5. Code-Review
        6. Das Simple-Board
        7. Pegel ziehen
        8. Das Programm in C
        9. Was hast du gelernt?
    4. Projekt 14-4: Blinken mit Intervallsteuerung
      1. Drücke den Taster und er reagiert (fast)
        1. Benötigte Bauteile
        2. Das Programm
        3. Code-Review
        4. Der Aufbau auf dem Simple-Board
        5. Was hast du gelernt?
    5. Projekt 14-5: Der störrische Taster
      1. Ich wurde geprellt
        1. Benötigte Bauteile
        2. Der Schaltplan
        3. Das Programm
        4. Code-Review
        5. Der Aufbau auf dem Simple-Board
        6. Was hast du gelernt?
    6. Projekt 14-6: Ein Lauflicht
      1. Ein Lauflicht
        1. Benötigte Bauteile
        2. Der Schaltplan
        3. Das Programm
        4. Code-Review
        5. Der Aufbau auf dem Simple-Board
      2. Ein erweitertes Lauflicht
        1. Pattern
        2. Was hast du gelernt?
    7. Projekt 14-7: Analog-/Digital-Wandlung
      1. Benötigte Bauteile
      2. Analog/Digital-Wandlung
        1. Was bedeutet SPI?
        2. Der MCP3008
        3. Der Schaltplan
        4. Das Programm und das Code-Review
          1. Vorbereitungen
          2. Die Funktion zum Abrufen des analogen Wertes
          3. Das GPIO-Pin-Setup
          4. Variablendefinition und das Hauptprogramm
        5. Der Aufbau auf dem Simple-Board
        6. Eine kleine Modifikation des Programms
        7. Eine höhere Auflösung
          1. Schritt 1: SPI-Treiber von der Blacklist entfernen
          2. Schritt 2: Automatisches Laden des Treibers beim nächsten Booten
          3. Schritt 3: Installieren der Python-Bibliothek
          4. Die Initialisierung und die Python-Klasse
          5. Byte 0
          6. Byte 1
          7. Byte 2
          8. Das Ergebnis
          9. Das Hauptprogramm
        8. Was hast du gelernt?
    8. Projekt 14-8: Analog-/Digital-Wandlung (Erweitert)
      1. Benötigte Bauteile
      2. Vorschau auf die Platine
        1. Der Schaltplan
        2. Der Einsatz der Platine
        3. Das Programm
          1. Label anzeigen
          2. Analogen Wert anzeigen
          3. Rechteck anzeigen
        4. Ein kleiner Ausblick
        5. Was hast du gelernt?
    9. Projekt 14-9: Eine Porterweiterung
      1. Benötigte Bauteile
      2. Der Port-Expander MCP23S17
        1. Allgemeine SPI-Kommunikation
        2. MCP3008 SPI-Kommunikation
        3. MCP23S17-SPI-Kommunikation
        4. Der Schaltplan
        5. Das Programm und das Code-Review
        6. Der Aufbau auf dem Simple-Board
        7. Das I/O-Board
        8. Was hast du gelernt?
    10. Projekt 14-10: Eine Porterweiterung (Teil 2)
      1. Benötigte Bauteile
      2. Der Port-Expander MCP23S17 für beide Richtungen
        1. Der Schaltplan
        2. Das Programm und das Code-Review
          1. Schreiben
          2. Lesen
        3. Der Aufbau auf dem I/O-Board
        4. Was hast du gelernt?
    11. Projekt 14-11: Der I2C-Bus
      1. Der I2C-Bus
        1. Benötigte Bauteile
        2. I2C-Vorbereitungen
          1. Schritt 1: Benötigtes I2C-Modul von der Black-List nehmen
          2. Schritt 2: Automatisches Laden beim Booten ermöglichen
          3. Schritt 3: Führe ein Update durch
          4. Schritt 4: Installation der I2C-Entwicklungs-Tools bzw. Python-smbus
          5. Schritt 5: Den Benutzer pi der Gruppe i2c hinzufügen
          6. Schritt 6a: Module manuell laden
          7. Schritt 6b: System-Restart durchführen
        3. Noch ein Port-Expander
        4. Der Schaltplan
        5. Die Programmierung über die Kommandozeile
        6. Die Programmierung über Python
        7. Was hast du gelernt?
    12. Projekt 14-12: Die Statemachine
      1. Benötigte Bauteile
      2. Die Ampelschaltung
        1. Der Schaltplan
        2. Das Programm
          1. Die Inititialisierungen
          2. Die Phasenumschaltungen
        3. Der Aufbau auf dem Simple-Board
        4. Wir werden interaktiv
          1. 1. Phase
          2. 2. Phase
          3. 3. Phase
          4. 4. Phase
          5. 5. Phase
          6. 6. Phase
          7. 7. Phase
          8. Die Initialisierungen
          9. Die Phasenumschaltungsfunktion
          10. Endlosschleife
        5. Der Aufbau auf dem Simple-Board
        6. Was hast du gelernt?
    13. Projekt 14-13: Der elektronische Würfel
      1. Benötigte Bauteile
      2. Der Würfel
        1. Der Schaltplan
        2. Das Programm
          1. Die Inititialisierungen
          2. Das Würfeln
          3. Der Aufbau auf dem Simple-Board
        3. Der Schaltplan
          1. Formulierung zur Ansteuerung von Gruppe A
          2. Formulierung zur Ansteuerung von Gruppe B
          3. Formulierung zur Ansteuerung von Gruppe C
          4. Formulierung zur Ansteuerung von Gruppe D
        4. Das Programm
          1. Die Initialisierungen
          2. Das Würfeln
          3. Was hast du gelernt?
    14. Projekt 14-14: Die Temperaturmessung
      1. Benötigte Bauteile
      2. Der Temperatursensor LM75
        1. Der Schaltplan
        2. Das Programm
          1. Beispiel 1: Positiver Wert und keine Nachkommastelle
          2. Beispiel 2: Positiver Wert und eine Nachkommastelle
          3. Beispiel 3: Negativer Wert und eine Nachkommastelle
        3. Der Aufbau auf dem Simple-Board
      3. Was ist eine Datenbank?
        1. Die Installation von SQLite
        2. Das Anlegen der erforderlichen Tabelle
        3. Datensätze einer Tabelle hinzufügen
        4. Den Inhalt einer Tabelle anzeigen lassen
        5. Den Inhalt einer Tabelle löschen
        6. Das Programm
          1. Initialisierungen
          2. Datenbankspeicherung
          3. Messwerte-Erfassung
          4. Die main-Funktion
        7. Was hast du gelernt?
    15. Projekt 14-15: Der elektronische Kompass
      1. Benötigte Bauteile
      2. Der elektronische Kompass CMPS10
        1. Rollen
        2. Gieren
        3. Nicken
        4. Der Schaltplan
        5. Das Programm
          1. Initialisierungen
          2. Öffnen des I2C-Busses
          3. Verbindungsaufnahme zum I2C-Bus
          4. Startregister senden, von dem aus gelesen werden soll
          5. Lesen der Registerinhalte und Daten berechnen
          6. Ausgeben der berechneten Kompass-Werte
        6. Der Aufbau auf dem Simple-Board
          1. Initialisierung
          2. Klassen-Methoden, Teil 1
          3. Klassen-Methoden, Teil 2
        7. Das virtuelle Cockpit
        8. Was hast du gelernt?
    16. Projekt 14-16: Das Mini-Roulette
      1. Das Roulette-Spiel
        1. Benötigte Bauteile
        2. Der Schaltplan
        3. Das Programm
          1. Die Initialisierungen
          2. Die Ansteuerung der LEDs
          3. Die main-Funktion
        4. Das Zusammenspiel mit dem Raspberry Pi
        5. Was hast du gelernt?
    17. Projekt 14-17: Das LC-Display
      1. Das LC-Display
        1. Der Schaltplan
        2. Das Programm
          1. Die Hintergrundbeleuchtung einschalten
          2. Die Vordergrund- bzw. Hintergrundfarbe setzen
          3. Den Inhalt des Displays löschen
          4. Einen einzelnen Punkt setzen
          5. Eine Linie zeichnen
          6. Ein Rechteck zeichnen
          7. Einen Kreis zeichnen
          8. Eine Ellipse zeichnen
          9. Einen Text anzeigen
          10. Das Touchpad abfragen
        3. Das Display-Board am Raspberry Pi
      2. Wir steuern die GPIO-Schnittstelle über das Touchpad
        1. Das Programm
        2. Was hast du gelernt?
    18. Projekt 14-18: Der Roboterarm
      1. Der Roboterarm
        1. Ein wenig zu USB
        2. Das Programm
          1. Initialisierung
          2. Ist der Roboterarm verfügbar?
          3. Die Ansteuerung des Roboterarms
          4. Die Ansteuerung des Roboterarms
        3. Was hast du gelernt?
    19. Projekt 14-19: Der Operationsverstärker
      1. Der Operationsverstärker als Komparator
        1. Benötigte Bauteile
        2. Der Schaltplan
        3. Das Programm
        4. Der Aufbau auf dem Simple-Board
        5. Wir steuern einen Motor an
        6. Was hast du gelernt?
    20. Projekt 14-20: Die Motoransteuerung
      1. Die Motoransteuerung
        1. Benötigte Bauteile
        2. Der Schaltplan
        3. Das Programm
          1. Initialisierung
          2. Die motor-Funktion
          3. Das Hauptprogramm
        4. Der Aufbau auf dem Simple-Board
        5. Was hast du gelernt?
    21. Projekt 14-21: Der PiRover
      1. Der PiRover
        1. Benötigte Bauteile
        2. Der Schaltplan
        3. Die Motoren-Steuerplatine
        4. Das Programm
          1. Initialisierung
          2. Die Motor-Funktion
          3. Die move-Funktion
          4. Das Hauptprogramm
        5. Der Aufbau auf dem Simple-Board
        6. Was hast du gelernt?
    22. Projekt 14-22: Der Schrittmotor
      1. Der Schrittmotor
        1. Benötigte Bauteile
        2. Der Schaltplan
        3. Das Programm
          1. Initialisierung
          2. Initialisierung (Schrittmotor-Pegelwechsel)
          3. Die move-Funktion
          4. Das Hauptprogramm
        4. Was hast du gelernt?
  17. 15. Server-Anwendungen mit dem Raspberry Pi
    1. Projekt 15-1: Samba
      1. Samba
        1. Die Samba-Installation
          1. Linux-Usern erlauben, sich einzuloggen
          2. Samba-Freigabe erstellen
          3. Samba-Server-Neustart
          4. nmbd (Nameserver Daemon)
          5. smbd (Server Message Daemon)
          6. Den Windows-Explorer öffnen
          7. Samba-Benutzer hinzufügen
          8. Schritt 1: Kommandozeilen-Eingabe öffnen
          9. Schritt 2: DLL ausführen
          10. Lösche den entsprechenden Eintrag für das gespeicherte Passwort
      2. Der Raspberry Pi als NAS
        1. Anzeigen der Shares im laufenden Betrieb
        2. Ein Netzlaufwerk verbinden
        3. Das NAS absichern
          1. Vorgaben
          2. Schritt 1: Anpassen des Dateisystems der externen Festplatte
          3. Schritt 2: Erstellen von weiteren Linux- bzw. Samba-Usern
          4. Schritt 3: Erstellen von Verzeichnissen und anpassen von Berechtigungen der externen Festplatte
          5. Schritt 4: Die Samba-Konfiguration
      3. Das Konfigurationstool SWAT
    2. Projekt 15-2: Der Apache Web-Server
      1. Was ist ein Web-Server?
      2. Der Apache Web-Server
        1. Die Installation des Web-Servers
        2. Die Startseite
        3. Die Konfigurationsdatei
      3. Wie werden Webseiten erstellt?
      4. Wir verändern den Inhalt der Startseite
      5. Die Skriptsprache PHP
        1. Die statische Webseite
        2. Die dynamische Webseite
        3. Kleine Beispiele in PHP
          1. Eine einfache Textausgabe
          2. Eine Kombination aus HTML und PHP
          3. Kommentare
          4. Rechnen mit PHP
          5. Konstanten definieren
          6. Zeichenketten
          7. Schleifen
            1. Die for-Schleife
            2. Die while-Schleife
    3. Projekt 15-3: Analoge Werte im Netz
      1. Flot-Chart
        1. Flot-Software herunterladen
        2. Wie sieht ein einfacher Flot-Chart aus?
          1. Zeile 6
          2. Zeilen 9 und 10
          3. Zeile 14
          4. Zeilen 16 bis 21
          5. Zeilen 19 bis 23
          6. Zeile 26
          7. Zeile 27
          8. Zeile 28
          9. Zeile 29
          10. Zeilen 30 bis 33
          11. Zeilen 34 bis 38
          12. Zeile 39
          13. Zeile 40
          14. Zeile 41
          15. Zeile 43
          16. Zeilen 45 und 46
          17. Die Datei ist noch nicht vorhanden
          18. Die Datei ist schon vorhanden
          19. Schritt 1
          20. Schritt 2
          21. Schritt 3
          22. Schritt 4
          23. Schritt 5
          24. Schritt 6
    4. Projekt 15-4: Der Raspberry Pi als Multimediacenter
      1. Das Multimediacenter XBMC
        1. Schritt 1: Herunterladen und Entpacken des Windows-Installers
        2. Schritt 2: Starten des Setup-Programms
        3. Schritt 3: Starten der Installation über den Installer
        4. Schritt 4: Booten des Raspberry Pi mit der initialisierten SD-Karte
        5. Der erste Start
        6. Add-Ons
        7. Unterstützte Multimediaformate
        8. Remote-Zugriff
          1. Der Zugriff über das Web-Interface
          2. Der Zugriff über SSH
            1. Schritt 1: Anpassung von Locales I
            2. Schritt 2: Anpassung von Locales II
            3. Schritt 3: Anpassung der geografischen Region
            4. Schritt 4: Anpassung der Stadt
          3. Der FTP-Zugriff
        9. Die Fernbedienung
          1. Das Android-Smartphone
            1. Einrichten von WiFi
            2. Schritt 1: Aufruf des Menüpunktes Programme
            3. Schritt 2: Anzeige aller zur Verfügung stehenden Add-Ons
            4. Schritt 3: Auswahl des Network-Managers
            5. Schritt 4: Starten des Network-Managers
            6. Schritt 5: Hinzufügen einer WiFi-Connection
            7. Schritt 6: Überprüfen der zugewiesenen IP-Adresse
            8. Die XBMC-Remote-App auf dem Android-Smartphone installieren und einrichten
          2. Das Mini Wireless Keyboard
  18. 16. Raspberry Pi und WLAN
    1. Der WLAN-Stick
  19. 17. Erweiterungen für den Raspberry Pi
    1. Projekt 17-1: Die Raspberry Pi-Arduino-Bridge
      1. Die Raspberry Pi-Arduino-Bridge
        1. Die notwendige Software installieren
        2. Das Blinkprogramm
        3. Unterstützte Arduino-Boards
          1. GPS-Shield
          2. Geigerzähler-Shield
        4. Was hast du gelernt?
    2. Projekt 17-2: Das AlaMode-Board
      1. Das AlaMode-Board
        1. Die Spannungsversorgung
          1. Möglichkeit 1
          2. Möglichkeit 2
          3. Möglichkeit 3
        2. Die notwenige Software installieren
          1. Auswahl der seriellen Schnittstelle
          2. Auswahl des AlaMode-Boards
        3. Der erste Test des AlaMode-Boards
        4. Die Real-Time-Clock
        5. Was hast du gelernt?
    3. Projekt 17-3: Das PiFace-Board
      1. Das PiFace-Board
        1. Was kann das Board?
        2. Die digitalen Eingänge
        3. Die digitalen Ausgänge
        4. Die Spannungsversorgung
        5. Die Programmierung
          1. Schritt 1: SPI-Modul laden
          2. Schritt 2: PiFace-Library installieren
          3. Wir nutzen Python
            1. Die Ansteuerung eines digitalen Ausgangs
            2. Die Abfrage eines digitalen Eingangs
        6. Der Emulator
      2. Ein Code-Eingabesystem
        1. HIGH-Pegel an Draht in Reihe 0
        2. HIGH -Pegel an Draht in Reihe 1
      3. Die WiringPi-Library
    4. Projekt 17-4: Die Quick2Wire-Boards
      1. Das Interface-Board
        1. Was kann das Board?
        2. Die Software-Installation
          1. Die GPIO-Unterstützung
          2. Die Python-API-Unterstützung
        3. Die Programmierung des Interface-Boards
          1. Initialisierung
          2. Das Morsealphabet
          3. Die Morse-Funktion
      2. Das Analog-Board
        1. Worüber verfügt das Board?
        2. Benötigte Bauteile
        3. Der lichtempfindliche Widerstand
          1. Schritt 1: Versionskontrollsystem installieren
          2. Schritt 2: Den Source-Code downloaden
          3. Schritt 3: Benötigte Abhängigkeiten installieren
          4. Schritt 4: In das pygame-Verzeichnis wechseln
          5. Schritt 5: Build PyGame
          6. Schritt 6: PyGame installieren
          7. Fall 1
          8. Fall 2
          9. Fall 3
          10. Initialisierung
          11. Die Klassendefinition (der Konstruktor)
          12. Die Klassendefinition (die display-Methode)
          13. Die Klassendefinition (die update-Methode)
          14. Das Hauptprogramm (Initialisierung)
          15. Das Hauptprogramm (ADC-Aufruf und PyGame-Update)
      3. Das Port-Expander-Board
        1. Was kann das Board?
          1. Initialisierung
        2. Die Ansteuerung des Matrix-Boards
          1. Initialisierung
          2. Die Ansteuerung der LED-Matrix
        3. Was hast du gelernt?
    5. Projekt 17-5: Das Pi Cobbler-Board
      1. Das Pi Cobbler-Board
      2. Was hast du gelernt?
    6. Projekt 17-6: Das Prototyping-Board
      1. Das Prototyping Pi Plate
        1. Spezial-Verbindungen
          1. SPI und Spannungsversorgung
          2. I2C und UART
      2. Was hast du gelernt?
    7. Projekt 17-7: Das Gertboard
      1. Die grundlegenden Funktionen
      2. Was brauchen wir an Material?
      3. Das Gertboard im Detail
        1. Installation der benötigten Software
        2. Eine Sicherheitsvorkehrung
          1. Der Input-Mode
          2. Der Output-Mode
      4. Gertboard-Projekte
        1. Das Ansteuern der Leuchtdioden
        2. Das Abfragen der Taster
    8. Was hast du gelernt?
  20. 18. Linux-Grundlagen
    1. Das Linux-Filesystem
    2. Linux-Kommandos und -Programme
      1. Datei- und Verzeichnisoperationen
        1. Dateien und Verzeichnisse anzeigen
        2. In welchem Verzeichnis befindest du dich gerade?
        3. In ein Verzeichnis wechseln
          1. Der absolute Pfad
          2. Der relative Pfad
        4. Das Anzeigen der Partitionen und ihrer Größen
        5. Den Inhalt einer Textdatei anzeigen lassen
        6. Die letzten 10 Zeilen einer Datei ausgeben
        7. Eine Datei kopieren
        8. Eine Datei verschieben bzw. umbenennen
        9. Eine Datei anlegen
        10. Ein Verzeichnis anlegen
        11. Eine Datei oder ein Verzeichnis löschen
        12. Eine Datei suchen
        13. Anzeigen des Speicherplatzverbrauchs von Verzeichnissen
        14. Suchen in Textdateien
        15. Wo befindet sich ein Programm im Filesystem?
        16. Entpacken komprimierter Dateien
        17. Textdatei auf Zeilen, Wörter und Bytes hin untersuchen
      2. Benutzerverwaltung
        1. Welche Benutzer sind gerade angemeldet?
        2. Mit welchem Benutzernamen ist man angemeldet?
        3. Einen Benutzer anlegen
        4. Das Passwort für einen Benutzer anlegen bzw. ändern
        5. Einen neuen Benutzer anlegen und einer Gruppe zuweisen
        6. Einen Benutzer löschen
      3. Netzwerk
        1. Ist ein Rechner im Netz zu erreichen?
          1. Erfolgreiches Ping
          2. Netzwerk ist nicht erreichbar
          3. Host nicht erreichbar
        2. Netzwerkadapter konfigurieren
      4. System
        1. Welche Prozesse laufen gerade auf dem System?
        2. Einen Prozess beenden
        3. Ein Programm oder ein Skript mit Root-Rechten ausführen
        4. Den Rechner sicher herunterfahren oder rebooten
        5. Lange Befehlseingabe verkürzen
        6. Anzeige des Speicherverbrauchs
        7. Die Historie der Bash-Shell anzeigen
        8. Das aktuelle Datum anzeigen lassen bzw. ändern
    3. Headless Raspberry Pi
      1. SSH-Server starten
      2. SSH-Server stoppen
      3. Schritt 1: Terminal-Fenster auf dem Raspberry Pi
      4. Schritt 2: Verzeichnis anlegen und Rechte vergeben
      5. Schritt 3: Kopieren des Public-Key auf den Raspberry Pi
      6. Schritt 4: Erstellen der Datei für den Public-Key
      7. Schritt 5: Abspeichern des Public-Key an die korrekte Position im Dateisystem
      8. Schritt 6: Anpassen der Leserechte des Public-Keys
      9. Schritt 7: Der Hack!
      10. Schritt 8: PuTTY-Session mit Private-Key starten
  21. 19. Cases
    1. Selbst gemacht
      1. Das Lego-Case
    2. Fertig gekauft
      1. Adafruit
      2. ModMyPi
  22. 20. Das Simple-Board
    1. Benötigte Bauteile
    2. Das Simple-Board selbst gemacht
      1. Das Flachbandkabel
      2. Der Wannenstecker
      3. Die Schablone mit den Buchsenleisten
      4. Die Breadboards
      5. Die Taster
      6. Die LEDs
      7. Das Simple-Board von der Lötseite her gesehen
      8. Der Schaltplan
  23. 21. Interessante Links
    1. Wo finde ich was?
      1. Raspberry Pi-Blog
      2. Wo bekomme ich diverse Betriebssystem-Images her?
      3. Wo finde ich hilfreiche Programme und Tools?
        1. USB-Image-Tool
        2. Win32 Disk Imager
        3. SDFormatter
        4. VirtualBox
        5. Packprogramm 7-Zip
      4. Wo finde ich nützliche Online-Hilfen?
        1. Python
        2. Linux
      5. Hardware
        1. Raspberry Pi Board
        2. SD-Karten
        3. Raspberry Pi-Arduino-Bridge
        4. AlaMode-Board
        5. PiFace-Board
        6. Quick2Wire-Boards
        7. PiCobbler und Prototyping-Board
        8. Gertboard
        9. WiFi-Adapter
        10. Cases
        11. Das EEBoard
        12. Elektronische Bauteile und Komponenten (Inland)
        13. Elektronische Bauteile und Komponenten (Ausland)
    2. Weiterführende Literatur
      1. Linux
      2. Programmiersprachen
        1. Python
        2. C/C++
      3. Mikrocontroller
        1. Der Arduino
  24. Stichwortverzeichnis
  25. Impressum