如何制作基于树莓派的收音机

如何制作基于树莓派的收音机

收音机听起来像是“老旧”的技术,但这恰恰是它的魅力所在:简单、可靠,而且在娱乐和教育项目中仍然非常实用。使用树莓派,你可以打造一台现代化的、功能灵活的收音机——它可以是网络电台、本地音乐播放器,甚至(通过额外的模块)还能变成调频收音机。本文将以实用的方式介绍如何搭建一台基于树莓派的收音机,从硬件设置到软件配置,一应俱全。

-

1. 基于树莓派的无线电概念

一般来说,主要有两种方法:

1. 网络电台(流媒体)
树莓派可以通过 Wi-Fi/以太网连接播放来自互联网的无线电广播。这是最简单、最常用的方法,因为它不需要任何特殊的射频设备。

2. FM/AM收音机(需另购设备)
需要一个调谐器模块(例如,通过 I2C/SPI 接口的 FM 接收器)或软件定义无线电 (SDR) 设备。配置较为复杂,且通常取决于所使用的设备。

本文主要关注网络电台,因为它对初学者最友好,也最适合在短时间内创建。

-

2.所需设备

以下是推荐组件列表:

– 树莓派(推荐使用 Pi 3/4/Zero 2W)
– MicroSD卡最小容量8–16 GB
– 稳定的电源(5V,电流根据树莓派型号而定)
– 互联网连接(Wi-Fi 或网线)
– 音频输出:
– 通过 3.5 毫米插孔连接有源扬声器(适用于支持的型号),或
– USB扬声器/放大器,或
– DAC 音频扩展板(可选,音质更佳)
– 显示器和键盘(用于初始设置)或 SSH 访问
– 项目外壳/盒子(可选,为了美观)

如果您想要一台带有实体按键的收音机,您可以添加:
– 按钮、旋转编码器或 OLED/LCD 屏幕。

-

  新手入门:如何制作一台AM收音机

3. 安装树莓派操作系统

1. 在您的电脑/笔记本电脑上下载并安装 Raspberry Pi Imager。
2. 插入 microSD 卡,然后刷入 Raspberry Pi OS Lite(不带桌面)以节省资源,或者如果您想要图形界面,则刷入桌面版。
3. 在写入图像之前,您可以设置:
– Wi-Fi(SSID 和密码)
用户名和密码
– SSH 激活
4. 启动树莓派并确保互联网连接正常。

登录系统后,更新软件包:

“`重击
sudo apt update
sudo apt升级-y
“`

-

4. 在树莓派上设置音频

检查检测到的音频设备:

“`重击
aplay-l
“`

如果您使用 HDMI 或音频插孔(取决于您的型号)输出音频,您可以选择默认输出。某些版本的 Raspberry Pi OS 会自动配置音频设置,但您也可以通过以下方式测试输出:

“`重击
speaker-test -t wav -c 2
“`

如果您使用的是 USB 声卡或 DAC HAT,它通常会显示为一个新设备。请确保您的输出设置正确,以便收听广播。

-

5. 安装网络电台播放器(MPD + MPC)

最稳定的方法之一是使用 MPD(音乐播放器守护程序)播放音频,并使用 MPC 作为终端控制器。

安装软件包:

“`重击
sudo apt install -y mpd mpc
“`

请确保 MPD 正在运行:

“`重击
sudo systemctl enable mpd
sudo systemctl start mpd
“`

查看状态:

“`重击
systemctl status mpd
“`

-

6. 添加电台列表

MPD可以播放URL流媒体。您可以将电台添加到MPD播放列表中。

添加一个广播流的示例:

“`重击
mpc 添加 http://streamurl-radio-anda:8000/stream
“`

然后播放:

“`重击
MPC Play
“`

查看列表:

“`重击
mpc播放列表
“`

创建收藏电台播放列表
您可以创建 `.m3u` 播放列表文件:

  用于科学实验的调幅收音机制作技术

1. 创建播放列表文件夹(如果不存在):
“`重击
mkdir -p ~/playlists
“`

2. 创建一个文件:
“`重击
nano ~/playlists/radio.m3u
“`

