0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何利用树莓派zero实现AirPlay扬声器的设计

科技观察员 来源:Frederick Vandenbosch 作者:Frederick Vandenbosch 2022-05-26 17:36 次阅读

这款 Pi Zero AirPlay 扬声器融合了现代和经典风格。

背景

在寻找围绕 Raspberry Pi Zero 构建的新项目时,我发现了 Pimoroni 的 pHAT DAC。这个小插件板为 Pi Zero 添加了音频播放功能。因为 pHAT 使用 GPIO 引脚,所以 USB OTG 端口仍可用于 wifi 加密狗。非常适合小型无线扬声器项目,从而诞生出了制作这个项目的想法!

硬件

该项目相当简单,需要以下组件:

树莓派

pHAT DAC

单声道 2.5W D 类放大器

WiPi 无线加密狗

两个 100 欧姆电阻

扬声器(4-8 欧姆)

Raspberry Pi Zero 显然是该项目的大脑,它将运行 Shairport 软件以无线传输音乐。pHAT DAC 是一个简洁的小插件板,可为 Raspberry Pi 添加音频。它有一个插孔输出,并且可以向其添加 RCA 连接器。RCA 连接器没有预焊的事实是一个好处,因为它暴露了音频线。然后,Adafruit 的小型单声道放大器从 pHAT 获取音频并放大,从扬声器播放音频。通过 USB OTG 端口连接的 wifi 加密狗为流媒体提供无线网络连接。

我决定制作一个单声道扬声器以保持整个项目的体积不会太大,使用立体声支持制作这个项目意味着拥有第二个扬声器并用立体声扬声器替换单声道放大器。

pYYBAGKPSM-AIfolAAkQzB3qKng223.png

我知道这不是将立体声转换为单声道的最佳方式,但它确实有效。我试图从软件的角度通过将立体声下混为单声道来解决这个问题,但没有完全成功。如果有人对如何以简单的方式实现这一点有提示,请随时在评论中留下!

软件

在软件方面,跟硬件也是差不多难度。

首先从 Raspberry Pi 官方网站下载最新 Raspbian Jessie 图像开始。

使用“dd”,我将下载的图像放在 8Gb microSD 卡上,然后用它来启动 Pi Zero。

sudo diskutil list
sudo diskutil unmountDisk /dev/disk3
sudo dd if=Downloads/2015-11-21-raspbian-jessie.img of=/dev/disk3 bs=1m
sudo diskutil unmountDisk /dev/disk3

启动后,通过选择正确的 SSID 并输入 wifi 密码在图形桌面环境中设置 wifi。将 Pi Zero 连接到网络后,可以更新软件。

sudo apt-get update
sudo apt-get upgrade

然后是安装项目特定软件的时候了:支持 pHAT DAC 和 AirPlay 软件。

pHAT DAC
Pimoroni 网站上提供了有关如何安装和使用 pHAT DAC的教程。不过,我的做法略有不同,因为我没有禁用默认声音驱动程序。

设备树覆盖用于描述硬件。由于 pHAT DAC 使用与 HiFi Berry 相同的硬件,因此可以通过将以下行附加到配置文件来使用相同的覆盖:

pi@raspberrypi:~ $ sudo nano /boot/config.txt

# pHAT DAC
dtoverlay=hifiberry-dac

重新启动后,我使用“aplay”应用程序列出了音频设备,它是:卡 1 - HiFi Berry 。

pi@raspberrypi:~ $ aplay -l

**** List of PLAYBACK Hardware Devices ****
card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
Subdevices: 8/8
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
Subdevice #7: subdevice #7
card 0: ALSA [bcm2835 ALSA], device 1: bcm2835 ALSA [bcm2835 IEC958/HDMI]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: sndrpihifiberry [snd_rpi_hifiberry_dac], device 0: HifiBerry DAC HiFi pcm5102a-hifi-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0

为了使其成为音频播放的默认设置,我更新了 asound.conf 文件并将对“card 0”的所有引用替换为“card 1”。

pi@raspberrypi:~ $ sudo nano /etc/asound.conf

