這款 Pi Zero AirPlay 揚(yáng)聲器融合了現(xiàn)代和經(jīng)典風(fēng)格。
背景
在尋找圍繞 Raspberry Pi Zero 構(gòu)建的新項(xiàng)目時(shí),我發(fā)現(xiàn)了 Pimoroni 的 pHAT DAC。這個(gè)小插件板為 Pi Zero 添加了音頻播放功能。因?yàn)?pHAT 使用 GPIO 引腳,所以 USB OTG 端口仍可用于 wifi 加密狗。非常適合小型無(wú)線揚(yáng)聲器項(xiàng)目,從而誕生出了制作這個(gè)項(xiàng)目的想法!
硬件
該項(xiàng)目相當(dāng)簡(jiǎn)單,需要以下組件:
pHAT DAC
單聲道 2.5W D 類放大器
WiPi 無(wú)線加密狗
兩個(gè) 100 歐姆電阻
揚(yáng)聲器(4-8 歐姆)
Raspberry Pi Zero 顯然是該項(xiàng)目的大腦,它將運(yùn)行 Shairport 軟件以無(wú)線傳輸音樂(lè)。pHAT DAC 是一個(gè)簡(jiǎn)潔的小插件板,可為 Raspberry Pi 添加音頻。它有一個(gè)插孔輸出,并且可以向其添加 RCA 連接器。RCA 連接器沒(méi)有預(yù)焊的事實(shí)是一個(gè)好處,因?yàn)樗┞读艘纛l線。然后,Adafruit 的小型單聲道放大器從 pHAT 獲取音頻并放大,從揚(yáng)聲器播放音頻。通過(guò) USB OTG 端口連接的 wifi 加密狗為流媒體提供無(wú)線網(wǎng)絡(luò)連接。
我決定制作一個(gè)單聲道揚(yáng)聲器以保持整個(gè)項(xiàng)目的體積不會(huì)太大,使用立體聲支持制作這個(gè)項(xiàng)目意味著擁有第二個(gè)揚(yáng)聲器并用立體聲揚(yáng)聲器替換單聲道放大器。
我知道這不是將立體聲轉(zhuǎn)換為單聲道的最佳方式,但它確實(shí)有效。我試圖從軟件的角度通過(guò)將立體聲下混為單聲道來(lái)解決這個(gè)問(wèn)題,但沒(méi)有完全成功。如果有人對(duì)如何以簡(jiǎn)單的方式實(shí)現(xiàn)這一點(diǎn)有提示,請(qǐng)隨時(shí)在評(píng)論中留下!
軟件
在軟件方面,跟硬件也是差不多難度。
首先從 Raspberry Pi 官方網(wǎng)站下載的最新 Raspbian Jessie 圖像開(kāi)始。
使用“dd”,我將下載的圖像放在 8Gb microSD 卡上,然后用它來(lái)啟動(dòng) 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
啟動(dòng)后,通過(guò)選擇正確的 SSID 并輸入 wifi 密碼在圖形桌面環(huán)境中設(shè)置 wifi。將 Pi Zero 連接到網(wǎng)絡(luò)后,可以更新軟件。
sudo apt-get update
sudo apt-get upgrade
然后是安裝項(xiàng)目特定軟件的時(shí)候了:支持 pHAT DAC 和 AirPlay 軟件。
pHAT DAC
Pimoroni 網(wǎng)站上提供了有關(guān)如何安裝和使用 pHAT DAC的教程。不過(guò),我的做法略有不同,因?yàn)槲覜](méi)有禁用默認(rèn)聲音驅(qū)動(dòng)程序。
設(shè)備樹(shù)覆蓋用于描述硬件。由于 pHAT DAC 使用與 HiFi Berry 相同的硬件,因此可以通過(guò)將以下行附加到配置文件來(lái)使用相同的覆蓋:
pi@raspberrypi:~ $ sudo nano /boot/config.txt
# pHAT DAC
dtoverlay=hifiberry-dac
重新啟動(dòng)后,我使用“aplay”應(yīng)用程序列出了音頻設(shè)備,它是:卡 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
為了使其成為音頻播放的默認(rèn)設(shè)置,我更新了 asound.conf 文件并將對(duì)“card 0”的所有引用替換為“card 1”。
pi@raspberrypi:~ $ sudo nano /etc/asound.conf
pcm.!default {
type hw
card 1
}
ctl.!default {
type hw
card 1
}
最后重新啟動(dòng)確保所有內(nèi)容都已應(yīng)用。
Shairport
Shairport 是一個(gè) Airtunes 模擬器,允許兼容的 iOS 設(shè)備或 iTunes 將音頻流式傳輸?shù)竭\(yùn)行它的設(shè)備。
在安裝和運(yùn)行 Shairport 之前,需要滿足一些依賴項(xiàng)。
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
處理好依賴關(guān)系后,可以安裝實(shí)際的 Shairport 軟件。
pi@raspberrypi:~ $ git clone https://github.com/hendrikw82/shairport.git
pi@raspberrypi:~ $ cd shairport/
pi@raspberrypi:~/shairport $ make
在這個(gè)階段,可以通過(guò)手動(dòng)運(yùn)行 shairport.pl 腳本來(lái)測(cè)試是否一切都安裝正確。
pi@raspberrypi:~/shairport $ ./shairport.pl -a AirPi
在確認(rèn)一切都按預(yù)期工作后,可以對(duì) shairport 應(yīng)用程序進(jìn)行守護(hù),以使其在啟動(dòng)時(shí)自動(dòng)啟動(dòng)。
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 設(shè)備的名稱。這可以是你想要的任何東西。就我而言,我選擇了一些通用的東西,比如“AirPi”。
pi@raspberrypi:~/shairport $ sudo nano /etc/init.d/shairport
#DAEMON_ARGS="-w $PIDFILE"
DAEMON_ARGS="-w $PIDFILE -a AirPi"
重新啟動(dòng) Pi。Hairport 應(yīng)該會(huì)自動(dòng)運(yùn)行。
外殼
是時(shí)候?qū)⒐ぷ髦械?AirPlay 揚(yáng)聲器包裝成漂亮的東西了,為它制作一個(gè)漂亮的外殼。
這實(shí)際上是該項(xiàng)目中最困難的部分。主要是因?yàn)槲蚁胗媚绢^制作它,并且形狀有點(diǎn)復(fù)雜。這意味著在使用斜切鋸切割正確長(zhǎng)度的零件之前做一些數(shù)學(xué)運(yùn)算,然后確保切割正確的角度以便正確連接零件。由于我不是木工,而且我可以使用的工具也不是最合適的,因此結(jié)果并不總是像您期望的那樣準(zhǔn)確。
通過(guò)添加 3D 打印部件為構(gòu)建賦予了一些重點(diǎn):側(cè)面板和揚(yáng)聲器格柵。其中一個(gè)側(cè)面板沒(méi)有粘在適當(dāng)?shù)奈恢茫绻枰梢詫⑵湟瞥员阍L問(wèn)電子設(shè)備。我猶豫是否將 3D 打印部件涂成不同的顏色以獲得鍍鉻或黃銅外觀,但最終還是將這些部件保持原樣。總的來(lái)說(shuō),它給構(gòu)建帶來(lái)了一些時(shí)髦的一面,不是嗎?
這就是這個(gè)項(xiàng)目最終的樣子:
-
揚(yáng)聲器
+關(guān)注
關(guān)注
29文章
1340瀏覽量
64042 -
AirPlay
+關(guān)注
關(guān)注
0文章
13瀏覽量
10443 -
樹(shù)莓派
+關(guān)注
關(guān)注
121文章
1985瀏覽量
107265
發(fā)布評(píng)論請(qǐng)先 登錄
把古董收音機(jī)改造成Airplay播放器
樹(shù)莓派之鬼影實(shí)錄(? ? ?)?
樹(shù)莓派Zero小夜燈
樹(shù)莓派zero使用USB HUB集線器的問(wèn)題
【NanoPi Duo開(kāi)發(fā)板試用申請(qǐng)】基于NanoPi Duo的家庭Airplay點(diǎn)播中心
樹(shù)莓派zero wh坑分享
如何實(shí)現(xiàn)樹(shù)莓派zero w網(wǎng)絡(luò)穿透遠(yuǎn)程跨網(wǎng)絡(luò)監(jiān)控功能呢
利用樹(shù)莓派實(shí)現(xiàn)低成本的智能家居系統(tǒng)
利用樹(shù)莓派制作Pi Zero游戲機(jī)的方法與步驟
樹(shù)莓派Raspberry Pi Zero的電路原理圖免費(fèi)下載

微雪電子樹(shù)莓派 Zero WH介紹

微雪電子樹(shù)莓派RPi Zero W介紹

樹(shù)莓派 Zero W的電路原理圖免費(fèi)下載

樹(shù)莓派ZERO電源方案

用 樹(shù)莓派 Zero 打造的智能漫游車!

評(píng)論