Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Cover
Titel
Imprint
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 4B
Die Anschlüsse des Raspberry Pi 3B+
Netzteil
SD-Karte
Gehäuse
Tastatur und Maus
USB-Hub
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
2 Erste Schritte in Raspbian
2.1 Basiskonfiguration
Passwort und Rechnernamen einstellen
Boot- und Login-Verhalten
Schnittstellen
Leistung
Lokalisierung
Tastatur und Maus
Zwei Bildschirme
2.2 Der Pixel-Desktop
Icons
Programme starten
Tastenkürzel
2.3 Wichtige Programme
Selbst Programme installieren
Der Dateimanager
LXTerminal
Leafpad und Geany (Editoren)
Webbrowser
E-Mail-Programm
Spiele
Bild- und PDF-Viewer
Audio-Player
Video-Player
Software-Entwicklung
2.4 WLAN-Konfiguration
Manuelle WLAN-Konfiguration und WLAN-Router
2.5 Bluetooth-Konfiguration
2.6 USB-Sticks und -Festplatten
2.7 Drucker
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 Die Bourne Again Shell (bash)
Jokerzeichen
Ein- und Ausgabeumleitung
Kommandos im Hintergrund ausführen
Mehrere Kommandos ausführen
Rechnen in der bash
Umgebungsvariablen
3.4 Arbeiten mit Administratorrechten (sudo)
sudo-Anwendung
sudo-Konfiguration
3.5 Textdateien lesen und ändern
cat und less
tail
grep
Texteditoren
nano
Vi
Emacs und jmacs
3.6 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.7 Komprimierte Dateien und Archive
Komprimieren und dekomprimieren
TAR-Archive
ZIP-Archive
3.8 Prozessverwaltung
Liste aller laufenden Prozesse
Prozesshierarchie
Prozesse abbrechen
Prozesspriorität einstellen
Systemdienste steuern
3.9 Netzwerkkommandos
Netzwerkstatus ermitteln
Dateien per FTP und HTTP übertragen
4 Tipps & Tricks
4.1 Image auf eine SD-Karte schreiben
Image-Dateien herunterladen
Etcher
Image-Datei unter Linux per Kommando schreiben
4.2 Raspbian Lite
4.3 WLAN- und SSH-Server vorkonfigurieren
4.4 Pixel-Desktop konfigurieren
Panel
Bildschirmhintergrund
4.5 Bildschirmschoner aktivieren/deaktivieren
Bildschirmschoner deaktivieren
4.6 Screenshots erstellen
4.7 Mehr Farbe im Terminal
Den Prompt individuell einrichten
ls-Farben
4.8 Overclocking
Aktuelle Taktfrequenz und Temperatur ermitteln
Overclocking-Parameter in config.txt
4.9 Notfall-Tipps
Stromversorgung
Benchmark-Test durchführen
SD-Karte
Display-Probleme
Auflösungsprobleme
Status-Leuchtdioden
5 Arbeitstechniken
5.1 Programme installieren und verwalten
Programme bzw. Pakete installieren
Programme bzw. Pakete entfernen
Informationen über Pakete ermitteln
5.2 Updates
Raspbian aktualisieren
Automatische Updates
Firmware- und Kernel-Updates
EEPROM-Updates
5.3 SSH
Voraussetzungen auf dem Raspberry Pi
Voraussetzungen auf Ihrem Arbeitsrechner
SSH anwenden
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
5.4 Fernwartung über das Remote Desktop Protocol
RDP unter Windows nutzen
RDP unter macOS und Linux nutzen
Programme mit root-Rechten ausführen
5.5 Fernwartung über VNC
VNC versus RDP
5.6 Netzwerkverzeichnisse nutzen
Grundlagen
Beispiele
Verzeichnisse dauerhaft einbinden (/etc/fstab)
5.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
5.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
5.9 FTP-Server einrichten
vsftpd installieren
Konfiguration
FTP ausprobieren
5.10 Programme beim Systemstart ausführen
rc.local
Autostart-Programme für den Desktop
Autostart-Dateien für Openbox
5.11 Programme regelmäßig ausführen (Cron)
/etc/cron.xxx-Verzeichnisse
/etc/crontab-Datei
/etc/cron.d-Verzeichnis
Benutzerspezifische Crontab-Dateien
Anacron
5.12 Monitor ein- und ausschalten
Monitor ein- und ausschalten
Automatisch ein- und ausschalten
5.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
6 Linux-Grundlagen
6.1 Benutzer und Gruppen
Benutzer und Passwörter
Gruppen
Kommandos zur Benutzer- und Gruppenverwaltung
sudo
Auto-Login abstellen
6.2 Zugriffsrechte
Zugriffsrechte auf Dateien
Zugriffsrechte auf Verzeichnisse
Setuid-, Setgid- und Sticky-Bit
Oktalschreibweise
Zugriffsrechte einstellen
Praxisbeispiele
6.3 Paketverwaltung
Konfiguration
Hauptpaketquelle
Weitere Paketquellen
Aus welcher Paketquelle stammt ein Paket?
6.4 Verwaltung des Dateisystems
Dateisysteme
Device-Dateien
Das mount-Kommando
Die Datei /etc/fstab
Datenträger partitionieren und formatieren
6.5 Netzwerkkonfiguration
Glossar
dhcpcd-Konfiguration
Statische LAN-Konfiguration
Manuelle WLAN-Konfiguration
Hostname ändern
Schnittstelle via /etc/network/interfaces konfigurieren
WLAN-Schnittstelle deaktivieren
6.6 Bluetooth
Konfiguration mit bluetoothctl
Verbindungsaufbau erzwingen
Bluetooth deaktivieren
6.7 Systemstart
1st-Stage-Bootloader
2nd-Stage-Bootloader (bootcode.bin)
Kernelparameter (cmdline.txt)
Kernelstart
systemd (Init-System)
systemd-Konfiguration und -Administration
Init-V-Kompatibilität
Eigene Initialisierungsarbeiten durchführen
6.8 Systemeinstellungen in config.txt
HDMI-Einstellungen
Overclocking
Video-Decodierung (Raspberry Pi Version 1 bis 3)
Boot-Vorgang
Hardware-Parameter
Speicheraufteilung zwischen CPU und GPU
Das Kommando vcgencmd
6.9 Grafiksystem
Start des Grafiksystems
Auto-Start des Grafiksystems ein-/ausschalten
Manueller Start des Grafiksystems
Auto-Login ein-/ausschalten
6.10 Kernel und Module
Kernelmodule
Module selbst kompilieren
Den Kernel selbst kompilieren
6.11 Device Trees
Device-Tree-Dateien und -Konfiguration
Teil II Der Raspberry Pi als Media-Center
7 Audio-Player mit Smartphone-Fernbedienung
7.1 MPD-Installation und -Konfiguration
Netzwerkkonfiguration
MPD-Installation und -Konfiguration
Erste Tests mit Xfmpc
Tonausgabe zwischen HDMI und Analog-Audio umschalten
MPDroid
7.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)
7.3 HiFiBerry
Perfekter Klang für Audiophile
HiFiBerry DAC+
Konfiguration
7.4 Volumio
Installation und Netzwerkkonfiguration
Zugriff auf Audio-Dateien
Interna
8 Multimedia-Center mit Kodi und LibreELEC
8.1 Installation und Konfiguration
Standardinstallation auf eine SD-Karte
Erstkonfiguration
Sprache, Tastatur und Zeitzone
4k-Betrieb (Raspberry Pi 4)
Bluetooth
Netzwerk- und WLAN-Konfiguration
Samba absichern
Überblick über das LibreELEC-Dateisystem
Hardware-Decodierung für MPEG-2 und VC-1 aktivieren (Raspberry Pi 1 bis 3)
Audio-Ausgang wählen
Kodi-Layout (Skins)
Screenshots
Updates
Smartphone-Fernbedienung
CEC-Fernbedienung
8.2 Kodi-Betrieb
Das erste Video abspielen
Die erste Medienquelle konfigurieren
Weitere Medienquellen einrichten
Zugriff auf Medien aus Netzwerkverzeichnissen
Videos aus dem Internet
Audio-Dateien abspielen
Das Hauptmenü aufräumen
Teil III Hardware-Grundlagen
9 Hardware-Einstieg
9.1 Platinenaufbau
9.2 Der BCM2711
Bluetooth und WLAN
Power-over-Ethernet (PoE)
9.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
9.4 Stromversorgung
Das Steckernetzteil
Betrieb mit einer USB-Powerbank
Betrieb mit AA-Batterien
Der Linearregler 7805
Der Schaltregler LM2596S
Versorgung über den USB-Port
Die Pass-Through-Fähigkeit von Powerbanks nutzen
9.5 Gehäuse
The Punnet – das kostenlose Papiergehäuse
Das Legogehäuse
Orbital Case – schlicht und rund
Standardgehäuse für den Raspberry Pi
Kühlung
10 Elektrotechnik-Crashkurs
10.1 Strom, Spannung und das ohmsche Gesetz
10.2 Grundschaltungen
Darstellung der Schaltpläne
Reihenschaltung
Parallelschaltung
Kombinierte Schaltung
Spannungsteiler
10.3 Elektronische Grundbauteile
Diode
Leuchtdiode
Kondensator
Spule
Transistor
Relais
10.4 Das Multimeter
10.5 Breadboard oder Platine?
Breadboards
Streifen- oder Lochrasterplatinen
10.6 Löten
10.7 Breadboardadapter
Breadboardadapter selbst erstellen
Cobbler
11 LEDs, Motoren und Relais
11.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
11.2 Optokoppler
11.3 Elektromotoren
Der geeignete Motor
Gleichstrom- und Wechselstrommotoren
Die H-Brücke
Der Motortreiber L298
Verdrahtung und Software
Motordrehzahl per Software ändern
11.4 Schrittmotoren
Bipolare Ansteuerung
Unipolare Ansteuerung
Intelligente Schrittmotortreiber
11.5 Servomotoren
Servo-Programmierung mit »pigpio«
11.6 Relais
Relaistypen
12 Bussysteme
12.1 SPI
SPI einrichten
SPI manuell einrichten
Das digitale Potenziometer
Daten per SPI senden
Daten per SPI lesen
12.2 Der Analog-Digital-Wandler MCP3008
12.3 Der Digital-Analog-Wandler MCP4811
SPI-Bauteile
12.4 I²C
Der Portexpander MCP23017
I²C in Python
12.5 UART
UART aktivieren und säubern
Zwei Raspberry-Pi-Platinen via UART verbinden
Minicom
UART in Python
Wichtige pySerial-Funktionen
12.6 Der Audio-Bus I²S
12.7 1-Wire
13 Sensoren
13.1 PIR-Bewegungssensor
Programmierung
13.2 Ultraschallsensor
Hardware
Programmierung
13.3 Wasserstandssensor
13.4 Bodenfeuchtigkeitssensor
Automatische Bewässerung
13.5 Temperatursensoren
Der Temperatursensor DS1820
Temperatur- und Luftfeuchtigkeitssensor DHT22/AM2302
13.6 Fotowiderstand
13.7 Das Multi-Analogsensor-Board PCF8591
13.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
13.9 Reed-Kontakt
13.10 Hardware Real Time Clock
13.11 IR-Empfänger
13.12 Fingerabdruck-Scanner
Hardware
Software
13.13 Leitfaden für fremde Sensoren
14 Erweiterungsboards
14.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
14.2 Der ATmega auf dem Gertboard
Hello World!
avrdude
Die Arduino-IDE
14.3 Logic-Level-Converter
14.4 PiFace Digital 2
Der PiFace Digital Emulator
Die PiFace-Bibliothek
Interrupts und Events in der PiFace-Bibliothek
PiFace Rack und die Jumper
14.5 StromPi 2 – USV und Wide-Range-Spannungsversorgung
Installation und Modusauswahl
High-Power-USB und Reset
Die Software
14.6 Pimoroni Zero LiPo
14.7 GertDuino
Die Einrichtung
Der Arduino-Sketch
Das Python-Programm auf dem Raspberry Pi
Programme starten
14.8 Raspberry-Pi-HATs
Prototyping HATs
HATs und das EEPROM
14.9 Sense HAT – Das Mulitalent
Installation
Software
14.10 Adafruit PWM/Servo-HAT
PWM-Signale erzeugen
Servomotoren ansteuern
14.11 BrickPi
14.12 GrovePi
15 Displays
15.1 7-Segment-Anzeige
15.2 16×2-LC-Display
Pin-Belegung
Programmierung
15.3 PiTFT – Der Touchscreen für den Raspberry Pi
Der Zusammenbau
Die Einrichtung unter Raspbian
Weiterführende Links
15.4 Kfz-Rückfahrmonitore
Darstellung optimieren
15.5 Das offizielle Raspberry-Pi-Touchdisplay
Installation
Eine eigene Grafikoberfläche
15.6 OLED-Display SSD1306
15.7 PaPiRus – Das E-Paper-Display
15.8 Weitere Display-Boards
C-Berry
RPi-Display Plus von Watterott
SainSmart Mini TFT Display
Teil IV Programmierung
16 Python kennenlernen
16.1 Python ausprobieren
Python in einem Terminalfenster ausführen
Thonny
16.2 Python-Konzepte interaktiv kennenlernen
Zahlen
Zeichenketten
Listen
Tupel (Sequenzen)
Sets (Mengen)
Dictionaries (Assoziative Arrays)
16.3 Hello World!
Texteditoren
»Hello World!« mit Leafpad verfassen und ausprobieren
Erste Programme in Thonny verfassen und ausprobieren
Noch ein Einführungsbeispiel
Python interaktiv kennenlernen
17 Python-Grundlagen
17.1 Elementare Syntaxregeln
Anweisungen
Blockelemente
print
print in Python 2
input
Module und »import«
Kommentare
Eingebaute Hilfe
17.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
17.3 Operatoren
Zuweisungen
Extended Sequence Unpacking
17.4 Verzweigungen (if)
if-Verzweigungen
Bedingungen
if-Kurzschreibweise
17.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
17.6 Zeichenketten
Unicode
raw-Zeichenketten
String-Konvertierung und -Formatierung
Reguläre Ausdrücke
17.7 Listen
map
reduce
filter
zip
17.8 Umgang mit Fehlern (Exceptions)
try/except
Fehler in Funktionen und Methoden
with/as
Selbst Exceptions auslösen
Programmunterbrechungen abfangen
17.9 Funktionen
Eigene Funktionen definieren
Lokale und globale Variablen
Funktionsparameter
Optionale Parameter
Variable Parameteranzahl
Lambda-Funktionen
Funktionales Programmieren
17.10 Objektorientiertes Programmieren
Eigene Klassen definieren
Methoden
Konstruktor
Instanzvariablen und Namensräume
Private Instanzvariablen
Getter- und Setter-Methoden
Operator Overloading
Beispiel: Rechteck-Klasse
Vererbung
Klassen, Objekte und Instanzen
17.11 Systemfunktionen
Zugriff auf die Programmparameter
Zugriff auf Standardeingabe und Standardausgabe
Modul-Metainformationen ermitteln
Programm beenden
Andere Programme bzw. Kommandos aufrufen
Warten (sleep)
18 Python-Programmierung
18.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
18.2 GPIO-Zugriff mit gpiozero
Leuchtdiode ein- und ausschalten
Blinkende Leuchtdiode
Taster
18.3 Reset/Shutdown-Taste
Hard-Reset-Button
Soft-Reset-Button
18.4 Kamera
Fotos aufnehmen
Videos aufnehmen
Kameraparameter steuern
18.5 Dateien bei Dropbox hochladen
Dropbox-App einrichten
Dropbox-Python-Modul installieren
Programmierung
Foto mit Datum- und Zeitinfos hochladen
18.6 E-Mails versenden
Eine E-Mail mit Bitmap versenden
Eine Aufnahme der Raspberry-Pi-Kamera versenden
18.7 Textdateien lesen und schreiben
CSV-Dateien
Messdaten verarbeiten
18.8 Grafikprogrammierung
Hello World!
pygame-Zeichenmethoden
Bilder speichern
Temperaturkurve zeichnen
18.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
18.10 Matplotlib
Sinus-Kurve zeichnen
Diagramme gestalten
Messdaten zeichnen
19 bash-Programmierung
19.1 Einführung
Hello World!
Noch ein Beispiel
Elementare Syntaxregeln
Kommandos aufrufen
In andere Scripts verzweigen
bash oder Python?
19.2 Variablen
Variablen mit read einlesen
Umgebungsvariablen
Vordefinierte bash-Variablen
Felder (Arrays)
Parametersubstitution
Zeichenketten bzw. Aufzählungen bilden
Rechnen mit Variablen
19.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)
19.4 WiringPi
Das gpio-Kommando
LED ein- und ausschalten
LED-Helligkeit steuern (PWM)
LED mit Taster ein- und ausschalten
LED-Temperatur-Ampel
19.5 Das raspi-gpio-Kommando
Beispiel
19.6 Das pinout-Kommando
20 C-Programmierung
20.1 Hello World!
Der GNU-C-Compiler
make
20.2 GPIO-Steuerung mit C
GPIO-Steuerung mit der WiringPi-Bibliothek
GPIO-Steuerung mit der bcm2835-Bibliothek
21 Java-Programmierung
21.1 Erste Schritte
Hello World!
Entwicklungsumgebungen (IDEs)
21.2 GPIO-Steuerung mit Java
Installation
Hello Pi4J!
Mehr DigitalOutput-Steuerungsmöglichkeiten
Pulse Width Modulation
Eingaben verarbeiten
Trigger-Objekte
22 PHP-Programmierung
22.1 Apache installieren und konfigurieren
Apache-Konfiguration
22.2 Webverzeichnisse einrichten und absichern
Eigene Webverzeichnisse definieren
Beispiel
Verzeichnisse absichern
Passwortschutz für Webverzeichnisse
.htaccess-Datei
22.3 HTTPS
22.4 PHP installieren und konfigurieren
PHP ausprobieren
22.5 MariaDB installieren und administrieren
MariaDB installieren
MariaDB-Konfiguration
Das mysql-Kommando
Neue Datenbanken einrichten
Datenbanken sichern und wiederherstellen
Administration mit phpMyAdmin
22.6 Hello World! in PHP
Fehlersuche
22.7 GPIO-Steuerung mit PHP
GPIOs auslesen und verändern
LED ein- und ausschalten
Temperatur auslesen
Python-Scripts von PHP aus aufrufen
22.8 Kamerafunktionen mit PHP nutzen
Apache den Kamerazugriff erlauben
Ein Echtzeitfoto erstellen und übertragen
Ein Foto mit frei wählbaren Aufnahmeparametern erstellen
23 Mathematica und die Wolfram Language
23.1 Arbeiten mit Mathematica
Die grafische Benutzeroberfläche von Mathematica
Rechnen in Mathematica
Formeleingabe
Grafik
Mathematica im Textmodus
Grafiken im Textmodus anzeigen
Interna
23.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
23.3 Grafische Darstellung von Temperaturdaten
Temperaturaufzeichnung durch ein bash-Script
Grafische Verarbeitung durch die Wolfram Language
Teil V Projekte
24 Der Raspberry Pi im Vogelhaus
24.1 Einbau des Raspberry Pi samt Kameramodul in ein Vogelhaus
24.2 Kamerapraxis
Das Kameramodul betriebsbereit machen
Kamera-LED deaktivieren
Standbilder mit raspistill aufnehmen
ISO-Einstellung
Zeitverzögerung und Zeitrafferfilme
Videos aufzeichnen mit raspivid
24.3 Bewegungserkennung mit motion
Motion konfigurieren
24.4 Das Vogelhaus im praktischen Einsatz
Lichtverhältnisse und Bildqualität
25 Zeitmessung mit Lichtschranken
25.1 Versuchsaufbau (Hardware)
Schaltungsaufbau mit IR-Lichtschranken
25.2 Software
Die pigpio-Bibliothek
Programmcode
26 Das autonome Auto
26.1 Hardware
Das Chassis
Der Liniensensor
Die Mechanik
Anschlusspläne
Die mobile Stromversorgung des Raspberry Pi
Stromversorgung der Motoren
Ausrichtung und erste Tests
26.2 Die Software
Die Jungfernfahrt
27 RFID-Türöffner mit Zutrittskontrolle
27.1 RFID-Hardware
Die RFID-Technologie
Reader und Transponder
Verdrahtung
27.2 Software
Die Zugangsdatenbank
Python-Code zum Auslesen der RFID-Transponder
Python-Code zum Datenbankzugriff
Python-Code zum Hinzufügen der Transpondernummern
Python-Hauptprogramm
phpMyAdmin – der Hausmeister
27.3 Erweiterungsmöglichkeiten und Tipps
Den Schrank abschließen
LCD-Modul statt bash-Ausgabe
Sensor statt Zeitsteuerung
Alarm bei falschem Transponder
Die Empfangsantenne verstecken
28 Stromzähler auslesen
28.1 Stromzähler-Grundlagen
Lesekopf und Signalwandler
Die Smart Message Language
28.2 Einführung in RRDtool
Die Round-Robin-Datenbank erstellen
Werte in die Datenbank eintragen
Graphen erzeugen
28.3 Zählerdaten speichern und zu Graphen aufbereiten
29 Hausautomation mit Netzwerksteckdosen
29.1 Einführung
Universal-Schaltbox
29.2 Programmierung
Die Leistung der Photovoltaikanlage ermitteln
Das Web-Interface
Die Heizungssteuerung
Die Steuerung der schaltbaren Steckdose
30 Hausautomation mit 433-MHz-Funktechnologie
30.1 Hardware-Grundlagen
Funksteckdosen
Das Sendemodul
Anschluss des Sendemoduls
Vorbereitung der Steckdosen
30.2 Software und Steuerungsbeispiele
rcswitch-pi
Die klassische Zeitsteuerung
Automatische Anwesenheitserkennung
Überwachung von Analogsensoren
Fernbedienung per Weboberfläche
Noch mehr Ideen
31 Die Schalthebel der Nacht
31.1 Vorbereitung
31.2 Der Lux-Sensor
31.3 IKEAs Trådfri-Beleuchtungssystem mit Linux steuern
Python-Wrapper für libcoap
31.4 Philips-Hue-Leuchten ansteuern
31.5 Lichtstärke messen, Leuchten steuern
32 Ort und Zeit per GPS empfangen
32.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
Verwendung von USB-GPS-Empfängern
32.2 Ortsbestimmung mit dem Raspberry Pi
Ortsangaben per Python aus dem Datenstrom filtern
Ortsangaben in ein Foto einbetten
33 Der Raspberry Pi lernt twittern
33.1 Voraussetzungen
Installation der benötigten Werkzeuge
Twitter-App registrieren
33.2 Programmierung
Die Twitter-Software in Python
Der erste Tweet
Eine Direktnachricht (direct message) senden
CPU-Temperatur twittern
Bilder twittern
34 Gewitter erkennen mit dem Blitzsensor
34.1 Blitzsensor AS3935
34.2 Software
35 Klingel-Pi – Der Türglockenverstärker
35.1 Geräuschsensor anschließen und auswerten
36 WLAN- und Tor-Router
36.1 Einführung
Glossar
Voraussetzungen
Einschränkungen
36.2 WLAN-Access-Point
Paketinstallation
dhcpcd deaktivieren
Netzwerk- und Brückenkonfiguration (/etc/network/interfaces)
WLAN-Authenticator (hostapd)
Inkompatible WLAN-Adapter
Eindeutige WLAN-Schnittstellennamen
36.3 WLAN-Router
Router-Funktionen
Konfigurationsüberblick
Netzwerkkonfiguration (/etc/network/interfaces)
Network Address Translation (NAT)
Forwarding
DHCP- und Nameserver (Dnsmasq)
Inbetriebnahme und Test
36.4 Tor-Router
Das Problem
Das Tor-Netzwerk
Sicherheit und Recht
Anbindung eines WLAN-Routers an das Tor-Netz
Test
Nebenwirkungen
37 DLNA-Server
37.1 Raspbian-Installation auf große SD-Karten
Inbetriebnahme ohne Monitor, Tastatur und Maus
Mediendateien von USB-Stick kopieren
Mediendateien von NAS-Gerät kopieren
Mediendateien mit scp kopieren
Zugriffsrechte korrekt einstellen
37.2 ReadyMedia alias miniDLNA
37.3 Read-only-Konfiguration
Raspbian Lite im Read-only-Modus
ReadyMedia im Read-only-Modus
38 Pi-hole (Ad-Blocker)
38.1 Installation
38.2 Client-Konfiguration
38.3 Weboberfläche
39 USB-Stick-Checker (CIRCLean)
39.1 CIRCLean installieren und anwenden
Inbetriebnahme
Bedienung
Umgang mit Dateien
39.2 Einschränkungen
40 NAS mit openmediavault
40.1 Voraussetzungen
Stromversorgung
Netzwerkanbindung
40.2 Installation
40.3 Konfiguration
Grundeinstellungen
Updates
Der lange Weg zum Netzwerkverzeichnis
Ein Dateisystem auf der SD-Karte einrichten
Ein Dateisystem auf einer externen Disk einrichten
Netzwerkverzeichnisse einrichten
OMV-Benutzer einrichten
SMB-Dienst aktivieren und Verzeichnisse freigeben
Test
41 Luftraumüberwachung
41.1 Technischer Hintergrund und Hardware
41.2 Software
Die Position der Flugzeuge im Webbrowser verfolgen
Metrische Karten
42 Die Servokamera
42.1 Die Hardware
42.2 Die Python-Software
42.3 Die Streaming-Software
42.4 Die Weboberfläche
42.5 Inbetriebnahme
43 PomodoPi
43.1 Der Bodenfeuchtigkeitssensor
Der Bodenfeuchtigkeitssensor Vegetronix VH-400
Wertewandel
Öffentlicher Datennahverkehr
Der Feuchtigkeitsensor Xiaomi Miflora
Grafische Darstellung der Feuchtigkeit
43.2 Die Blumenampel
43.3 Die automatische Bewässerung
Relaissteuerung durch Python
Relaissteuerung automatisieren
43.4 Photosynthese sichtbar machen
44 Wassermelder mit Handyalarm
44.1 Hardware
44.2 Pushbullet
Programmierung
45 Dicke Luft – Feinstaubmessung und Innenluftqualität
45.1 Was ist Feinstaub?
Welche Grenzwerte gelten?
45.2 Welcher Sensor kann PM10 und PM2.5 messen und wie funktioniert das?
45.3 Anschauliche Grafiken im Web
45.4 Luftqualitätssensor für den Innenraum
VOC-Sensor
Rechtliche Hinweise
Über den Autor
Rückseite
← Prev
Back
Next →
← Prev
Back
Next →