pcm.!default {
type hw
card 1
}

ctl.!default {
type hw
card 1
}

最后重新启动确保所有内容都已应用。

Shairport
Shairport 是一个 Airtunes 模拟器,允许兼容的 iOS 设备或 iTunes 将音频流式传输到运行它的设备。

在安装和运行 Shairport 之前,需要满足一些依赖项。

pi@raspberrypi:~ $ sudo apt-get install git libao-dev libssl-dev libcrypt-openssl-rsa-perl libio-socket-inet6-perl libwww-perl avahi-utils libmodule-build-perl
pi@raspberrypi:~ $ git clone https://github.com/njh/perl-net-sdp.git perl-net-sdp
pi@raspberrypi:~ $ cd perl-net-sdp/
pi@raspberrypi:~/perl-net-sdp $ perl Build.PL
pi@raspberrypi:~/perl-net-sdp $ sudo ./Build
pi@raspberrypi:~/perl-net-sdp $ sudo ./Build test
pi@raspberrypi:~/perl-net-sdp $ sudo ./Build install

处理好依赖关系后,可以安装实际的 Shairport 软件。

pi@raspberrypi:~ $ git clone https://github.com/hendrikw82/shairport.git
pi@raspberrypi:~ $ cd shairport/
pi@raspberrypi:~/shairport $ make

在这个阶段,可以通过手动运行 shairport.pl 脚本来测试是否一切都安装正确。

pi@raspberrypi:~/shairport $ ./shairport.pl -a AirPi

在确认一切都按预期工作后,可以对 shairport 应用程序进行守护,以使其在启动时自动启动。

pi@raspberrypi:~/shairport $ sudo make install
pi@raspberrypi:~/shairport $ sudo cp shairport.init.sample /etc/init.d/shairport
pi@raspberrypi:~/shairport $ sudo chmod +x /etc/init.d/shairport
pi@raspberrypi:~/shairport $ sudo update-rc.d shairport defaults

最后,需要修改 shairport 文件以指定 AirPlay 设备的名称。这可以是你想要的任何东西。就我而言,我选择了一些通用的东西,比如“AirPi”。

pi@raspberrypi:~/shairport $ sudo nano /etc/init.d/shairport

#DAEMON_ARGS="-w $PIDFILE"
DAEMON_ARGS="-w $PIDFILE -a AirPi"

重新启动 Pi。Hairport 应该会自动运行。

外壳

是时候将工作中的 AirPlay 扬声器包装成漂亮的东西了,为它制作一个漂亮的外壳。

这实际上是该项目中最困难的部分。主要是因为我想用木头制作它,并且形状有点复杂。这意味着在使用斜切锯切割正确长度的零件之前做一些数学运算,然后确保切割正确的角度以便正确连接零件。由于我不是木工,而且我可以使用的工具也不是最合适的,因此结果并不总是像您期望的那样准确。

poYBAGKPSN6AeRuNAAVVW5aNZ9I403.png

通过添加 3D 打印部件为构建赋予了一些重点:侧面板和扬声器格栅。其中一个侧面板没有粘在适当的位置,如果需要,可以将其移除,以便访问电子设备。我犹豫是否将 3D 打印部件涂成不同的颜色以获得镀铬或黄铜外观,但最终还是将这些部件保持原样。总的来说,它给构建带来了一些时髦的一面,不是吗?

这就是这个项目最终的样子:

poYBAGKPSO2ACGqGAAcCxejCy4s576.png

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 扬声器
    +关注

    关注

    29

    文章

    1287

    浏览量

    62643
  • AirPlay
    +关注

    关注

    0

    文章

    12

    浏览量

    10331
  • 树莓派
    +关注

    关注

    116

    文章

    1686

    浏览量

    105439
