Benutzer-Werkzeuge

Webseiten-Werkzeuge


radio:wifi

DIY-Router-Webradio

Workshop Radiocamp Markelfingen 2011

http://oeks.de/wifiradio

Hardware

  • WLAN-Router zum Flashen eines neuen Betriebssystems mit genügend RAM und USB-Port (hier für bei Asus WL-500GP V1 o. V2)
  • USB-Soundkarte

Software

  • Firmware-Upgrade-Tool oder TFTP
  • Music-MPlayer-Daemon

Installation

Router mit OpenWRT flashen

Download von http://downloads.openwrt.org

Aktuelle http://downloads.openwrt.org/snapshots/backfire/10.03.1-RC5-testing/brcm-2.4/openwrt-brcm-2.4-squashfs.trx Firmware noch unter Testing funktioniert

restore button drücken bis power led langsam blinkt, dann installieren via tftp mit:

sudo -s
ifconfig eth0 192.168.1.10
atftp 192.168.1.1
trace
timeout 1
put openwrt-brcm-2.4-squashfs_10.03.1-RC5-testing.trx

oder openwrt-brcm47xx-squashfs_10.03.1-RC5-testing.trx bei den Asus WL-500GP V1

  • 3-5 Minuten warten
  • Neustart
  • LEDs gehen an und aus, Router bereit von Power-LED wieder an
ifconfig eth0 192.168.1.10
telnet 192.168.1.1
passwd

Wlan konfigurieren

ssh x.x.x.x
iwconfig wl0
logread -f

LuCI http://192.168.1.1

/etc/init.d/firewall stop
/etc/init.d/firewall disable

Pakete installieren

vi /etc/opkg.conf

src/gz packages http://downloads.openwrt.org/snapshots/backfire/10.03.1-RC5-testing/brcm-2.4/packages/

oder bei Asus WL-500GP V1

src/gz packages http://downloads.openwrt.org/snapshots/backfire/10.03.1-RC5-testing/brcm47xx/packages/

opkg update opkg install kmod-usb-uhci kmod-usb-ohci madplay

wget -q -O - http://stream.radio-rum.de:8000/rum.mp3 | madplay -

Als Editor auf dem System gibt es'vi' - alternativ um einfacher Textdateien zu bearbeiten gibt es mg

opkg install mg

Zum Verlassen des Editors <ctrl>+x und <ctrl>+c

MPD installieren

Packagelist /etc/opkg.conf ändern in

src/gz packages http://downloads.openwrt.org/backfire/10.03.1-rc3/brcm-2.4/packages/

bzw. bei Asus WL-500GP V1

src/gz packages http://downloads.openwrt.org/backfire/10.03.1-rc3/brcm47xx/packages/

opkg update

beim V1 ohne kmod-alsa (schon im Kernel):

opkg install mpd mpc kmod-alsa alsa-lib alsa-utils

vi /etc/mpd.conf

music_directory         "~/music"
playlist_directory              "~/.mpd/playlists"
db_file                 "~/.mpd/database"

audio_output {
        type            "alsa"
        name            "My ALSA Device"
        device          "hw:0,0"
        format          "44100:16:2"
        mixer_control   "Speaker"
} 
mkdir /root/music 
mpd --create-db
/etc/init.d/mpd enable
/etc/init.d/mpd start

Buttons konfigurieren

Variante 1: Skript in hotplug.d

mkdir /etc/hotplug.d/button -p

vi handler.sh

#!/bin/sh

# logger button handler: $BUTTON $ACTION $SEEN
 
if [ $BUTTON = "ses" ] ; then
  if [ $ACTION = "released" ] ; then
      mpc next
  fi      
fi 

Variante 2: hardwarebutton mit verschiedenen funktionen

Beispiel von http://wiki.openwrt.org/doc/howto/hardware.button

wobei das previous irgendwie nich funktioniert….

#!/bin/sh                                    
                                    
uci add system button                     
uci set system.@button[-1].button=ses                            
uci set system.@button[-1].action=released                            
uci set system.@button[-1].handler="mpc toggle"
#uci set system.@button[-1].handler="logger toggle"
uci set system.@button[-1].min=0                            
uci set system.@button[-1].max=2                            
uci add system button                     
uci set system.@button[-1].button=ses                            
uci set system.@button[-1].action=released                            
uci set system.@button[-1].handler="mpc next"
#uci set system.@button[-1].handler="logger prev" 
uci set system.@button[-1].min=3                            
uci set system.@button[-1].max=5                            
uci add system button                     
uci set system.@button[-1].button=ses                            
uci set system.@button[-1].action=released                            
uci set system.@button[-1].handler="mpc prev"
#uci set system.@button[-1].handler="logger next"
uci set system.@button[-1].min=6                             
uci set system.@button[-1].max=13                            

uci commit system

References

radio/wifi.txt · Zuletzt geändert: 2011/08/23 20:43 von olly