Für das manuelle Schalten der Beleuchtung verwenden Sie das Python-Skript aus Listing 13 als Basis. Zum Ausschalten kommentieren Sie die entsprechenden Bereiche aus beziehungsweise ein.
Listing 12
# Alle 5 Sekunden ein Bild aufnehmen und hochladen * * * * * sleep 0; /home/pi/meisencam.py >/dev/null 2>&1 * * * * * sleep 5; /home/pi/meisencam.py >/dev/null 2>&1 * * * * * sleep 10; /home/pi/meisencam.py >/dev/null 2>&1 * * * * * sleep 15; /home/pi/meisencam.py >/dev/null 2>&1 * * * * * sleep 20; /home/pi/meisencam.py >/dev/null 2>&1 * * * * * sleep 25; /home/pi/meisencam.py >/dev/null 2>&1 * * * * * sleep 30; /home/pi/meisencam.py >/dev/null 2>&1 * * * * * sleep 35; /home/pi/meisencam.py >/dev/null 2>&1 * * * * * sleep 40; /home/pi/meisencam.py >/dev/null 2>&1 * * * * * sleep 45; /home/pi/meisencam.py >/dev/null 2>&1 * * * * * sleep 50; /home/pi/meisencam.py >/dev/null 2>&1 * * * * * sleep 55; /home/pi/meisencam.py >/dev/null 2>&1 # Jede Minute die aktuellen Temperaturen hochladen * * * * * sleep 0; /home/pi/temperatur.py >/dev/null 2>&1 K@E:
Listing 13
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)
GPIO.setup(11,GPIO.OUT)
# Auskommentieren für Ausschalten
GPIO.output(11,GPIO.HIGH)
print("LED an")
## Einkommentieren für Ausschalten
# GPIO.output(11,GPIO.LOW)
# print("LED aus")
Stabilität
An sich benötigt ein Linux-System keine regelmäßigen Neustarts. Viele RasPi-Nutzer berichten jedoch, dass ein Reboot hier und da dem an Ressourcen armen System durchaus gut bekommt und die Stabilität erhört. Um einen täglichen Neustart um Mitternacht einzurichten, öffnen Sie mit sudo crontab -e die Cron-Tabelle und ergänzen an deren Schluss die folgende Zeile:
0 0 * * * /sbin/shutdown -r
Zudem muss das Dateisystem nicht zwingend den letzten Zugriffszeitpunkt auf die Daten protokollieren. Mit den Einträgen nodiratime, noatime in die /etc/fstab des Systems stellen Sie die Funktion für die Root-Partition ab (Listing 14, Zeile 3). Funktioniert alles wie gewünscht, benötigen Sie auch die vom System angelegten Protokolldateien nicht mehr. Mit der Zeile 9 verlegen Sie also den Logordner /var/log ebenfalls auf eine kleine RAM-Disk.
Listing 14
proc /proc proc defaults 0 0 PARTUUID=cc47026d-01 /boot vfat defaults 0 2 PARTUUID=cc47026d-02 / ext4 defaults,nodiratime, noatime 0 1 # a swapfile is not a swap partition, no line here # use dphys-swapfile swap[on|off] for that ### RAM-Disk unter /mnt/ramdisk einrichten tmpfs /mnt/ramdisk tmpfs nodev,nosuid,size=64M 0 0 ### Logs in /var/log in eine extra RAM-Disk umleiten none /var/log tmpfs size=5M,noatime 00
Für ein Raspbian “Jessie” im Dauerbetrieb empfiehlt es sich außerdem, das Swapping auszuschalten, also das Vergrößern des Arbeitsspeichers über eine Auslagerungsdatei auf der Speicherkarte. Das erledigen Sie mit den Befehlen aus Listing 15. Da dank der Steuerung mittels Cron keine speicherhungrigen Prozesse für die Bildaufnahme im Hintergrund laufen, schont das die SD-Karte zusätzlich. Darüber hinaus sind weitere Maßnahmen möglich [10].
Listing 15
$ sudo dphys-swapfile swapoff $ sudo systemctl disable dphys-swapfile $ sudo apt-get purge dphys-swapfile
Fazit
Mit ein wenig handwerklichem Geschick sowie ein paar Python- und PHP-Skripten schauen Sie den Meisen in Ihrem Garten beim Brüten über die Schulter. Die gleiche Technik lässt sich auch leicht an andere Beobachtungssituationen anpassen, etwa in einem Hamsterkäfig oder an der Katzenfutterstelle. Zugleich erhalten Sie eine Temperaturanzeige für den Ort des Nistkastens, mit der Sie auch im Urlaub über das heimische Klima Bescheid wissen.
Der Autor
Claus Brell ist nach einem Vorleben als Physikdidaktiker, Software-Entwickler und Ministerialbeamter seit 2012 Professor für Wirtschaftsinformatik an der Hochschule Niederrhein und forscht zum Thema Gamification. Neben dem Raspberry Pi mag er spannende Sachen mit M: Meisen, Metal, M2M-Kommunikation und Mountainbiking. Weiteres erfahren Sie bei Interesse auf http://claus-brell.de.
Infos
- Interaktiver Meisenkasten: https://www.hs-niederrhein.de/news/news-detailseite/wirtschaftsinformatik-studierende-entwickeln-interaktiven-meisenkasten-16506
- Nabu-Empfehlung: https://www.nabu.de/tiere-und-pflanzen/voegel/helfen/nistkaesten
- Raspbian Lite: https://www.raspberrypi.org/downloads/raspbian
- RasPi-Images schreiben: Christoph Langner, “Eingebrannt”, RPG 08/2017, S. 8, http://raspi-geek.de/39336
- WLAN auf dem RasPi: Christoph Langner, “Strippenfrei”, RPG 04/2016, S. 8, http://raspi-geek.de/37114
- “Python interface to the Raspberry Pi camera”: https://github.com/waveform80/picamera
- OpenCV: http://opencv.org
- PIL: http://www.pythonware.com/products/pil
- PIL einrichten: https://chriskrz.selfhost.bz/index.php/image-manipulation-mit-pil-bilddateien-veraendern
- RasPi-Dauerbetrieb: https://www.datenreise.de/raspberry-pi-stabiler-24-7-dauerbetrieb





