用NanoPi neo制作网络音箱了解一下?
因為手上有個NanoPi neo,想著做個什么東西,這貨有網絡接口,沒有直接的HDMI之類接口,想著要把做個網絡音箱吧,可以用PC或者手機去控制播放,多方便啊!
說干就干!
可光這貨也不能搞啊,再找找家里的存貨,有老的適配PC的有源音箱,有淘汰的手機5V電源,小容量(8G)的中速tf卡(差不多可以放系統啦)
其實光這個也夠了,不過NanoPi neo自身的DAC輸出也存在接線問題,效果嗎,還不夠,遂想著升級一下,搞個高大上的專門DAC(因為NanoPi neo支持I2S)。
其實官方有個高大上的專門音頻DAC,NanoHat PCM5102A,不過價格嘛,有點小貴,還是自力更生吧,還可以自己安排接線,遂在某寶上用官方四分之一的價格淘到同樣用PCM5102A的DAC模塊。
它長這樣:
東西齊備,可以開工啦。
基本系統安裝
基本是參考官方wiki來安裝基本系統,下載的是最新的nanopi-neo_sd_friendlycore-xenial_4.14固件(這里吐槽一下,官方是某度網盤下載,無會員真心慢啊!)
固件寫入工具是windows下的Etcher(推薦這個工具,固件寫入很方便)。具體操作就略過啦,只要固件下載完整,tf卡沒有問題,寫入是一次成功的。
設備的連接也省略啦,參考官方的wiki就好。
因為NanoPi neo沒有直接的視頻輸出,就采用的串口連接來監視(接線也參考官方wiki),比特率是115200,官方沒有介紹這個情況。
直接從串口USB取電來進行首次啟動。一次啟動成功,連接網線后自動獲取到地址,后面就可以用網絡ssh登錄來進行管理啦。
I2S DAC的連接與啟用
因為不是官方的I2SDAC,當然不能一插啟用,不過也不是難事,購買的PCM5102A模塊隨配了管腳針,也有詳細的接線圖,就先焊接用到的腳,一共需要5根線(不需要6根線,可以省略時鐘信號線,4根線也是不夠的!),接線關系如下圖
連接好后,還需要在系統中配置一下,才能正式啟用這個I2S音頻DAC的輸出,主要的步驟是先登錄進系統,運行
sudo npi-config啟動配置,依次進入 Advanced Options -> I2S,選擇啟用(Enable) I2S設備即可,設置后需要重啟。
重啟后用,安裝音頻相關應用(主要是alsa應用),并列出系統音頻設備
apt-get?update apt-get?install?libasound2 apt-get?install?alsa-base apt-get?install?alsa-utils aplay -l查看音頻設備,我的有4個設備,其中設備4是I2S對應的PCM5102A設備,所以測試
sudo aplay /root/Music/test.wav -D plughw:4看是否有聲音(可以插耳機試),確認后再看是否把I2S設備設置為默認音頻設備:
查看/etc/asound.conf中是否和檢測到的I2S設備編號一致,比如我的就是(設備編號是4):
這時(不指定輸出設備的播放)運行
sudo aplay /root/Music/test.wav應該正常出聲。至此I2S設備的連接成功,可以進行下一步。
音箱硬件改造
主要涉及開孔安裝固定NanoPi neo,并且能外接網線(同時提供了外露USB接口),
固定I2S音頻DAC,固定針對NanoPi neo的專用電源適配器(那個5V的手機,I2S的電是經過NanoPi 取的),
同時電源和原來的有源音箱公用電源開關(220V的輸入開關)。
以及相應的連接線。
因為個人的物件情況不同,所以圖的參考價值不大(其實除了電源外,和外部連接差不多,和音箱連接的就是把I2S音頻DAC的輸出接到音箱的音頻輸入去而已),所以這里就不放圖啦,不過有一個大致DIY過程的視頻可以參考下。
這個過程主要注意各種接線的準確,還要保證接線的穩定耐用,因為我主要采用的杜邦線,個別用到了焊接,對杜邦線,其實可以點點熱熔膠協助固定下(我就是這么搞的)。
真正網絡音箱功能的實現
真正實現網絡音箱功能,還需要安裝一個專門的客戶端軟件,就是squeezelite,這個軟件是羅技Logitech Media Server 的無頭(headless)客戶端,可以算作是羅技Squeezebox的一種模擬器。
在NanoPi neo的標準系統中安裝它是很方便的,直接:
即可安裝完成,且自動啟動squeezelite(同時加入到自動啟動中,即下次重啟也會自動啟動)。
如果在同一個內網段中有羅技Logitech Media Server服務,則就可以實現網絡音箱功能啦。
我是有一個羅技Logitech Media Server服務的,在NanoPi neo 安裝了squeezelite后,就檢測到了一個支持的NanoPi neo播放設備(因為它們在一個內網網段中,跨網段的不行),這樣就可以在羅技Logitech Media Server中進行網絡播放啦,如下圖所示:
至此(詳細演示可以參考DIY過程的視頻中相關部分),我的網絡音箱功能實現。
可能的升級
前面網絡音箱功能確實實現啦,但還有點可能的升級空間,比如網線也不接的網絡音箱。
這對NanoPi neo來說,不能直接實現,還需要添加個無線網口設備,需要用到唯一的USB接口,它兼容的(測試成功的)USB wifi卡有
RTL8188CUS/8188EU 802.11n WLAN Adapter
RT2070 Wireless Adapter
RT2870/RT3070 Wireless Adapter
RTL8192CU Wireless Adapterv
小米WiFi mt7601
5G USB WiFi RTL8821CU
5G USB WiFi RTL8812AU
選擇任意一款后,使用nmcli來完成無線聯網即可,如果是其它不在列表中的wifi卡,也可以嘗試
sudo apt-get install linux-firmware安裝更多的wifi網口驅動來看看是否能正確驅動起來。
具體nmcli管理無線網絡的步驟如下:
切換到root賬戶
查看網絡設備列表
注意,如果列出的設備狀態是 unmanaged 的,說明網絡設備不受NetworkManager管理,你需要清空 /etc/network/interfaces下的網絡設置,然后重啟.
開啟WiFi
掃描附近的 WiFi 熱點
連接到指定的 WiFi 熱點
注意請將 SSID和 PASSWORD 替換成實際的 WiFi名稱和密碼。
連接成功后,下次開機,WiFi 也會自動連接。
這樣網絡有源音箱就升級為無線有源音箱,可以擺脫網線束縛啦。
總結
以上是生活随笔為你收集整理的用NanoPi neo制作网络音箱了解一下?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【arduino】arudino开发ES
- 下一篇: 【arduino】继续用arduino玩