news 2026/10/29 1:57:27

ESP32 网络收音机 yoRadio 完整指南:从接线到出声一次跑通

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ESP32 网络收音机 yoRadio 完整指南:从接线到出声一次跑通

ESP32 网络收音机 yoRadio 完整指南:从接线到出声一次跑通

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

yoRadio 是一个基于 ESP32-audioI2S 音频库的开源网络收音机固件,把一块裸的 ESP32 开发板变成能播放网络电台的收音机,带 Web 配置界面、屏幕显示和多种控制方式,适合想自制网络收音机或入门嵌入式音频开发的人。

项目速览:yoRadio 能做什么

yoRadio 的定位是一台轻量级网络收音机:核心负责流媒体解码播放,显示、控制、联网能力则按你的硬件自由搭配,官方还另有 yopcb 仓库提供配套的 PCB 设计文件。主要功能:

  • 播放最多 65535 个电台
  • 支持 20 多种 OLED/TFT/LCD 屏幕
  • 按钮、编码器、红外、触屏控制
  • Web 界面管理 WiFi 与歌单
  • 内置 Web 服务器,支持 OTA 升级

设备屏幕上的播放器界面:电台、歌曲名、均衡器滑条和歌单列表。

准备工作:硬件清单与软件版本

硬件(必选):

  • 1 块 ESP32 开发板(Dev Module 或 Wrover 系列均可)
  • I2S DAC 模块(MAX98357A 一类)或 VS1053b 模块,二选一
  • 可选:SSD1306、ST7735、ST7789、ILI9341 等屏幕,三个轻触按键,旋转编码器,红外接收头,DS3231 时钟模块

软件:

  • Arduino IDE 1.8.19(不支持 2.x 版本)
  • ESP32 板卡核心 ≥ 2.0.0
  • ESP32 Filesystem Uploader 工具,或使用 IDE 内置的 ESP32 Sketch Data Upload
  • Adafruit_GFX 等屏幕相关库,通过 Library Manager 安装(取决于所选屏幕)

首次跑通:五步从克隆到出声

  1. 克隆仓库:
git clone https://gitcode.com/GitHub_Trending/yo/yoradio
  1. 按你的接线生成硬件配置文件,放在项目根目录(与 yoRadio.ino 同级)。模板见 examples/myoptions.h,需要确认的关键项:DSP_MODEL(屏幕型号,无屏填DSP_DUMMY)、I2S_DOUT/VS1053_CS(未用的模块一律填 255)、各引脚定义。
  2. 用 yoRadio/fonts/glcdfont.c 替换Arduino/libraries/Adafruit_GFX_Library/下的同名文件,重启 Arduino IDE。
  3. 在 IDE 中先执行 Tools → ESP32 Sketch Data Upload 上传网页与配置数据(分区方案选 Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS)),再上传 yoRadio.ino 程序。
  4. 连上设备热点 yoRadioAP(密码 12345987),打开http://192.168.4.1/配置家里的 WiFi。连上后访问设备 IP,把电台加入歌单,出声。

三种 ESP32 板型的 IDE 关键设置:上传速度 921600、Flash Mode QIO、分区方案 Minimal SPIFFS。

实用技巧:三个常用配置点

  1. 跳过热点配置:上传数据前,把家里 WiFi 写入 yoRadio/data/data/wifi.csv(SSID 和密码以制表符分隔,一行一个热点),设备开机后直连,省去热点配置步骤。
  2. 屏幕配色与旋转:TFT 彩色屏的背景、歌名、时钟各区块颜色定义在 examples/mytheme.h,取消注释对应行即可改色;屏幕旋转角度由 myoptions.h 中的TFT_ROTATE控制(0/90/180/270 度)。
  3. 绿色板 VS1053 无声:部分绿色电路的 VS1053 模块装好后没声音,在 myoptions.h 中加#define VS_PATCH_ENABLE false关闭补丁,通常即可出声。

3.5 英寸彩色屏上同时显示电台、歌曲、天气、时钟与 VU 表。

常见坑位与解决

