前一篇文章大概介绍了刷入带ADSL驱动的openwrt以及简单的配置,这次就总结下一个好玩的应用,使用android手机+mpd打造一台无线音乐播放器。
所需装备:
- DB120或者RG100A或者其它BCM6358芯片的路由一台
- USB声卡一件(我手里的两个声卡都能很好的工作,一个是steelseries 5HV2,一个是北蓝鼠 USB声卡 7.1声卡,就这两个的音质来说更加倾向于steelseries 5HV2)
- USB2.0的移动硬盘或者U盘一个
- 运行android系统的手机或者平板
首先要保证路由器已经刷入了openwrt,并且已经能正常上网
安装USB、文件系统的内核模块
opkg update
opkg install kmod-usb-core
opkg install kmod-usb-storage
opkg install kmod-usb-ohci
opkg install kmod-usb-ohci
opkg install kmod-fs-ext2
opkg install kmod-fs-ext3
opkg install kmod-fs-vfat
opkg install kmod-fuse
opkg install ntfs-3g
配置自动挂载USB存储设备
安装mount工具
opkg install mount-utils
编辑配置文件
vi /etc/hotplug.d/block/10-mount
#!/bin/sh# Copyright (C) 2009 OpenWrt.org (C) 2010 OpenWrt.org.cn
blkdev=`dirname $DEVPATH`
if [ `basename $blkdev` != "block" ]; thendevice=`basename $DEVPATH`
case “$ACTION” in
add)
mkdir -p /mnt/$device
# vfat & ntfs-3g check
if [ `which fdisk` ]; then
isntfs=`fdisk -l | grep $device | grep NTFS`
isvfat=`fdisk -l | grep $device | grep FAT`
isfuse=`lsmod | grep fuse`
isntfs3g=`which ntfs-3g`
else
isntfs=”"
isvfat=”"
fi# mount with ntfs-3g if possible, else with default mount
if [ "$isntfs" -a "$isfuse" -a "$isntfs3g" ]; then
ntfs-3g -o nls=utf8 /dev/$device /mnt/$device
elif [ "$isvfat" ]; then
mount -t vfat -o iocharset=utf8,rw,sync,umask=0000,dmask=0000,fmask=0000 /dev/$device /mnt/$device
else
mount /dev/$device /mnt/$device
fi
if [ -f /dev/${device}/swapfile ]; then
mkswap /dev/${device}/swapfile
swapon /dev/${device}/swapfile
fi
;;
remove)
if [ -f /dev/${device}/swapfile ]; then
swapoff /dev/${device}/swapfile
fi
umount /dev/$device
;;
esacfi
修改可执行权限
chmod 777 /etc/hotplug.d/block/10-mount
配置USB声卡
安装声卡内核模块
opkg install kmod-input-core
opkg install kmod-soundcore
opkg install kmod-usb-audio
然后查看/dev下是否有dsp、audio、mixer
测试声卡是否工作正常,声卡与音箱连接并且插入含有MP3文件的USB存储设备
这里假设usb设备挂载路径为/mnt/sdb1
opkg install madplay
madplay /mnt/sba1/*.mp3
如正常发声则表示声卡驱动成功
安装配置MPD
opkg install mdnsresponder
opkg install libspeex
opkg install mpd
编辑mpd配置文件
vi /etc/mpd.conf
修改为:
#=== edit options as follows ===
music_directory “/mnt/sdb1″
playlist_directory “/mnt/sdb1/.mpd/playlist”
db_file “/mnt/sdb1/.mpd/mpd.db”
log_file “/mnt/sdb1/.mpd/mpd.log”
error_file “/mnt/sdb1/.mpd/mpd.error”
pid_file “/mnt/sdb1/.mpd/mpd.pid”
state_file “/mnt/sdb1/.mpd/mpdstate”# use this if you want to use OSS audio output
audio_output {
type “oss”
name “my OSS sound card”
device “/dev/dsp” # optional
format “44100:16:2″ #optional
}# OSS Mixer
mixer_type “oss”
mixer_device “/dev/mixer”
mixer_control “PCM”#=== edit end ===
建立mpd所需目录与文件
mkdir -p /mnt/sdb1/.mpd/playlist
touch /mnt/sdb1/.mpd/{mpd.db,mpd.log,mpd.error,mpd.pid,mpdstate}
运行mpd
/usr/bin/mpd –create-db
安装mpc控制播放
opkg install mpc
mpc listall | mpc add
mpc play
用手机控制播放
手机连接路由器,在android电子市场里搜索 MPDroid 并安装
运行MPDroid,在WLAN based connection里选择连接无线路由的essid
在Host选项里填入路由器的IP地址,其它则默认,然后返回到主界面
此时即可用手机无线控制路由器的播放、暂停以及其它操作