Für jede Farbe erstellen Sie eine eigene Lichterkette. Jede davon regeln Sie mit einem eigenen Transistor als Schalter und schalten Sie einfach parallel zum Netzteil. Beachten Sie, dass bei einem Netzteil mit 15 Watt bei 5 Volt höchstens 3 Ampere für jeden Strang bereitstehen.
LEDs steuern und regeln
Die GPIO-Pins des Raspberry Pi steuern Sie bei Bedarf etwa mit Python. Dazu verbinden Sie sich zunächst per SSH mit dem Raspberry und öffnen in der Konsole mit sudo nano pins.py ein neues Dokument. Um die Lichterketten anzusteuern, laden Sie nun die entsprechende Python-Klasse mit import RPi.GPIO as GPIO. Des Weiteren laden Sie noch die Klassen datetime und time mit import datetime as dtm und import time as tm.
Zunächst legen Sie fest, ob Sie die Pins aufsteigend durchnummerieren oder mit der Board-Nummer bezeichnen. In der Dokumentation zum Raspberry Pi findet sich eine Grafik [5] der nummerierten Pins. Die Nummerierung nach Board-Nummer legen Sie mit GPIO.setmode(GPIO.BCM) fest.
Den Pin, den Sie mit der Basis des Transistors verbinden, definieren Sie mit GPIO.setup(23, GPIO.OUT) als schaltbar. In Abbildung 5 ist das Pin 23 (Board-Nummer). Mit GPIO.output(23, HIGH) schalten Sie die LED ein.
Das Programm kontrolliert außerdem, ob sich die LEDs im richtigen Zustand befinden, während der Mini-PC angeschaltet ist. Dazu benutzen Sie eine Schleife und fragen den Zustand der Leuchtdioden kontinuierlich ab. Im einfachsten Fall schaltet der Rechner die LEDs am Morgen an und am Abend wieder ab.
In der Schleife ermittelt die Software mit dtm.datetime.now() zunächst die aktuelle Uhrzeit. Die aktuelle Stunde fragen Sie mit now.hour ab. Listing 1 zeigt das komplette Programm.
Listing 1
import RPi.GPIO as GPIO
import datetime as dtm
import time as tm
GPIO.setmode(GPIO.BCM)
GPIO.setup(23, GPIO.OUT)
led_on = False
while True:
now = dtm.datetime.now()
if now.hour >= 7 and now.hour <= 23:
if not led_on:
GPIO.output(23, GPIO.HIGH)
led_on = True
elif led_on:
GPIO.output(23, GPIO.LOW)
led_on = False
tm.sleep(10)
Beachten Sie, dass der Befehl dtm.datetime.now() je nach Systemeinstellungen die Uhrzeit in UTC statt der lokalen Uhrzeit zurückgibt. Sie müssen also je nach Jahreszeit gegebenenfalls eine oder zwei Stunden addieren. Für jede weitere LED-Lichterkette beschalten Sie einen zusätzlichen Pin auf genau dieselbe Weise.
Über einen Cronjob [6] startet das Programm beim Hochfahren des Rechners. Einen neuen Cronjob fügen Sie einfach hinzu, indem Sie den Befehl sudo crontab -e in der Konsole ausführen. Beim ersten Aufruf erscheint eine Auswahl, über die Sie den Editor festlegen.
Im Editor bearbeiten Sie dann eine Datei, in der zunächst nur einige Kommentare stehen. Ergänzen Sie die Datei am Ende um die Zeile @reboot python /home/pi/pins.py. Ersetzen Sie den hier angegebenen Pfad /home/pi/ gegebenenfalls durch den Pfad, in dem Sie das Programm gespeichert haben.
Wichtig ist, dass die Datei mit einer Leerzeile oder einem Kommentar endet. Fügen Sie also in der letzten Zeile den Kommentar #Letzte_Zeile ein.
Die Kamera
Um regelmäßig Bilder mit der Webcam aufzunehmen, eignet sich ebenfalls ein Cronjob. Am einfachsten schießen Sie Aufnahmen mit dem Programm Fswebcam [7]. Sie installieren es mit sudo apt-get install fswebcam im Terminal. Dann erstellen Sie ein Shell-Skript mit dem Inhalt aus Listing 2, das Sie anschließend mit chmod +x snapshot.sh mit den passenden Rechten ausstatten.
Listing 2
#!/bin/bash
DATE=$(date +"%Y-%m-%d_%H%M")
fswebcam --no-banner /home/pi/Pictures/${DATE}.jpg
Der PC soll dieses Skript nun regelmäßig ausführen. Öffnen Sie mit sudo crontab -e die Liste der Cronjobs. Vor der abschließenden Zeile und nach dem anderen Eintrag ergänzen Sie den Inhalt aus Listing 3. Er sorgt dafür, dass das Skript fünf Minuten nach jeder vollen Stunde zwischen 9 und 20 Uhr läuft [6].





