Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Liebe Leser!
Inhaltsverzeichnis
Vorwort
Teil I Den Raspberry Pi kennenlernen
1 Kauf und Inbetriebnahme
1.1 Kauf
Raspberry-Pi-Modelle
Kaufempfehlung
Die Anschlüsse des Raspberry Pi 3 (Modell B)
Die Anschlüsse des Raspberry Pi 2 (Modell B) und des Raspberry Pi 1 (Modell B+)
Die Anschlüsse anderer Raspberry-Pi-Modelle
Netzteil
SD-Karte
Gehäuse
Tastatur und Maus
USB-Hub
WLAN- und Bluetooth-Adapter
Was Sie sonst noch brauchen
1.2 Raspberry-Pi-Distributionen
1.3 NOOBS-Installation
SD-Karte formatieren
SD-Karten mit mehr als 32 GByte
USB-SD-Card-Reader
NOOBS
1.4 Image-Datei auf eine SD-Karte schreiben
Image-Dateien herunterladen
Image-Datei unter Windows auf eine SD-Karte übertragen
Image-Datei unter macOS auf eine SD-Karte übertragen
Image-Datei unter Linux auf eine SD-Karte übertragen
Distributionsspezifische Installationsprogramme
1.5 Installationsvarianten für Fortgeschrittene
PiBakery
WLAN- und SSH-Server manuell vorkonfigurieren
Raspbian-Installation auf einen USB-Stick
USB- und Network-Booting
2 Erste Schritte in Raspbian
2.1 Basiskonfiguration
Passwort und Rechnernamen einstellen
Boot- und Login-Verhalten
Sonstige Systemoptionen
Interfaces
Performance
Localisation
Tastatur und Maus
2.2 Der PIXEL-Desktop
Icons
Das Panel
Programme starten
Optische Gestaltung des Desktops
Tastenkürzel
Bildschirmschoner aktivieren
Bildschirmschoner deaktivieren
2.3 Wichtige Programme
Der Dateimanager
LXTerminal
Leafpad und Geany (Editoren)
Internet und Spiele
Firefox, Thunderbird und Claws Mail
Bild- und PDF-Viewer
Audio- und Video-Player
Textverarbeitung und Tabellenkalkulation
Software-Entwicklung
Screenshots
2.4 WLAN-Konfiguration
Manuelle WLAN-Konfiguration und WLAN-Router
2.5 Bluetooth-Konfiguration
2.6 USB-Sticks und -Festplatten
2.7 Drucker
2.8 Raspbian Lite
3 Arbeiten im Terminal
3.1 Erste Experimente
Dateien und Verzeichnisse
Zugriff auf Systemdateien
Hardware-Tests
vcgencmd
Software-Verwaltung
Freien Speicherplatz ermitteln
Online-Hilfe
3.2 Eingabeerleichterungen und Tastenkürzel
alias-Abkürzungen definieren
Textkonsolen
3.3 Farbspiele
Den Prompt individuell einrichten
ls-Farben
3.4 Die Bourne Again Shell (bash)
Jokerzeichen
Ein- und Ausgabeumleitung
Kommandos im Hintergrund ausführen
Mehrere Kommandos ausführen
Rechnen in der bash
Umgebungsverhalten
3.5 Arbeiten mit Administratorrechten (sudo)
sudo-Anwendung
sudo-Konfiguration
3.6 Textdateien lesen und ändern
cat und less
tail
grep
Texteditoren
nano
Vi
Emacs und jmacs
3.7 Verzeichnisse und Dateien
Verzeichnisse
Linux-Verzeichnisbaum
Dateien auflisten
Verborgene Dateien und Verzeichnisse sichtbar machen
Dateien suchen
Textdateien inhaltlich durchsuchen
Dateien kopieren, verschieben und löschen
Links
3.8 Komprimierte Dateien und Archive
Komprimieren und dekomprimieren
TAR-Archive
ZIP-Archive
3.9 Prozessverwaltung
Liste aller laufenden Prozesse
Prozesshierarchie
Prozesse abbrechen
Prozesspriorität einstellen
Systemdienste steuern
3.10 Netzwerkkommandos
Netzwerkstatus ermitteln
Dateien per FTP und HTTP übertragen
4 Arbeitstechniken
4.1 Programme installieren und verwalten
Programme bzw. Pakete installieren
Programme bzw. Pakete entfernen
Informationen über Pakete ermitteln
4.2 Updates
Raspbian aktualisieren
Automatische Updates
Firmware- und Kernel-Updates
4.3 SSH
Voraussetzungen auf dem Raspberry Pi
Voraussetzungen auf Ihrem Arbeitsrechner
SSH anwenden
Grafikprogramme ausführen
SSH-Login mit Schlüsseln statt Passwörtern
SSH-Login nach einer Raspberry-Pi-Neuinstallation
Dateien kopieren mit scp
Zugriff auf das Raspberry-Pi-Dateisystem im Dateimanager
Die Kommandos ssh und scp auf dem Raspberry Pi nutzen
SSH-Server mit fail2ban absichern
4.4 Fernwartung über das Remote Desktop Protocol
RDP unter Windows nutzen
RDP unter macOS und Linux nutzen
4.5 Fernwartung über VNC
VNC versus RDP
4.6 Netzwerkverzeichnisse nutzen
Grundlagen
Beispiele
Verzeichnisse dauerhaft einbinden (/etc/fstab)
4.7 Netzwerkverzeichnisse anbieten (Samba-Server)
Samba-Installation, Default-Konfiguration
Ein Verzeichnis mit Passwortschutz freigeben
Freigabe testen
Weitere Verzeichnisse freigeben
Ein Verzeichnis ohne Passwortschutz freigeben
Absicherung und Grundeinstellungen
4.8 Internetzugriff auf den Raspberry Pi
Wo ist das Problem?
Dynamisches DNS als Lösung
Wozu dient und wie funktioniert dynamisches DNS?
Dynamisches DNS mit noip.com einrichten
Port Forwarding einrichten
Test
Fehlersuche
Alternativen zum dynamischen DNS
4.9 FTP-Server einrichten
vsftpd installieren
Konfiguration
FTP ausprobieren
4.10 Programme beim Systemstart ausführen
rc.local
Autostart-Programme für den Desktop
Autostart-Dateien für Openbox
4.11 Programme regelmäßig ausführen (Cron)
/etc/cron.xxx-Verzeichnisse
/etc/crontab-Datei
/etc/cron.d-Verzeichnis
Benutzerspezifische Crontab-Dateien
Anacron
4.12 Monitor ein- und ausschalten
Monitor ein- und ausschalten
Automatisch ein- und ausschalten
4.13 Backups erstellen
Backups mit rsync
Backups mit tar
Backup einer SD-Karte unter Windows
Backup einer SD-Karte unter macOS
Backup einer SD-Karte unter Linux
Backup einer SD-Karte im laufenden Betrieb unter Raspbian
4.14 Overclocking
Aktuelle Taktfrequenz und Temperatur ermitteln
Overclocking-Parameter in config.txt
Overclocking mit raspi-config
4.15 Notfall-Tipps
Stromversorgung
Benchmarktest durchführen
SD-Karte
Display-Probleme
Auflösungsprobleme
Status-Leuchtdioden (RPi1-A und RPi1-B)
Status-Leuchtdioden (RPi1-B+, RPi2 und RPi3)
Status-LEDs selbst steuern
5 Linux-Grundlagen
5.1 Benutzer und Gruppen
Benutzer und Passwörter
Gruppen
Kommandos zur Benutzer- und Gruppenverwaltung
sudo
Auto-Login abstellen
5.2 Zugriffsrechte
Zugriffsrechte auf Dateien
Zugriffsrechte auf Verzeichnisse
Setuid-, Setgid- und Sticky-Bit
Oktalschreibweise
Zugriffsrechte einstellen
Praxisbeispiele
5.3 Paketverwaltung
Konfiguration
Hauptpaketquelle
Weitere Paketquellen
Aus welcher Paketquelle stammt ein Paket?
5.4 Verwaltung des Dateisystems
Dateisysteme
Device-Dateien
Das mount-Kommando
Die Datei /etc/fstab
Datenträger partitionieren und formatieren
5.5 Netzwerkkonfiguration
Glossar
Die Datei /etc/network/interfaces
Statische LAN-Konfiguration
Manuelle WLAN-Konfiguration
Nameserver-Konfiguration
Hostname ändern
5.6 Bluetooth
Konfiguration mit bluetoothctl
Verbindungsaufbau erzwingen
5.7 Systemstart
1st-Stage-Bootloader
2nd-Stage-Bootloader (bootcode.bin)
Kernelparameter (cmdline.txt)
Kernelstart
Init-Systeme
systemd-Targets und -Services
systemd-Konfiguration und -Administration
Init-V-Kompatibilität
Eigene Initialisierungsarbeiten durchführen
5.8 Systemeinstellungen in config.txt
HDMI-Einstellungen
Overclocking
Video-Decodierung
Boot-Vorgang
Hardware-Parameter
Speicheraufteilung zwischen CPU und GPU
Das Kommando vcgencmd
5.9 Grafiksystem
Start des Grafiksystems
Auto-Start des Grafiksystems ein-/ausschalten
Manueller Start des Grafiksystems
Auto-Login ein-/ausschalten
Neue Grafiktreiber und Wayland
5.10 Kernel und Module
Kernelmodule
Module selbst kompilieren
Den Kernel selbst kompilieren
5.11 Device Trees
Device-Tree-Dateien und -Konfiguration
6 Ubuntu
6.1 Installation
Der MATE-Desktop
6.2 Konfiguration und technische Details
Die SD-Karte vollständig nutzen
raspi-config mit Einschränkungen
SSH-Server
Zugriff auf die Kamera
Hardware-Decodierung und Video-Wiedergabe
7 Windows 10
7.1 Installation
Image-Datei schreiben
Inbetriebnahme
7.2 Anwendung
Fernwartung mit der PowerShell
7.3 Programmentwicklung mit Visual Studio
Hello World!
GPIOs steuern
Weitere Beispiele
Teil II Der Raspberry Pi als Media-Center
8 Audio-Player mit Smartphone-Fernbedienung
8.1 MPD-Installation und -Konfiguration
Netzwerkkonfiguration
MPD-Installation und -Konfiguration
Erste Tests mit Xfmpc
Tonausgabe zwischen HDMI und Analog-Audio umschalten
MPDroid
8.2 MPD-Konfigurationsvarianten
Audio-Dateien auf einem USB-Stick
Audio-Dateien auf einem NAS
CD-Cover-Abbildungen
Weboberfläche zur Steuerung
Musik als Audio-Stream verteilen (Icecast)
8.3 HiFiBerry
Perfekter Klang für Audiophile
HiFiBerry DAC+
Konfiguration
8.4 Volumio
Installation und Netzwerkkonfiguration
Zugriff auf Audio-Dateien
Interna und Absicherung
8.5 Pi MusicBox
Installation
Konfiguration
9 Multimedia-Center mit Kodi und LibreELEC
9.1 Installation und Konfiguration
Standardinstallation auf eine SD-Karte
Erstkonfiguration
Sprache, Tastatur und Zeitzone
Bluetooth
Netzwerk- und WLAN-Konfiguration
SSH nutzen
SSH absichern
Samba absichern
Überblick über das LibreELEC-Dateisystem
Hardware-Decodierung für MPEG-2 und VC-1 aktivieren
Overclocking
Audio-Ausgang wählen
Kodi-Layout (Skins)
Screenshots
Updates
9.2 Fernbedienung
Smartphone-Fernbedienung
CEC-Fernbedienung
Infrarot-Fernbedienung
9.3 Kodi-Betrieb
Das erste Video abspielen
Video-Dateien eines USB-Sticks abspielen
Zugriff auf Video-Dateien aus Netzwerkverzeichnissen
Darstellungsoptionen
Videos aus dem Internet
Audio-Dateien abspielen
Das Hauptmenü aufräumen
10 Multimedia-System mit RasPlex
10.1 Kodi oder Plex?
Plex-Vorteile
Plex-Nachteile
Glossar
10.2 Plex-Server-Konfiguration
10.3 RasPlex-Installation und -Konfiguration
Installation
Konfigurationsprogramme
Sprache, Zeitzone und Tastaturlayout
WLAN-Konfiguration
Plex-Login
SSH und Samba
Hardware-Decodierung für MPEG-2 und VC-1 aktivieren
Audio-Ausgang
Fernbedienung
10.4 Plex-Anwendung
Teil III Hardware-Grundlagen
11 Hardware-Einstieg
11.1 Platinenaufbau
11.2 Der BCM2837
Bluetooth und WLAN
11.3 GPIO-Kontakte
Der J8-Header
Nummerierungssysteme bzw. Pin-Namen
Das 50-mA-Limit
Welcher Pin für welchen Zweck?
Die P2-, P3-, P5- und P6-Header
GPIO-Verbindungen herstellen
Vorsichtsmaßnahmen
11.4 Stromversorgung
Das Steckernetzteil
Betrieb mit einer USB-Powerbank
Betrieb mit AA-Batterien
Der Linearregler 7805
Der Schaltregler LM2596S
Versorgung über den USB-Port
Pass-Through-Fähigkeit von Powerbanks nutzen
11.5 Gehäuse
The Punnet – Das kostenlose Papiergehäuse
Das Legogehäuse
Orbital Case – Schlicht und rund
Standardgehäuse für den Raspberry Pi 3
12 Elektrotechnik-Crashkurs
12.1 Strom, Spannung und das ohmsche Gesetz
12.2 Grundschaltungen
Darstellung der Schaltpläne
Reihenschaltung
Parallelschaltung
Kombinierte Schaltung
Spannungsteiler
12.3 Elektronische Grundbauteile
Diode
Leuchtdiode
Kondensator
Spule
Transistor
Relais
12.4 Das Multimeter
12.5 Breadboard oder Platine?
Breadboards
Streifen- oder Lochrasterplatinen
12.6 Löten
12.7 Breadboardadapter
Breadboardadapter selbst erstellen
Cobbler
13 LEDs, Motoren und Relais
13.1 Leuchtdioden (LEDs)
LED im Dauerbetrieb
LED per Python ein- und ausschalten
LEDs über Transistoren schalten
LEDs mit Darlington-Transistoren ansteuern
LEDs mit einem Taster ein- und ausschalten
LEDs mit Software-PWM dimmen
LEDs mit Hardware-PWM dimmen
RGB-LEDs
13.2 Optokoppler
13.3 Elektromotoren
Der geeignete Motor
Gleichstrom- und Wechselstrommotoren
Die H-Brücke
Der Motortreiber L298
Verdrahtung und Software
Motordrehzahl per Software ändern
13.4 Schrittmotoren
Bipolare Ansteuerung
Unipolare Ansteuerung
Intelligente Schrittmotortreiber
13.5 Servomotoren
Servo-Programmierung mit »pigpio«
13.6 Relais
Relaistypen
14 Bussysteme
14.1 SPI
SPI einrichten
SPI manuell einrichten
Das digitale Potenziometer
Daten per SPI senden
Daten per SPI lesen
14.2 Der Analog-Digital-Wandler MCP3008
14.3 Der Digital-Analog-Wandler MCP4811
SPI-Bauteile
14.4 I²C
Der Portexpander MCP23017
I²C in Python
14.5 UART
UART aktivieren und säubern
Zwei Raspberry-Pi-Platinen via UART verbinden
Minicom
UART in Python
Wichtige pySerial-Funktionen
14.6 Der Audio-Bus I²S
14.7 1-Wire
15 Sensoren
15.1 PIR-Bewegungssensor
Programmierung
15.2 Ultraschallsensor
Hardware
Programmierung
15.3 Wasserstandssensor
15.4 Bodenfeuchtigkeitssensor
Automatische Bewässerung
15.5 Temperatursensoren
Der Temperatursensor DS1820
Temperatur- und Luftfeuchtigkeitssensor DHT22/AM2302
15.6 Fotowiderstand
15.7 Das Multi-Analogsensor-Board PCF8591
15.8 Raspberry Pi Camera Board und PiNoIR
Anschluss
Der Raspberry Pi Zero und das Camera Board
raspistill und raspivid
Kamerasteuerung durch Python
Videos und Bilder am Raspberry Pi anzeigen
Video-Streams und Online-Zugriff
VLC-Livestream
FTP-Upload
PiNoIR
Infrarot-Scheinwerfer für die PiNoIR
15.9 Reed-Kontakt
15.10 Hardware Real Time Clock
15.11 IR-Empfänger
15.12 Fingerabdruck-Scanner
Hardware
Software
15.13 Leitfaden für fremde Sensoren
16 Erweiterungsboards
16.1 Das Gertboard
Inbetriebnahme
Die drei Taster
Digitale Ein- und Ausgänge und Leuchtdioden
Der Open-Collector-Treiber
Der Motortreiber
Der Analog-Digital-Wandler
Der Digital-Analog-Wandler
16.2 Der ATmega auf dem Gertboard
Hello World!
avrdude
Die Arduino-IDE
16.3 Logic-Level-Converter
16.4 PiFace Digital 2
Der PiFace Digital Emulator
Die PiFace-Bibliothek
Interrupts und Events in der PiFace-Bibliothek
PiFace Rack und die Jumper
16.5 StromPi 2 – USV und Wide-Range-Spannungsversorgung
Installation und Modusauswahl
High-Power-USB und Reset
Die Software
16.6 Pimoroni Zero LiPo
16.7 GertDuino
Die Einrichtung
Der Arduino-Sketch
Das Python-Programm auf dem Raspberry Pi
Programme starten
16.8 Raspberry-Pi-HATs
Prototyping HATs
HATs und das EEPROM
16.9 Adafruit PWM/Servo-HAT
PWM-Signale erzeugen
Servomotoren ansteuern
16.10 BrickPi
16.11 GrovePi
17 Displays
17.1 7-Segment-Anzeige
17.2 16×2-LC-Display
Pin-Belegung
Programmierung
17.3 PiTFT – Der Touchscreen für den Raspberry Pi
Der Zusammenbau
Die Einrichtung unter Raspbian
Weiterführende Links
17.4 Kfz-Rückfahrmonitore
Darstellung optimieren
17.5 Das offizielle Raspberry-Pi-Touchdisplay
Installation
Eine eigene Grafikoberfläche
17.6 OLED-Display SSD1306
17.7 PaPiRus – Das E-Paper-Display
17.8 Weitere Display-Boards
C-Berry
RPi-Display Plus von Watterott
SainSmart Mini TFT Display
Teil IV Programmierung
18 Python kennenlernen
18.1 Python ausprobieren
Python in einem Terminalfenster ausführen
IDLE
18.2 Python-Konzepte interaktiv kennenlernen
Zahlen
Zeichenketten
Listen
Tupel (Sequenzen)
Sets (Mengen)
Dictionaries (Assoziative Arrays)
18.3 Hello World!
Texteditoren
»Hello World« mit LeafPad verfassen und ausprobieren
»Hello World« in IDLE3 verfassen und ausprobieren
Noch ein Einführungsbeispiel
Python interaktiv kennenlernen
19 Python-Grundlagen
19.1 Elementare Syntaxregeln
Anweisungen
Blockelemente
print
print in Python 2
input
Module und »import«
Kommentare
Eingebaute Hilfe
19.2 Variablen und Objekte
Variablen
Mutable oder immutable
Veränderliche Daten kopieren
Datentypen
Typumwandlung
Variablen und Daten vergleichen
Gültigkeit von Variablen
Garbage Collection
Shared References
19.3 Operatoren
Zuweisungen
Extended Sequence Unpacking
19.4 Verzweigungen (if)
if-Verzweigungen
Bedingungen
if-Kurzschreibweise
19.5 Schleifen (for und while)
Schleifen über Zahlenbereiche (range)
Schleifen über die Zeichen einer Zeichenkette
Schleifen über Listen, Tupel und Sets
Schleifen über Dictionaries
Schleifen über alle Script-Parameter
Schleifen über die Zeilen einer Textdatei
Schleifen über alle Dateien eines Verzeichnisses
19.6 Zeichenketten
Unicode
raw-Zeichenketten
String-Konvertierung und -Formatierung
Reguläre Ausdrücke
19.7 Listen
map
reduce
filter
zip
19.8 Umgang mit Fehlern (Exceptions)
try/except
Fehler in Funktionen und Methoden
with/as
Selbst Exceptions auslösen
Programmunterbrechungen abfangen
19.9 Funktionen
Eigene Funktionen definieren
Lokale und globale Variablen
Funktionsparameter
Optionale Parameter
Variable Parameteranzahl
Lambda-Funktionen
Funktionales Programmieren
19.10 Objektorientiertes Programmieren
Eigene Klassen definieren
Methoden
Konstruktor
Klassenvariablen und Namensräume
Private Klassenvariablen
Getter- und Setter-Methoden
Operator Overloading
Beispiel: Rechteck-Klasse
Vererbung
Klassen, Objekte und Instanzen
19.11 Systemfunktionen
Zugriff auf die Programmparameter
Zugriff auf Standardeingabe und Standardausgabe
Modul-Metainformationen ermitteln
Programm beenden
Andere Programme bzw. Kommandos aufrufen
Warten (sleep)
20 Python-Programmierung
20.1 GPIO-Zugriff mit RPi.GPIO
GPIO-Pins lesen und verändern
Taster und Schalter
Entprellen per Software
Software-PWM
Version des Raspberry-Pi-Modells herausfinden
20.2 GPIO-Zugriff mit gpiozero
Leuchtdiode ein- und ausschalten
Blinkende Leuchtdiode
Taster
20.3 Reset/Shutdown-Taste
Hard-Reset-Button
Soft-Reset-Button
20.4 Kamera
Fotos aufnehmen
Videos aufnehmen
Kameraparameter steuern
20.5 Dateien bei Dropbox hochladen
Dropbox-App einrichten
Dropbox-Python-Modul installieren
Programmierung
Foto mit Datum- und Zeitinfos hochladen
20.6 E-Mails versenden
Eine E-Mail mit Bitmap versenden
Eine Aufnahme der Raspberry-Pi-Kamera versenden
20.7 Textdateien lesen und schreiben
CSV-Dateien
Messdaten verarbeiten
20.8 Grafikprogrammierung
Hello World!
pygame-Zeichenmethoden
Bilder speichern
Temperaturkurve zeichnen
20.9 Grafische Benutzeroberflächen mit tkinter
Steuerelemente anordnen
Ereignisverarbeitung
Aufräumarbeiten beim Programmende
LED ein- und ausschalten
Helligkeit einer Leuchtdiode mit PWM steuern
Tastenzustand anzeigen
21 bash-Programmierung
21.1 Einführung
Hello World!
Noch ein Beispiel
Elementare Syntaxregeln
Kommandos aufrufen
In andere Scripts verzweigen
bash oder Python?
21.2 Variablen
Variablen mit read einlesen
Umgebungsvariablen
Vordefinierte bash-Variablen
Felder
Parametersubstitution
Zeichenketten bzw. Aufzählungen bilden
Rechnen mit Variablen
21.3 Schleifen, Bedingungen und Funktionen
if-Verzweigungen
test
case
for
while und until
break und continue
function
Umgang mit Fehlern
exit
Reaktion auf Signale (trap)
21.4 WiringPi
Das gpio-Kommando
LED ein- und ausschalten
LED-Helligkeit steuern (PWM)
LED mit Taster ein- und ausschalten
LED-Temperatur-Ampel
21.5 Das raspi-gpio-Kommando
Beispiel
22 C-Programmierung
22.1 Hello World!
Der GNU-C-Compiler
make
22.2 GPIO-Steuerung mit C
GPIO-Steuerung mit der WiringPi-Bibliothek
GPIO-Steuerung mit der bcm2835-Bibliothek
23 Java-Programmierung
23.1 Erste Schritte
Hello World!
Entwicklungsumgebungen (IDEs)
Java versus Python
23.2 GPIO-Steuerung mit Java
Installation
Hello Pi4J!
Mehr DigitalOutput-Steuerungsmöglichkeiten
Pulse Width Modulation
Eingaben verarbeiten
24 PHP-Programmierung
24.1 Apache installieren und konfigurieren
Apache-Konfiguration
24.2 Webverzeichnisse einrichten und absichern
Eigene Webverzeichnisse definieren
Beispiel
Verzeichnisse absichern
Passwortschutz für Webverzeichnisse
.htaccess-Datei
24.3 HTTPS
24.4 PHP installieren und konfigurieren
PHP ausprobieren
24.5 MySQL installieren und administrieren
MySQL installieren
MySQL-Konfiguration
Das mysql-Kommando
Neue Datenbanken einrichten
Datenbanken sichern und wiederherstellen
Administration mit phpMyAdmin
24.6 Hello World! in PHP
Fehlersuche
24.7 GPIO-Steuerung mit PHP
GPIOs auslesen und verändern
LED ein- und ausschalten
Temperatur auslesen
Python-Scripts von PHP aus aufrufen
24.8 Kamerafunktionen mit PHP nutzen
Apache den Kamerazugriff erlauben
Ein Echtzeitfoto erstellen und übertragen
Ein Foto mit frei wählbaren Aufnahmeparametern erstellen
25 Mathematica und die Wolfram Language
25.1 Arbeiten mit Mathematica
Die grafische Benutzeroberfläche von Mathematica
Rechnen in Mathematica
Formeleingabe
Grafik
Mathematica im Textmodus
Grafiken im Textmodus anzeigen
Interna
25.2 Programmieren mit der Wolfram Language
Hello World!
Syntax
Funktionale Programmierung und symbolische Ausdrücke
GPIO-Zugriff
RaspiCam
Wolfram Language – Pro und Kontra
Weitere Informationen und Links
25.3 Grafische Darstellung von Temperaturdaten
Temperaturaufzeichnung durch ein bash-Script
Grafische Verarbeitung durch die Wolfram Language
Teil V Projekte
26 Der Raspberry Pi im Vogelhaus
26.1 Einbau des Raspberry Pi samt Kameramodul in ein Vogelhaus
26.2 Kamerapraxis
Das Kameramodul betriebsbereit machen
Kamera-LED deaktivieren
Standbilder mit raspistill aufnehmen
ISO-Einstellung
Zeitverzögerung und Zeitrafferfilme
Videos aufzeichnen mit raspivid
26.3 Bewegungserkennung mit motion
Motion konfigurieren
26.4 Das Vogelhaus im praktischen Einsatz
Lichtverhältnisse und Bildqualität
27 Zeitmessung mit Lichtschranken
27.1 Versuchsaufbau (Hardware)
Schaltungsaufbau mit IR-Lichtschranken
27.2 Software
Die pigpio-Bibliothek
Programmcode
28 Das autonome Auto
28.1 Hardware
Das Chassis
Der Liniensensor
Die Mechanik
Anschlusspläne
Die mobile Stromversorgung des Raspberry Pi
Stromversorgung der Motoren
Ausrichtung und erste Tests
28.2 Die Software
Die Jungfernfahrt
29 RFID-Türöffner mit Zutrittskontrolle
29.1 RFID-Hardware
Die RFID-Technologie
Reader und Transponder
Verdrahtung
29.2 Software
Die Zugangsdatenbank
Python-Code zum Auslesen der RFID-Transponder
Python-Code zum MySQL-Zugriff
Python-Code zum Hinzufügen der Transpondernummern
Python-Hauptprogramm
phpMyAdmin – der Hausmeister
29.3 Erweiterungsmöglichkeiten und Tipps
Den Schrank abschließen
LCD-Modul statt bash-Ausgabe
Sensor statt Zeitsteuerung
Alarm bei falschem Transponder
Die Empfangsantenne verstecken
30 SnackPi – Abnehmen für Nerds
30.1 Übersicht
30.2 Hardware
Montage
Verdrahtung
30.3 Software
Die Code-Datei sb.py
Die Datenbank
MAC-Adressen
Das MiBand auslesen
Snack-Punkte
RFID-Tags
Die Code-Datei runsb.py
30.4 Anmerkungen und Hinweise
31 Stromzähler auslesen
31.1 Stromzähler-Grundlagen
Lesekopf und Signalwandler
Die Smart Message Language
31.2 Einführung in RRDtool
Die Round-Robin-Datenbank erstellen
Werte in die Datenbank eintragen
Graphen erzeugen
31.3 Zählerdaten speichern und zu Graphen aufbereiten
32 Hausautomation mit Netzwerksteckdosen
32.1 Einführung
Universal-Schaltbox
32.2 Programmierung
Die Leistung der Photovoltaikanlage ermitteln
Das Web-Interface
Die Heizungssteuerung
Die Steuerung der schaltbaren Steckdose
33 Hausautomation mit 433-MHz-Funktechnologie
33.1 Hardware-Grundlagen
Funksteckdosen
Das Sendemodul
Anschluss des Sendemoduls
Vorbereitung der Steckdosen
33.2 Software und Steuerungsbeispiele
rcswitch-pi
Die klassische Zeitsteuerung
Automatische Anwesenheitserkennung
Überwachung von Analogsensoren
Fernbedienung per Weboberfläche
Noch mehr Ideen
34 Ort und Zeit per GPS empfangen
34.1 Haben Sie Zeit? Eine Uhr für den Raspberry Pi
Den NTP-Server installieren und konfigurieren
Das GPS-Modul in Betrieb nehmen
Die serielle Konsole deaktivieren
Den GPS-Dämon installieren und konfigurieren
Den NTP-Server mit dem GPS-Zeitsignal füttern
Das GPS-Zeitsignal mit PPS synchronisieren
34.2 Ortsbestimmung mit dem Raspberry Pi
Ortsangaben per Python aus dem Datenstrom filtern
Ortsangaben in ein Foto einbetten
35 Der Raspberry Pi lernt twittern
35.1 Voraussetzungen
Installation der benötigten Werkzeuge
Twitter-App registrieren
35.2 Programmierung
Die Twitter-Software in Python
Der erste Tweet
Eine Direktnachricht (direct message) senden
CPU-Temperatur twittern
Bilder twittern
36 Raspberry Pi-ratensender
36.1 FM-Transmitter einrichten
Technischer Hintergrund
Software-Installation
MP3-Dateien umwandeln und senden
Der DJ spricht
37 Gewitter erkennen mit dem Blitzsensor
38 Klingel-Pi – Der Türglockenverstärker
38.1 Geräuschsensor anschließen und auswerten
39 WLAN- und Tor-Router
39.1 Einführung
Glossar
Voraussetzungen
Einschränkungen
39.2 WLAN-Access-Point
Paketinstallation
Netzwerk- und Brückenkonfiguration (/etc/network/interfaces)
WLAN-Authenticator (hostapd)
hostapd für Realtek-8188-Chipsets
39.3 WLAN-Router
Router-Funktionen
Konfigurationsüberblick
Netzwerkkonfiguration (/etc/network/interfaces)
Network Address Translation (NAT)
Forwarding
DHCP- und Nameserver (Dnsmasq)
Inbetriebnahme und Test
39.4 Tor-Router
Das Problem
Das Tor-Netzwerk
Sicherheit und Recht
Anbindung eines WLAN-Routers an das Tor-Netz
Test
Nebenwirkungen
40 AirPrint-Drucker selbst gemacht
40.1 Voraussetzungen
CUPS-Installation und -Konfiguration
Druckerkonfiguration
Druckerkonfiguration im Webbrowser
Druckgeschwindigkeit erhöhen
40.2 AirPrint-Konfiguration
Netzwerkdruck erlauben
AirPrint-Beschreibung des Druckers für Avahi einrichten
Praktische Erfahrungen
41 DLNA-Server
41.1 Raspbian-Installation auf große SD-Karten
Konfiguration
Ein eigenes Dateisystem für die Mediendateien
Mediendateien kopieren
41.2 ReadyMedia alias miniDLNA
41.3 Read-only-Konfiguration
Raspbian Lite im Read-only-Modus
ReadyMedia im Read-only-Modus
41.4 Praxis
42 Luftraumüberwachung
42.1 Technischer Hintergrund und Hardware
42.2 Software
Installation von RTL-SDR und Dump1090
Die Position der Flugzeuge im Webbrowser verfolgen
Metrische Karten
43 Die Servokamera
43.1 Die Hardware
43.2 Die Python-Software
43.3 Die Streaming-Software
43.4 Die Weboberfläche
43.5 Inbetriebnahme
44 PomodoPi
44.1 Der Bodenfeuchtigkeitssensor
Wertewandel
Öffentlicher Datennahverkehr
Grafische Darstellung der Feuchtigkeit
44.2 Die Blumenampel
44.3 Die automatische Bewässerung
Relaissteuerung durch Python
Relaissteuerung automatisieren
44.4 Photosynthese sichtbar machen
45 Wassermelder mit Handyalarm
45.1 Hardware
45.2 Pushbullet
46 Dicke Luft – Feinstaubmessung und Innenluftqualität
46.1 Was ist Feinstaub?
Welche Grenzwerte gelten?
46.2 Welcher Sensor kann PM10 und PM2.5 messen und wie funktioniert das?
46.3 Anschauliche Grafiken im Web mit SparkFun
46.4 Luftqualitätssensor für den Innenraum
VOC-Sensor
Stichwortverzeichnis
Rechtliche Hinweise
Über den Autor
← Prev
Back
Next →
← Prev
Back
Next →