电子工程师技术服务社区
公告
登录
|
注册
首页
技术问答
厂商活动
正点原子
板卡试用
资源库
下载
文章
社区首页
文章
基于NanoPi neo的网络音箱制作
分 享
扫描二维码分享
基于NanoPi neo的网络音箱制作
NanoPi
PCM5102
网络音箱
LMS服务
xdsnet
关注
发布时间: 2020-08-20
丨
阅读: 3069
## 源起 因为手上有个NanoPi neo,想着做个什么东西,这货有网络接口,没有直接的HDMI之类接口,想着要把做个网络音箱吧,可以用PC或者手机去控制播放,多方便啊! 说干就干! 可光这货也不能搞啊,再找找家里的存货, 有老的适配PC的有源音箱,有淘汰的手机5V电源,小容量(8G)的中速tf卡(差不多可以放系统啦) 其实光这个也够了,不过NanoPi neo自身的DAC输出也存在接线问题,效果吗,还不够,遂想着升级一下,搞个高大上的专门DAC(因为NanoPi neo支持I2S)。 其实官方有个高大上的专门音频DAC,[NanoHat PCM5102A](http://wiki.friendlyarm.com/wiki/index.php/NanoHat_PCM5102A),不过价格嘛,有点小贵,还是自力更生吧,还可以自己安排接线,遂在某宝上用官方四分之一的价格淘到同样用PCM5102A的DAC模块。 它长这样: ![PCM5102模块](https://cf02.ickimg.com/bbsimages/202008/c9adc9871144876bcc08415dd15106af.jpg "PCM5102模块") 东西齐备,可以开工啦。 ## 基本系统安装 基本是[参考官方wiki](http://wiki.friendlyarm.com/wiki/index.php/NanoPi_NEO/zh)来安装基本系统,下载的是最新的[nanopi-neo_sd_friendlycore-xenial_4.14固件](http://download.friendlyarm.com/nanopineo)(这里吐槽一下,官方是某度网盘下载,无会员真心慢啊!) 固件写入工具是windows下的[Etcher]()(推荐这个工具,固件写入很方便)。具体操作就略过啦,只要固件下载完整,tf卡没有问题,写入是一次成功的。 设备的连接也省略啦,参考[官方的wiki](http://wiki.friendlyarm.com/wiki/index.php/NanoPi_NEO/zh)就好。 因为NanoPi neo没有直接的视频输出,就采用的串口连接来监视(接线也参考官方wiki),比特率是**115200**,官方没有介绍这个情况。 直接从串口USB取电来进行首次启动。一次启动成功,连接网线后自动获取到地址,后面就可以用网络ssh登录来进行管理啦。 ## I2S DAC的连接与启用 因为不是官方的I2S DAC,当然不能一插启用,不过也不是难事,购买的PCM5102A模块随配了管脚针,也有详细的接线图,就先焊接用到的脚,一共需要5根线(不需要6根线,可以省略时钟信号线,4根线也是不够的!),接线关系如下图 ![NanoPineo连接PCM5102A DAC](https://cf02.ickimg.com/bbsimages/202008/fc6b2710a2d2e0606ec39ac9d072c136.jpg "NanoPineo连接PCM5102A DAC") 连接好后,还需要在系统中配置一下,才能正式启用这个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): ``` pcm.!default { type hw card 4 device 0 } ctl.!default { type hw card 4 } ``` 这时(不指定输出设备的播放)运行 ``` sudo aplay /root/Music/test.wav ``` 应该正常出声。至此I2S设备的连接成功,可以进行下一步。 ## 音箱硬件改造 主要涉及开孔安装固定NanoPi neo,并且能外接网线(同时提供了外露USB接口), 固定I2S音频DAC,固定针对NanoPi neo的专用电源适配器(那个5V的手机,I2S的电是经过NanoPi 取的), 同时电源和原来的有源音箱公用电源开关(220V的输入开关)。 以及相应的连接线。 因为个人的物件情况不同,所以图的参考价值不大(其实除了电源外,和外部连接差不多,和音箱连接的就是把I2S音频DAC的输出接到音箱的音频输入去而已),所以这里就不放图啦,不过有一个大致[DIY过程的视频](https://www.icxbk.com/video/detail/1261.html)可以参考下。 这个过程主要注意各种接线的准确,还要保证接线的稳定耐用,因为我主要采用的杜邦线,个别用到了焊接,对杜邦线,其实可以点点热熔胶协助固定下(我就是这么搞的)。 ## 真正网络音箱功能的实现 真正实现网络音箱功能,还需要安装一个专门的客户端软件,就是[squeezelite](http://www.github.com/ralph-irving/squeezelite),这个软件是[罗技Logitech Media Server](http://wiki.slimdevices.com/index.php/Logitech_Media_Server) 的无头(headless)客户端, 可以算作是罗技Squeezebox的一种模拟器。 在NanoPi neo的标准系统中安装它是很方便的,直接: ``` sudo apt-get update sudo apt-get install squeezelite ``` 即可安装完成,且自动启动squeezelite(同时加入到自动启动中,即下次重启也会自动启动)。 如果在同一个内网段中有`罗技Logitech Media Server`服务,则就可以实现网络音箱功能啦。 我是有一个罗技Logitech Media Server服务的,在NanoPi neo 安装了squeezelite后,就检测到了一个支持的NanoPi neo播放设备(因为它们在一个内网网段中,跨网段的不行),这样就可以在罗技Logitech Media Server中进行网络播放啦,如下图所示: ![播放控制展示](https://cf02.ickimg.com/bbsimages/202008/aacfa7977fc89ad8272685d6900caab2.png "播放控制展示") 至此(详细演示可以参考[DIY过程的视频](https://www.icxbk.com/video/detail/1261.html)中相关部分),我的网络音箱功能实现。 ## 可能的升级 前面网络音箱功能确实实现啦,但还有点可能的升级空间,比如网线也不接的网络音箱。 这对NanoPi neo来说,不能直接实现,还需要添加个无线网口设备,需要用到唯一的USB接口,它兼容的(测试成功的)USB wifi卡有 1. RTL8188CUS/8188EU 802.11n WLAN Adapter 2. RT2070 Wireless Adapter 3. RT2870/RT3070 Wireless Adapter 4. RTL8192CU Wireless Adapterv 5. 小米WiFi mt7601 6. 5G USB WiFi RTL8821CU 7. 5G USB WiFi RTL8812AU 选择任意一款后,使用`nmcli`来完成无线联网即可,如果是其它不在列表中的wifi卡,也可以尝试 ``` sudo apt-get install linux-firmware ``` 安装更多的wifi网口驱动来看看是否能正确驱动起来。 具体nmcli管理无线网络的步骤如下: * 切换到root账户 ``` sudo su root ``` * 查看网络设备列表 ``` nmcli dev ``` **注意**,如果列出的设备状态是 `unmanaged` 的,说明网络设备不受NetworkManager管理,你需要清空 `/etc/network/interfaces`下的网络设置,然后重启. * 开启WiFi ``` nmcli r wifi on ``` * 扫描附近的 WiFi 热点 ``` nmcli dev wifi ``` * 连接到指定的 WiFi 热点 ``` nmcli dev wifi connect "SSID" password "PASSWORD" ifname wlan0 ``` **注意**请将 `SSID`和 `PASSWORD` 替换成实际的 WiFi名称和密码。 连接成功后,下次开机,WiFi 也会自动连接。 这样网络有源音箱就升级为无线有源音箱,可以摆脱网线束缚啦。
原创作品,未经权利人授权禁止转载。详情见
转载须知
。
举报文章
点赞
(
1
)
xdsnet
擅长:科研教育
关注
评论
(0)
登录后可评论,请
登录
或
注册
相关文章推荐
MK-米客方德推出工业级存储卡
Beetle ESP32 C3 蓝牙数据收发
Beetle ESP32 C3 wifi联网获取实时天气信息
开箱测评Beetle ESP32-C3 (RISC-V芯片)模块
正点原子数控电源DP100测评
DP100试用评测-----开箱+初体验
Beetle ESP32 C3环境搭建
【花雕体验】16 使用Beetle ESP32 C3控制8X32位WS2812硬屏之二
X
你的打赏是对原创作者最大的认可
请选择打赏IC币的数量,一经提交无法退回 !
100IC币
500IC币
1000IC币
自定义
IC币
确定
X
提交成功 ! 谢谢您的支持
返回
我要举报该内容理由
×
广告及垃圾信息
抄袭或未经授权
其它举报理由
请输入您举报的理由(50字以内)
取消
提交