Einen GPIO-Pin auf dem Raspberry PI überwachen und loggen
Das folgende bash-Script überwacht ein GPIO-Pin vom Raspberry PI und loggt die Zustandsänderungen in einem File.
Dass das Logfile im Directory /var/www liegt, hat einen einfachen Grund: so kann man es direkt mit dem Web-Browser ansehen !
Das kommentierte Script
#!/bin/bash # Den Pin als Eingang definieren echo "4" > /sys/class/gpio/export echo "in" > /sys/class/gpio/gpio4/direction # Den Zustand des Eingangs lesen previous=$(cat /sys/class/gpio/gpio4/value) # Endlose Schleife while true do # Den Zustand des Eingangs lesen pin=$(cat /sys/class/gpio/gpio4/value) # Wenn der Zustand geändert hat if [ $pin -ne $previous ] then if [ $pin -lt $previous ] then # Eingeschaltet echo "$(date '+%d.%m.%Y %H:%M') ein" >> /var/www/log.txt else # Ausgeschaltet echo "$(date '+%d.%m.%Y %H:%M') aus" >> /var/www/log.txt fi fi previous=$pin sleep 0.5 doneDas Script herunterladen
Das Script muss natürlich ausführbar sein. Das machen Sie mit dem Befehl chmod 755 logger auf der Kommandozeile oder mit Ihrem Lieblings-Filemanager.
Das Script muss mit root-Rechten laufen. Auf der Kommandozeile kann es so gestartet werden:
sudo ./logger
Das Web-Interface
Ganz einfach: im Browser die IP-Adresse vom PI gefolgt von /log.txt eingeben und schon erscheint das Logfile im Browser. Funktioniert sogar mit IE8 !
Beispiel:
http://192.168.1.21/log.txt