3. 填写一些流媒体网址,例如:
“`
http://example.com/stream1
http://example.com/stream2
http://example.com/stream3
“`

您可以将它们单独加载到 MPD 中,也可以设置 MPD 音乐/播放列表目录。快捷方法:直接从文件添加(可选,取决于您的 MPD 配置),或将播放列表复制到您的 MPD 播放列表文件夹(通常为 `/var/lib/mpd/playlists/`)。

-

7. MPD配置使其更适合无线电

编辑 MPD 配置:

“`重击
须藤纳米 /etc/mpd.conf
“`

一些重要部分:

– 请确保音频输出正确。常见示例:
“`conf
音频输出 {
输入“alsa”
名称“ALSA 输出”
混音器类型“软件”
}
“`

– 您可以设置缓冲区以使流媒体播放更加稳定(可选,取决于网络状况)。

完成后,重启 MPD:

“`重击
sudo systemctl restart mpd
“`

-

8. 设置收音机在启动时自动开启

让树莓派在开机后立即播放广播:

1. 创建一个简单的脚本,例如:

“`重击
nano ~/start-radio.sh
“`

伊西:

“`重击
!/bin/bash
睡5
mpc 清晰
mpc 添加 http://streamurl-radio-anda:8000/stream
mpc 音量 70
MPC Play
“`

保存后再授予执行权限:

“`重击
chmod +x ~/start-radio.sh
“`

2. 创建 systemd 服务:

“`重击
须藤纳米 /etc/systemd/system/radio.service
“`

伊西:

“`伊尼
[单元]
描述=收音机自动播放
After=network-online.target mpd.service
Wants=network-online.target

[服务]
用户=pi
ExecStart=/home/pi/start-radio.sh
失败时重启

[安装]
WantedBy = multi-user.target
“`

使能够:

“`重击
sudo systemctl守护进程重新加载
sudo systemctl enable radio.service
sudo systemctl start radio.service
“`

注意:如果用户名不是 `pi`,请调整路径和 `User=`。

-

9. 添加控件(可选)

为了让它感觉像一台真正的收音机,你可以添加物理控制按钮:

– 下一站/上一站按钮用于切换电台:
– `mpc 下一个`
– `mpc prev`
– 播放/停止按钮:
– `mpc 切换`
– `mpc stop`
– 音量旋转编码器:
– `mpc 音量 +5`
– `mpc volume -5`

  如何制作一台具有手动调谐功能的收音机

要实现按钮功能,可以使用 Python(GPIO)并调用 `mpc` 命令。这种组合非常流行,因为它简单易用,开发方便。

-

10. 开发技巧和故障排除

一些常见问题及其解决方法:

1. 无声音
– 确保音频输出正确(ALSA 设备)。
– 尝试更换扬声器/USB声卡。
– 确保音量不为 0:`mpc volume 80`

2. 流媒体播放断断续续
– 尽量使用局域网连接。
– 在启动时播放前添加延迟(`sleep 5` 或 `sleep 10`)。
– 选择较低比特率的视频流。

3. MPD 无法播放 URL
– 请确保 URL 正确,并且可以从同一网络打开。
– 确保支持包可用(通常在最新的 Raspberry Pi OS 上就足够了)。

4. 想要一个更“无线电”风格的界面
– 安装像 ncmpcpp(终端 UI)这样的前端,或者创建一个简单的 Web UI。

-

关闭

用树莓派搭建一台收音机既有趣又有成就感。通过结合 MPD 和 MPC,你可以创建一个稳定的网络收音机,它能在开机后自动启动,并且可以轻松扩展,添加带有物理按键、小屏幕甚至定制外壳的设备。一旦掌握了基本功能,你还可以更进一步:添加 OLED 屏幕来显示电台名称,创建预设菜单,甚至添加 FM 收音机调谐器模块。

如果您愿意,我可以提供更具体的版本:例如,一个可直接使用的印尼广播电台列表(URL)、一个用于 GPIO 开关的 Python 代码示例,或者一个关于如何使用 DAC HAT 来获得更好音质的指南。

请留言