如何利用树莓派Zero Wireless实现微型流媒体收音机的设计

描述

项目灵感

我曾经喜欢玩我父亲 1940 年代的 Zenith 收音机,收听美国和世界各地的电台。多年来他的魅力一直萦绕在我心头:美丽的表盘、与那些调音旋钮的奇妙触感。Zenith 是当时的“用户界面”之王。因此,我一直在关注其他有老式广播项目的人并渴望自己动手制作一个复古广播 - 重现那些美好的旧时光。

而现在它就在这里 ,并且非常的便携。

树莓派

我研究了很多旧收音机。例如“大教堂”收音机,看起来很酷,但很难用 3D 建模、打印和组装。最后,我选择了经典的 Zenith “Cube” 5R216 型号。我并没有试图完全的复制 5R216。我只是想要添加一些类似的外观元素。

树莓派

特别说明 - 3D 打印、焊接、代码安装

这个项目有大量的焊接工作,有些有点挑战性。真正的工作从将组件组装到 3D 打印外壳中开始。外壳小于 5 英寸/120 平方毫米(如果您不按比例放大 3D 打印)。如果你的手很大,你可能会遇到困难。如果您有更大的构建平台 3D 打印机,我强烈建议您按比例放大盒子和正面 - 但您必须保持其他尺寸相同。

成本

约 100 美元

构建时间

2 天,不包括 3D 打印。3D 打印分为两个主要部分,6.5 小时和 11.5 小时,以及 2x 1 小时打印。

项目概述

完成此项目后,您将拥有一个由流行的罗技媒体服务器 (LMS) 提供支持的工作互联网流媒体广播。LMS 的客户端 SqueezeLite 安装在同一个树莓派上,构成一个完整的独立音乐系统。您将能够使用调谐旋钮调谐 5 个(或更多,通过一些小的代码调整)您最喜欢的 Pandora 频道、互联网广播电台或播放列表。您也可以使用提供的网页来控制音乐,或使用IOS / Android应用。PI TFT 显示屏将模拟与调谐旋钮配合使用的收音机表盘。调谐旋钮还可以让您选择不同的屏幕:装饰艺术时钟或“正在播放”的封面艺术。按下调谐按钮将切换暂停/播放、循环显示屏幕并重新启动 SqueezLite 播放器。另一个旋钮将打开和关闭设备,并控制音量。

如果你想使用Pandora,你必须有一个付费账户。

如何运行

pi3d 图形软件绘制收音机表盘和指针,以及装饰艺术时钟和 Now Playing 艺术。当调音旋钮转动指针时,它的位置(基于圆的度数)在字典中查找。pylms 软件是 LMS 命令的 Python 包装器。如果收藏夹在预映射位置的字典中,pylms 会向罗技媒体服务器 (LMS) 发送播放请求。然后,LMS 向 SqueezeLite 播放器发送播放收藏夹的请求。

调谐旋钮也是一个按钮。短按可通过 pylms 切换暂停/播放。长按会触发屏幕更改为时钟或正在播放的艺术作品,或返回收音机拨号。Pi3d 显示时钟。Now Playing 艺术和曲目标题从 LMS 传递到 pi3d 以进行绘制。向上/向下转动音量旋钮会通过 pyLMS 发送请求。音量旋钮也有一个按钮。它可以触发安全关机/开机/重置。有关详细信息,请参阅下面的操作部分。

树莓派

过程

在构建时测试硬件/软件模块以确保一切正常,这是工作流程:

下载/配置/测试所需软件

焊接元件并进行测试。回到软件。根据需要重复。

打印 3D 零件。后加工品尝

在最终组装到外壳之前测试完成的硬件

在 3D 机箱中组装硬件

最后 - 非常高兴收听广播电台 K-YOU(密西西比河以东的 W-YOU)

建造

第 1 步:Raspbian Stretch Lite

下载Debian Stretch Lite

安装到micro sd卡。这是一套很好的说明。

需要将两个文件添加到新的 sd 映像卡上的 /boot 目录中。

在Windows上,创建一个名为 ssh 的空文件和一个名为 wpa_supplicant.conf 的文件,其内容如下所示(第二个框)

对于Linux/Mac:

树莓派

