BalenaSound项目使您能够仅使用Raspberry Pi将蓝牙音频流添加到任何旧扬声器或Hi-Fi。在Raspberry Pi上安装balenaOS,并在线部署balenaSound即可实现,酷玛Play的该项目已经在Raspberry Pi 4B通过测试。
Balena是用于构建、部署和管理所连接的Linux设备群的一整套工具,核心balena平台(balenaCloud)包含设备、服务器和客户端软件,所有这些软件旨在将您的代码安全地部署到一系列设备中。其中BalenaOS是为在嵌入式设备上运行Docker容器而优化的操作系统,基于Yocoto Linux,集成balenaEngine,支持Raspberry Pi、Intel NUC、Nvidia Jetson TX2和更多其他设备类型。在balenaSound中将应用balenaOS。我们在使用BalenaEtcher为Raspberry Pi烧录系统时发现了balenaSound这个有趣项目,以及关于Balena的更多。
BalenaEtcher烧录界面正在推荐这个项目
内容索引
- 在你开始前——介绍、所需硬件、所需软件
- 讲解——设置Raspberry Pi、部署项目代码、连接您的扬声器
- 使用balenaSound——试试看、接下来是什么?
在你开始前——
介绍
很多人已经因为使用不便而不再使用旧的并且可能仍然很棒的高质量音频系统。我们已经决定通过这个非常简单的项目来解决这个问题,我们将其称为balenaSound。我们将向您展示如何构建自己的蓝牙音频接收器,该接收器可连接到任何音频设备的辅助(AUX)输入,以为其提供现代的流媒体功能。然后,您将能够从手机,平板电脑或笔记本电脑将音乐流式传输到音频设置中。
您只需要一台Raspberry Pi和一点点时间即可。我们通过配置蓝牙并以可重复的格式设置所有内容来完成所有艰苦的工作,以使您以最小的努力启动和运行。如果您以前从未尝试过这样的项目,那么它是完美的介绍。
我们将指导您设置Raspberry Pi,在其上部署balenaSound项目代码,然后向您展示如何连接音频系统并开始流式传输。让我们开始吧!
所需硬件
- Raspberry Pi 3A + / 3B / 3B + / 4B /零W
- SD卡(我们始终建议使用SanDisk Extreme Pro SD卡)
- 电源
- 3.5mm音频线连接到扬声器/ Hi-Fi的输入(通常为3.5mm或RCA)
- 音频系统进行连接
- (可选)数字模拟转换器(DAC)HAT(例如Pimoroni pHAT DAC),可获得更好的音频质量
注意: Raspberry Pi Zero不能单独使用,因为它没有音频输出。要使用Pi Zero,您需要可选的DAC HAT才能使项目正常运行。
所需软件
- 从GitHub下载balenaSound
- 用来刷新SD卡的软件(balenaEtcher)
- 一个免费的balenaCloud帐户,用于设置和管理Pi
- 下载并安装balena CLI工具 -安装在您的计算机上,允许您在Pi上安装项目代码
讲解——
设置Raspberry Pi
找到所有硬件并准备好所有软件后,我们将开始设置Raspberry Pi。
1、注册一个免费的balenaCloud帐户
您需要做的第一件事就是注册一个帐户(如果尚未注册)。如果您已经拥有GitHub或Google帐户,则可以使用该帐户登录并绕过注册过程。
2、创建一个balenaCloud应用程序
添加一个应用程序,为您使用的设备选择正确的设备类型,选择Starter作为应用程序类型,然后点击“创建新应用程序”。使用入门应用程序将为您提供微服务应用程序的所有功能,并且免费提供(包括第十个设备)。
这将带您进入新创建的应用程序的仪表板,在这里您可以继续进行下一步并添加设备。您为应用程序指定的名称由您决定,但是在以后推送代码时,您需要记住该名称。
3、添加设备并从仪表板下载balenaOS磁盘映像
创建应用程序后,您可以通过单击“添加设备”按钮在该应用程序中设置和添加设备。添加设备时,请指定设备类型,这对于与您使用的设备相匹配非常重要,如果要连接到无线网络,则也可以在此处设置WiFI SSID和密码。
酷玛Play部署balenaSound项目时下载Raspberry Pi 4(使用64位操作系统)BETA对应的balenaOS 2.44.0+rev3。
注意:以下动图中使用了Raspberry Pi 3,但请确保为您使用的设备选择正确的设备类型!
此过程将创建为您的应用程序和设备类型配置的自定义映像,并包括网络设置(如果已指定)。
注意:刚入门时,开发映像将非常有用,因为它允许进行许多测试和故障排除功能。如果您有信心,可以继续并立即部署生产映像。
4、使用balenaOS磁盘映像刷新SD卡并启动设备
下载完操作系统映像后,就该刷新SD卡了。您可以为此使用balenaEtcher。
刷新过程完成后,将SD卡插入Raspberry Pi中并连接电源。
当设备首次启动时,它会连接到balenaCloud仪表板,之后您将能够看到它被列为在线并继续下一步。
故障排除:只需几分钟,新设备便会出现在仪表板上。如果几分钟后仍未在设备上显示该设备,则可能是出现了问题。有一个广泛的故障排除指南文档中,有很多的信息。
部署项目代码
现在,您已经在balenaCloud仪表板中使Raspberry Pi联机,是时候部署项目代码并将其转换为Bluetooth音频设备了!
1、从GitHub下载项目
正如我们在“所需软件”部分中提到的那样,您需要从GitHub获取balenaSound项目的副本。您可以如下所示从GitHub下载ZIP,但如果您熟悉Git,则可以git clone
按常规方式使用。
Windows用户的重要注意事项:如果您使用的是Windows,则的组合git clone
和balena push
可能由于行尾更改而引起问题;我们建议您结合使用项目的zip下载,balena push
或者如果您想使用,请git clone
同时使用git部署方法 git push
代替balena push
。
2、将项目代码推送到您的Raspberry Pi
正如您所安装的balena CLI在您的计算机上,下载了从GitHub balenaSound代码,并让您的树莓派在线在balenaCloud仪表盘,它的时间推代码,并获得运行的东西!
在解压缩的项目目录中,执行balena push <appName>
,这appName是您在指南中先前设置的应用程序名称。例如:balena push balenaSound
。
如果一切正常,几分钟后,仪表板上的设备信息屏幕应如下所示,表明服务正在运行。
更新:实际在balenaOS 2.44.0+rev3/10.3.7中我们会获得三项服务,包括airplay、bluetooth-audio和spotify。
至此,您已经准备好继续前进,进行连接并尝试一下!
连接您的扬声器
大多数Hi-Fi系统和有源扬声器都将包括辅助(AUX)输入,用于连接诸如新创建的balenaSound设备之类的东西。为此,您需要确保电缆正确。Raspberry Pi(和PHAT DAC)上的音频输出是3.5毫米立体声音频插孔,大多数AUX输入将是相同的,或更常见的是phono / RCA输入,它们是单独的红色和白色连接器。因此,您需要一根电缆才能使用您的设置。AmazonBasics系列是开始寻找的好地方,电缆质量好,而且不会花费太多。
使用balenaSound
试试看
接通Pi的电源并连接扬声器后,即可开始使用!对手机,平板电脑或笔记本电脑上的蓝牙设备进行扫描,您应该会看到balenaSound设备已准备好进行连接。
BalenaSound会作为蓝牙音频接收器呈现给您的设备,因此一旦配对完成,您现在就可以将设备中的任何音频输出发送到旧扬声器!
接下来是什么?
因此,您已经在运行项目,并且以新的生命力干扰了旧的高保真音响系统!现在怎么办?这里有一些想法...
自定义您的设备名称
那是什么?不喜欢这个balenaSound xxxx名字吗?我们已经覆盖了您!只需在balenaCloud仪表板中添加一个称为的设备环境变量BLUETOOTH_DEVICE_NAME
,您的设备就会以新名称重启。
设定输出量
默认情况下,balenaSound会将Raspberry Pi的输出音量设置为100%,前提是您可以随后从所连接的蓝牙设备将音量控制到最大。如果要覆盖此设置,请定义SYSTEM_OUTPUT_VOLUME
环境变量。
其次,balenaSound将播放75%的连接/断开通知声音。如果不合适,则可以使用CONNECTION_NOTIFY_VOLUME
环境变量覆盖它。
注意:这些变量应定义为不带%符号的整数值。
设置蓝牙PIN码
默认情况下,balenaSound蓝牙将使用“安全简单配对”模式进行连接。如果您想覆盖此设置并使用PIN码使用传统模式,则可以通过定义BLUETOOTH_PIN_CODE
环境变量来实现。PIN码必须是数字,最多六位数字(1-999999)。
注意:iOS设备上不再允许使用传统模式。
使用DAC升级音频
Raspberry Pi以出色的音频质量而闻名。幸运的是,许多为Raspberry Pi生产DAC的制造商都解决了这一问题。我已经测试过并且喜欢它的小尺寸和低价格的一个是Pimoroni PHAT DAC。
要使用此功能,您需要对balenaCloud仪表板中的设备配置进行一些更改。第一个是通过编辑现有RESIN_HOST_CONFIG_dtparam
变量来禁用板载音频”audio=off
”。然后,我们添加一个名为其他自定义配置变量BALENA_HOST_CONFIG_dtoverlay
与值hifiberry-dac
。
这实际上是在Raspberry Pi GPIO引脚上启用I2S声音接口,从而使外部DAC能够接收和处理音频输出。
尝试HDMI
如果您的放大器或接收器具有HDMI输入,则还可以使用Raspberry Pi的HDMI输出来传输数字音频信号。
👍
楼主残忍的关闭了评论