问:程序编译报错或行为异常,像是版本问题。答:yoRadio 不支持 Arduino IDE 2.x,换回 1.8.19,并确认 ESP32 核心不低于 2.0.0。

问:TFT 彩色屏配 wroom 板,内存不够或播放卡顿。答:VSPI 任务栈占用过大,按 README 说明把 AsyncTCP.cpp 中任务栈8192 * 2改为8192 / 2。

问:屏幕上的天气、WiFi 信号等图标不显示。答:屏幕字体文件没换成项目版本,重新把 yoRadio/fonts/glcdfont.c 拷入 Adafruit_GFX 库目录并重启 IDE。

问:升级后电台列表和 WiFi 配置丢了。答:升级前从设备网页下载data/playlist.csv与data/wifi.csv,存回 yoRadio/data/data/ 目录,再重新上传数据。

扩展与生态:从插件到智能家居

  • MQTT:把 examples/mqttoptions.h 复制到 yoRadio/ 目录并填写 broker 地址与主题前缀,即可暴露 command/status/playlist/volume 四个主题,支持 next、prev、play x、vol x 等指令。
  • Home Assistant:将 HA/custom_components/yoradio 拷到.homeassistant/custom_components/,按 HA/example_configuration.yaml 添加实体,Lovelace 里即可当作 Media Player 使用(依赖 MQTT 集成)。
  • 插件系统:继承 Plugin 基类、重写 on_start_play、on_btn_click 等钩子,新插件放在 src/plugins/ 对应目录;examples/plugins/ 有背光控制、深度睡眠等现成示例,接口定义见 yoRadio/src/pluginsManager/pluginsManager.h。
  • 其他:mDNS 发现、屏保、通过 /update 页面上传固件与 SPIFFS 镜像做 OTA 均已内置;屏幕文字支持 EN/RU 两种语言(L10N_LANGUAGE参数,源文件在 yoRadio/locale/);Nextion 触摸屏有独立的 nextion/ 工程。按键行为映射、红外遥控器配码流程等细节见 Controls.md。

yoRadio 把解码、播放、显示、控制和智能家居集成做成了完整的闭环,硬件最小组合只需一块 ESP32、一个音频模块和几个按键。更多细节可看仓库 README 与 Wiki,遇到问题先查版本日志,或直接向官方仓库提 Issue。

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

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/29 1:57:04

GrapesJS 快速入门:3 条命令跑起拖拽式 Web 可视化编辑器

GrapesJS 快速入门:3 条命令跑起拖拽式 Web 可视化编辑器 【免费下载链接】grapesjs Free and Open source Web Builder Framework. Next generation tool for building templates without coding 项目地址: https://gitcode.com/GitHub_Trending/gr/grapesjs …

作者头像 李华
网站建设 2026/10/29 1:53:54

QuickRecorder macOS 录屏工具:从克隆到出片的完整指南

QuickRecorder macOS 录屏工具:从克隆到出片的完整指南 【免费下载链接】QuickRecorder A lightweight screen recorder based on ScreenCapture Kit for macOS / 基于 ScreenCapture Kit 的轻量化多功能 macOS 录屏工具 项目地址: https://gitcode.com/GitHub_Trending/qu/Q…

作者头像 李华
网站建设 2026/10/29 1:53:21

idea使用ProxyAI插件使用OpenAI

一、前置准备 1、测试联调性 curl https://api.modbapi.com/v1/chat/completions -H "Authorization: Bearer sk-XXX" -H "Content-Type: application/json" -d "{\"model\":\"gpt-5.5\",\"messages\":[{\"role\&…

作者头像 李华
网站建设 2026/10/29 1:50:33

NORX算法的各种密码分析方法全面盘点

NORX算法的各种密码分析方法全面盘点对NORX算法的密码分析,学术界已发展出多种方法,这些分析贯穿了其作为CAESAR竞赛候选算法的整个生命周期。以下是对这些方法的全面盘点。核心密码分析方法差分分析及其变种内部差分攻击 (Internal Differential Attack…

作者头像 李华