Pi-Sonos v2.0或Raspberry Pi上互联网广播的演变

图片 如您所知,完美无止境。 即使是自制的便携式音响,其用户对象也只有一个人。 一个非常苛刻的人,有时甚至是顽固的人。 在发布有关Pi-Sonos的第一篇文章后 ,将近5个月过去了。 在这段时间内,音响系统内部的软件成功地进行了两次重大更改。 进行更改的原因既是哈勃拉契人和他们自己的用户体验的有用建议。

对于那些懒惰的人或已经忘记第一篇文章的人来说有点历史
Pi-Sonos是一种自制的紧凑型音响,其创作灵感来自Sonos Play1。该音响的目标首先是播放来自互联网广播电台的音乐。 制作音乐时,我将简约和便利放在首位:将其插入电源插座,然后在房子的任何地方,通过智能手机/计算机/平板电脑控制音乐。

这篇文章是关于什么的
首先,关于实现理想的毅力和好奇心。 根据削减, username既不会解决任何全球性问题,也不会描述新的独特技术。 本文只是对Raspberry Pi的流行媒体中心进行了比较,揭示了它们的优缺点,以及我对互联网广播最佳框架的个人看法。 实际上,在为扬声器开发自己的软件时,我只是部分重复了Volumio的创建者之路,只是从头开始意识到其功能之一(请参阅:“发明了另一辆自行车”)。
尽管本文讨论了软件开发主题,但是其中没有代码,因为本文的目的是描述思想和功能,而不是其实现过程。 如果该代码主题对居民来说很有趣,我将尝试撰写另一篇描述开发过程的文章。

最初,用于声学的软件是OSMC ,但明智的人提请注意以下事实:Kodi(又名OSMC)作为互联网广播电台的“大脑”过于大胆。 他太聪明大了,仅对于音频项目而言, Volumio更好。 实际上,事实就是这样。 通过网络界面,Volumio变得更轻巧,更锐利,并且具有更高级且易于开发的API。 另外,也不需要从后面伸出HDMI电缆,因为Volumio可以在任何浏览器中完全自定义。

但是,Volumio还显示出一些重要的缺点,促使我进行了进一步的研究。 首先是下载时间,其次是缺乏自动播放功能。 在研究了官方文档 (可以理解为Volumio是mpd(音乐播放器守护程序)的附加组件)之后,我决定是时候在js上编写自己的名为RPi-Radio的包装程序了,可以解决这些问题。 它的服务器部分在Node.js上运行,并且自从OSMC以来,使用React.js的客户端部分(GUI)已经准备就绪,只需对其进行调整即可。 因此,它现在显示在智能手机屏幕上:


下面的板块清楚地显示了每个框架的缺点和优点。
标准OSMC体积RPi无线电
装车时间35秒45秒20秒
启动自动播放没有*没有*是的
智能手机上“本机” GUI主屏幕上从“收藏夹”列表中选择广播电台的磁带数**5 +1滚动41个
需要显示器,键盘和鼠标***是的没有啦没有啦
网站管理部分的完成部分的
编辑站列表马马虎虎规范马马虎虎
简单的初始设置马马虎虎太好了平庸的
与我的智能手机GUI集成拐杖拐杖开箱即用
日常使用的便利☆☆☆☆☆
*实际上是的,但是您需要从Raspbian初创公司中脱颖而出; 对于OSMC,拐杖是用python编写的;对于Volumio,则是用js或bash编写的。 但是在两种情况下,它仍然无法像我们希望的那样工作。
**对于OSMC和Volumio,这是非常重要的参数,因为每次打开色谱柱时都必须完成所有这些抽头滚动。 对于RPi-Radio,此参数尽管很小,但仍不那么重要,因为该列在打开时便开始播放。
***我的意思是显示器,键盘和鼠标与Raspberry Pi本身的物理连接,即 无法解决内置Web界面或ssh连接的情况。

在此扰流器下是每个比较点的详细说明。
我认为启动时间为20秒,这是在不为该项目优化Raspbian的狂热中可以实现的最少时间。 这是Malinka加载操作系统并启动mpd服务所花费的时间。 如果将microSDHC替换为具有更高读写速度的microSDXC,则可能会改善此结果(我会检查是否可能)。 令人惊讶的是,Volumio装作轻巧灵巧,比OSMC怪物收割机需要更长的装载时间。 等待45秒超出了舒适操作的极限,这是离开Volumio的主要原因。

开箱即用的mpd中提供了自动播放功能,我无需执行任何操作即可激活它-方便! 在Volumio中,尽管它是mpd包装器,但是为了获得优美的问候声而扼杀了此功能。 正如我已经写过的,您可以创建一个脚本并将其放入启动中。 OSMC的情况与此类似。

OSMC通过监视器与用户进行大多数交互:具有漂亮的界面,观看视频,图片,阅读新闻和观看天气的能力-我的专栏文章一生中永远都做不到。

但是OSMC的网络管理非常有限,您甚至不能仅通过监视器就可以在Radio插件中远程配置自己喜欢的电台列表。 相反,在Volumio,一切都只能通过Web界面进行。 在台式机/笔记本电脑上的浏览器中,编辑电台列表最方便,但如果需要,也可以在智能手机上进行。 使用RPi-Radio,您只能选择一个电台并通过Web界面调整声音。 工作站列表以及其他所有步骤都必须通过控制台通过ssh完成。 电台列表是最困难的:如果OSMC和Volumio拥有自己的广泛的Internet电台库,那么在RPi-Radio中,我必须以JSON格式手动输入我喜欢的电台的地址。 不方便,但是一生中只有一次(或几次)。

通过初始设置,OSMC是最糟糕的。 首先,您需要将监视器连接到“树莓”并配置Radio插件,然后您需要通过控制台或ssh将声音输出配置到外部IQAudio DAC(与Suptronics X400板相同)。 RPi-Radio具有相同的DAC设置,但至少其他所有操作也都通过ssh完成。 当然,该类别的佼佼者是Volumio-要通过外部DAC输出声音,您只需要从设置菜单的下拉列表中选择适当的项目即可。 即使在Suptronics官方网站(http://www.suptronics.com/xseries/x400.html)上也有一个比较。

RPi-Radio中的GUI是在React.js上实现的简单网页。 服务器部分负责客户端GUI和mpd之间的交互,它在Node.js上运行,是基于Socket.io + http + express连接的简单HTTP和WebSocket服务器。 当mpd服务启动后立即打开系统时,它作为服务在Raspbian上运行,并使用mpc-js模块控制mpd。 通过IP或主机名“ raspberry”,我的家庭网络上的任何浏览器都可以访问客户端GUI。 太好了

RPi-Radio来源已发布在Github上 。 在同一个存储库中的相应早午餐中,可以找到用于OSMC和Volumio的两种GUI改编版。

我的练习结果RPi-Radio超出了对单个列的简单添加范围。 这是一种现成的解决方案,不仅可以将Raspberry Pi转变为Internet无线电接收器,而且可以将任何具有音频输出,Internet访问功能并能够运行mpd和Node.js的设备转变为Internet。 这样的系统的主要优点是缺少所有多余的东西。 实际上,就像在Sonos中所做的那样,是我努力实现的理想目标。

Source: https://habr.com/ru/post/zh-CN410227/


All Articles