文章更新: 20170301 初次成文
问题提出: 由于树莓派3代板载无线模块,而树莓派2代也可以通过连接USB无线网卡或者直插网线实现网络通信,又因为Volumio搭载在树莓派上,所以在Volumio的早期版本就实现了UPNP/DLNA特性。通过此特性,在局域网中"遥控"Volumio成为了可能。
在这篇文章中,小苏将为大家介绍一下如何多角度玩转Volumio的DLNA特性,看完这篇文章后,你一定会感受DLNA技术为我们带来的便利。
准备工作: 硬件环境: 1. 装有Dac扩展板,烧写好Volumio系统的的树莓派(小苏使用的是树莓派3代B型,Dac扩展板选用的是PiFi Dac+ v2.0); 2. 路由器(因为在宿舍用嘛,所以小苏用的是斐讯K2); 3. 安卓手机(这个随意) 4. 网线,网卡等(可选)
软件环境: 1. BubbleUPnp播放器(安卓应用) 2. Volumio系统(烧写到树莓派的SD卡中) 在正文开始之前,小苏还需要介绍一下DLNA协议的功能模块:
Digital Media Server(DMS):服务器,简单来说就是媒体文件的提供者 Digital Media Renderer(DMR):渲染器,简单来说就是媒体文件的受控端和输出者 Digital Media Controller(DMC):控制器,简单来说就是控制端 Digital MediaPlayer(DMP):播放器(在本文章中此模块可忽略) (以上资料来自百度百科) 解决方案: 先决条件:使手机与树莓派处在同一局域网下,如果你是Volumio1.x版本,那么你可能需要在WebUI中打开"UPNP/DLNA服务",从Volumio2开始,这项功能默认开启且无法关闭。
1. 推送手机中的音乐文件到扩展板: (服务器:BubbleUPnp | 渲染器:Volumio | 控制器:BubbleUPnp)
在手机上打开BubbleUPnp播放器,划出侧边栏,"RENDERER"(渲染器)选择:"Volumio","LIBRARY"(媒体库)选择"Local and Cloud"。点击底栏中的"LIBRARY"后,你可以看到手机中的媒体文件,点击"Music"后可以进入音乐媒体库,之后就可以在音乐媒体库中选择相应的类别浏览并播放音乐了。在底栏的"PLAYLIST"标签中,你可以长按专辑封面图片上下拖动来调整播放列表的播放顺序,在"NOW PLAYING"标签中,你可以进行查看当前音乐的播放进度,控制音乐播放行为等操作。
2. 推送Volumio中的音乐到手机: (服务器:MiniDLNA | 渲染器:BubbleUPnp | 控制器:BubbleUPnp)
由于Volumio基于Rasbain,所以我们可以在Volumio上安装DLNA服务器程序,由DLNA服务器提供媒体文件推送到其他设备上播放。在这个方案中,我们需要在Volumio中安装MiniDLNA程序作为DLNA服务器:
sudo apt-get install minidlna #安装MiniDLNA程序
MiniDLNA程序安装完成后,由于媒体文件目录未指定,我们还需要修改MiniDLNA的配置文件来指定媒体文件目录:
sudo cp /etc/minidlna.conf /etc/minidlna.conf.bak #备份MiniDLNA配置文件 sudo vim /etc/minidlna.conf #修改MiniDLNA配置文件
在这个文件中,我们可以找到以下内容:
# If you want to restrict a media_dir to a specific content type, you can
# prepend the directory name with a letter representing the type (A, P or V),# followed by a comma, as so:
# * "A" for audio (eg. media_dir=A,/var/lib/minidlna/music)
# * "P" for pictures (eg. media_dir=P,/var/lib/minidlna/pictures)
# * "V" for video (eg. media_dir=V,/var/lib/minidlna/videos)
因为我们需要推送树莓派SD卡中的"音频文件"到手机,所以我们在以上内容的下一行添加:
media_dir=A,/var/lib/mpd/music
其中/var/lib/mpd/music
是Volumio的音乐库目录,这样配置可以使MiniDLNA扫描/data/INTERNAL
,/mnt/USB
,/mnt/NAS
下的音乐文件。如果你的SD卡中有图片或者视频文件想要推送到其他设备,MiniDLNA同样可以做到,你只需要在这一行下面接着配置图片和视频文件的扫描目录即可。填写完成后,重启Volumio,打开浏览器,访问http://树莓派在局域网中的IP地址:8200
,你可以看到MiniDLNA的工作状态,包括媒体库中的媒体文件数目,已连接设备的IP地址已经其Mac等(如果媒体文件较多的话,等待MiniDLNA扫描完成可能需要一段时间):
以上内容配置完毕后,在手机上打开BubbleUPnp播放器,划出侧边栏,"RENDERER"(渲染器)选择:"Local Renderer","LIBRARY"(媒体库)选择"volumio:minidlna",在底栏的"LIBRARY"中可以看到Volumio媒体库中的文件。播放及控制步骤同第一部分。
3. 在Volumio上播放树莓派SD卡中的本地音乐 (服务器:MiniDLNA | 渲染器:Volumio | 控制器:BubbleUPnp)
在第二部分中我们已经安装了MiniDLNA服务器,所以我们可以使用BubbleUPnp控制Volumio播放树莓派SD卡中的本地音乐。也就是说,服务器和渲染器都在Volumio系统中。在BubbleUPnp中,"RENDERER"(渲染器)选择:"Volumio","LIBRARY"(媒体库)选择"volumio:minidlna"。
4. 使用BubbleUPnp播放手机中的本地音乐 (服务器:BubbleUPnp | 渲染器:BubbleUPnp | 控制器:BubbleUPnp)
这就不关DLNA的事儿了,纯粹就是本地播放手机中的音乐(滑稽脸)。 参考资料:
DLNA - 百度百科:
https://wapbaike.baidu.com/item/DLNA/10415195
HOW TO START THE DLNA SERVER FOR VOLUMIO 1.5 ON THE PI - Volumio.org:
https://volumio.org/forum/how-start-the-dlna-server-for-volumio-the-t2401.html