birdcam-pi/poll_button.sh

73 lines
1.5 KiB
Bash
Executable File

#!/bin/sh
gpiocmd="$(command -v gpio)"
if [ -z "$gpiocmd" ]; then
echo "Command gpio missing, try to install ..."
echo "Check internet connection ..."
pingserver="raspbian.raspberrypi.org"
if ! ping -q -c1 $pingserver>/dev/null; then
echo "No internet connection ..."
exit 0
fi
wget https://project-downloads.drogon.net/wiringpi-latest.deb
sudo dpkg -i wiringpi-latest.deb
rm wiringpi-latest.deb
# sudo apt update; sudo apt -y install wiringpi
gpiocmd="$(command -v gpio)"
if [ -z "$gpiocmd" ]; then
echo "cannot install wiringpi, exiting ..."
exit 0
fi
fi
gpiopin_sw="0" ### var
gpiopin_led_r="2" ### var
gpiopin_led_g="29" ### var
playerproc="vlc" ### var
cameracmd="/home/pi/birdcam/view_birdcam.sh" ### var
buttonpolling="0.05" ### var
buttontimeout="1" ### var
$gpiocmd mode $gpiopin_led_g out
$gpiocmd write $gpiopin_led_g 0
while true; do
$gpiocmd mode $gpiopin_led_r out
$gpiocmd write $gpiopin_led_g 1
while [ $($gpiocmd read $gpiopin_sw) -eq 1 ]; do
# echo "..."
sleep $buttonpolling
done
$gpiocmd write $gpiopin_led_g 0
$gpiocmd mode $gpiopin_led_r in
camname="birdcam1" ### var
$cameracmd $camname &
echo "$camname started!"
sleep $buttontimeout
$gpiocmd mode $gpiopin_led_r out
$gpiocmd write $gpiopin_led_g 1
while [ $($gpiocmd read $gpiopin_sw) -eq 1 ]; do
# echo "..."
sleep $buttonpolling
done
$gpiocmd write $gpiopin_led_g 0
$gpiocmd mode $gpiopin_led_r in
camname="birdcam2" ### var
$cameracmd $camname &
echo "$camname started!"
sleep $buttontimeout
done