The Viri Warning Lamp has all the electronics built in by now and comes with a nice Raspberry Pi GPIO plug:
The yellow warning lamp runs on GPIO14:
root@raspberry-pi:~# echo "14">/sys/class/gpio/export root@raspberry-pi:~# echo "out">/sys/class/gpio/gpio14/direction
ggF. voc
user in gpio
Gruppe setzen.
root@raspberry-pi:~# adduser voc gpio
Prerequisites: AnyEvent and AnyEvent::MQTT:
sudo apt-get install libanyevent-perl liblocal-lib-perl cpanminus eval $(perl -Mlocal::lib) cpanm AnyEvent::MQTT # get VOC mqtt tools git clone git@c3voc.de:mqtt
Running:
cd mqtt/shell # reinstate local::lib if not already present in the current environment eval $(perl -Mlocal::lib) screen -S bot perl bot.pl
Es kann sein, dass perl z.B. Alert.pm nicht findet, Suchpfade dafür kann man folgendermaßen hinzufügen:
export PERL5LIB=[pfad]
Zum Filtern der Meldungen bot.pl
anschauen und editieren.
root@raspberry-pi:~# echo "1">/sys/class/gpio/gpio14/value root@raspberry-pi:~# echo "0">/sys/class/gpio/gpio14/value root@raspberry-pi:~# echo "1">/sys/class/gpio/gpio14/value root@raspberry-pi:~# echo "0">/sys/class/gpio/gpio14/value
Oder shell/alert.pl
/ shell/alert.sh
blink.sh
while [ true ] do sleep 0.3 echo $1 `nc $1 9191` || { continue; } echo blink echo "1">/sys/class/gpio/gpio14/value sleep 1.5 echo "0">/sys/class/gpio/gpio14/value done
On the remote host
socat -du TCP-LISTEN:9191,fork TCP-LISTEN:9192,range=127.0.0.1/32,reuseaddr
On the Pi
echo "14">/sys/class/gpio/export echo "out">/sys/class/gpio/gpio14/direction ./blink.sh foobarhost.c3voc.de
To trigger on the remote Host
nc -z localhost 9192