一、准备工作
硬件准备:WR720N(Ar9331芯片)无线路由开发板(400M主频、64M RAM、8M spi-flash)(8M flash有些紧张,建议选择16M flash比较富余些)
USB声卡一个
耳机或音箱一个
数据线及电源线、网线
开发环境及工具准备:
ubuntu虚拟机(装载openwrt开发环境及对应开发板源码)
winSCP(网络工具)
SecureCRT(串口调试工具)
软件源码:
openwrt源码(官方下载,配置成WR720N)
gmediarender开源代码(下载地址https://github.com/ljymc/yesoOpenwrtFeed.git)
二、实现
1、编译openwrt源码
编译对应WR720N的源码,生成的文件是/openwrt/bin/ar71xx目录下的openwrt-ar71xx-generic-tl-wr720n-v3-squashfs-sysupgrade.bin
(openwrt为openwrt源码根目录)
具体步骤如下:(在ubuntu上编译openwrt的工具已安装好的基础上,具体方法可百度)
首先切换到home目录(可以自己选择目录)执行以下命令下载openwrt官方源码
git clone git://git.openwrt.org/14.07/openwrt.git
再ubuntu上输入以下命令
cd openwrt
./scripts/feeds update -a
./scripts/feeds install -a
cd package
git clone https://github.com/ljymc/yesoOpenwrtFeed.git
然后执行make menuconfig配置编译选项(配置cpu及开发板型号、luci、gmediarender)
最后执行make V=s编译(时间比较久,保证联网,需要下载源码包)
2、烧写上面的固件程序(后面的安装依赖此固件的基础上)
2、gmediarender依赖组件的移植安装
必装包:
kmod-usb-audio kmod-sound-core (音频驱动的组件,安装重启插上usb网卡后执行ls /dev,若出现audio、dsp、mixer则代表安装成功)
libupnp
gst-mod-souphttpsrc
gstreamer
gst-mod-autodetect
gst-plugins-base
kmod-nls-utf8
选装包:
flac格式播放插件:
gst-mod-flac
wav格式播放插件:
gst-mod-wavparse
MP3格式播放插件:
gst-mod-mad
gst-mod-id3demux
安装方法:在虚拟机openwrt源码目录下搜索相关组件,通过winSCP连接开发板,把相关ipk文件下载到开发板上,然后通过opkg指令安装
(通过opkg list-installed指令可以查看当前开发板固件上安装的ipk程序包)
注意:1、若直接用opkg在网络上安装程序,则可能出现不兼容现象。
2、若搜索不到相关的ipk包,则执行make menuconfig,然后搜索以上关键字,选择相关组件(选择M),然后重新编译源码。
3、gst-mod-souphttpsrc、gstreamer、gst-plugins-base组件的依赖项比较多,在make menuconfig里直接选择编译到镜像里(选择*), 编译后重新下载镜像
4、gst-mod-flac依赖libflac,gst-mod-mad依赖libmad、libid3tag。所以安装着两个组件前要安装相关依赖的库的ipk。
5、空间不足时,播放器插件选择安装,如果播放MP3格式只安装mp3插件即可。
三、测试验证
重启开发板
在开发板上执行gmediarender -I xxx.xxx.xxx.xxx -f "MYTEST"
xxx.xxx.xxx.xxx 是你路由器的ip地址 MYTEST为手机酷狗上看到的设备名。
插上耳机或音箱,
手机连接开发板AP,
手机上打开酷狗,选择MYTEST设备即可听到开发板播放酷狗选择的歌曲。
效果图:
开发板及连线图:
串口打开gmediarender软件截图:
手机上酷狗音乐找到MYTEST设备截图: