WR720N上实现基于opwnwrt的Upnp音乐播放器(DLNA-wifi音箱移植)

一、准备工作 

硬件准备: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、gstreamergst-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设备即可听到开发板播放酷狗选择的歌曲。


   效果图:

   开发板及连线图:

  WR720N上实现基于opwnwrt的Upnp音乐播放器(DLNA-wifi音箱移植)_第1张图片


串口打开gmediarender软件截图:


     手机上酷狗音乐找到MYTEST设备截图:

WR720N上实现基于opwnwrt的Upnp音乐播放器(DLNA-wifi音箱移植)_第2张图片


你可能感兴趣的:(openwrt)