☰
一个周末让 ESP32 播放网络电台:YoRadio 手把手实操
2026/10/24 4:00:54 网站建设 项目流程

一个周末让 ESP32 播放网络电台:YoRadio 手把手实操

【免费下载链接】yoradioWeb-radio based on ESP32-audioI2S library项目地址: https://gitcode.com/GitHub_Trending/yo/yoradio

YoRadio 是基于 ESP32-audioI2S 库的开源网络收音机固件,它把一块 ESP32、显示屏和解码模块拼成桌面电台,支持联网切台和智能家居联动。适合第一次折腾 ESP32、想边听边改的新手,本文带你从零做通整套 ESP32 网络收音机搭建。

一、先想清楚:它能干什么

厨房里,把它当背景音,做菜时听个轻音乐,切台靠一个按键。

床头放一台,早上定时播电台当闹钟,比手机外放柔和。

小店或工位上接个扬声器,全天候循环播喜欢的列表,手机不在手边也能控制。

带屏的版本还能显示歌名、音量、信号强度,不用看手机也知道现在播到哪。

二、准备:硬件与环境

按这张图挑料就行,核心是「主控 + 解码」两块,屏和按键看预算。

部件推荐型号替代与说明
主控板ESP32-WROOM-32 开发板ESP32-S3 也可,彩屏建议选带 PSRAM 的
音频解码I2S DAC(如 ES8388)可换 VS1053b 模块,两者只能二选一
显示屏(可选)SSD1306 0.96" 128x64ST7735、ST7789、ILI9341 等都能用,型号表见 README
控制输入(可选)三枚轻触按键编码器、摇杆、红外、触摸屏均可

软件环境一句话:Arduino IDE 用 1.8.19,ESP32 核心装到 2.0.0 以上,音频主库就是 ESP32-audioI2S,MQTT 相关库已经打包进工程,不用额外装。

三、一步步做出来

  1. 克隆并打开工程操作:git clone https://gitcode.com/GitHub_Trending/yo/yoradio,再用 Arduino IDE 打开yoRadio/yoRadio.ino。 预期现象:IDE 正常展开源码树。 验证点:底部无「找不到库」报错。

  2. 写硬件配置操作:把 examples/myoptions.h 复制到yoRadio/目录,按实际接线填I2S_DOUT、VS1053_CS和DSP_MODEL;没用的一方填255。 预期现象:文件保存成功。 验证点:解码和屏的宏只有一组是生效的。

  3. 刷固件操作:开发板参数选ESP32 Dev Module、Upload Speed921600、Partition 选Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS),先执行 Tools → ESP32 Sketch Data Upload,再点 Upload。 预期现象:串口开始滚动日志,设备发出名为yoRadioAP的热点。 验证点:手机能搜到这个热点。

  1. 首次联网设置操作:连上yoRadioAP(密码12345987),浏览器打开192.168.4.1,填家里 WiFi 并保存。 预期现象:设备重启并连入路由器,串口打印出分配的 IP。 验证点:用这个 IP 能在浏览器打开管理页。

  2. 加电台操作:在管理页的 playlist 里添加电台 URL,或导入现成的列表文件。 预期现象:电台列表刷新出条目。 验证点:点任意一条,扬声器出声。

四、功能卡片

功能适合谁如何启用定制入口
网络电台播放所有人默认开启yoRadio/src/core/player.cpp
多屏显示想装屏的改DSP_MODELyoRadio/src/displays/
浏览器管理页想免编程配置默认内置yoRadio/data/www/
智能家居联动有 Home Assistant复制 MQTT 配置yoRadio/src/core/mqtt.cpp
本地 SD 播放想离线听插卡并配置yoRadio/src/core/sdmanager.cpp

接上 Home Assistant

把HA/custom_components/yoradio整个目录拷进主机的.homeassistant/custom_components/,再按 HA/example_configuration.yaml 在configuration.yaml里加一段实体定义,重启后即可在 Lovelace 里放一张媒体卡片,用语音或按钮远程切台、调音量。

用浏览器管电台

不焊任何东西也能玩。设备联网后,在浏览器管理页的 playlist 里逐条填 URL,或一键导入导出。这里调的均衡器、音量、列表顺序都会存在设备里,下次开机还在。

五、给开发者的定制空间

想改硬件行为,入口是 examples/myoptions.h,屏幕、引脚、语言都靠宏控制。

想加自己的逻辑,看插件机制:基类在 yoRadio/src/pluginsManager/,成品样例在 examples/plugins/,照着继承Plugin写即可。

想接外部控制,配置 MQTT 主题:把examples/mqttoptions.h拷进yoRadio/再改参数,即可用command、volume等主题收发指令。

六、排错指南

串口反复重启→ 可能是分区方案或 Upload Speed 没按上面设 → 检查是否选了Minimal SPIFFS分区、波特率是否 921600,改完重刷。

连上 WiFi 却打不开管理页→ 可能是填错 IP 或设备没拿到地址 → 看串口打印的实际 IP,换浏览器清缓存后再访问。

屏幕全黑不显示→ 可能是DSP_MODEL和手里的屏对不上 → 按 README 里的型号表把宏改成对应驱动,重编译。

有网却没声音→ 常见是 I2S 和 VS1053 两组宏同时启用打架 → 把没用的一方引脚填255关断,只留一组生效。

整套流程走完,你就有一台能联网、能切台、还能接进智能家居的桌面电台。去仓库翻翻examples/里的配置样例,把改好的接线和效果发出来,给后来的人当参照。

【免费下载链接】yoradioWeb-radio based on ESP32-audioI2S library项目地址: https://gitcode.com/GitHub_Trending/yo/yoradio

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询