hardware:viriwarninglamp

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/

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
  • hardware/viriwarninglamp.txt
  • Last modified: 2020/12/10 01:47
  • by andi