OpenWrt/Music: Difference between revisions
Appearance
< OpenWrt
No edit summary |
|||
| Line 109: | Line 109: | ||
mpc -h $IP stop | mpc -h $IP stop | ||
</pre> | |||
</blockquote> | |||
::/etc/scripts/serial.sh: | |||
<blockquote> | |||
<pre> | |||
#! /bin/sh | |||
# | |||
# | |||
trap 'kill $! ; exit 1' SIGINT | |||
port="/dev/tts/0" | |||
stty -F $port 9600 -echo | |||
echo "!C,booted*" > $port | |||
while true | |||
do | |||
inputline="" | |||
until inputline=$(echo $inputline | grep -e "!A,") | |||
do | |||
inputline=$(head -n 1 < $port) | |||
done | |||
echo "$inputline" | |||
done | |||
</pre> | </pre> | ||
</blockquote> | </blockquote> | ||
| Line 156: | Line 184: | ||
</blockquote> | </blockquote> | ||
:: /etc/init.d/serial: | :: /etc/init.d/serial: | ||
Revision as of 10:37, 5 October 2012
OpenWrt music streaming
Streaming music via OpenWrt on 4MB flash router Since /etc is preserved during sysupgrades, we keep everything there.
Install packages
opkg update opkg install kmod-usb-audio kmod-usb-ohci kmod-usb-core kmod-sound-core opkg install madplay mpc opkg install snmpd opkg install coreutils-stty
create files
mkdir /etc/scripts touch /etc/scripts/madplay.sh chmod +x /etc/scripts/madplay.sh vi /etc/scripts/madplay.sh
mkdir /etc/scripts touch /etc/scripts/mpc.sh chmod +x /etc/scripts/mpc.sh vi /etc/scripts/mpc.sh
touch /etc/init.d/madplay chmod +x /etc/init.d/madplay vi /etc/init.d/madplay
mkdir /etc/scripts touch /etc/scripts/serial.sh chmod +x /etc/scripts/serial.sh vi /etc/scripts/serial.sh
touch /etc/init.d/serial chmod +x /etc/init.d/serial vi /etc/init.d/serial
file contents
- /etc/scripts/madplay.sh:
#! /bin/sh while true do sleep 2 wget -O - http://192.168.111.10:8000 | madplay - sleep 18 done
- /etc/scripts/mpc_start.sh
#!/bin/sh IP=192.168.111.10 mpc -h $IP clear mpc -h $IP repeat on mpc -h $IP random off mpc -h $IP single off mpc -h $IP consume off mpc -h $IP enable 2 mpc -h $IP load "Alarm Clock Intro" mpc -h $IP shuffle mpc -h $IP play sleep 60 mpc -h $IP stop mpc -h $IP clear mpc -h $IP load "Alarm Clock" mpc -h $IP random on mpc -h $IP play
- /etc/scripts/mpc_stop.sh
#!/bin/sh IP=192.168.111.10 mpc -h $IP stop
- /etc/scripts/serial.sh:
#! /bin/sh
#
#
trap 'kill $! ; exit 1' SIGINT
port="/dev/tts/0"
stty -F $port 9600 -echo
echo "!C,booted*" > $port
while true
do
inputline=""
until inputline=$(echo $inputline | grep -e "!A,")
do
inputline=$(head -n 1 < $port)
done
echo "$inputline"
done
- /etc/init.d/madplay:
#!/bin/sh /etc/rc.common
# madplay script
START=99
DAEMON=/etc/scripts/madplay.sh
DAEMONNAME=madplay
PIDFILE=/var/run/madplay.pid
start() {
echo -n "starting: $DAEMONNAME"
if [ -f $PIDFILE ] ; then
echo
echo "$DAEMONNAME already running (PID=`cat $PIDFILE`)"
exit
fi
touch $PIDFILE
start-stop-daemon -S -p $PIDFILE -m -b -x $DAEMON
echo "(PID=`cat $PIDFILE`)"
}
stop() {
if [ ! -f $PIDFILE ] ; then
echo "$DAEMONNAME is not running"
exit
fi
PID=`cat $PIDFILE`
echo "stopping: $DAEMONNAME(PID=$PID)"
kill -INT $PID
pkill -INT -P $PID
rm -f $PIDFILE
}
- /etc/init.d/serial:
#!/bin/sh /etc/rc.common
# serial interface script
START=99
DAEMON=/etc/scripts/serial.sh
DAEMONNAME=serial
PIDFILE=/var/run/serial.pid
start() {
echo -n "starting: $DAEMONNAME"
if [ -f $PIDFILE ] ; then
echo
echo "$DAEMONNAME already running (PID=`cat $PIDFILE`)"
exit
fi
touch $PIDFILE
start-stop-daemon -S -p $PIDFILE -m -b -x $DAEMON
echo "(PID=`cat $PIDFILE`)"
}
stop() {
if [ ! -f $PIDFILE ] ; then
echo "$DAEMONNAME is not running"
exit
fi
PID=`cat $PIDFILE`
echo "stopping: $DAEMONNAME(PID=$PID)"
kill -INT $PID
pkill -INT -P $PID
rm -f $PIDFILE
}