raspberry–pi-projekt für geeks...raspberry–pi-projekt für geeks für geekweek-hörer haben wir...
TRANSCRIPT
Raspberry–Pi-Projekt für Geeks
Für Geekweek-Hörer haben wir ein besonderes Projekt aus dem Buch ausgesucht: Den PomodoPi. Auch wenn Ihr gänzlich über keinen grü-nen Daumen verfügt, könnt Ihr mithilfe des Raspberry Pi dafür sorgen, dass zukünftig Eure Blumen weder verdursten noch ertränkt werden. Bei diesem Projekt geht es um die Bewässerung von Tomaten und die Überwachung der Bodenfeuchtigkeit und Photosynthese. Ihr seht: Dem Raspberry Pi sind keine Grenzen gesetzt. Viel Spaß beim Ausprobieren!
Michael Kofler, Charly Kühnast, Christoph Scherbeck
Raspberry Pi – Das umfassende Handbuch1.087 Seiten, gebunden, in Farbe, mit CD, 2. Auflage 2015 39,90 Euro, ISBN 978-3-8362-3795-6
www.rheinwerk-verlag.de/3872
»PomodoPi«
Inhalt
Index
Die Autoren
Wissen, wie’s geht.
i
i
“buch” — 2015/7/22 — 11:07 — page 1051 — #1047i
i
i
i
i
i
42
Kapitel 42
PomodoPi
Im gärtnerischen Sinne sind die Autoren dieses Buchs leider völlig kompetenzfrei,
dennoch möchten sie Tomaten aus eigenem Anbau genießen. So sinnierten wir vor
einiger Zeit darüber, ob esmöglich sei, der eigenen gärtnerischen Inkompetenz durch
den Einsatz eines Raspberry Pi abzuhelfen. Die Ergebnisse präsentieren wir hier.
Unser Ziel ist es, in einem Terrassen-Hochbeet ständig die Bodenfeuchtigkeit zumes-
sen und bedarfsweise automatisch für Wassernachschub zu sorgen.
42.1 Der Bodenfeuchtigkeitssensor
Bei den einschlägigen Onlinehändlern können Sie Bodenfeuchtigkeitssensoren
erwerben (siehe Abbildung 42.1). Diese »Gabelzinken« steckt man in die Erde, und
oben wird ein dreiadriges Kabel angeschlossen. Die Kosten liegen zwischen fünf und
fünfzehn Euro, je nachdem, ob Sie den Sensor amnächsten Tag habenwollen oder ein
paar Wochen Zeit haben, bis das Päckchen aus Shenzen da ist.
Abbildung 42.1 Preiswerter Bodenfeuchtigkeitssensor
1051
i
i
“buch” — 2015/7/22 — 11:07 — page 1052 — #1048i
i
i
i
i
i
42 PomodoPi
Leider hat diese Bauform ein paar Nachteile. Der Anschluss für das Kabel ist nicht
wasserdicht, dass heißt, Sie dürfen diesen Sensor nicht komplett vergraben, und star-
ker Regen dürfte wohl auch schon zu Messfehlern führen. Bei Kontakt mit Wasser ist
Korrosion nur eine Frage der Zeit, gerade beim Einsatz im Beet oder auf der Terrasse.
Die Messfühler sind ebenfalls blankes Metall, das im Erdreich mit Sicherheit korro-
dieren wird. Schlimmer noch, bei manchen dieser Sensoren sind die Leiter in Kupfer
ausgeführt – wenn daswegrottet und in die Pflanze gelangt, nehmen Sie eventuell ein
Schwermetall zu sich. Deshalb fiel nach gebührendem Kopfkratzen die Entscheidung
für einen hochwertigeren Sensor (siehe Abbildung 42.2).
Abbildung 42.2 Bodenfeuchtigkeitssensor Vegetronix VH-400
Der Bodenfeuchtigkeitssensor VH-400der FirmaVegetronix arbeitet kapazitiv, was in
der Praxis primär bedeutet: kein Metall im Erdreich. Außerdem ist der Sensor wasser-
dicht vergossen; Sie können ihn also in der Pflanzerde versenken, umdie Feuchtigkeit
direkt amWurzelballen zumessen. Einziger Nachteil: Nach dem Erwerb ist man etwa
fünfzig Euro ärmer – dafür bekommen Sie mehr Tomaten, als Sie unter Beibehaltung
eines würdevollen Gesichtsausdrucks tragen können.
Der Sensor hat drei Anschlussdrähte: Plus, Minus und Output. Output bedeutet: Die-
ser Draht führt umso mehr Spannung, je höher die Feuchtigkeit ist, die der Sensor
misst. Plus ist derDrahtmit der roten Isolierung,Minus aliasMasse istnicht derDraht
mit der schwarzen Isolierung – das ist die Outputleitung. Masse ist der nicht isolierte
Draht.
AmRaspberry Pi können wir eine Versorungsspannung von 3,3 oder 5 V abgreifen, für
den Feuchtigkeitssensor reichen 3,3 V. Also schnell mal ausprobieren, Plus undMinus
am Raspberry anschließen, Output mit einem Multimeter messen: Der knochentro-
ckene Sensor liefert 0 V, wie erwartet. In Blumenerde liefert er 0,9 V, untergetaucht
1052
i
i
“buch” — 2015/7/22 — 11:07 — page 1053 — #1049i
i
i
i
i
i
42
42.1 Der Bodenfeuchtigkeitssensor
im Arbeitszimmeraquarium sind es 2,8 V. Wir hatten eigentlich erwartet, dass bei völ-
ligem Untertauchen unter Wasser die kompletten 3,3 V am Output-Draht anliegen,
aber das ist nicht tragisch – wir rechnen das später in der Software ohnehin in Pro-
zentwerte um und können das dort anpassen.
Wertewandel
Es wäre schön, wenn wir die drei Drähte einfach an den Raspberry Pi anschließen
und die Spannung auslesen könnten. Eine steigende oder fallende Spannung ist aber
ein analoger Messwert, und damit können digital arbeitende Systeme wie unser
Raspberry Pi nichts anfangen. Wir brauchen einen Analog-/Digitalwandler wie den
MCP3008, den wir in Abschnitt 14.2 schon ausführlich behandelt haben.
Zur Messung der Feuchtigkeit verbinden Sie den Outputdraht des Feuchtigkeitssen-
sors mit Pin 1 (Channel 0) des MCP3008 (siehe Abbildung 42.3). Die Pins 2 bis 8 alias
Channel 1 bis 7 benutzen wir nicht. Um Störungen zu vermeiden, verbinden wir sie
allesamtmit Masse. Verbinden Sie außerdem
MCP3008 Pin 1 (CH0)mit dem Output-Draht des Feuchtigkeitssensors
MCP3008 Pin 2–8 (CH1–CH7), Pin 9 (AGND) und Pin 14 (DGND) und den nicht iso-
lierten Draht des Feuchtigkeitssensors mit Masse (Pin 6 am Raspberry)
Pin 15 (VRef), Pin 16 (VDD) und den rot isolierten Draht des Feuchtigkeitssensors
mit 3,3 V (Pin 1 des Raspberry Pi)
Pin 10 (CS) mit Pin 26 (CE) des Raspberry Pi
Pin 11 (Din) mit Pin 19 (MOSI) des Raspberry Pi
Pin 12 (Dout) mit Pin 21 (MISO) des Raspberry Pi
Pin 13 (CLK) mit Pin 23 (SCLK) des Raspberry Pi
Was die Hardware angeht, sind Sie an dieser Stelle fertig. Jetzt müssen Sie dem Rasp-
berry aber noch beibringen, wie er an die Messwerte kommt, die ihm der Analog-/
Digitalwandler MCP3008 jetzt zur Verfügung stellt.
Öffentlicher Datennahverkehr
An dieser Stelle müssen wir kurz über Bussysteme sprechen. Sie bestehen aus Daten-
straßenmitmehreren Datenverkehrsteilnehmern und einer Steuerzentrale. Die Steu-
erzentrale ist der Computer (Master), die Verkehrsteilnehmer sind angeschlossene
Komponenten (Slaves oder Clients). Der Master kann die Slaves anhand einer eindeu-
tigen Nummer (ID) identifizieren und von ihnen verlangen, dass sie ihre Daten bei
der Zentrale abliefern. Wir benutzen zum Auslesen des Feuchtigkeitssensors das SPI-
Bussystem. Um es zu aktivieren, führen Sie auf dem Raspberry das Kommando
sudo raspi -config
1053
i
i
“buch” — 2015/7/22 — 11:07 — page 1054 — #1050i
i
i
i
i
i
42 PomodoPi
CH0
CH1
CH2
CH3
CH4
CH5
CH6
CH7
VDD
VRef
AGND
CLK
DOut
DIn
CS/SHDN
DGND Pin 6
Pin 19
Pin 21
Pin 23
Pin 1
Pin 26
MC
P3
00
8
SCLK
MISO
MOSI
CE1
3,3 V
Raspberry-Pi-GPIO
GND
VH-400V
CC
GN
D
Ou
tpu
t
Abbildung 42.3 Beschaltung desMCP3008
aus. Es erscheint ein Textmenü, in dem Sie Advanced Options auswählen, und im fol-
genden Untermenüwählen Sie SPI. Bestätigen Sie die Sicherheitsabfragemit Yes, und
verlassen Sie raspi-config. Jetzt starten Sie den Raspberry Pi einmal neu (mit dem
Kommando sudo reboot). Nach dem Neustart ist das SPI-Bussystem betriebsbereit.
Da wir mit dem SPI-Bus in der Sprache Python kommunizieren möchten, müssen
noch ein paar Kleinigkeiten nachinstalliert werden. Führen Sie dazu die folgenden
Kommandos aus:
cd ~
sudo apt -get -fym install python3 -dev bc
git clone https :// github .com/Gadgetoid/py -spidev
cd py -spidev
sudo python3 setup .py install
sudo shutdown -r now
Jetzt kann es endlich losgehen.Mit einem erfreulich kurzen Programm in Python wei-
sen wir den MCP3008 an, uns über den SPI-Bus die Daten zu geben, die der an CH0
angeschlossene Sensor liefert. Der Code ist in Abschnitt 14.2 genau erläutert, deshalb
lassen wir ihn hier weitestgehend unkommentiert:
1054
i
i
“buch” — 2015/7/22 — 11:07 — page 1055 — #1051i
i
i
i
i
i
42
42.1 Der Bodenfeuchtigkeitssensor
#!/usr/bin/python3
import spidev
import time
spi = spidev .SpiDev ()
spi.open (0,1)
antwort = spi.xfer ([1 ,128 ,0])
if 0 <= antwort [1] <=3:
wert = (( antwort [1] * 256) +antwort [2]) * 0.00322
fprozent = (( wert / 2.82) * 100)
# Substratfeuchte in Prozent ausgeben
print (fprozent)
Der Messwert in Volt steht in der Variablen wert. Da wir empirisch ermittelt haben
(durch Eintauchen ins Aquarium), dass der Sensor bei maximaler Umgebungsfeuch-
tigkeit 2,82 V liefert, rechnen wir die Voltzahl in Prozent um. Dieser Wert steht in der
Variablen fprozent und wird wie folgt ausgegeben:
49.2134751773
Die Anzahl der Nachkommastellen täuscht eine wesentlich höhere Genauigkeit vor,
als der Sensor tatsächlich erreicht, deshalb werden wir sie komplett abschneiden und
nur mit dem ganzzahligen Vorkommawert weitermachen. Danach wird der Wert in
eine simple Textdatei geschrieben. Das erledigt dieses Programm (diesmal nicht in
Python, sondern in bash):
#!/bin/bash
WDIR =/usr/local /shellscripts /moisturesensor
ETCDIR =$WDIR /etc/
OUTDIR =$WDIR /output
MOISTPROZENT =$($WDIR /moist_einmal .py|cut -f1 -d\.);
logger "$MOISTPROZENT Prozent Substratfeuchte "
echo $MOISTPROZENT > $ETCDIR/moisture -vh400 -1. text
Dieses Programm ruft das Sensor-Abfrageprogramm moist_einmal.py auf und merkt
sich von dessen Ausgabe alles, was vor dem Punkt steht (cut -f1 -d\.), in der Varia-
blen MOISTPROZENT. Deren Inhalt wird in die Datei moisture-vh400-1.text geschrieben.
Grafische Darstellung der Feuchtigkeit
Nunwollenwir aus den Sensordaten anschaulicheGrafiken erstellen. Damitman Ver-
laufsgrafiken erstellen kann, mussman die Messwerte über einen längeren Zeitraum
sammeln, am besten in einer kleinen Round-Robin-Datenbank (RRD). Wie derar-
tige Datenbanken funktionieren und mit welchen Kommandos man auf sie zugreift,
haben wir ausführlich in Abschnitt 30.2, »Einführung in RRDtool«, beschrieben.
1055
i
i
“buch” — 2015/7/22 — 11:07 — page 1056 — #1052i
i
i
i
i
i
42 PomodoPi
DieRRD-Werkzeuge installieren Sie durch die Eingabe von sudo apt-get -fym install
rrdtool. Das folgende Script wird nur einmal benötigt: Es legt die Round-Robin-
Datenbankmit demNamen moisture.rrd an, die dieMesswerte des Feuchtigkeitssen-
sors aufnehmen soll:
#!/bin/bash
WDIR =/usr/local /shellscripts /moisturesensor
ETCDIR =$WDIR /etc/
OUTDIR =$WDIR /output
rrdtool create $ETCDIR/moisture.rrd --step 60 \
DS:data1 :GAUGE :120:0:100 \
DS:data2 :GAUGE :120:0:100 \
RRA:AVERAGE :0.5:1:2160 \
RRA:AVERAGE :0.5:5:2016 \
RRA:AVERAGE :0.5:15:2880 \
RRA:AVERAGE :0.5:60:8760 \
RRA:MAX :0.5:1:2160 \
RRA:MAX :0.5:5:2016 \
RRA:MAX :0.5:15:2880 \
RRA:MAX :0.5:60:8760
Jetzt benötigen wir noch ein kleines Programm, das einmal proMinute denMesswert
aus der Datei moisture-vh400-1.text liest, ihn an die RRD liefert und die Verlaufsgra-
fik erzeugt. Wenn Sie selbst ein derart umfassendes rrdtool-Kommando entwickeln
möchten, gehen Sie am besten schrittweise vor – d. h., nach jeder Änderung testen Sie
das Kommando, bevor Sie es umweitere Optionen ergänzen.
#!/bin/bash
WDIR =/usr/local /shellscripts /moisturesensor
ETCDIR =$WDIR /etc/
OUTDIR =$WDIR /output
MOISTPROZ=$(cat $ETCDIR/moisture -vh400 -1. text);
echo "$MOISTPROZ Prozent Substratfeuchte "
rrdtool update $ETCDIR/moisture.rrd N:$MOISTPROZ :U
for i in -4h -12h -24h -7d -30d -90d -180d -360d; do
rrdtool graph $OUTDIR/moisture$i .gif \
--border =0 -c GRID#ffffff00 -c BACK#ffffff \
--lazy --slope -mode --start $i \
--title "Bodenfeuchtigkeit ($i)" \
--vertical -label "Prozent" -w 400 -h 140 \
1056
i
i
“buch” — 2015/7/22 — 11:07 — page 1057 — #1053i
i
i
i
i
i
42
42.1 Der Bodenfeuchtigkeitssensor
DEF:data1 =$ETCDIR/moisture.rrd:data1 :AVERAGE \
DEF:data2 =$ETCDIR/moisture.rrd:data2 :AVERAGE \
CDEF:shading2=data1 ,0.98 ,* AREA:shading2#0000 F9:\
"Bodenfeuchtigkeit (aktuell $MOISTPROZ Prozent)\n" \
CDEF:shading10=data1 ,0.90 ,* AREA:shading10 #0F0FF9 \
CDEF:shading15=data1 ,0.85 ,* AREA:shading15 #1818 F9 \
CDEF:shading20=data1 ,0.80 ,* AREA:shading20 #2D2DF9 \
CDEF:shading25=data1 ,0.75 ,* AREA:shading25 #3C3CF9 \
CDEF:shading30=data1 ,0.70 ,* AREA:shading30 #4B4BF9 \
CDEF:shading35=data1 ,0.65 ,* AREA:shading35 #5A5AF9 \
CDEF:shading40=data1 ,0.60 ,* AREA:shading40 #6969 F9 \
CDEF:shading45=data1 ,0.55 ,* AREA:shading45 #7878 F9 \
CDEF:shading50=data1 ,0.50 ,* AREA:shading50 #8787 F9 \
CDEF:shading55=data1 ,0.45 ,* AREA:shading55 #9696 F9 \
CDEF:shading60=data1 ,0.40 ,* AREA:shading60 #A5A5F9 \
CDEF:shading65=data1 ,0.35 ,* AREA:shading65 #B4B4F9 \
CDEF:shading70=data1 ,0.30 ,* AREA:shading70 #C3C3F9 \
CDEF:shading75=data1 ,0.25 ,* AREA:shading75 #D2D2F9 \
CDEF:shading80=data1 ,0.20 ,* AREA:shading80 #E1E1F9 \
CDEF:shading85=data1 ,0.15 ,* AREA:shading85 #E1E1F9
done
Das Script generiert Bilder für mehrere Übersichtszeiträume: für 4 Stunden, 24 Stun-
den, 7 Tage (siehe Abbildung 42.4), 30 Tage und so weiter bis zu einer Jahresübersicht.
Abbildung 42.4 Bodenfeuchtigkeit über 7 Tage
1057
i
i
“buch” — 2015/7/22 — 11:07 — page 1058 — #1054i
i
i
i
i
i
42 PomodoPi
42.2 Die Blumenampel
Egal, ob Sie Ihre Tomaten aus Samen aufziehen oder als Jungpflanzen kaufen:
Zunächst werden die Pflanzen in der warmen Stube herangepäppelt, bis keine Nacht-
fröste mehr zu erwarten sind. Wenn Sie zu viel Respekt vor einer automatischen
Bewässserung in den eigenen vierWänden haben, können Sie sich eine automatische
Gieß-Erinnerung bauen, etwamit einer Blumenampel (siehe Abbildung 42.5).
Abbildung 42.5 USB-Blumenampel
Die Blumenampel zeigt Grün, wenn die Bodenfeuchtigkeit mehr als 65 Prozent
beträgt, Gelb, wenn man gießen sollte, und Rot, wenn es zu spät ist. Die Ampel
(Hersteller: Cleware) wird per USB angeschlossen und ist natürlich frei programmier-
bar, und zwar sehr anfängerfreundlich. Sie funktioniert unter Windows, Linux und
bald wohl auch unter OS X. Die Software für Linux können Sie unter http://www.
vanheusden.com/clewarecontrol herunterladen. Nach dem Dekomprimieren genügt
ein make install, und man ist startklar. Mit diesem Kommando schaltet man die
Ampel auf Grün:
clewarecontrol -d 901846 -as 2 1
Das Kommando sieht kryptisch aus, es ist aber ganz einfach: Der Parameter -d
<Zahl> gibt an, welche Ampel Sie ansprechen möchten – Sie könnten ja mehrere
haben. Jede Ampel hat ab Werk eine eindeutige Erkennungsziffer, die Sie mit dem
Kommando clewarecontrol -l ermitteln. Mit dem Parameter -as 2 1 erfolgt die
eigentliche Ampelschaltung. Dabei gibt die erste Zahl die Farbe an (0 = Rot, 1 = Gelb, 2
= Grün) und danach entweder 0 für »aus« oder 1 für »ein«.
Die Sensordaten für die Bodenfeuchtigkeit hat der Computer ja schon, und so ist es
recht einfach, mit einem kleinen Programmden Gieß-Status anzeigen zu lassen:
1058
i
i
“buch” — 2015/7/22 — 11:07 — page 1059 — #1055i
i
i
i
i
i
42
42.3 Die automatische Bewässerung
#!/bin/bash
WDIR =/usr/local /shellscripts /ampel
MOISTURE=$(cat /usr/local /shellscripts /moisturesensor /etc/
moisture -vh400 -1. text)
# zum Debugging
logger "Feuchtigkeit : $MOISTURE Prozent";
# Ampel schalten
if [ $MOISTURE -ge 65 ]; then
# Ampel auf Gruen schalten
clewarecontrol -d 901846 -as 2 1
# Rot und Gelb ausschalten
clewarecontrol -d 901846 -as 0 0
clewarecontrol -d 901846 -as 1 0
elif [ $MOISTURE -ge 55 ] && [ $MOISTURE -le 64 ]; then
# Ampel auf Gelb schalten
clewarecontrol -d 901846 -as 1 1
# Rot und Gruen ausschalten
clewarecontrol -d 901846 -as 0 0
clewarecontrol -d 901846 -as 2 0
else
# Ampel auf Rot schalten
clewarecontrol -d 901846 -as 0 1
# Gelb und Gruen ausschalten
clewarecontrol -d 901846 -as 1 0
clewarecontrol -d 901846 -as 2 0
fi
Wenn Sie gerade keine Tomaten züchten, können Sie die Ampel natürlich für belie-
bige andere Zwecke verwenden, der Fantasie sind hier keine Grenzen gesetzt.
42.3 Die automatische Bewässerung
Nachdemwir an diesem Punkt angelangt sind, ist der letzte Schritt, die automatische
Bewässerung, nur noch eine Kleinigkeit. Denn wenn Sie anhand der Bodenfeuchtig-
keit eine Ampel schalten können, können Sie genauso leicht eine Pumpe oder ein
Magnetventil schalten. Wenn Sie etwa auf dem Balkon, der Terrasse oder im Garten
einen Wasserhahn haben, können Sie sich schnell und leicht einen Raspberry-Pi-auf-
Gardena-Adapter bauen (siehe Abbildung 42.6).
Das Element ganz links im Bild wird an den Wasserhahn angeschlossen. Es ist ein
Y-Verteiler. An die eine Seite können Sie einen Gartenschlauch anschließen, an der
1059
i
i
“buch” — 2015/7/22 — 11:07 — page 1060 — #1056i
i
i
i
i
i
42 PomodoPi
anderen Seite hängt das Bewässerungssystem. Durch den gelben Schlauch gelangt
das Wasser zu einemMagnetventil, das ist das weiße Element in der Bildmitte.
Abbildung 42.6 Raspberry-Pi-auf-Gardena-Adapter
Normalerweise ist das Ventil geschlossen und lässt kein Wasser hindurch. Es besitzt
aber zwei Metallklemmen. Wird an diese Klemmen eine Spannung von 12 V ange-
legt, öffnet es sich und lässt das Wasser in einen Perlschlauch (der schwarze Schlauch
rechts im Bild) fließen, aus dem tröpfchenweise Wasser perlt. Falls Sie nicht über
einen Wasserhahn in der Nähe verfügen, verwenden Sie einfach einen größerenWas-
serkübel mit einer 12-V-Tauchpumpe anstelle des Magnetventils. Sie müssen dann
nur in gewissen Intervallen nachschauen, ob noch genugWasser im Kübel ist.
Der Raspberry Pi kann keine 12 V liefern, deshalb benötigen wir einen Zwischen-
schritt. Wir nehmen ein handelsübliches 12-V-Netzteil und ein Relaismodul (siehe
Abbildung 42.7).
Was genau macht so ein Relaismodul? Stellen Sie sich einen Lichtschalter vor. Sie
geben ihmeinen Impuls (Drückendes Schalters), und er stellt einenKontakt zwischen
zwei Leitungen her, worauf das Licht angeht. Auch das Relaismodul stellt einen Kon-
takt zwischen zwei Leitungen her, aber der Impuls wird nicht mechanisch gegeben
(wie beim Betätigen des Schalters mit der Hand), sondern elektronisch, durch Anle-
gen einer Spannung.
Bei unserem Relaismodul handelt es sich um ein Modell von Sainsmart, das speziell
auf den Betrieb amRaspberry Pi oder Arduino ausgelegt ist. Es kommt ohne die sonst
oft üblichen vorgelagerten Transistorschaltungen aus und ist sehr simpel zu nutzen.
Esmuss an Plus (5 V) undMinus angeschlossen werden, damit es überhaupt arbeiten
1060
i
i
“buch” — 2015/7/22 — 11:07 — page 1061 — #1057i
i
i
i
i
i
42
42.3 Die automatische Bewässerung
kann. Unser Modul kann zwei Verbraucher schalten, für jedes gibt es einen weiteren
Pin, IN1 und IN2 (siehe Abbildung 42.8).
Abbildung 42.7 Relaismodul von Sainsmart
Pin 6
Pin 7
Pin 25 V
Raspberry-Pi-GPIO
GND
IN1
IN2
S1 S2
5V
GND
+ 12-V-Netzteil
Raspberry-Pi-auf-Gardena-Adapter
GPIO 4
Abbildung 42.8 Arbeitsweise des Relaismoduls
1061
i
i
“buch” — 2015/7/22 — 11:07 — page 1062 — #1058i
i
i
i
i
i
42 PomodoPi
Für unser Beispiel verbindenwir IN1mit Pin 7 (GPIO4) amRaspberry Pi – andere GPIO-
Pins sind natürlich auch möglich. Wenn Sie diesen Pin auf Low schalten, erkennt das
Relaismodul dieses Signal und stellt eine Verbindung zwischen den angeschlossenen
Leitungen her. Diese gehören zu dem erwähnten 12-V-Netzteil, dessen Spannung an
den Raspberry-Pi-auf-Gardena-Adapter angelegt wird, um die Schleusen zu öffnen.
Relaissteuerung durch Python
So sieht das kurze Python-Programm aus, das Pin 7 auf Low und damit das Magnet-
ventil auf Durchfluss schaltet:
#!/usr/bin/python3
# Script -Datei pin7 -low.py
import RPi.GPIO as GPIO
import time
# Pin -Nummern verwenden (nicht GPIO -Nummern)
GPIO.setmode(GPIO.BOARD )
# wir wollen Pin 7 (=GPIO 4) schalten
GPIO.setup (7, GPIO.OUT)
GPIO.output (7, GPIO.LOW)
Um denWasserfluss zu stoppen, schalten Sie den Pin wieder aufHigh:
#!/usr/bin/python3
# Script -Datei pin7 -high .py
import RPi.GPIO as GPIO
import time
# Warnung , dass der GPIO -Kanal noch offen ist , unterdruecken
GPIO.setwarnings (False )
# Pin -Nummern verwenden (nicht GPIO -Nummern)
GPIO.setmode(GPIO.BOARD )
# wir wollen Pin 7 (=GPIO 4) schalten
GPIO.setup (7, GPIO.OUT)
GPIO.output (7, GPIO.HIGH)
GPIO.cleanup ()
Relaissteuerung automatisieren
Jetzt benötigen Sie nur noch ein einfaches Programm, das einmal pro Minute die
Bodenfeuchtigkeit ermittelt und abhängig von diesemWert das Magnetventil öffnet
oder schließt. Hier bietet es sich an, das Blumenampel-Script wiederzuverwerten und
1062
i
i
“buch” — 2015/7/22 — 11:07 — page 1063 — #1059i
i
i
i
i
i
42
42.3 Die automatische Bewässerung
anstelle der Ampel einfach die Python-Scripts aufzurufen, die das Magnetventil öff-
nen oder schließen:
#!/bin/bash
# Script -Datei
# /usr/local /shellscripts /bewaesserung /bewaesserung .sh
WDIR =/usr/local /shellscripts /bewaesserung
MOISTURE=$(cat /usr/local /shellscripts /moisturesensor /etc/
moisture -vh400 -1. text)
# zum Debugging
logger "Feuchtigkeit : $MOISTURE Prozent";
# Relaismodul /Magnetventil schalten
if [ $MOISTURE -ge 75 ]; then
# Feuchtigkeit gleich oder über 75%,
# Magnetventil ausschalten
logger "Ventil ausschalten "
$WDIR /pin7 -high.py
elif [ $MOISTURE -ge 65 ] && [ $MOISTURE -le 74 ]; then
# Feuchtigkeit zw. 65 und 75%
# nichts ändern
logger "alles im gruenen Bereich"
else
# Feuchtigkeit unter 65 %
# Magnetventil einschalten
logger "Wasser marsch "
$WDIR /pin7 -low.py
fi
Lassen Sie dieses Programm per Cron einmal pro Minute ausführen. Cron ist eine
Art Zeitschaltuhr für Programme: Sie bestimmen, wann ein bestimmtes Programm
ausgeführt werden soll, und Cron kümmert sich darum (siehe Abschnitt 4.12, »Pro-
gramme regelmäßig ausführen (Cron)«). Gesteuert wird es von einer Datei names
crontab, in der Sie die Ausführungszeiten festlegen. Geben Sie crontab -e ein, so star-
tet ein Editor und öffnet automatisch die crontab. Bewegen Sie den Cursor an das
Ende der Datei, und fügen Sie die folgende Zeile hinzu:
* * * * * /usr/local /shellscripts /bewaesserung /bewaesserung .sh
Achten Sie darauf, dass genau fünf Asteriske vor dem Kommando stehen. Sie sind
quasi die Programmierung der Zeitschaltuhr und stehen in dieser Reihenfolge für
Minute
Stunde
Tag des Monats (1 bis 31)
1063
i
i
“buch” — 2015/7/22 — 11:07 — page 1064 — #1060i
i
i
i
i
i
42 PomodoPi
Monat (1 bis 12)
Tag der Woche (0 bis 6, 0 = Sonntag)
Wenn Sie alle Werte auf * setzen, sind alle Bedingungen immer erfüllt und das Pro-
gramm startet einmal pro Minute. Da das Wasser durch den Perlschlauch relativ
langsam austritt, reicht das Messintervall von einer Minute aus. Sie müssen nicht
befürchten, dass Sie Ihre Tomatenpflanzen versehentlich ersäufen.
42.4 Photosynthese sichtbarmachen
Darüber, wie Pflanzen Energie aus Licht gewinnen, kannman längere Aufsätze schrei-
ben, in denen Begriffe wie Adenosintriphosphat, Phycobiline und Protonenpumpe
(ja, wirklich!) eine zentrale Rolle spielen. Sie werden deshalb erleichtert sein zu hören,
dass wir uns hier sämtliche Details verkneifen und nur eine Kurzfassung in genau
drei Sätzen bringen:
Grüne Pflanzen absorbieren das eingestrahlte Sonnenlicht fast vollständig, mit einer
Ausnahme: Der Grünanteil wird zurückgeworfen (»Grünlücke«, auch so ein tol-
ler Begriff). Deshalb nehmen wir die Farbe der Blätter als sattes Grün wahr. Die
übrige Strahlungsenergie befähigt die Pflanze dazu, Kohlendioxid und Wasser erst
auseinander- und dann wieder zu mehr Grünzeug zusammenzuschrauben. Weil die
Pflanze den dabei aufgenommenen Sauerstoff (das »O« in H2O und CO2) nicht in die-
ser Menge braucht, gibt sie ihn wieder an die Umwelt ab – was äußerst praktisch ist,
weil die Erde sonst primär von Schwefelbakterien bewohnt wäre.
Die Photosynthesetätigkeit ist also ein Gradmesser für die Vitalität einer Pflanze. Die
NASAmacht sich das als Teil des LandSat-Projekts zunutze, indem Satelliten aus dem
All Schäden in Waldgebieten erkennen. Um so etwas zu Hause zu machen, brauchen
wir nicht viel: eine Kamera ohne Infrarotfilter und eine zusätzliche Filterfolie, die
genau auf die gewünschte Wellenlänge eingemessen ist. Beides gibt es fix und fertig
von der Raspberry Pi Foundation, die auch denMinicomputer entworfen hat.
Die Kameravariante ohne Infrarotfilter hört auf den Namen »NoIR«. Ihr liegt ein klei-
nes Stück blauer Filterfolie bei (»Roscolux #2007 Storaro Blue«), die noch vor das
Kameraobjektiv geklebtwird. Das geht ambesten, wenn Sie der Kamera einpassendes
Gehäuse gönnen. Wir haben für unsere Experimente sowohl für den Raspberry Pi als
auch für die Kamera das Gehäuse »SmartiPi« genutzt, das aus einem gleichnamigen
Crowdfunding-Projekt entstanden ist. Inzwischen kannman es direkt beimHersteller
oder einem Importeur erwerben. Praktisch an diesem Gehäuse ist, dass es kompati-
bel zu Lego-Elementen ist und das Kameragehäuse zusätzlich eine Aufnahme für die
beliebten GoPro-Halterungen besitzt (siehe Abbildung 42.9).
1064
i
i
“buch” — 2015/7/22 — 11:07 — page 1065 — #1061i
i
i
i
i
i
42
42.4 Photosynthese sichtbar machen
Abbildung 42.9 NoIR-Kamera mit Filterfolie
Das mitgelieferte Anschlusskabel der Kamera ist für unsere Zwecke zu kurz, aber im
Handel finden Sie Ersatzkabel mit bis zu zwei Metern Länge. Die benötigte Software
ist bei Raspbian serienmäßig mit an Bord. Ein Kommando genügt, um ein Bild zu
schießen (siehe Abbildung 42.10):
raspistill -o pomodopi.jpg
Abbildung 42.10 Ein Bild aus der Pomocam
1065
i
i
“buch” — 2015/7/22 — 11:07 — page 1066 — #1062i
i
i
i
i
i
42 PomodoPi
Die Helligkeit, mit der die Blätter auf dem Bild erscheinen, ist der Gradmesser für
die Photosynthesetätigkeit. Bei starker Sonneneinstrahlung, wenn die Chloroplasten
richtig Party machen, werden die Blätter fast reinweiß angezeigt. Sinkt die Photosyn-
thesetätigkeit, erscheinen die Blätter entsprechend dunkler.
Jetzt wünschen wir Ihnen noch viel Freude beim Basteln und natürlich eine reiche
Ernte!
1066
Auf einen Blick
TEIL I
Den Raspberry Pi kennenlernen ................................................................................. 19
TEIL II
Der Raspberry Pi als Media-Center ........................................................................... 281
TEIL III
Hardware-Grundlagen .................................................................................................. 351
TEIL IV
Programmierung ............................................................................................................. 625
TEIL V
Projekte .............................................................................................................................. 855
Auf einen Blick
i
i
“buch” — 2015/7/22 — 11:07 — page 5 — #1i
i
i
i
i
i
Inhaltsverzeichnis
Inhaltsverzeichnis
Vorwort ................................................................................................................................................ 15
TEIL I Den Raspberry Pi kennenlernen
1 Kauf und Inbetriebnahme .............................................................................. 21
1.1 Kauf ........................................................................................................................................ 21
1.2 Raspberry-Pi-Distributionen ........................................................................................... 32
1.3 NOOBS-Installation ........................................................................................................... 33
1.4 Image-Datei auf eine SD-Karte schreiben .................................................................. 40
1.5 Installation auf einen USB-Stick .................................................................................... 45
2 Erste Schritte in Raspbian ................................................................................ 51
2.1 Das Konfigurationsprogrammraspi-config ............................................................... 52
2.2 Ein- und Ausschalten ........................................................................................................ 57
2.3 Die Benutzeroberfläche LXDE ......................................................................................... 58
2.4 Wichtige Programme ........................................................................................................ 64
2.5 WLAN-Konfiguration ......................................................................................................... 76
2.6 Bluetooth-Konfiguration ................................................................................................. 78
2.7 USB-Sticks und -Festplatten ............................................................................................ 79
2.8 Drucker .................................................................................................................................. 80
3 Arbeiten im Terminal ........................................................................................... 83
3.1 Erste Experimente .............................................................................................................. 83
3.2 Eingabeerleichterungen und Tastenkürzel ................................................................. 89
3.3 Farbspiele .............................................................................................................................. 92
3.4 Die Bourne Again Shell (bash) ........................................................................................ 94
3.5 Arbeitenmit Administratorrechten (sudo) ................................................................ 100
3.6 Textdateien lesen und ändern ........................................................................................ 103
3.7 Verzeichnisse und Dateien .............................................................................................. 109
5
i
i
“buch” — 2015/7/22 — 11:07 — page 6 — #2i
i
i
i
i
i
Inhaltsverzeichnis
3.8 Komprimierte Dateien und Archive .............................................................................. 116
3.9 Prozessverwaltung ............................................................................................................. 119
3.10 Netzwerkkommandos ...................................................................................................... 125
4 Arbeitstechniken ..................................................................................................... 129
4.1 Programme installieren und verwalten ...................................................................... 130
4.2 Updates ................................................................................................................................. 133
4.3 SSH .......................................................................................................................................... 137
4.4 VNC ......................................................................................................................................... 145
4.5 Netzwerkverzeichnisse nutzen ...................................................................................... 153
4.6 Netzwerkverzeichnisse anbieten (Samba-Server) .................................................... 159
4.7 Internetzugriff auf den Raspberry Pi ............................................................................ 166
4.8 Dynamisches DNS .............................................................................................................. 170
4.9 IPv6 ......................................................................................................................................... 176
4.10 FTP-Server einrichten ........................................................................................................ 179
4.11 Programme beim Systemstart ausführen .................................................................. 182
4.12 Programme regelmäßig ausführen (Cron) ................................................................. 184
4.13 Monitor zeitgesteuert ein- und ausschalten ............................................................. 187
4.14 Backups erstellen ............................................................................................................... 188
4.15 Overclocking ........................................................................................................................ 192
4.16 Notfall-Tipps ........................................................................................................................ 195
5 Linux-Grundlagen .................................................................................................. 199
5.1 Benutzer und Gruppen ..................................................................................................... 200
5.2 Zugriffsrechte ...................................................................................................................... 208
5.3 Paketverwaltung ................................................................................................................ 214
5.4 Verwaltung des Dateisystems ........................................................................................ 217
5.5 Netzwerkkonfiguration .................................................................................................... 225
5.6 Bluetooth .............................................................................................................................. 234
5.7 Systemstart .......................................................................................................................... 236
5.8 Systemeinstellungen in config.txt ................................................................................ 246
5.9 Grafiksystem ........................................................................................................................ 251
5.10 Kernel und Module ............................................................................................................ 254
5.11 Device Trees ......................................................................................................................... 257
6
i
i
“buch” — 2015/7/22 — 11:07 — page 7 — #3i
i
i
i
i
i
Inhaltsverzeichnis
6 Ubuntu ............................................................................................................................. 261
6.1 Installation ........................................................................................................................... 262
6.2 Konfiguration und technische Details ......................................................................... 264
7 Windows10 ................................................................................................................. 269
7.1 Installation ........................................................................................................................... 269
7.2 Anwendung ......................................................................................................................... 272
7.3 Programmentwicklungmit Visual Studio .................................................................. 274
TEIL II Der Raspberry Pi als Media-Center
8 Audio-Playermit Smartphone-Fernbedienung ........................... 283
8.1 MPD-Installation und -Konfiguration .......................................................................... 284
8.2 MPD-Konfigurationsvarianten ....................................................................................... 289
8.3 HiFiBerry ............................................................................................................................... 299
8.4 Volumio ................................................................................................................................. 302
8.5 Pi MusicBox .......................................................................................................................... 306
9 Multimedia-Centermit Kodi und OpenELEC .................................. 309
9.1 OpenELEC-Installation und -Konfiguration ................................................................ 310
9.2 Fernbedienung .................................................................................................................... 321
9.3 Kodi-Betrieb ......................................................................................................................... 326
10 Multimedia-Systemmit Plex ........................................................................ 335
10.1 Kodi oder Plex? .................................................................................................................... 335
10.2 Plex-Server-Konfiguration ............................................................................................... 338
10.3 RasPlex-Installation und -Konfiguration ..................................................................... 341
10.4 Plex-Anwendung ................................................................................................................ 348
7
i
i
“buch” — 2015/7/22 — 11:07 — page 8 — #4i
i
i
i
i
i
Inhaltsverzeichnis
TEIL III Hardware-Grundlagen
11 Hardware-Einstieg ................................................................................................. 353
11.1 Platinenaufbau ................................................................................................................... 353
11.2 Der BCM2836 ...................................................................................................................... 354
11.3 GPIO-Kontakte .................................................................................................................... 356
11.4 Stromversorgung ............................................................................................................... 363
11.5 Gehäuse ................................................................................................................................ 371
12 Elektrotechnik-Crashkurs ................................................................................ 375
12.1 Strom, Spannung und das ohmsche Gesetz .............................................................. 375
12.2 Grundschaltungen ............................................................................................................. 377
12.3 Elektronische Grundbauteile .......................................................................................... 382
12.4 Das Multimeter ................................................................................................................... 387
12.5 Breadboard oder Platine? ................................................................................................ 390
12.6 Löten ...................................................................................................................................... 392
12.7 Breadboardadapter ........................................................................................................... 394
13 LEDs,Motoren und Relais ................................................................................ 399
13.1 Leuchtdioden (LEDs) .......................................................................................................... 399
13.2 Optokoppler ......................................................................................................................... 417
13.3 Elektromotoren ................................................................................................................... 418
13.4 Schrittmotoren ................................................................................................................... 431
13.5 Servomotoren ...................................................................................................................... 441
13.6 Relais ...................................................................................................................................... 446
14 Bussysteme .................................................................................................................. 451
14.1 SPI ........................................................................................................................................... 451
14.2 Der Analog-/Digitalwandler MCP3008 ....................................................................... 460
14.3 Der Digital-/Analogwandler MCP4811 ........................................................................ 465
14.4 I2C ........................................................................................................................................... 471
14.5 UART ....................................................................................................................................... 480
14.6 Der Audiobus I2S ................................................................................................................ 486
14.7 1-Wire .................................................................................................................................... 487
8
�
�
“buch” — 2015/8/5 — 13:42 — page 9 — #5
�
�
�
�
�
�
Inhaltsverzeichnis
15 Sensoren ......................................................................................................................... 489
15.1 PIR-Bewegungssensor ...................................................................................................... 489
15.2 Ultraschallsensor ................................................................................................................ 493
15.3 Wasserstandssensor .......................................................................................................... 496
15.4 Bodenfeuchtigkeitssensor ............................................................................................... 497
15.5 Temperatursensoren ......................................................................................................... 502
15.6 Fotowiderstand ................................................................................................................... 509
15.7 Das Multi-Analogsensor-Board PCF8591 .................................................................... 511
15.8 Raspberry Pi Camera Board und PiNoIR ...................................................................... 514
15.9 Reed-Kontakt ....................................................................................................................... 527
15.10 Hardware Real Time Clock ............................................................................................... 528
15.11 IR-Empfänger ....................................................................................................................... 533
15.12 Leitfaden für fremde Sensoren ...................................................................................... 534
16 Erweiterungsboards ............................................................................................. 537
16.1 Das Gertboard ..................................................................................................................... 538
16.2 Der ATmega auf demGertboard ................................................................................... 553
16.3 Logic-Level-Converter ........................................................................................................ 558
16.4 RasPiComm .......................................................................................................................... 559
16.5 PiFace Digital 2 .................................................................................................................... 562
16.6 Quick2Wire Interface Board ............................................................................................ 568
16.7 Unterbrechungsfreie Stromversorgungmit der PiUSV+ ........................................ 572
16.8 GertDuino ............................................................................................................................. 575
16.9 Raspberrry-Pi-HATs ............................................................................................................ 580
16.10 Adafruit PWM/Servo-HAT ............................................................................................... 585
16.11 BrickPi .................................................................................................................................... 589
16.12 GrovePi .................................................................................................................................. 591
17 Displays ........................................................................................................................... 593
17.1 7-Segment-Anzeige ........................................................................................................... 593
17.2 16�2-LC-Display ................................................................................................................ 597
17.3 RaspiLCD ............................................................................................................................... 602
17.4 PiTFT – Der Touchscreen für den Raspberry Pi ........................................................... 609
17.5 Kfz-Rückfahrmonitore ...................................................................................................... 614
17.6 LS-7T – Der Plug&Play-Touchscreen ............................................................................. 618
17.7 Weitere Display-Boards .................................................................................................... 622
9
i
i
“buch” — 2015/7/22 — 11:07 — page 10 — #6i
i
i
i
i
i
Inhaltsverzeichnis
TEIL IV Programmierung
18 Python kennenlernen ......................................................................................... 627
18.1 Python ausprobieren ......................................................................................................... 628
18.2 Python-Konzepte interaktiv kennenlernen ................................................................ 630
18.3 Hello World! ......................................................................................................................... 640
19 Python-Grundlagen .............................................................................................. 647
19.1 Elementare Syntaxregeln ................................................................................................ 647
19.2 Variablen und Objekte ...................................................................................................... 653
19.3 Operatoren ........................................................................................................................... 663
19.4 Verzweigungen (if) ............................................................................................................. 666
19.5 Schleifen (for und while) .................................................................................................. 668
19.6 Zeichenketten ..................................................................................................................... 674
19.7 Listen ...................................................................................................................................... 680
19.8 Umgangmit Fehlern (Exceptions) ................................................................................. 683
19.9 Funktionen ........................................................................................................................... 689
19.10 Objektorientiertes Programmieren .............................................................................. 699
19.11 Systemfunktionen ............................................................................................................. 711
20 Programmierenmit Python ........................................................................... 715
20.1 Programmieren lernen ..................................................................................................... 715
20.2 GPIO-Zugriff ......................................................................................................................... 720
20.3 Reset/Shutdown-Taste ..................................................................................................... 726
20.4 Kamera .................................................................................................................................. 728
20.5 Dateien bei Dropbox hochladen .................................................................................... 732
20.6 E-Mails versenden .............................................................................................................. 735
20.7 Textdateien lesen und schreiben ................................................................................... 737
20.8 Grafikprogrammierung .................................................................................................... 742
20.9 Grafische Benutzeroberflächenmit tkinter ............................................................... 754
21 bash-Programmierung ....................................................................................... 769
21.1 Einführung ........................................................................................................................... 769
21.2 Variablen ............................................................................................................................... 773
10
i
i
“buch” — 2015/7/22 — 11:07 — page 11 — #7i
i
i
i
i
i
Inhaltsverzeichnis
21.3 Schleifen, Bedingungen und Funktionen .................................................................... 778
21.4 WiringPi ................................................................................................................................. 789
22 C-Programmierung ................................................................................................ 795
22.1 Hello World! ......................................................................................................................... 795
22.2 GPIOs steuern ...................................................................................................................... 799
23 Java-Programmierung ........................................................................................ 803
23.1 Erste Schritte ....................................................................................................................... 803
23.2 GPIO-Steuerungmit Java ................................................................................................. 806
24 PHP-Programmierung ........................................................................................ 811
24.1 Apache installieren und konfigurieren ........................................................................ 812
24.2 Webverzeichnisse einrichten und absichern ............................................................. 814
24.3 HTTPS ..................................................................................................................................... 820
24.4 PHP installieren und konfigurieren .............................................................................. 822
24.5 MySQL installieren und administrieren ....................................................................... 823
24.6 Hello World! in PHP ........................................................................................................... 828
24.7 GPIO-Programmierungmit PHP .................................................................................... 830
24.8 Kamerafunktionenmit PHP nutzen ............................................................................. 833
25 Mathematicaund dieWolfram Language ....................................... 837
25.1 Arbeitenmit Mathematica ............................................................................................. 838
25.2 Programmierenmit der Wolfram Language .............................................................. 844
25.3 Grafische Darstellung von Temperaturdaten ............................................................ 851
TEIL V Projekte
26 Der Raspberry Pi im Vogelhaus .................................................................. 857
26.1 Einbau des Raspberry Pi samt Kameramodul in ein Vogelhaus ........................... 857
26.2 Kamerapraxis ....................................................................................................................... 860
26.3 Bewegungserkennungmit motion ............................................................................... 864
26.4 Das Vogelhaus im praktischen Einsatz ........................................................................ 867
11
i
i
“buch” — 2015/7/22 — 11:07 — page 12 — #8i
i
i
i
i
i
Inhaltsverzeichnis
27 Zeitmessungmit Lichtschranken .............................................................. 871
27.1 Versuchsaufbau (Hardware) ........................................................................................... 871
27.2 Software ................................................................................................................................ 874
28 Das autonomeAuto ............................................................................................. 877
28.1 Hardware .............................................................................................................................. 877
28.2 Die Software ........................................................................................................................ 886
29 RFID-Türöffnermit Zutrittskontrolle ..................................................... 891
29.1 RFID-Hardware .................................................................................................................... 892
29.2 Software ................................................................................................................................ 895
29.3 Erweiterungsmöglichkeiten und Tipps ....................................................................... 901
30 Stromzähler auslesen ......................................................................................... 903
30.1 Stromzähler-Grundlagen ................................................................................................. 903
30.2 Einführung in RRDtool ...................................................................................................... 907
30.3 Zählerdaten speichern und zu Graphen aufbereiten .............................................. 912
31 Hausautomationmit Netzwerksteckdosen .................................... 915
31.1 Einführung ........................................................................................................................... 915
31.2 Programmierung ................................................................................................................ 917
32 Hausautomationmit 433-MHz-Funktechnologie ..................... 929
32.1 Hardware-Grundlagen ..................................................................................................... 929
32.2 Software und Steuerungsbeispiele .............................................................................. 932
33 Ort und Zeit per GPS empfangen ............................................................. 941
33.1 Haben Sie Zeit? Eine Uhr für den Raspberry Pi .......................................................... 941
33.2 Ortsbestimmungmit dem Raspberry Pi ..................................................................... 950
34 Der Raspberry Pi lernt twittern .................................................................. 955
34.1 Voraussetzungen ................................................................................................................ 955
34.2 Programmierung ................................................................................................................ 957
12
i
i
“buch” — 2015/7/22 — 11:07 — page 13 — #9i
i
i
i
i
i
Inhaltsverzeichnis
35 Monitoring ................................................................................................................... 963
35.1 Munin .................................................................................................................................... 963
35.2 SmokePing ............................................................................................................................ 968
36 Raspberry Pi-ratensender ................................................................................ 975
36.1 FM-Transmitter einrichten .............................................................................................. 975
37 WLAN-, IPv6- und Tor-Router ....................................................................... 977
37.1 Einführung ........................................................................................................................... 977
37.2 WLAN-Access-Point ........................................................................................................... 980
37.3 WLAN-Router ....................................................................................................................... 986
37.4 WLAN-Repeater .................................................................................................................. 994
37.5 IPv6-Router .......................................................................................................................... 998
37.6 Tor-Router ............................................................................................................................. 1005
38 AirPrint-Drucker selbst gemacht ............................................................... 1011
38.1 Voraussetzungen ................................................................................................................ 1011
38.2 AirPrint-Konfiguration ...................................................................................................... 1015
39 Automatische Präsentationssysteme ................................................... 1019
39.1 Einführung ........................................................................................................................... 1019
39.2 Werkzeugkasten ................................................................................................................. 1022
39.3 Autonome Bilder-Projektion ........................................................................................... 1026
39.4 Video-Player mit Menü ..................................................................................................... 1030
40 Luftraumüberwachung ..................................................................................... 1037
40.1 Technischer Hintergrund und Hardware ..................................................................... 1037
40.2 Software ................................................................................................................................ 1038
41 Die Servokamera ..................................................................................................... 1043
41.1 Die Hardware ....................................................................................................................... 1044
41.2 Die Python-Software ......................................................................................................... 1044
41.3 Die Streaming-Software ................................................................................................... 1046
41.4 Die Weboberfläche ............................................................................................................ 1048
41.5 Inbetriebnahme .................................................................................................................. 1049
13
i
i
“buch” — 2015/7/22 — 11:07 — page 14 — #10i
i
i
i
i
i
Inhaltsverzeichnis
42 PomodoPi ....................................................................................................................... 1051
42.1 Der Bodenfeuchtigkeitssensor ....................................................................................... 1051
42.2 Die Blumenampel .............................................................................................................. 1058
42.3 Die automatische Bewässerung .................................................................................... 1060
42.4 Photosynthese sichtbar machen ................................................................................... 1064
43 Wassermeldermit Handyalarm ................................................................. 1067
43.1 Hardware .............................................................................................................................. 1067
43.2 Pushbullet ............................................................................................................................ 1068
Index ................................................................................................................................................. 1073
14
i
i
“buch” — 2015/7/22 — 11:07 — page 1073 — #1069i
i
i
i
i
i
Index
Index
1-Wire .............................................................. 4871-Wire-Sensor
PHP ............................................................ 832Python ....................................................... 765
16x2 Display ................................................... 5971st-Stage-Bootloader .................................... 236230V-Verbraucher ......................................... 9152708-Chip-Familie ........................................ 2582709-Chip-Familie ........................................ 2582835-Chip ......................................................... 222836-Chip ......................................................... 22433MHz - Funktechnologie ......................... 9297805 (Linerarregler) ...................................... 3677zr .................................................................... 1178188eu-Kernelmodul ................................... 232
.htaccess-Datei .............................................. 820/boot-Verzeichnis ......................................... 236/boot/config.txt ............................................ 246/dev/vchiq-Datei ........................................... 833/etc/X11/xorg.conf ........................................ 252/etc/anacrontab ............................................ 187/etc/apt/sources.list ..................................... 215/etc/fstab ........................................................ 222
Netzwerkverzeichnisse ............................ 157/etc/group ...................................................... 203/etc/hostname .............................................. 233/etc/inittab .................................................... 240
serielle Konsole deaktivieren .................. 946/etc/lightdm/lightdm.conf ................. 207, 253/etc/login.defs ............................................... 213/etc/modules ................................................. 255/etc/motion/motion.conf ........................... 864/etc/network/interfaces .............................. 228
WLAN-Access-Point .................................. 982WLAN-Router ............................................ 988
/etc/ntp.conf ................................................. 942/etc/passwd ................................................... 201/etc/rc.local .................................................... 182/etc/resolv.conf ..................................... 126, 232/etc/samba/smb.conf ................................... 159/etc/shadow ................................................... 202/etc/sudoers .................................................. 206/etc/sysctl.conf .............................................. 990/etc/tor/torrc ............................................... 1008/lib/modules .................................................. 254/proc/cpuinfo ................................................ 249
A
AA-Batterien .................................................. 366aaline (pygame) ............................................ 745Abiword ............................................................ 74Abkürzungen (alias) ....................................... 91Abstürze ........................................................... 57Access Point .................................................. 980Access-Point .................................................. 977add_event_detect ......................................... 723add_event_callback ..................................... 724adduser .......................................................... 205ADS-B-System ............................................. 1037ADSL-Router .................................................. 166after (tkinter) ................................................. 762Agent (Plex) ................................................... 338AirPlay .................................................... 304, 306
Kodi ............................................................ 333Volumio ..................................................... 302
AirPrint ........................................................ 1011Akku-Stromversorgung ............................... 364alias ................................................................... 91Alias (Apache) ................................................ 816ALSA ................................................................ 285alsa-utils ......................................................... 976AM2302 .......................................................... 505amixer ............................................................ 287Anacron ......................................................... 186Analog-Audio
ALSA ........................................................... 285Audio-Player ............................................... 71einschalten ................................................ 287HiFiBerry ................................................... 299MPD ........................................................... 283
Analog/Digitalwandler ................................ 460Analogsensoren ............................................ 511Anonyme Funktionen (Python) ................. 697Anonymisierdienst (Tor) ........................... 1005Anschlüsse ....................................................... 24Anti-Aliasing (pygame) ................................ 745Apache ............................................................ 812Apple
AirPlay ...................................... 304, 306, 333AirPrint .................................................... 1011ApplePi-Baker ............................................. 42Fernbedienung .......................................... 324Image-Datei schreiben .............................. 42
1073
i
i
“buch” — 2015/7/22 — 11:07 — page 1074 — #1070i
i
i
i
i
i
Index
APT .................................................................. 214apt-cache ........................................................ 131apt-get ............................................................ 130Archive
tar .............................................................. 118zip .............................................................. 119
ArduinoGertboard .................................................. 553GrovePi ...................................................... 591IDE ............................................................. 556
arecord ........................................................... 976argv (Python) ................................................ 711arm_freq ........................................................ 193ARMv7-Architektur ...................................... 354Arrays (bash) ................................................. 776asound.state-Datei ....................................... 288Assoziative Arrays (bash) ............................ 776Assoziative Felder (Python) ........................ 639Attribute (Python) ........................................ 699Audio
Streams (Icecast) ...................................... 296Audio-Ausgang ................................................ 71Audio-Player
Kodi ............................................................ 332LXMusic ....................................................... 71MPD ........................................................... 283
Audiobus ........................................................ 486Ausgabeumleitung ......................................... 96Ausschalten ..................................................... 57Auto-Login ............................................ 207, 253Automones Auto .......................................... 877Autostart ............................................. 182, 1024autostart-Verzeichnis .................................. 183Avahi ............................................................. 1017avconv ............................................................ 863avrsetup ......................................................... 554
B
Backpower ..................................................... 370Backups .......................................................... 188
SD-Karte .................................................... 190bash
im Terminal ................................................. 94Programmierung ..................................... 769
Basiswiderstand ........................................... 402Batteriebetrieb .............................................. 366Bauteile (elektronische) ............................... 382BCM-Nummerierung ................................... 357BCM2708 ........................................................ 258BCM2709 ........................................................ 258BCM2835 .......................................................... 22
bcm2835-Bibliothek (C) ................................ 801BCM2836 .................................................. 22, 354Benutzer ........................................................ 200Bewegungserkennung ................................. 864Bewegungssensor ......................................... 489bg ....................................................................... 97Bilder anzeigen ..................................... 71, 1022Bildschirmdarstellung optimieren ............ 616Bildschirmprobleme .................................... 196Bildschirmschoner ................................. 63, 187bind (tkinter) ................................................. 760Bipolarer Schrittmotor ................................ 432Bitmap speicher (pygame) .......................... 747blacklist .......................................................... 255blit (pygame) ................................................. 746Bluetooth
manuelle Konfiguration .......................... 234OpenELEC .................................................. 314Plex ............................................................ 346Raspbian ..................................................... 78
Bodenfeuchtigkeitssensor .......................... 497boot-Verzeichnis .................................. 236, 258bootcode.bin ................................................. 237Bootloader ..................................................... 236Bootoptionen ................................................ 238Bootprozess ................................................... 236
config.txt ................................................... 249bouncetime ................................................... 724
alternative Lösung ................................. 1033Bourne Again Shell ......................................... 94Brace Expansion (bash) ............................... 778Brachistochrone ........................................... 871Breadboard .................................................... 390Breadboardadapter selber bauen ............... 394break (bash) ................................................... 786break (Python) .............................................. 668BrickPi ............................................................ 589Broadcast-Adresse ........................................ 226bunzip2 .......................................................... 117Bussysteme (Bussysteme) ........................... 451bzip2 ............................................................... 117
C
C (Programmiersprache) ............................. 795C-Berry ........................................................... 622call (Python) .................................................. 713Callback .......................................................... 409Callback-Funktion (Python) ........................ 724case (bash) ..................................................... 782cat ................................................................... 103cd .................................................................... 109
1074
i
i
“buch” — 2015/7/22 — 11:07 — page 1075 — #1071i
i
i
i
i
i
Index
CEC-Fernbedienung ..................................... 321Chassis ........................................................... 877check_output ................................................ 713chgrp .............................................................. 212Chicken (VNC) ............................................... 147chmod ............................................................ 642chown ............................................................. 212chvt-Kommando .......................................... 188CIFS ................................................................. 291circle (pygame) .............................................. 745Class-4/6/10 (SD-Karten) ............................... 28cleanup (Python) .......................................... 722Clock-Signal ................................................... 975cmdline.txt .................................................... 238
serielle Konsole deaktivieren .................. 945Cobbler .................................................. 362, 396collabora-Paketquelle .................................. 216config.piusv-Datei ........................................ 574config.txt ....................................................... 237
Beschreibung der Optionen .................... 246Device Trees .............................................. 258Display-Optionen ..................................... 197OpenELEC .................................................. 317Overclocking ............................................. 193RasPlex ...................................................... 345sicher ändern ............................................ 197
console (Kerneloption) ................................ 238continue (bash) ............................................. 786continue (Python) ........................................ 668convert ......................................................... 1022convert (imagemagick) ................................ 953Cover-Art (MPD) ........................................... 294cp ..................................................................... 114CPU-ID ............................................................ 249cpuinfo-Datei ................................................ 249Cron ................................................................ 184
Temperatur protokollieren ..................... 852CSV-Dateien (Python) .................................. 739CUPS ................................................................. 80
AirPrint .................................................... 1011curl .................................................................. 128
D
DAC für Audio-Signale ................................. 299Dämonen ....................................................... 124Darlington-Transistor .................................. 403Dateien
auflisten .................................................... 111komprimieren ........................................... 117kopieren .................................................... 114löschen ...................................................... 114
mit Python verarbeiten ........................... 737suchen ....................................................... 113
Dateimanager ................................................. 64mit root-Rechten ...................................... 101
Dateisystem ................................................... 217DateListPlot (Mathematica) ........................ 853Datentypen (Python) ................................... 657Datum ............................................................ 941Deadline-Scheduler ...................................... 239Debian .............................................................. 51decode_MPG2 ....................................... 248, 318decode_WVC1 ....................................... 248, 318Decoder .......................................................... 248
MPEG-2, VC-1 ............................................. 317Defaulteditor ................................................. 106Dekorator (Python) ...................................... 702Desktop ............................................................ 58desktop-Datei .............................................. 1024dev-Verzeichnis ............................................ 218Device-Dateien ............................................. 218Device-Trees .................................................. 257device_tree-Parameter ................................ 258DeviceOpen (Wolfram) ................................ 850DeviceRead (Wolfram) ......................... 848, 850DeviceWrite (Wolfram) ................................ 848DHCP ...................................................... 225, 991
udhcpd ....................................................... 991DHT22 ............................................................. 505Dia-Show ..................................................... 1019Dictionaries (Python) .................................. 639
Schleifen .................................................... 671zip .............................................................. 683
Digital-/Analogwandler ............................... 465DAC für Audio-Signale ............................. 299
Digitales Potentiometer .............................. 454dimmen (LEDS) ............................................. 410Diode .............................................................. 382Directory (Apache) ....................................... 815disable_camera_led ..................................... 249dism.exe ......................................................... 270DisplayManager ........................................... 251Displays .......................................................... 593
C-Berry ....................................................... 622DSI-Display ............................................... 624HDMIPi-Display ....................................... 623Kfz-Rückfahrmonitor ............................... 614PiTFT .......................................................... 609Probleme ................................................... 196RaspiLCD ................................................... 602RCA-Monitor ............................................. 614RPi-Display ................................................ 623SainSmart-TFT-Display ........................... 623
1075
i
i
“buch” — 2015/7/22 — 11:07 — page 1076 — #1072i
i
i
i
i
i
Index
Touchscreen .............................................. 618Zeilendisplay ............................................. 597
Distribution ..................................................... 32DLNA
Audio-Dateien (MPD) .............................. 304Video-Dateien (Kodi) ............................... 329
dmrc-Datei .................................................... 252DNS ................................................................. 170DocumentRoot-Verzeichnis ....................... 813dpkg ................................................................ 132DPMS ................................................................ 63Dropbox (Python) ........................................ 732Drucker ............................................................ 80
AirPrint .................................................... 1011Geschwindigkeit erhöhen ..................... 1014
DS1307 ............................................................ 528DS1820 ............................................................ 502
Temperaturkurve (pygame) .................... 751Temperaturkurve (Wolfram Language) 851
DS18B20 ......................................................... 505DSI-Anschluss ............................................... 624DTB-Dateien .................................................. 258dtoverlay ........................................................ 258dtparam ......................................................... 258du .................................................................... 110Dump1090 .................................................. 1038Durchgangsprüfung .................................... 389Duty Cycle ..................................................... 410DVB-T-Empfänger ....................................... 1037Dynamisches DNS ........................................ 170
E
E-Mail versenden (Python) ......................... 735Edimax-WLAN-Adapter ............................... 985Editor
Defaulteditor einstellen ........................... 106mit root-rechten ....................................... 101
Editoren ................................................... 66, 105EEPROM ......................................................... 581Ein-/Ausschalten ............................................. 57Eingabe (Python) .......................................... 650Eingabeumleitung .......................................... 96Einschaltprozess (Bootvorgang) ................ 236Elektromotor ................................................. 418Elektronik-Grundkurs ................................. 375elevator (Kerneloption) ............................... 239elif (Python) .................................................. 666else (Python) ................................................. 666Entprellen von Tastern ..................... 723, 1033
EntwicklungsumgebungArduino ..................................................... 556Java ............................................................ 804Python ....................................................... 629
Epiphany .......................................................... 68eq-Methode (Python) ................................... 707Ereignisse (tkinter) ....................................... 760Error
bash ........................................................... 787Python ....................................................... 683
Erweiterungsboards ..................................... 537ESD .................................................................. 363event_detected ............................................. 723Events ............................................................. 409EW-7811UN (Edimax-WLAN-Adapter) ........ 985Exceptions (Python) .................................... 683exec (PHP) ...................................................... 831exit
bash ........................................................... 788Python ....................................................... 712
export (bash) ................................................. 775Export (Mathematica) ................................. 843ext4-Dateisystem ......................................... 217Extended Sequence Unpacking ................. 666
F
fbi .................................................................... 520fdisk .................................................................. 47Fehler
bash ........................................................... 787Python ....................................................... 683
Felder (bash) .................................................. 776Fernbedienung (Kodi) .................................. 321feste Links ...................................................... 115ffmpeg ............................................................ 976FFU-Datei ....................................................... 270file (Python) .................................................. 738file_get_contents (PHP) .............................. 832filter (Python) ............................................... 682find ................................................................. 113Firefox .............................................................. 69Firmware ........................................................ 237
Update ....................................................... 134Flugsicherung ............................................. 1037FM-Transmitter ............................................. 975
Mikrofon ................................................... 976pifm ........................................................... 976
Fonts vonMicrosoft ....................................... 70for (bash) ........................................................ 783for (Python) ................................................... 668force_turbo ................................................... 194
1076
i
i
“buch” — 2015/7/22 — 11:07 — page 1077 — #1073i
i
i
i
i
i
Index
format (Zeichenketten) ............................... 676Formatierung ................................................ 223Forwarding
IP-Forwarding .......................................... 990IPv6-Forwarding .................................... 1003Port Forwarding ....................................... 172
Fotosanzeigen .................................................. 1022aufnehmenmit Python ........................... 728bei Dropbox hochladen ........................... 734per Mail versenden .................................. 736
Fototransistor ............................................... 871Fotowiderstand ............................................. 509Freigaben (Netzwerkverzeichnisse) 153, 159
Freischaltung I2C-Bus .................................. 472Fremde Sensoren (Sensoren) ...................... 534fstab-Datei ..................................................... 222FTP .......................................................... 127, 179
Kamera-Upload ........................................ 523Verzeichnis synchronisieren ................. 1027
Full Flash Update .......................................... 270function (bash) ............................................. 786Funksendemodul ......................................... 930Funksteckdosen ............................................ 931Funktionales Programmieren
Python ....................................................... 698Wolfram Language .................................. 846
Funktionen (Python) ................................... 689future (Python) ............................................. 742
G
Garbace Collection (Python) ....................... 661Gateway .......................................................... 227gcc ................................................................... 795Geany ............................................................. 804Gedit ................................................................. 67Gehäuse ................................................... 29, 371Geografische Breite/Länge ......................... 950Gertboard ...................................................... 538
A/D-Wandler ............................................. 549Arduino IDE .............................................. 556ATmega ..................................................... 553D/A-Wandler ............................................. 551digitale Ein-/Ausgänge ............................ 543Inbetriebnahme ....................................... 539Motortreiber ............................................. 545Open-Collector-Treiber ............................ 545Spezifikationen ......................................... 538Taster ......................................................... 540
Geschwindigkeitsmessung ......................... 871Getter-Methoden (Python) ......................... 705
GhostScript ................................................. 1014globale Variablen (Python) ......................... 692Gnumeric ......................................................... 74gogoc-Installation ........................................ 176gpicview ........................................................... 71GPIO ............................................................... 353
bash ........................................................... 789C ................................................................. 799Cmit bcm2835-Bibliothek ....................... 801Cmit WiringPi .......................................... 799Java ............................................................ 806Nummerierungssysteme ......................... 357PHP ............................................................ 830Pinbelegung .............................................. 356Python ....................................................... 720Wolfram Language .................................. 848
gpio-Kommando .......................................... 790GpioController .............................................. 806GpioPinDigitalInput .................................... 809GpioPinDigitalOutput ................................. 806GpioPinPwmOutput .................................... 808GpioSetStateTrigger ..................................... 809GPS .................................................................. 941
Modul ........................................................ 944Ortsbestimmung ...................................... 950Shield ......................................................... 944
gpsd ................................................................ 946GPT-Partitionen ............................................ 223GPU-Firmware .............................................. 237gpu_freq ........................................................ 193gpu_mem ...................................................... 250Grafikprogrammierung (Python) .............. 742Grafiksystem ................................................. 251
Autostart ................................................... 252HDMI ......................................................... 247
Grafiktreiber ................................................. 253Grafische Benutzeroberflächen ................. 754grep ................................................................. 104
mit find kombiniert ................................. 114grid (tkinter) .................................................. 758GrovePi ........................................................... 591Gruppen ......................................................... 200gunzip ............................................................ 117gzip ................................................................. 117
H
H-Brücke ........................................................ 421halt-Kommando ................................... 243, 726Hard-Reset ..................................................... 726Hardware-Decoder ....................................... 248Hardware-PWM ............................................ 412
1077
i
i
“buch” — 2015/7/22 — 11:07 — page 1078 — #1074i
i
i
i
i
i
Index
HATs ............................................................... 580Device-Trees .............................................. 257EEPROM .................................................... 581Prototyping ............................................... 580
Hausautomation .......................................... 929HCSR04 .......................................................... 493HDMI-Einstellungen .................................... 247HDMIPi .......................................................... 623HelloWorld
bash ........................................................... 769C ................................................................. 795Java ............................................................ 803PHP ............................................................ 828pygame ...................................................... 743Python ....................................................... 640tkinter ........................................................ 754Windows IoT/C Sharp .............................. 275Wolfram Language .................................. 844
HiFiBerry ....................................................... 299Hintergrundprozesse ..................................... 97hostapd .......................................................... 983Hostname ...................................................... 226
ändern in /etc/hostname ........................ 233ändern mit raspi-config ............................ 55
HP-Toolbox ................................................. 1013hplip-gui ...................................................... 1013httpd.conf-Datei ........................................... 813HTTPing ......................................................... 926HTTPS ............................................................. 820
I
I2C ........................................................... 360, 471Bus 0 .......................................................... 473in Python ................................................... 478
i2c-tools .......................................................... 474i2cdetect ......................................................... 474i2cget .............................................................. 477i2cset .............................................................. 476I2S .................................................................... 486
DAC ............................................................ 299IC ..................................................................... 405Icecast ............................................................ 296Icedove ............................................................. 69Iceweasel .......................................................... 69Icons (LXDE) .................................................... 59IDE
Arduino ..................................................... 556Java ............................................................ 804Python ....................................................... 629
IDLE (Python) ....................................... 629, 644
if (bash) .......................................................... 779if (Python) ...................................................... 666ifdown ............................................................ 230ifup ................................................................. 230Image-Datei ..................................................... 40
Apple/OS X .................................................. 42Linux ............................................................ 44Windows ...................................................... 41
imagemagick ...................................... 953, 1022Immutable Types (Python) ......................... 655import (Python) ............................................ 651info .................................................................... 88Infrarotemfänger ......................................... 533Infrarotscheinwerfer ................................... 525init-Kommando ............................................ 243Init-System .................................................... 240init.m (Mathematica) ................................... 844init_uart_baud ............................................. 249init_uart_clock ............................................. 249inittab-Datei .................................................. 240
serielle Konsole deaktivieren .................. 946input (Python) ...................................... 650, 722insserv ................................................... 125, 244Installation
auf einen USB-Stick .................................... 45Image-Datei ................................................ 40NOOBS ......................................................... 33
Instanzen (Python) ...................................... 699Intelligente Schrittmotortreiber ................ 438interfaces ....................................................... 228interfaces-Datei
WLAN-Access-Point .................................. 982WLAN-Router ............................................ 988
Internet-Freigabe ......................................... 986Internet-Radio
Kodi ............................................................ 333Volumio ..................................................... 302
Internetzugriff .............................................. 166IP-Adresse ...................................................... 225
ermitteln ................................................... 125IP-Forwarding
IPv4 ............................................................ 990IPv6 .......................................................... 1003
ip-Kommando .............................................. 125iptables ........................................................... 990IPv6 ................................................................. 176
aktivieren .................................................. 176Router ........................................................ 998Tunnel einrichten ..................................... 176
IR-Fernbedienung ........................................ 323items (Python) .............................................. 671Iterator (Python) ........................................... 681
1078
i
i
“buch” — 2015/7/22 — 11:07 — page 1079 — #1075i
i
i
i
i
i
Index
J
J8-Header ................................................. 25, 356Java .................................................................. 803Jessie ................................................................. 51jmacs (Editor) ................................................ 108Jokerzeichen .................................................... 95JTAG ................................................................ 360Jumperwire .................................................... 362
K
Kamerabash ........................................................... 769ISO-Einstellung ......................................... 862LED deaktivieren ...................................... 860PHP ............................................................ 833Python ....................................................... 728Ubuntu ...................................................... 267Wolfram Language .................................. 849
Kanal (Plex) ................................................... 338Kernel ............................................................. 254
Bootoptionen ........................................... 238Mathematica ............................................ 844Parameter ................................................. 238Update ....................................................... 134
kernel.img-Datei .................................. 134, 239kernel7.img-Datei ......................................... 239Key/Value-Paar (Python) ............................. 671KeyboardInterrupt (Python) ....................... 688kill ................................................................... 123killall ............................................................... 123Klassen (Python) .......................................... 699Kodi ........................................................ 309, 326Kombinierte Schaltung ............................... 379Kommandos
ausführen (bash-Scripts) ......................... 771automatisch ausführen ................ 182, 1024im Hintergrund ausführen ........................ 97mehrere Kommandos ausführen ............. 97mit root-Rechten ausführen ................... 100regelmäßig ausführen ............................. 184verknüpfen .................................................. 98
Kommandosubstitution ............................... 98Komponentenübersicht .............................. 353Kondensator .................................................. 384Konsole ............................................................. 91Konstruktor ................................................... 702Kontext-Manager (Python) ......................... 687
L
L298 ................................................................ 423Löten .............................................................. 392
Lambda-Funktion (Python) ................ 681, 697LC-Display ..................................... 597, 602, 609
le-Methode (Python) .................................... 707Leafpad ............................................................. 66LeafPad (Editor) ............................................ 641
LED ......................................................... 382, 399auf dem Raspberry Pi ............................... 197
dimmen ..................................................... 410less .................................................................. 103Leuchtdioden ........................................ 382, 399
auf dem Raspberry Pi ............................... 197lftp ........................................................ 127, 1027
LibreOffice ....................................................... 74librtlsdr-Fehlermeldung ........................... 1039Lichtschranke ................................................ 871
lightdm .......................................................... 251lightdm.conf ......................................... 207, 253
line (pygame) ................................................ 745Line Follower ................................................. 878Linearregler 7805 .......................................... 367
Liniensensor ................................................. 878Link Power Management ............................ 238
Links ............................................................... 115lirc_rpi-Modul ............................................... 326lircd.conf ........................................................ 323
List Comprehension (Python) .................... 670listdir (Python) .............................................. 673
Listen (Python) ..................................... 635, 680Livestream ..................................................... 523LM2596S-Schaltregler .................................. 368
Lochrasterplatine ......................................... 391Logger ............................................................ 920
Logic-Analyzer .............................................. 446Lokale Variablen (Python) ........................... 691Loopback-Schnittstelle ................................ 226
lp-Kommando ............................................ 1013LPM ................................................................. 238
ls ...................................................................... 111Farben .......................................................... 93
LS-7T ............................................................... 618
lsmod ............................................................. 254lt-Methode (Python) .................................... 707Luftdruck ....................................................... 508
Luftfeuchtigkeitssensor .............................. 505Luftraumüberwachung ............................. 1037
LXDE ................................................................. 58lxde-rc.xml ...................................................... 61
1079
i
i
“buch” — 2015/7/22 — 11:07 — page 1080 — #1076i
i
i
i
i
i
Index
LXMusic ........................................................... 71LXTerminal ................................................ 65, 83
Farben .......................................................... 92lzop ................................................................. 117
M
MAC-Adresse ................................................. 226Magnetschalter ............................................. 527mainloop (tkinter) ........................................ 760make ............................................................... 796man ................................................................... 88map (Python) ................................................ 680Map (Wolfram) .............................................. 853mapfile (bash) ............................................... 776Mathematica ................................................. 837Maus ................................................................. 29
Plex ............................................................ 337max_usb_current ........................................ 250MBR-Partitionen .......................................... 223MCP23017 ...................................................... 473MCP3008 ....................................................... 460
Bodenfeuchtigkeitssensor ....................... 497Wassersensor ............................................ 496
MCP4132 ......................................................... 454MCP4811 ......................................................... 465Mengen (Python) ......................................... 638Methoden (Python) ............................. 699, 701Microsoft-Fonts .............................................. 70MIMEText (Python) ...................................... 735Mini-TFT ......................................................... 623Minicom ........................................................ 483Miracast ......................................................... 333mirror (lftp-Kommando) .......................... 1028mkdir .............................................................. 110mkfs ................................................................ 223mmcblk-Devices ........................................... 218mode2 ............................................................ 326Modell 2 (Raspberry Pi)
kein Backpowering ................................. 370Modell B (Raspberry Pi)
Kfz-Rückfahrmonitor ............................... 614Stacking Header ....................................... 538Status-LEDs ............................................... 198
modinfo ......................................................... 255modprobe ...................................................... 255Module (Kernel) ............................................ 254
explizit laden ............................................ 255nicht automatisch laden ......................... 255
Module (Python) .......................................... 651modules ......................................................... 255mogrify ........................................................ 1022
MonitorBildschirmschoner ............................. 63, 187ein/aus schalten ....................................... 188Probleme ................................................... 196
Monitoring .................................................... 963Munin ........................................................ 963SmokePing ................................................ 968Visualisierung ........................................... 967
Mopidy ........................................................... 306motion ........................................................... 864motion.conf .................................................. 864Motordrehzahl .............................................. 429Motortreiber ................................................. 423mount ............................................................ 220
NAS-Verzeichnis ....................................... 153MP3-Dateien
lxmusic ........................................................ 71MPD ........................................................... 283mpg321 .................................................... 1023
MPDroid ........................................................ 288MPEG-2-Decodierer ...................................... 317Multimedia-Center
MPD ........................................................... 283OpenELEC .................................................. 309Plex ............................................................ 335
Multimeter .................................................... 387Munin ............................................................ 963Music Player Daemon (MPD) ...................... 284MusicBox ....................................................... 306Mutable Types (Python) .............................. 655mv ................................................................... 114my.conf-Datei ................................................ 824MySQL .................................................... 823, 895
Backup ....................................................... 826Datenbank einrichten ............................. 826in Python ................................................... 897
mysql-Kommando ....................................... 825mysqldump-Kommando ............................ 826
N
Nachtsichtgerät ............................................ 525Namensraum (Python) ................................ 704Nameserver ................................................... 227
dynamisches DSN .................................... 170Konfiguration ........................................... 232
nano ............................................................... 106NAS-Gerät ...................................................... 291
Audio-Dateien (MPD) .............................. 304Video-Dateien (Kodi) ............................... 329
NAT (Network Address Translation) .......... 989Neighbor Discovery Protocol ..................... 999
1080
i
i
“buch” — 2015/7/22 — 11:07 — page 1081 — #1077i
i
i
i
i
i
Index
Netzteil ..................................................... 26, 195Netzwerk
dynamisches DNS .................................... 170Glossar ...................................................... 225Internetzugriff auf den Raspberry Pi ..... 166IPv6 ............................................................ 176Konfiguration ........................................... 225manuelle WLAN-Konfiguration ............. 230Netzwerkverzeichnisse freigeben ........... 159Netzwerkverzeichnisse nutzen ............... 153Router ........................................................ 977Samba ....................................................... 159Schnittstellen ............................................ 226SSH ............................................................. 137VNC ............................................................ 145WLAN ........................................................... 76WLAN-Router ............................................ 977
Netzwerkbrücke ............................................ 980Netzwerkkommandos ................................. 125Netzwerkmaske ............................................ 226Netzwerkstatus ............................................. 125Netzwerksteckdosen .................................... 915
Alternative 433-MHz-technik .................. 916Schalten per bash-Script .......................... 927Visualisierung ........................................... 920Web-Steuerung ......................................... 920
Netzwerkverzeichnis ................................... 291Neustart-Button ........................................... 726New-Style-Klassen (Python) ....................... 701Newsfeed abstellen (Kodi) ........................... 320nice ................................................................. 123NoIP ................................................................ 170NOOBS .............................................................. 36Notebook-Oberfläche (Mathematica) ....... 838Notfall ............................................................ 195NPN Transistor ............................................. 385NTP ......................................................... 528, 941ntp.conf .......................................................... 942ntpq ................................................................ 943
O
OBIS-Kennzahlen ......................................... 906Objekte (Python) .......................................... 653Objektorientiertes Programmieren
(Python) .................................................. 699Office-Software ............................................... 74Ohmsches Gesetz ......................................... 375Oktalcode (Zugriffsbits) ............................... 211Old-Style-Klassen (Python) ......................... 701omxplayer ............................................. 73, 1023omxplayer (Sensoren) ................................. 521
open (Python) ............................................... 737Openbox .................................................. 61, 251
Autostart ................................................... 184OpenELEC ...................................................... 309OpenJDK ........................................................ 803Operator-Overloading (Python) ................. 706Operatoren (Python) .................................... 663Optionale Parameter (Python) ................... 694Optokoppler .................................................. 417Oracle (Java) ................................................... 803Order (Wolfram) ........................................... 853OS X
Image-Datei schreiben .............................. 42VNC ............................................................ 147
OSMC .............................................................. 309output (Python) ............................................ 722over_voltage ................................................. 193over_voltage_sdram .................................... 193Overclocking ................................................. 248
OpenELEC .................................................. 319Raspbian ................................................... 192
Overlays (Device Trees) ............................... 258Overloading (Python) .................................. 706
P
P1-Header ......................................................... 25P2-Header ...................................................... 360P3-Header ...................................................... 360P5-Header ...................................................... 360P6-Header ............................................. 360, 726p7zip ............................................................... 117pack (tkinter) ................................................. 757Pakete
aktualisieren ............................................. 133installieren ................................................ 130suchen ....................................................... 131
Paketverwaltung ........................................... 214Panel (LXDE) .................................................... 59Parallelschaltung .......................................... 379Parametersubstitution (bash) .................... 776parted ............................................................. 223Partitionierung ............................................. 223pass (Python) ................................................ 685passwd
Datei .......................................................... 201Kommando ............................................... 206
Passwortschutz (Apache) ............................ 818Passwortschutz (Samba) ............................. 162path (Python) ................................................ 712PATH-Variable ....................................... 100, 771PCF8591 ......................................................... 511
1081
�
�
“buch” — 2015/8/6 — 13:39 — page 1082 — #1078
�
�
�
�
�
�
Index
PDF-Dateien anzeigen ................................... 71
Photovoltaik-Wechselrichter ...................... 917
PHP ......................................................... 811, 822
HelloWorld ............................................... 828
php.ini-Datei ................................................. 822
phpinfo-Funktion ......................................... 822
phpMyAdmin ................................................ 827
Phtovoltaik .................................................... 917
Pi MusicBox .................................................. 306
Pi Presents ................................................... 1021
Pi-Baker ............................................................ 42
Pi4J .................................................................. 806
picamera (Python) ............................... 518, 728
Pidora ............................................................... 32
PiFace ............................................................. 562
Emulator ................................................... 564
Jumper ....................................................... 567
Python Bibliothek .................................... 565
Rack ........................................................... 567
Spezifikationen ......................................... 563
pifm ................................................................ 976
pigpio ............................................................. 874
Pin-Nummerierung ..................................... 357
Pinbelegung J8-Header ................................ 356
ping ................................................................. 126
Ping ................................................................. 934
PiNoIR .................................................... 514, 524
pip (Python-Paketverwaltung) ................... 732
Pipe-Operator ................................................. 98
PIR ................................................................... 489
PiTFT ............................................................... 609
PiUSV+ ............................................................ 572
Software .................................................... 573
Plex ................................................................. 335
Home Theater ........................................... 337
Server ......................................................... 338
Plot, Plot3D (Mathematica) ......................... 841
PNP Transistor .............................................. 385
Poly Fuse ........................................................ 364
polygon (pygame) ........................................ 745
Port (TCP/IP) .................................................. 225
Port Forwarding ............................................ 172
Porterweiterung ........................................... 473
ports.conf-Datei ................................... 175, 813
Powerbank ..................................................... 364
PowerShell ..................................................... 272
PPS-Signal ...................................................... 948
pqiv ............................................................... 1022
Präsentationssysteme ............................... 1019
print (Python) ............................................... 649
printenv (bash) ............................................ 775
Programme ................................................... 119
automatisch ausführen ................ 182, 1024
installieren ................................................ 130
regelmäßig ausführen ............................. 184
Prompt ............................................................. 92
property-Dekorator (Python) ..................... 705
protocol (tkinter) .......................................... 761
Prototyping-HATs ........................................ 580
Prozesse ......................................................... 119
abbrechen ................................................. 123
ps ..................................................................... 120
PS1 ..................................................................... 92
pscp.exe ......................................................... 143
pstree .............................................................. 122
Pulse Width Modulation (PWM) ........ 724, 792
PulseAudio .................................................... 293
Pushbullet ................................................... 1068
PuTTY ............................................................. 138
PWM ............................................................... 410
gpio-Kommando ...................................... 792
Java ............................................................ 808
Python ....................................................... 724
tkinter-Beispiel ......................................... 763
pygame .......................................................... 742
selbst kompilieren .................................... 742
PyMyQSL ....................................................... 896
pyserial .................................................. 484, 951
Python ............................................................ 627
Grundlagen ............................................... 647
interaktiv ausprobieren .......................... 628
Syntax ........................................................ 647
Tastatureingabe simulieren ................. 1032
python_uinput ........................................... 1032
Q
Quick2Wire Interface Board ....................... 568
Quick2Wire-Port-Expander-Board ............. 571
R
Radio .............................................................. 333
Radiosender .................................................. 975
radvd ............................................................ 1003
raise (Python) ................................................ 688
Ralink RT5370-Chipset ................................. 978
RAM .................................................................. 22
Aufteilung GPU/CPU ................................ 250
range (Python) .............................................. 669
Raspberry Pi .................................................... 21
1082
i
i
“buch” — 2015/7/22 — 11:07 — page 1083 — #1079i
i
i
i
i
i
Index
Raspbian .......................................................... 51Raspbmc ........................................................ 309Raspi Cam .............................................. 514, 521
Python ....................................................... 518Ubuntu ...................................................... 267
raspi-config ..................................................... 52raspi-Paketquelle .......................................... 216RaspiComm ................................................... 559RaspiLCD ........................................................ 602raspistill ................................................. 517, 861
Ubuntu ...................................................... 267raspivid .................................................. 517, 863
Ubuntu ...................................................... 267RasPlex ........................................................... 341RaspyFi ........................................................... 302Raw-Drucker ................................................ 1014raw-Zeichenketten (Python) ....................... 676rc.local-Datei ................................................. 182rc.xml ............................................................... 61RCA-Monitor ................................................. 614rcswitch-pi ..................................................... 932read (bash) ..................................................... 774readline (Python) ......................................... 738Real Time Clock ............................................ 528Realtek-8188EU-Chipsatz ............................. 231reboot-Kommando .............................. 243, 726Rechteck-Klasse (Python) ............................ 707rect (pygame) ................................................ 745reduce (Python) ............................................ 682Reed Kontakt ................................................. 527Reguläre Ausdrücke (Python) ..................... 678Reihenschaltung .......................................... 378Relais ...................................................... 386, 446Relaistypen .................................................... 446remmina (VNC) ............................................. 148render (pygame) ........................................... 746renice .............................................................. 123Repeater ................................................. 978, 994Repositories .................................................. 215repr-Methode (Python) ............................... 707Reset-Button ................................................. 726resolv.conf ..................................................... 232RFID ................................................................ 891
Reader und Transponder ........................ 892Technologie .............................................. 892
RGB LED ......................................................... 413RISC OS ............................................................. 32rm ........................................................... 110, 115rmdir .............................................................. 110root (Administrator) .................................... 100root-Kerneloption ........................................ 238rootwait-Kerneloption ................................ 239Round-Robin-Datenbank ............................ 917
Router ............................................ 166, 977, 986Tor ............................................................ 1005
Router Advertisement ............................... 1003RPi Cam LED deaktivieren (Sensoren) ...... 525RPi-Display .................................................... 623RPi.GPIO-Modul ............................................ 720
Ubuntu ...................................................... 266RPi1/RPi2 .......................................................... 22rpi_gpio_ntp ................................................. 948RPI_INFO ....................................................... 725RPI_REVISION ............................................... 725RRD-Datei ...................................................... 917RRDtool
Grundlagen ............................................... 907Hausautomation ..................................... 920Stromzähler .............................................. 912Temperaturmessung ............................... 909
RS232 .............................................................. 480RS485 .............................................................. 480RSS-Newsfeed abstellen (Kodi) ................... 320rsync ............................................................... 189RT5370-Chipset ............................................. 978RTL-SDR ....................................................... 1038RTL2832U-DVB-T-Chip ............................... 1037RTL8188EU-Chipsatz .................................... 231Rückfahrmonitor .......................................... 614Run-Header ................................................... 726Runlevel ......................................................... 240
S
Samba .................................................... 159, 317save (pygame) ................................................ 747scaling-cur-freq-Datei .................................. 193Scanner (Plex) ............................................... 338Schaltregler ................................................... 368Schlüssel/Wert-Paar (Python) .................... 671Schleifen (Python) ........................................ 668Schrittmotor ................................................. 431scp ................................................................... 143Scratch ........................................................ 53, 74Screenshots
Kodi ............................................................ 320Raspbian ..................................................... 75RasPlex ...................................................... 347
Scripts ............................................................ 643scrot (Screenshots) ......................................... 75SD-Karte ........................................................... 27
Backup ....................................................... 190beschreiben ........................................... 33, 40formatieren ................................................. 34Probleme ................................................... 196
1083
i
i
“buch” — 2015/7/22 — 11:07 — page 1084 — #1080i
i
i
i
i
i
Index
unter Linux schreiben ................................ 44unter OS X schreiben .................................. 42unterWindows schreiben .......................... 41
sda- und sdb-Devices ................................... 219SDHC/SDXC ..................................................... 27SDR ............................................................... 1038sdram_freq .................................................... 193Seeedstudio ................................................... 591Select (Wolfram) ........................................... 853Sensorboard ................................................ 1082Sensoren ........................................................ 489Serielle Schnittstelle .................................... 480
Wolfram Language .................................. 850service .................................................... 124, 243Servomotoren ............................................... 441Set Comprehension (Python) ..................... 670set_caption (pygame) .................................. 743set_mode (pygame) ..................................... 743Setgid-Bit ....................................................... 210setmode (Python) ......................................... 721Sets (Python) ................................................. 638setter-Dekorator (Python) ........................... 705Setter-Methoden (Python) .......................... 705Setuid-Bit ....................................................... 210setup (Python) .............................................. 721shadow ........................................................... 202Shared References (Python) ....................... 662shell_exec (PHP) ........................................... 831shutdown ...................................................... 243Sicherung (Micro-USB) ................................ 364Signale (bash) ................................................ 788Simplify (Mathematica) .............................. 840SixXs (IPv6-Tunnel) ................................... 1001Skin (Kodi) ..................................................... 320sleep (Python) ............................................... 714Slicing (Python) ............................................ 634Slide-Show ................................................... 1019Smart Message Language ........................... 906Smart Meter .................................................. 903Smartphone
als Kodi-Fernbedienung .......................... 322als MPD-Fernbedienung .......................... 288
SMB-Verzeichnis ........................................... 291smb.conf ........................................................ 159smbpasswd .................................................... 162smbus ............................................................. 478
in Python 3 ................................................ 478SMD-Bauteile ................................................ 422SmokePing .................................................... 968
EchoPingHttp ........................................... 973SMTP (Python) .............................................. 735Snakeoil-Zertifikate (Apache) ..................... 821SoC BCM2836 ................................................ 354
Soft-Reset ....................................................... 726Software Defined Radio ............................ 1038Software PWM .............................................. 410Solve (Mathematica) .................................... 840Sonic Pi ............................................................. 74source (bash) ................................................. 772sources.list ..................................................... 215Spannung ...................................................... 375Spannungsmessung .................................... 388Spannungsregler .......................................... 367Spannungsteiler ........................................... 381speaker-test ................................................... 288Speicher ........................................................... 22
Aufteilung GPU/CPU ................................ 250SPI ................................................................... 451
Bauteile ..................................................... 470Daten lesen ............................................... 459Daten senden ............................................ 456einrichten per raspi-config ...................... 452manuell einrichten ................................... 453Python ....................................................... 453
spidev ............................................................. 453Spotify ............................................................ 333
MusicBox .................................................. 306Volumio ..................................................... 304
Spule ............................................................... 384SSH .................................................................. 137
Dateien kopieren ...................................... 143OpenELEC .................................................. 315RasPlex ...................................................... 345Schlüssel statt Passwörter .............. 140, 316Tunnel für VNC ......................................... 151Ubuntu ...................................................... 265
ssh-copy-id ............................................ 141, 316ssh-keygen ............................................ 140, 316SSID ................................................................ 984SSL-Zertifikate (Apache) .............................. 821Stacking-Header ........................................... 538Standardausgabe ............................................ 96Standardeditor einstellen ........................... 207Standardeingabe ............................................. 96start.elf ........................................................... 237start.elf-Datei ................................................ 134start_recording (Python) ............................ 730start_x ............................................................ 249startx .............................................................. 253stat .................................................................. 212staticmethod-Dekorator (Python) ............. 702Statische Methoden (Python) ..................... 701Statische Netzwerkkonfiguration .............. 229Status-Leuchtdioden .................................... 197stdin/stdout (Python) .................................. 712Steckdosen schalten ..................................... 929
1084
i
i
“buch” — 2015/7/22 — 11:07 — page 1085 — #1081i
i
i
i
i
i
Index
Steckernetzteil .............................................. 364Steuerelemente (tkinter) ............................. 755Sticky-Bit ........................................................ 210stop_recording (Python) ............................. 730str-Methode (Python) .................................. 707Streaming (MPD/Icecast) ............................ 296Streams .......................................................... 521Streifenrasterplatine .................................... 391Strg-C
Python ....................................................... 688tkinter ........................................................ 762
Strom .............................................................. 375Strommessung ............................................. 389Stromversorgung ........................... 26, 195, 363Stromzähler ................................................... 903
optischer Lesekopf ................................... 904Smart Meter Language ........................... 906Visualisierung ........................................... 912
subprocess-Modul ........................................ 713sudo ................................................................ 100
absichern ................................................... 207im VNC-Viewer ......................................... 148Konfiguration ........................................... 206
super (Python) .............................................. 709Surface (pygame) .......................................... 743symbolische Links ........................................ 115sys-Modul (Python) ...................................... 711sysctl .................................................... 990, 1003systemctl-Kommando ................................. 265Systemd ......................................................... 265Systemdienste ............................................... 124Systemstart ................................................... 236
T
T-Cobbler ....................................................... 396Tabellenkalkulation ........................................ 74tail ................................................................... 104Taktfrequenz
einstellen ................................................... 193ermitteln ................................................... 193
tar .................................................................... 118Backup-Beispiel ........................................ 190
Taskmanager ................................................. 121Tastatur ............................................................ 29
Layout im Textmodus ................................ 54OpenELEC .................................................. 314
Tastenkürzelbash ............................................................. 89less ............................................................. 103Raspbian ...................................................... 61Terminal ...................................................... 89
Taster als Eingangssignal ............................ 405Taster entprellen (Python) .......................... 723temp_limit .................................................... 193Temperatur .................................................... 193Temperaturkurve (pygame) ........................ 751Temperaturkurve (Wolfram Language) .... 851Temperatursensor ............................... 502, 505Terminal ..................................................... 65, 83
Farben .......................................................... 92mit root-Rechten ...................................... 101
test (bash) ...................................................... 781Tethering ....................................................... 986Textausgaben (pygame) .............................. 746Textdateien
ändern ....................................................... 105anzeigen .................................................... 103durchsuchen ............................................. 104in Python verarbeiten .............................. 673
Textdateien (Python) ................................... 737Texteditoren ............................................ 66, 105
Defaulteditor einstellen ........................... 106Texteingabe (Python) .................................. 650Textkonsole ..................................................... 91Textverarbeitung ............................................ 74Thunderbird .................................................... 69TightVNC (Windows) .................................... 146tightvncserver .............................................. 145time-Modul (Python) ................................... 714tkinter (Python) ............................................ 754top ................................................................... 120Tor-Router ................................................... 1005torrc-Datei ................................................... 1008touch .............................................................. 115Touchscreen .................................................. 618
Kalibrierung .............................................. 621traceback-Modul (Python) .......................... 686Transistor ....................................................... 385
Auswahl ..................................................... 402Schaltung .................................................. 402
Transponder .................................................. 891trap (bash) ...................................................... 788Trigger (Pi4J) .................................................. 809TSOP4838 ....................................................... 533ttf-mscorefonts-installer ............................... 70Tupel (Python) .............................................. 637Tupel Comprehension (Python) ................ 670tvservice ......................................................... 247tvservice-Kommando .................................. 188Twittern ......................................................... 955Typen (Python) ............................................. 657Typumwandlung (Python) ......................... 658Twython ......................................................... 955
1085
i
i
“buch” — 2015/7/22 — 11:07 — page 1086 — #1082i
i
i
i
i
i
Index
U
U-Cobbler ...................................................... 396UART ............................................................... 480
aktivieren .................................................. 480Kommunikation ....................................... 481Parameter in config.txt ........................... 249Python ....................................................... 484
Ubuntu ........................................................... 261udev-System .................................................. 218
eigene Regeln ......................................... 1025udhcpd ........................................................... 991Uhr .................................................................. 528Uhrzeit ........................................................... 941uinput .......................................................... 1032Ultraschallsensor ......................................... 493umask ............................................................. 213Umgebungsvariablen .................................... 99Umgebungsvariablen (bash) ...................... 775umount ......................................... 157, 221, 222uname .................................................... 135, 254Unicode (Python) ......................................... 675Unipolarer Schrittmotor ............................. 436Unterbrechungsfreie Stromversorgung ... 572unzip .............................................................. 119update-alternatives ...................................... 106Updates
Kernel und Firmware ............................... 134OpenELEC .................................................. 321Pakete ........................................................ 133
UPnPAudio-Dateien (MPD) .............................. 304Video-Dateien (Kodi) ............................... 329
USB1200mA weiterleiten ............................... 250Mängel ......................................................... 23Mikrofon ................................................... 976Powerbank ................................................ 364
USB-DAC ........................................................ 299USB-Hub .......................................................... 30USB-Stick ................................................. 79, 289
eigenes mount-Script ausführen .......... 1025Raspbian installieren ................................. 45Read-only verwenden ............................ 1025
V
Variablenbash ..................................................... 99, 773Python ............................................... 653, 654
vars (Python) ................................................. 704
VC1-Decodierer .............................................. 317vcgencmd ....................... 86, 135, 193, 250, 318vchiq-Device-Datei ....................................... 833Vererbung ...................................................... 708VERSION (RPi.GPIO) ..................................... 725Versorgung über USB ................................... 370Verzeichnisse ................................................ 109
freigeben ................................................... 159Verzweigungen (Python) ............................. 666vfat-Dateisystem .......................................... 220vi (Editor) ....................................................... 107Video-Codecs ................................................. 317Video-Player ............................... 73, 1019, 1023VideoCore-4-GPU ......................................... 354Videos aufnehmen
Python ....................................................... 730Videos konvertieren ..................................... 863Videos und Bilder anzeigen ........................ 520Visual Studio ................................................. 274VLC .................................................................... 73VNC ................................................................. 145
mit SSH-Tunnel ......................................... 151vncserver ....................................................... 145Vogelhaus ...................................................... 857
Bewegungserkennung ............................. 864Kameramodul .......................................... 857NoIR-Kamera ............................................ 857Praxis ......................................................... 867
Volumio ......................................................... 302vsftp ................................................................ 180
W
wait_for_edge ............................................... 723wait_recording (Python) ............................. 730Wassermelder ............................................. 1067Wassersensor ................................................ 496Wayland ......................................................... 253wc .................................................................... 120Webbrowser ..................................................... 68Wetterstation ................................................ 508wget ................................................................ 127Wheezy ............................................................. 51which .............................................................. 100while (Python) ............................................... 668Widerstand .................................................... 375Widerstandsmessung .................................. 388Widgets (tkinter) ........................................... 755WiFi ................................................................. 977Win32 Disk Imager .......................................... 41WindowManager ........................................ 251
1086
i
i
“buch” — 2015/7/22 — 11:07 — page 1087 — #1083i
i
i
i
i
i
Index
WindowsImage-Datei schreiben .............................. 41SSH ............................................................. 138VNC ............................................................ 146
Windows 10 IoT Core ................................... 269WiringPi
bash ........................................................... 789C ................................................................. 799Ubuntu ...................................................... 266
with/as (Python) ........................................... 687WLAN .............................................................. 977
Access Point .............................................. 980Hotspot ..................................................... 986Konfiguration ............................................. 76manuelle Konfiguration .......................... 230OpenELEC .................................................. 314RasPlex ...................................................... 345Repeater .................................................... 994Router ........................................................ 986RTL8188eu-Chipsatz ................................. 231
WLAN-Authenticator ................................... 983WLAN-Router ................................................ 977
Tor ............................................................ 1005Wolfram Language ....................................... 844WPA ........................................................ 230, 984wpa_gui-Programm ....................................... 77www-data-Account ....................................... 813
X
XWindow System ......................................... 251XBian .............................................................. 309XBMC .............................................................. 309xessions-Verzeichnis ................................. 1024xfce4-screenshooter ....................................... 75Xfmpc ............................................................. 286xhost-Kommando ........................................ 148xorg.conf ........................................................ 252Xpdf ................................................................... 71xz ..................................................................... 117
Z
Zeichenketten (Python) ....................... 633, 674Zeitrafferaufnahmen ................................... 862Zeroconf ....................................................... 1017Zertifikate (HTTPS) ....................................... 821zip ................................................................... 119zip (Python) ................................................... 683Zuweisungen (Python) ................................ 665Zwei Events auf einem Eingang ................. 409
1087
Teilen Sie Ihre Leseerfahrung mit uns!
Michael Kofler studierte Telematik an der TU Graz. Er ist einer der erfolgreichsten und vielseitigsten Computerbuchautoren im deutschen Sprachraum. Zu seinen Themengebieten zählen neben Linux auch OS X, MySQL, KVM, Visual Basic und Excel-VBA. Viele seiner Bücher wurden übersetzt. Michael Kofler arbeitet auch als Software-Entwickler, Berater sowie als Lehrbeauftragter an zwei Fachhochschulen.
Charly Kühnast veröffentlicht bereits seit seinem 14. Lebensjahr Fachartikel, Kolumnen und Glossen zu IT-Themen. Auf einer Ver-anstaltung des Chaos Computer Clubs, dem er seit vielen Jahren angehört, lernte er das Betriebssystem Linux kennen. Er arbeitet beim Kommunalen Rechenzentrum Niederrhein in Kamp-Lintfort. Dort ist er für die Verfügbarkeit und Sicherheit der Internet-Infra-struktur verantwortlich. Daneben gibt er sein Wissen als Lehrbe-auftragter an verschiedenen Hochschulen weiter.
Michael Kofler, Charly Kühnast, Christoph Scherbeck
Raspberry Pi – Das umfassende Handbuch1.087 Seiten, gebunden, in Farbe, mit CD, 2. Auflage 2015 39,90 Euro, ISBN 978-3-8362-3795-6
www.rheinwerk-verlag.de/3872
Christoph Scherbeck ist begeisterter Raspberry-Pi-Bastler. Er ist 27 Jahre alt und gelernter Mechatroniker und Maschinenbautech-niker. Privat betreibt er die Website www.elektronx.de, auf der er seine Bastelprojekte mit dem Raspberry Pi beschreibt.
Wir hoffen sehr, dass Ihnen diese Leseprobe gefallen hat. Sie dürfen sie gerne empfeh-len und weitergeben, allerdings nur vollständig mit allen Seiten. Bitte beachten Sie, dass der Funktionsumfang dieser Leseprobe sowie ihre Darstellung von der E-Book- Fassung des vorgestellten Buches abweichen können. Diese Leseprobe ist in all ihren Teilen urheberrechtlich geschützt. Alle Nutzungs- und Verwertungsrechte liegen beim Autor und beim Verlag.
Wissen, wie’s geht.