OpenWrt/Music: Difference between revisions
Appearance
< OpenWrt
| (4 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
== OpenWrt music streaming == | == OpenWrt music streaming == | ||
Streaming music via OpenWrt on 4MB flash router | Streaming music via OpenWrt on 4MB flash router | ||
== Install packages == | == Install packages == | ||
| Line 43: | Line 42: | ||
do | do | ||
sleep 2 | sleep 2 | ||
wget -O - | wget -O - `cat /etc/scripts/madplay_ip.conf` | madplay - | ||
sleep | sleep 8 | ||
done | done | ||
</pre> | </pre> | ||
| Line 53: | Line 52: | ||
<pre> | <pre> | ||
#!/bin/sh | #!/bin/sh | ||
IP= | IP=`cat /etc/scripts/mpc_ip.conf` | ||
mpc -h $IP clear | mpc -h $IP clear | ||
| Line 81: | Line 80: | ||
<pre> | <pre> | ||
#!/bin/sh | #!/bin/sh | ||
IP= | IP=`cat /etc/scripts/mpc_ip.conf` | ||
mpc -h $IP stop | mpc -h $IP stop | ||
| Line 93: | Line 92: | ||
#! /bin/sh | #! /bin/sh | ||
# | # | ||
port="/dev/ttyATH0" | |||
port="/dev/ | |||
stty -F $port 9600 -echo | stty -F $port 9600 -echo | ||
| Line 103: | Line 99: | ||
while true | while true | ||
do | do | ||
serialinput="" | |||
until | until serialinput=$(echo $serialinput | egrep "!A,|!C,") # egrep "|" = OR | ||
do | do | ||
serialinput=$(head -n 1 < $port) | |||
done | done | ||
echo "$ | echo "$serialinput" | ||
case "$serialinput" in | |||
"!C,AlarmStart*" ) /etc/scripts/mpc_alarm.sh &;; | |||
"!C,AlarmStop*" ) /etc/scripts/mpc_stop.sh &;; | |||
esac | |||
done | done | ||
</pre> | </pre> | ||
</blockquote> | </blockquote> | ||
Latest revision as of 10:13, 8 November 2012
OpenWrt music streaming
Streaming music via OpenWrt on 4MB flash router
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 ; cd /etc/scripts touch madplay.sh ; chmod +x $_ touch mpc_alarm.sh ; chmod +x $_ touch mpc_stop.sh ; chmod +x $_ touch serial.sh ; chmod +x $_ touch madplay_ip.conf ; touch mpc_ip.conf
cd /etc/init.d touch madplay ; chmod +x $_ touch serial ; chmod +x $_
file contents
- /etc/scripts/madplay.sh:
#! /bin/sh while true do sleep 2 wget -O - `cat /etc/scripts/madplay_ip.conf` | madplay - sleep 8 done
- /etc/scripts/mpc_alarm.sh:
#!/bin/sh IP=`cat /etc/scripts/mpc_ip.conf` 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=`cat /etc/scripts/mpc_ip.conf` mpc -h $IP stop
- /etc/scripts/serial.sh:
#! /bin/sh
#
port="/dev/ttyATH0"
stty -F $port 9600 -echo
echo "!C,booted*" > $port
while true
do
serialinput=""
until serialinput=$(echo $serialinput | egrep "!A,|!C,") # egrep "|" = OR
do
serialinput=$(head -n 1 < $port)
done
echo "$serialinput"
case "$serialinput" in
"!C,AlarmStart*" ) /etc/scripts/mpc_alarm.sh &;;
"!C,AlarmStop*" ) /etc/scripts/mpc_stop.sh &;;
esac
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
}