62 lines
1.1 KiB
Bash
Executable File
62 lines
1.1 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
buzzgpio=0
|
|
strobogpio=2
|
|
swupgpio=23
|
|
swdowngpio=25
|
|
|
|
player="cvlc"
|
|
playerparam="--play-and-exit --quiet --no-osd"
|
|
pgrepplayer="vlc"
|
|
|
|
cmdgpio="$(command -v gpio)"
|
|
|
|
$cmdgpio mode $buzzgpio in
|
|
|
|
$cmdgpio mode $strobogpio out
|
|
$cmdgpio write $strobogpio 1
|
|
|
|
$cmdgpio mode $swdowngpio in
|
|
$cmdgpio mode $swupgpio in
|
|
|
|
cmdonairstat=0
|
|
|
|
while true; do
|
|
|
|
buzzerstat="$($cmdgpio read $buzzgpio)"
|
|
swupstat="$($cmdgpio read $swupgpio)"
|
|
|
|
if [ "$buzzerstat" -eq 0 ] && [ "$swupstat" -eq 0 ]; then
|
|
/home/pi/RandomVideo/RandomVideo.sh buzzer
|
|
$cmdgpio write $strobogpio 0; sleep 1; $cmdgpio write $strobogpio 1 &
|
|
|
|
sleep 1
|
|
|
|
elif [ "$swupstat" -eq 1 ]; then
|
|
|
|
if $(command -v pgrep) "$pgrepplayer" > /dev/null; then
|
|
$(command -v pkill) "$pgrepplayer"
|
|
fi
|
|
|
|
while [ "$swupstat" -eq 1 ]; do
|
|
|
|
if [ "$cmdonairstat" -eq 0 ]; then
|
|
$(command -v $player) $playerparam ~/RandomVideo/onair.mp4
|
|
cmdonairstat=1
|
|
fi
|
|
|
|
swupstat="$($cmdgpio read $swupgpio)"
|
|
|
|
sleep 0.1
|
|
done
|
|
|
|
$(command -v pkill) "$pgrepplayer"
|
|
cmdonairstat=0
|
|
|
|
elif [ "$buzzerstat" -eq 1 ] && [ "$swupstat" -eq 0 ]; then
|
|
sleep 0.1
|
|
|
|
fi
|
|
|
|
done
|