den bisherigen angehängten Parameter des GPIO-Outputs der jeweiligen Playerinstanz bitte entfernen weil das jetzt das Skript übernimmt.
es sind die beiden "muting.sh" und powerDelay.sh" im Ordner /home/tc
Code:
tc@piCorePlayer:~$ pwd /home/tc tc@piCorePlayer:~$ ll total 16 -rw-r--r-- 1 tc staff 2615 Feb 15 18:53 muting.sh -rwxr-xr-x 1 tc staff 368 Dec 5 16:38 powerDelay.sh -rwxr-xr-x 1 tc staff 713 Sep 23 19:16 powerscript.sh -rw------- 1 tc staff 24 Sep 23 19:16 wifi.db drwxr-xr-x 6 tc staff 140 Jan 1 1970 www/
muting.sh:
Code:
#!/bin/sh -x
#/home/tc/www/cgi-bin/pcp-functions
#pcp_variables
##############################################
# Set the following according to your setup
##############################################
MAC_ADDR=$1 # Raspberry Pi MAC address
LMS_IP=192.168.0.222 # LMS IP address
INTERVAL=1 # Set Poll interval
GPIO=$2 # Set GPIO for muting
COMMAND="status 0 0" # LMS player status command
DELAYOFF=3 # Delay in no. of intervals
COUNT=0
DEBUG=0
TURNED_ON=0 # Set flag with actual mode
##############################################
if [ $DEBUG = 1 ]; then
echo
echo "MAC_ADDR : "$MAC_ADDR
echo "LMS_IP : "$LMS_IP
echo "INTERVAL : "$INTERVAL
echo "GPIO : "$GPIO
echo "COMMAND : "$COMMAND
echo "DELAYOFF : "$DELAYOFF
echo
fi
get_mode() {
RESULT=`( echo "$MAC_ADDR $COMMAND"; echo exit ) | nc $LMS_IP 9090`
echo $RESULT | grep "mode%3Aplay" > /dev/null 2>&1
if [ $? == 0 ]; then
echo "Playing $MAC_ADDR. Unmute GPIO$GPIO. Count: $COUNT"
COUNT=0
if [ $TURNED_ON == 0 ]; then
turn_on
fi
else
if [ $COUNT -ge $DELAYOFF ]; then
if [ $TURNED_ON == 1 ]; then
turn_off
fi
COUNT=0
else
COUNT=$(($COUNT + 1))
echo "Stopped $MAC_ADDR. Mute GPIO$GPIO. . Count: $COUNT"
fi
fi
}
turn_on() {
# sudo echo "0" > /sys/class/gpio/gpio$GPIO/value
# sleep .5
sudo echo "1" > /sys/class/gpio/gpio$GPIO/value
TURNED_ON=1
echo "Turn on: $GPIO"
}
turn_off() {
# sudo echo "1" > /sys/class/gpio/gpio$GPIO/value
# sleep .5
sudo echo "0" > /sys/class/gpio/gpio$GPIO/value
TURNED_ON=0
echo "Turn off: $GPIO"
}
##############################################
# Initial GPIO setup
##############################################
#sudo chown tc /sys/class/gpio/export
#sudo echo "24" > /sys/class/gpio/export
#sudo chown -R tc /sys/class/gpio/gpio24/
#sudo echo "1" > /sys/class/gpio/gpio24/value
#sudo echo "out" > /sys/class/gpio/gpio24/direction
#sudo echo "0" > /sys/class/gpio/gpio24/value
sudo chown tc /sys/class/gpio/export
sudo echo $GPIO > /sys/class/gpio/export
sudo chown -R tc /sys/class/gpio/gpio$GPIO/
# muting is active low
#sudo echo "1" > /sys/class/gpio/gpio$GPIO/active_low
sudo echo "0" > /sys/class/gpio/gpio$GPIO/value
sudo echo "out" > /sys/class/gpio/gpio$GPIO/direction
sudo echo "0" > /sys/class/gpio/gpio$GPIO/value
##############################################
# Loop forever. This uses less than 1% CPU, so it should be OK.
##############################################
while true
do
get_mode
sleep $INTERVAL
done
powerDelay.sh:
Code:
#!/bin/sh sudo chown tc /sys/class/gpio/export sudo echo "24" > /sys/class/gpio/export sudo chown -R tc /sys/class/gpio/gpio24/ sudo echo "1" > /sys/class/gpio/gpio24/value sudo echo "out" > /sys/class/gpio/gpio24/direction sudo echo "0" > /sys/class/gpio/gpio24/value echo 'power off delay!' sleep 3s sudo echo "1" > /sys/class/gpio/gpio24/value echo 'power on!'
Änderung in der /opt/bootlocal.sh mit debug Möglichkeiten:
Hier wird jeweils auch dem muting die passende Mac-Adresse und der GPIO-Output mitgegeben.
Das muting.sh wird 4x mit unterschiedlichen Parametern genutzt.
Code:
#!/bin/sh
# put other system startup commands here
. /home/tc/powerDelay.sh &
. /home/tc/muting.sh 'ab:cd:ef:12:34:60' 9 > /dev/null &
. /home/tc/muting.sh 'ab:cd:ef:12:34:61' 10 > /dev/null &
. /home/tc/muting.sh 'ab:cd:ef:12:34:62' 11 > /dev/null &
. /home/tc/muting.sh 'ab:cd:ef:12:34:63' 12 > /dev/null &
#. /home/tc/muting.sh > /home/tc/logfile 2>&1 &
/opt/eth0.sh
GREEN="$(echo -e '\033[1;32m')"
echo
echo "${GREEN}Running bootlocal.sh..."
#pCPstart------
/home/tc/www/cgi-bin/do_rebootstuff.sh 2>&1 | tee -a /var/log/pcp_boot.log
#pCPstop------
und immer abspeichern mit:
Code:
sudo filetool.sh -b


Einen Kommentar schreiben: