48 lines
988 B
Bash
Executable File
48 lines
988 B
Bash
Executable File
#!/bin/bash
|
|
# led is not neopixel, so use the python lib for that
|
|
BUTTONPIN=25
|
|
BUZZERURL="$(cat "$(dirname "$0")"/secret.txt)/state.xml?relay1State=2&pulseTime1=5"
|
|
BUZZERSTATUSURL="$(cat "$(dirname "$0")"/secret.txt)/state.xml"
|
|
ATTENUATION=4
|
|
# file secret.txt should contain username:password
|
|
cd $(dirname "$0")
|
|
|
|
showleds() {
|
|
./redi.sh <<EOF
|
|
neoaction=$1
|
|
neored=$2
|
|
neogreen=$3
|
|
neoblue=$4
|
|
neomorse=$5
|
|
EOF
|
|
}
|
|
pulseon() {
|
|
red=$1
|
|
green=$2
|
|
blue=$3
|
|
showleds pulse $((red/ATTENUATION)) $((green/ATTENUATION)) $((blue/ATTENUATION)) </dev/null >/dev/null 2>&1 &
|
|
echo $!
|
|
}
|
|
|
|
logger $0 "Initializing hardware"
|
|
# the button
|
|
|
|
ledcolor() {
|
|
red=$1
|
|
green=$2
|
|
blue=$3
|
|
showleds set $((red/ATTENUATION)) $((green/ATTENUATION)) $((blue/ATTENUATION))
|
|
}
|
|
logger $0 "Main loop"
|
|
while true
|
|
do
|
|
if [ $(arp -a | awk '{arp[$2]=$4;ip[$4]=ip[$4]" "$2}END{print ip[arp["(10.2.113.1)"]]}' | wc -w) -gt 1 ]
|
|
then
|
|
ledcolor 255 50 50
|
|
sleep 1
|
|
pulseon 255 255 255
|
|
sleep 60
|
|
fi
|
|
done
|
|
|