对于Windows/Linux/Mac ,输入并保存以下内容,将 ssid 和 psk 更改为路由器的 ssid 和密码:

树莓派

配置 Raspbian 后,无头运行(无显示器/键盘/鼠标) - 将 SD 卡插入您的 pi 并打开电源。等待几分钟让 pi 完全启动。如果您运行的是 Windows,请下载 putty 终端模拟器以使用 SSH 连接到 pi。您应该能够从路由器的网页中找到 IP 地址。并且,从 Mac/Linux 终端通过 SSH 登录:

树莓派

其中“192.168.0.xxx”=您的 pi 的 IP 地址(不带引号)。默认密码是覆盆子。确保在第一次登录时更改它。您还应该按照gerrelt 的建议,通过以下方式配置其他设置:

树莓派

网络选项/主机名(我将主机命名为 miniz)

位置选项

高级选项 - 扩展文件系统和内存拆分

对于内存拆分,将值更改为 128 (稍后需要 pi3d)

完成配置后,重启。当您重新登录时,更新软件包并设置 git:

树莓派

克隆这个 github 存储库将在 /home/pi/miniz 下创建一个新目录。此 miniz 目录包含此项目所需的所有资产,包括安装脚本和文档。

第 2 步:准备初始硬件

将树莓派堆叠头焊接到 pi 零。这将通过面包板将单声道放大器和扬声器连接到 pi 以进行声音安装测试。注意方向。pi 零接头引脚将插入 piTFT 的背面。所以,圆周率上的所有引脚都是颠倒和向后的!这很令人困惑,可能会导致错误连接。

这张图应该会有所帮助。转动 pi,使 pi 的背面朝上,树莓派的大丝网版面朝上:

树莓派

插入堆叠头,使母头朝上,面向自己这边。用蓝色油漆工的胶带或蓝色大头钉固定标题。确保它们完全插入并与电路板成 90 度。将 pi 翻过来进行焊接。

我发现焊接堆叠头很困难。我不得不重新做几个桥接焊针和一些接头不良的焊针。我的建议是慢慢来,小心,先焊接内部引脚,然后外部。单向工作,一次完成一排针。

接下来,设置单声道放大器,这是一项快速焊接工作。Adafruit 在learn.adafruit.com上有关于放大器的完整文章。跟随该教程并完成从概述到 Raspberry Pi 测试的所有部分,但Raspberry Pi 设置是必不可少的。要完成测试,您必须用两根至少 3 英寸/80 毫米长的导线将扬声器焊接起来。施加在接头上的热缩可提供良好的应力消除。请记住,您必须运行安装脚本两次!

树莓派

当单声道放大器连接到面包板上时,您可能会听到一些噼啪声。那是因为面包板上的跳线可能松动。尝试推/握面包板电线,您可能会听到更清晰的声音。当您与阀盖有正确的焊接连接时,这将得到解决。另外,请注意 Adafruit 教程说“用大量焊料在两个引脚上焊接!” 在放大器扬声器连接上。

我选择了Parts-express 的 GRS 3FR-4 扬声器,因为它有安装孔和良好的声音频率范围。它使用螺钉和螺母直接安装到 3D 外壳上,以保持复古外观。不会与发烧友的品质相混淆,但听起来很愉快。

检查 alsa 声音控制器:

树莓派

它应该如下所示:

树莓派

要使旋转编码器正确安装到外壳中,请切割侧面安装片并小心地将焊针弯曲到与底座平行:

树莓派