收藏 人收藏

    评论

    相关推荐

    把古董收音机改造成Airplay播放

    的声音——保留古典感嘛至少一个原来的旋钮还能够用原来提示灯能够使用我遇到了一些障碍:想要用原来的扬声器,我需要一个放大器想要用原来提示灯,需要120V的电源树莓只需要5V我不想要搞成两个插头...囧
    发表于 12-30 11:07

    树莓之鬼影实录(≖ ‿ ≖)✧

    到投影仪、热释电红外运动传感树莓和一块薄喷了反光漆的有机玻璃做屏幕。视频投影仪:用HDMI接口和转换电缆将投影仪接到树莓三脚架(可选
    发表于 01-08 14:03

    树莓Zero小夜灯

    `找个自己喜欢的小灯(带两脚插头),用树莓zero做一个能用手机控制的小夜灯。其实如果用树莓2做的话容易得多因为不需要焊引脚,但是既然是
    发表于 01-28 15:03

    树莓zero使用USB HUB集线器的问题

    本帖最后由 makersky 于 2017-7-6 11:05 编辑 请教一下大家,树莓zero板子插上hub集线器能正常使用吗?为什么我的树莓
    发表于 07-06 10:59

    【NanoPi Duo开发板试用申请】基于NanoPi Duo的家庭Airplay点播中心

    项目名称:基于NanoPi Duo的家庭Airplay点播中心试用计划:NanoPi Duo板子小巧做工精致,搭载全志H2+512MB内存,既有树莓Zero W的小巧与无线功能,可谓
    发表于 09-21 16:21

    树莓zero wh坑分享

    树莓型号:树莓zero wh坑一:电源线按照网上的教程烧录好SD卡,使用5v2a的电源,结果能看到电源灯一直闪,死活看不到
    发表于 01-13 06:25

    如何实现树莓zero w网络穿透远程跨网络监控功能呢

    如何对树莓zero w摄像头进行配置从而实现内网监控功能?如何实现树莓
    发表于 03-01 06:00

    利用树莓实现低成本的智能家居系统

    使用树莓 Zero W,花更少的钱,让你家的电器变智能~
    的头像 发表于 05-31 06:04 6387次阅读

    利用树莓制作Pi Zero游戏机的方法与步骤

    树莓制作Pi Zero游戏机,它在控制内部运行retropie,这是一个非常简单树莓项目
    的头像 发表于 05-23 06:10 6269次阅读

    树莓Raspberry Pi Zero的电路原理图免费下载

    本文档的主要内容详细介绍的是树莓Raspberry Pi Zero的电路原理图免费下载。
    发表于 08-14 08:00 73次下载
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>Raspberry Pi <b class='flag-5'>Zero</b>的电路原理图免费下载

    微雪电子树莓 Zero WH介绍

    树莓家族里的新生代宠儿,与前辈1代一样用ARM11内核的BCM2835处理,但我的运行速度比之提升了约40%。 相比Raspberry Pi Zero,我增加了与3代B一样的WiF
    的头像 发表于 01-14 08:56 1.3w次阅读
    微雪电子<b class='flag-5'>树莓</b><b class='flag-5'>派</b> <b class='flag-5'>Zero</b> WH介绍

    微雪电子树莓RPi Zero W介绍

    Raspberry Pi Zero W 树莓Zero W 1GHZ CPU、低功耗蓝牙4.1、1G内存 型号 Raspberry Pi Zero
    的头像 发表于 01-14 08:50 4219次阅读
    微雪电子<b class='flag-5'>树莓</b><b class='flag-5'>派</b>RPi <b class='flag-5'>Zero</b> W介绍

    树莓 Zero W的电路原理图免费下载

    本文档的主要内容详细介绍的是树莓 Zero W的电路原理图免费下载。
    发表于 12-24 17:58 115次下载
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b> <b class='flag-5'>Zero</b> W的电路原理图免费下载

    树莓ZERO电源方案

    本文章针对树莓zero在实际项目开发过程中,如果不能接USB数据线的情况下;电源管理方案;
    发表于 11-08 09:51 10次下载
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b><b class='flag-5'>ZERO</b>电源方案

    树莓有史以来首次涨价

    关注+星标公众号,不错过精彩内容参考来源 |DF创客社区最近,树莓基金会发布了树莓Zero的下一代:
    发表于 11-25 20:06 88次下载
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>有史以来首次涨价