Hat man mehrere Relais am PI hängen, möchte man vermutlich dafür ein Script haben, um die Relais komfortabel schalten zu können :
cat /bin/relais #!/bin/bash case $1 in 1) pin=21; ;; 2) pin=20; ;; 3) pin=26; ;; 4) pin=16; ;; 5) pin=19; ;; 6) pin=13; ;; 7) pin=12; ;; 8) pin=6; ;; *) for (( x=1 ; $x<=8 ; x++ )) do /bin/relais $x done exit 0 ;; esac if test "$2" == "" then if test "$(cat /sys/class/gpio/gpio$pin/value)" == "0" then echo 1 else echo 0 fi else if test "$2" == "1" then v=0 else v=1 fi #gpio -g mode $pin output #gpio -g mode $pin $1 echo "$pin" > /sys/class/gpio/export 2>/dev/null echo "out" > /sys/class/gpio/gpio$pin/direction echo "$v" > /sys/class/gpio/gpio$pin/value # echo "$(date) $1 $(whoami)" >> /tmp/strom.log fi
Weiters ist es von Vorteil, die Ausgänge beim Booten zu initialisieren, damit ein definierter Zustand herrscht :
cat /etc.rc.local ... for (( r=1; $r<=8; r++)); do /bin/relais $r 0; done
Läuft sowieso schon ein Webserver mit PHP, dann bietet sich auch noch ein PHP Script an, um via Webinterface schalten zu können. (Achtung ! das hat keinen Passwortschutz eingebaut) :
index.php :
index_relais_schalten.php
visudo :
... www-data ALL=(ALL) NOPASSWD: /bin/relais ...