连接旋转编码器,使用 2 根黑色线 (GND) 和 3 根不同颜色的线连接每个编码器上的其他引脚。当编码器安装在 piTFT 下方的视线之外时,不同的颜色将帮助您分辨哪个编码器连接到哪里。剪断约 7 英寸/***长的电线。用大量焊料对引脚和电线进行镀锡。对于每根电线,用烙铁将电线压入针脚,直到焊料流动。取下熨斗并用另一只手继续按住电线,直到焊料冷却。可以求助你的家人或朋友协助。

我使用热缩管来缓解应力。 将电线轻轻向上弯曲 90 度角,使其远离编码器轴以装入外壳中。将拇指放在销钉上,以防止在弯曲时销钉折断。

弯曲后小心处理编码器线!由于我的处理过于粗暴,不小心弄断了一个大头针,不得不重新做一个编码器。

您完成的编码器应如下所示:

树莓派

miniz 目录中包含一个测试程序 test_rotary_switches.py。根据该程序中的引脚分配(TUNE 和 VOLUME)将编码器连接到 pi 母头。

去测试:

树莓派

第 3 步:设置音乐软件

以下脚本的原始来源是 gerrelt。Gerrelt 撰写了有关安装Logitech Media Server (LMS)和Squeezlite的出色文章。

Gerrelt 说 Spotify 是这种设置的一种可能性。唉,Spotify 对 LMS 的支持已于 2017 年 7 月 19 日停止。

使用 /home/pi/miniz/scripts 目录中的脚本(由 git clone 创建)进行 LMS 和 SqueezeLite 安装(一一运行):

树莓派

miniz 使用与 gerrelts 教程不同的声音设备。Adafruit 安装软件会将单声道放大器设置为音频源,特别是 /boot/config.txt 中的 dtoverlay=hifiberry-dac。

默认的 hifiberry-dac 无需更改 gerrelt 即可工作。但是:您需要在其中一个 gerrelts 脚本中注释掉一行,才能让 Squeezelite 运行。此外,取消注释SB Server 的行,如下所示。进行以下更改以使 LMS/SqueezeLite 正常运行:

树莓派

在配置 Logitech Media Server 之前,您需要创建一个目录来存储您的音乐。当您进入网页时,系统会询问您使用哪个目录。我只是在 miniz 的根级别创建了一个名为“音乐”的音乐:

树莓派

将一些音乐复制到此目录以在接下来的步骤中测试界面。Filezilla可以使用 Windows/Mac/Linux 客户端复制文件。对于播放列表:

树莓派

要从远程共享(例如 NAS 设备或 Windows 共享)添加音乐:

树莓派

其中 192.168.0.xx 是远程服务器/共享的地址,如果您希望将其作为永久共享,则在重新启动后保留:

树莓派

第 4 步:配置罗技媒体服务器

LMS 提供一个用于配置和控制的 html 页面。从您喜欢的浏览器连接到它。使用您的树莓派的 IP 地址,后跟:9000,例如。- http://192.168.0.xxx:9000

首次运行时,LMS 将提示输入 mysqueezebox.com 电子邮件和密码。Pandora、TuneInRadio(免费流媒体广播电台)、SOMA 和 Podcast 等应用程序要求您在 mysqueezebox.com 上创建一个帐户。稍后再谈。现在,单击页面底部的“跳过”。

在下一页上,导航到 /music(上面创建的目录)并按“下一步”。为播放列表选择一个文件夹 - 我们创建了播放列表。单击“下一步”,然后单击“完成”。

从右上角的下拉菜单中选择。这是您的新 pi 的主机名。如果它是您唯一的 Squeeze 播放器,它应该会自动显示。

树莓派

在左侧窗格中,导航到我的音乐/音乐文件夹,然后将鼠标悬停在您要播放的歌曲或专辑上。仍然在左侧窗格中,但在右侧,将出现三个图标。单击“播放”图标开始。

树莓派

第 5 步:应用程序

如果您想使用 Pandora 或我之前提到的其他应用程序,您需要登录 mysqueezebox.com 并单击“创建帐户”。保存您的帐户信息 - 您需要在设置应用程序后将其输入 LMS。创建帐户并登录后,单击页面顶部的“应用程序库” 。从列表中选择一个应用程序,然后单击右上角的蓝色“安装应用程序”按钮。之后,单击配置。

对于 Pandora,输入您用于 Pandora的用户名和密码。

点击播放器设置。您的玩家姓名应出现在列表中。

将状态设置为启用并将主页设置为“在主菜单上显示” 。

不要忘记单击屏幕底部的蓝色“保存更改”按钮。

从 mysqueezebox.com 注销并返回 LMS 网页。在 LMS 的右下方窗格中,单击设置。单击下一页上的 mysqueezebox.com 选项卡,然后填写您用于创建 mysqueezebox 帐户的用户名和密码。完成后,单击应用,然后单击屏幕右下方的关闭。

快完成了!再次单击Settings ,然后单击Plugins选项卡。向下滚动并确保Pandora应用程序(或您设置的任何应用程序)旁边有一个复选标记。单击应用。作为附加检查,在右侧 Pandora 的“作者”列中,应该有一个指向 Logitech 的链接。如果您单击它,并且您已正确设置,该链接将在 Pandora 的配置对话框中再次打开mysqueezebox.com 。您可以关闭它并单击插件页面的关闭。

返回 LMS主页;点击我的应用程序。您应该会在我的应用程序下看到 Pandora 或其他新添加的应用程序。如果您没有看到它,请尝试刷新网页。如果这不起作用,请尝试重新启动罗技媒体服务:

树莓派

设置收藏夹

如果收藏夹在miniz.py程序的收藏夹中链接,则收音机拨号将自动开始播放收藏夹。

树莓派

收藏夹也可以从 LMS 网页播放。

这是 TuneIn Radio 收藏夹的示例。LMS 中的 TuneIn 应用程序将指导您按多个标准选择电台。此示例使用:

主页》浏览》按位置》北美》美国》加利福尼亚》旧金山》按流派》古典音乐

要创建收藏夹,请将鼠标悬停在左窗格右侧的心形图标上,然后单击它以保存为收藏夹。

树莓派

返回 LMS 主页(您只需单击上图中的“主页”)。您应该会在收藏夹列表的末尾看到添加的新项目。

注意:“on mysqueezebox.com”的收藏夹始终添加到此列表中。该列表是基于零索引的。所以,这里创建的新收藏夹是第 6 号。

树莓派

第 6 步:piTFT

使用 Adafruit 教程为 OpenGL 设置 3.5 英寸 piTFT 。虽然这是为 Raspbian Jessie 编写的,但它适用于 Stretch。

树莓派

在pitft-fbcp.sh启动时,选择“4.手动配置选项”,在提示符处输入以下值:

树莓派

使用手动配置操作进行 piTFT 3.5 英寸设置,HDMI 旋转选项 4和TFT 旋转2,90度。当连接到 piTFT 时,这会将 pi 定向为零,因此其电源连接器位于右下方。

树莓派

第 6 步:设置 Python 库

树莓派

第 7 步:准备案例

我的 3D 打印机是小/慢/便宜的 Monoprice Mini Select。由于涉及的打印时间长,我将表壳的主体分成两部分 - 正面和表壳。这是面部/外壳打印的 Cura 模拟以及可选的自定义旋钮(需要 2 个)。

miniz/docs 目录以及 STL 文件中包含 Cura 打印设置。

移除支撑材料

打磨表面和外壳的边缘

用蓝色画家的胶带把它们粘在一起

将4 个 M2.5 支座粘在杆面内侧提供的底座上。少量地在螺纹和支架底部涂抹强力胶。小心你不要把强力胶粘在支架上,会堵住它。在支座螺丝孔上贴一点胶带会有所帮助。

内部热胶- 使用稳定的胶珠使接缝更整洁

选项:使用 XTC3D 完成

选项:打印自定义 Z 徽标旋钮和挡板

我发现移除格栅支架具有挑战性。什么对我有用:首先用力按下单个格栅支架的整个长度,将其与外壳分开。然后,交替按压/拉动支撑条的中心,逐渐增加力量。有时,我想我用了这么大的力量,我可能会破案。最终,格栅工作成一大块。用对角刀和薄指甲锉清洁边缘上的小块。机箱上的侧格栅支架大约需要 20 分钟才能拆除。

将正面粘贴到外壳上:

树莓派

此时机箱已准备好组装。我做了一些额外的工作,在外壳上涂了一层 XTC3D,在脸上涂了两层。这是一个很好的产品,结果可能很好——但也有一些问题:

用洗碗液清洁您的模型并确保它绝对干燥

在通风良好的地方使用;有异味

使用丁腈手套、护目镜和长袖等防护服

工作时间约10分钟

XTC3D 有点自流平,但这意味着它可以在您意想不到的地方流动 - 尝试让您的涂层模型保持水平,或垂直放置在收集盘上,并观察您的手部动作!

XTC3D 可以流到边缘和曲面。在工作期间,我用牙签防止 XTC3D 在圆形格栅边缘堆积

结果很好 - 有光泽和光滑。但有一些微小的气泡和灰尘夹杂物

固化时间通常为2小时。当我认为它已经治愈并在盒子里留下指纹时,我触摸了模型。

将可选旋钮喷漆黑色。对于 Z 标志,用非常细的刷子或尖头牙签轻拍水性金色金属丙烯酸涂料。油漆会流一点,所以要注意边缘。如果快速涂抹,水性丙烯酸涂料可以用湿抹布清洁。我用金色金属和砂光喷涂了表圈,每个应用两次。最后,我在旋钮和边框上应用了 XTC3D。那真的是黄金POP !

树莓派

第 8 步:最终焊接

Adafruit 在发动机罩上生产了另一款出色的永久原型板。但是,由于 raspberry pi 的布局,对于您的特定应用程序/使用,引脚可能位于尴尬的位置。例如,连接单声道放大器需要电路板一端的引脚 18 和另一端的引脚 19 和 21。需要一些周到的路由!

miniz/docs中有一个引脚映射文档供参考。

树莓派

将母头分成 (2) 个 3 针件和 (1) 个 4 针件。Adafruit 产品页面上有关于如何执行此操作的提示。

按以下顺序焊接电线:

双 20 针公头,短端焊接在图中的“TOP”上

在图表的“TOP”侧插入女性标题

“TOP”上的 GND/5V 跳线;#19 和 #21 的跳线将覆盖这些焊点

“底部”电线

完成的电路板应如下所示:

树莓派

此时,最好先对硬件组件进行最后检查,然后再将所有东西都塞进那个小盒子里。

将 pi 安装到 piTFT 显示器

将引擎盖插入 pi

将旋转编码器线插入母头

将扬声器线拧入单声道放大器

应该看起来像这样:

树莓派

充电!

如果一切顺利,您应该会在大约 2 分钟后看到这一点,以便启动:

树莓派

现在把所有东西都拆开,这样你就可以把它放在箱子里了。

第 9 步:安装到机箱中

树莓派

首先安装旋转编码器 - 将它们与外壳成 45 度角,以便为 piTFT 周围的电线留出间隙

布线/整理电线,这样它们就不会阻碍安装 piTFT 或扬声器。调谐旋钮线将在 piTFT 和扬声器下方运行

Adafruit 编码器旋钮工作正常。定制旋钮在轴上需要一点蓝色大头钉,以便为按钮提供足够的行程。作品。

用 M2.5 螺丝将 piTFT 拧入支架

将 4/40 钢螺钉插入扬声器孔中,螺钉头位于外壳内部。我使用小的(12 毫米 D)钕磁铁将下部螺钉固定到位,直到我可以在外面安装一个螺母。要卸下磁铁,请用手指牢牢按住它,然后在扬声器框架周围滑动直到松开。

从外壳外部,将 4 个黄铜 4/40 橡子螺母拧紧到螺钉上

将左角 USB Micro 电缆连接到 pi。安装pi后没有空间连接此电源线

将 pi 安装到 piTFT。强光是有帮助的。将 pi 稍微倾斜远离外壳壁,足以看到引脚上的对齐情况。确保销正确对齐并慢慢按下。

将引擎盖安装在 pi 上,与将 pi 安装到 piTFT 的技术相同

将扬声器线拧入放大器

将编码器线插入其引脚和接地

现在,做好摇滚的准备了吗?!

功能

播放/暂停:按住调音旋钮慢数 1-2,但首先将指针从收藏夹移开。否则,自动播放将继续覆盖暂停

切换屏幕:按下调谐旋钮以慢计数 1-2-3-4-5。将从拨号循环到时钟,再到正在播放,然后再返回拨号

重新启动 SqueezeLite:按下调谐旋钮超过 10 次。SqueezeLite 在播放 6-8 小时后会产生失真的音频,重新启动相当快。我一直开着我的,并以这种方式修复音频。。。。

音量:向上/顺时针;向下/计数器(反)顺时针

电源:按音量按钮 》 3 秒可触发安全关机。关闭时,较短(《3 秒)的按下会打开 pi。开启时,按下 《 3 秒会重新启动

Now Playing Art:Pandora 自动提供此功能。对于本地音乐,将名为folder.jpg或cover.jpg的专辑封面图像复制到专辑目录中,然后重新扫描(设置/基本设置/查找新的和更改的媒体文件)。如果本地相册缺少艺术作品,则会显示默认图像。

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分