====== Viri Warning Lamp ====== The Viri Warning Lamp has all the electronics built in by now and comes with a nice Raspberry Pi GPIO plug: https://c3voc.de/gallery/misc/voc-light/ ===== GPIO Preparation ===== 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 ===== Automatic Trigger via MQTT ===== 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. ===== Manual Trigger ===== 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'' ===== Socket Trigger ===== **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