用 ESP32 从零搭建一台网络收音机:YoRadio 快速上手完整指南

发布时间:2026/10/29 1:28:48

用 ESP32 从零搭建一台网络收音机:YoRadio 快速上手完整指南 用 ESP32 从零搭建一台网络收音机YoRadio 快速上手完整指南【免费下载链接】yoradioWeb-radio based on ESP32-audioI2S library项目地址: https://gitcode.com/GitHub_Trending/yo/yoradio家里躺着一块 ESP32想让它收网络电台、把歌曲信息投到屏幕上还能用手机远程切台却又不想从零写底层驱动ESP32 YoRadio 就是为这件事准备的把 ESP32 变成一台可联网、可显示、能接入智能家居的网络收音机支持 MP3、AAC、FLAC 流媒体播放。下面按先跑起来再接入最后定制的顺序带你走完一遍。能力速览它到底能做什么先看结论再决定要不要折腾。YoRadio 的核心能力如下能力维度你实际能得到的音频解码I2S DAC 与 VS1053b 两种模块二选一可播 MP3、AAC、FLAC 网络流显示20 余种屏幕驱动单色 OLED、彩色 TFT、高分辨率大屏不接屏也可用DSP_DUMMY控制按键、旋转编码器、摇杆、触摸屏、红外遥控可混用联网配置内置 Web 服务器 WiFi浏览器里完成配网、加台、调参智能家居原生支持 MQTT 与 Home Assistant电台列表最多 65535 个电台可导入 KaRadio 的WebStations.txt播放列表附加功能mDNS 发现、屏幕保护、OTA 升级、SD 卡本地播放、中英文界面它同时支持联网WEB模式和 SD 卡本地SD模式可以互相切换断网时也能播卡内音乐。把硬件跑起来从源码到点亮的五步第一步获取源码并确认环境把仓库克隆到本地git clone https://gitcode.com/GitHub_Trending/yo/yoradio环境有两个硬要求先核对省得后面卡住使用Arduino IDE 1.8.19暂不支持 2.x 系列。ESP32 core 版本 ≥ 2.0.0。主工程在yoRadio/目录下入口是yoRadio.ino。第二步生成并修改硬件配置硬件全部由一个文件决定examples/myoptions.h。把它复制到yoRadio.ino同级目录只打开你需要的行来覆盖默认值。项目还提供了一个可视化的引脚表生成工具画好接线就能导出这份文件省去手查引脚有两个宏最容易踩坑务必二选一// 用 I2S DAC 时 #define I2S_DOUT 27 #define VS1053_CS 255 // 255 表示该模块不启用 // 用 VS1053b 时 #define I2S_DOUT 255 #define VS1053_CS 27再按实接屏幕设定#define DSP_MODEL DSP_ST7735不接屏就填DSP_DUMMY。其余旋钮、按键、I2C、红外等引脚也都在这一个文件里。第三步替换字体文件把yoRadio/fonts/glcdfont.c覆盖到 Arduino 的Adafruit_GFX_Library/glcdfont.c。这一步是为了让界面里的天气、WiFi 信号、音量等新图标正常显示替换后重启一次 Arduino IDE。第四步上传数据与固件在 Arduino IDE 里分两步顺序别反工具 →ESP32 Sketch Data Upload先把yoRadio/data/里的网页和配置写进 SPIFFS再点上传把固件烧进 ESP32。第五步配网并加入第一台电台上电后 ESP32 会自建热点yoRadioAP密码12345987用手机或电脑连上访问http://192.168.4.1/填入家里 WiFi。连上后设备会拿到局域网 IP访问http://设备IP/在播放列表里加电台或导入 KaRadio 的WebStations.txt。想省掉这一步也可以提前把SSIDTAB密码写进yoRadio/data/data/wifi.csv再上传数据。接入你的家MQTT 与 Home Assistant接进智能家居后YoRadio 从台面上的播放器变成可以被调度的设备。两条路径MQTT 直连或走 Home Assistant。只开 MQTT 就够用时把examples/mqttoptions.h复制到yoRadio/目录填上 broker 地址、端口和主题前缀。四个主题分工很清晰ROOT/command下发指令如next、prev、toggle、stop、vol 80、play 3ROOT/status回报播放状态ROOT/volume回报当前音量ROOT/playlist回报播放列表地址。也就是说你发一条play 3就能让设备播第 3 台发vol 80直接定音量而不必碰机器。用 Home Assistant 做自动化项目自带 HA 组件。步骤把HA/custom_components/yoradio复制到.homeassistant/custom_components/在configuration.yaml里按HA/example_configuration.yaml加一个media_player实体填name和root_topic重启 Home Assistant在 Lovelace 里加一张 Media Player 卡片即可。接进来之后能玩出具体场景举几个能直接抄的每天早上 7 点自动化触发play并把音量提到 40有人回家时切换到新闻台离家时stop把它和灯联动播放开始时开小夜灯停止后延时关灯。因为 HA 组件支持远程媒体播放本地媒体、Radio Browser、TTS你甚至能语音让 YoRadio 播一段文本播报。按硬件定制外观与手感同一套固件换不同的屏、不同的输入、不同的音频模块成品气质完全不同。按预算和摆放位置来选。显示单色、彩色、大屏单色 OLEDSSD1306、SH1106、N5110 等功耗低、对比高适合信息型收音机床头、书桌都够看。彩色 TFTST7735、ILI9341、ST7789、GC9106 等支持 VU 表、位深和主题配色视觉反馈更足是多数人的默认选择。高分辨率大屏ILI9488、ST7796480×320信息密度高适合客厅、远距离观看。每种屏在yoRadio/src/displays/都有独立驱动配套默认布局放在yoRadio/src/displays/conf/下的displayXXXconf.h想改界面布局就从这里入手。不接屏也可以填DSP_DUMMY后设备照常出声靠网页或 MQTT 控制。控制按键、旋钮、摇杆、触摸、红外控制方式按使用场景选且可以混用按键3 个起步左/中/右加上下键共 5 个操作最直观旋转编码器一个旋钮就能同时管音量和选台手感最好是台机常见配置摇杆一个器件顶替 5 个按键布线更省触摸屏横向滑是音量、纵向滑是选台、点按播放/选台更像手机红外遥控在网页设置里录制按键码最多绑 3 个遥控器适合客厅沙发场景。各输入的引脚都写在myoptions.h具体每个键的行为见仓库根目录的Controls.md。音频模块I2S DAC 还是 VS1053bI2S DAC接法简单、解码交给 ESP32适合求稳的入门方案VS1053b板载解码额外支持左右平衡和图形均衡器且对 SD 卡播放更友好少数绿色板无声音时在myoptions.h里加#define VS_PATCH_ENABLE false即可。两者在固件里互斥就是前面I2S_DOUT/VS1053_CS那对宏。进阶与二次开发源码结构与插件机制想深挖时按目录找就能定位不必通读全量代码yoRadio/src/core/核心逻辑player播放、display显示调度、netserverWeb、mqtt、network、controls各管一摊yoRadio/src/audioI2S/与yoRadio/src/audioVS1053/两套音频解码含 MP3/AAC/FLAC 解码子模块yoRadio/src/displays/屏幕驱动 conf/各屏布局widgets/界面组件yoRadio/src/pluginsManager/插件基类与事件调度yoRadio/src/plugins/放你自己的插件。插件怎么写插件就是继承Plugin基类只重写你关心的事件例如on_setup、on_start_play、on_stop_play、on_track_change、on_btn_click、on_ticker每秒一次。写好后把整个文件夹复制到yoRadio/src/plugins/MyPlugin即被识别同一事件可以挂多个插件。仓库给了三个能直接照抄的样例都在examples/plugins/helloWorld把每个事件都打印一遍适合先看事件流backlightControls按播放状态开关背光deepsleep停止播放时让 ESP32 进入深度睡眠省电。插件机制的完整事件清单见yoRadio/src/pluginsManager/pluginsManager.h里的注释。此外主题配色在examples/mytheme.h界面语言在yoRadio/locale/EN / RU都是低风险的自定义点。上手清单动手前逐项核对Arduino IDE 是 1.8.19ESP32 core ≥ 2.0.0myoptions.h已放到yoRadio.ino同级I2S_DOUT与VS1053_CS只启用了一个DSP_MODEL与实接屏幕一致无屏则填DSP_DUMMY已用yoRadio/fonts/glcdfont.c覆盖 Adafruit_GFX 库的同名文件先传 Sketch DataSPIFFS再传固件通过yoRadioAP完成配网并加入至少一台电台需要远程控制时已复制并填好mqttoptions.h或装好 Home Assistant 的 yoradio 组件有 SD 卡/RTC 需求时相关引脚已在myoptions.h里配好照这份清单走完绝大多数第一次不响的问题都能在上传前被拦下。剩下的就是选一块你喜欢的屏把它挂上墙或摆上桌了。【免费下载链接】yoradioWeb-radio based on ESP32-audioI2S library项目地址: https://gitcode.com/GitHub_Trending/yo/yoradio创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/29 1:28:48

YeeCOM DTU 连接华为云(基于 MQTT)配置资料说明

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/29 1:28:48

awesome-vscode实战指南:新手5分钟快速挑对VS Code插件组合

awesome-vscode实战指南:新手5分钟快速挑对VS Code插件组合 【免费下载链接】awesome-vscode 🎨 A curated list of delightful VS Code packages and resources. 项目地址: https://gitcode.com/gh_mirrors/aw/awesome-vscode 你还在插件市场盲目…

2026/10/29 1:28:48

FactoryBluePrints 产线怎么摆

FactoryBluePrints 产线怎么摆 【免费下载链接】FactoryBluePrints 游戏戴森球计划的**工厂**蓝图仓库 项目地址: https://gitcode.com/GitHub_Trending/fa/FactoryBluePrints FactoryBluePrints 是《戴森球计划》的工厂蓝图仓库,集中存放社区玩家上传、按功…

2026/10/29 2:58:53

Pandas性能优化12个实战技巧:10倍提速数据处理

1. Pandas性能优化实战:从入门到精通 作为Python数据分析的核心工具,Pandas在数据处理领域占据着不可替代的地位。但在处理大规模数据集时,很多开发者都会遇到性能瓶颈——内存占用飙升、计算速度缓慢,甚至出现令人崩溃的OutOfMe…

2026/10/29 2:58:53

Pandas性能优化全攻略:从基础到高级技巧

1. Pandas性能优化概述在数据分析工作中,Pandas作为Python生态中最核心的数据处理工具,其性能表现直接影响着整个分析流程的效率。当数据量达到百万级甚至更大规模时,未经优化的Pandas操作可能会让原本几分钟就能完成的任务变成数小时的煎熬。…

2026/10/29 2:58:53

微电网分层二次控制与事件触发机制优化

1. 微电网分层二次控制的核心挑战微电网作为分布式能源系统的重要实现形式,其控制策略直接关系到系统稳定性和电能质量。传统集中式控制在面对多逆变器并联系统时暴露出通信负担重、响应速度慢等固有缺陷。2018年IEEE Transactions on Smart Grid刊载的里程碑式研究…

2026/10/29 2:58:53

AI重构测试用例:解决维护困境的技术实践

1. 测试用例维护困境的根源剖析测试用例维护成本飙升是每个测试团队都会经历的阵痛期。我经历过一个电商项目,初期200个测试用例执行只需2小时,两年后同样的用例集需要8小时才能跑完——不是机器变慢了,而是用例本身已经病入膏肓。这种退化通…

2026/10/29 2:58:53

AI重构测试用例:降低维护成本的技术实践

1. 测试用例维护困境的根源剖析测试用例维护成本飙升是每个测试团队都会遇到的典型问题。我经历过一个电商项目,初期200个测试用例只需1人天就能完成回归,两年后同样的测试集需要3人周才能跑完。这种指数级增长的维护负担主要来自三个维度:技…

2026/10/29 2:53:53

Agent沙盒技术对比与实践指南

1. Agent沙盒技术概述在分布式系统和自动化流程领域,Agent沙盒已经成为关键技术基础设施。简单来说,Agent沙盒是一个隔离的执行环境,允许各种智能代理(Agent)在其中安全运行,同时限制其对主系统的访问权限。…

2026/10/28 14:42:12

全国计算机二级C语言真题PDF高效刷题指南

简介:这份PDF是全国计算机二级C语言考试的试题与答案解析,专为备考二级C语言的考生准备。内容涵盖C语言特点与设计理念、程序基本组成单位、main函数执行流程、函数嵌套调用规则、标识符命名规范、整型实型字符型数据类型、八进制十六进制数合法形式、运…

2026/10/28 15:28:56

requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南

简介:一份以实战为导向的Python爬虫入门资源,面向具备基本编程基础、希望快速掌握网络数据抓取的初学者,可解决从零编写简单爬虫的常见困惑。实例以requests库发送HTTP请求、BeautifulSoup解析HTML文档,完整演示从网页中提取 标题…

2026/10/28 3:32:29

递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现

简介:这是一篇面向控制系统、信号处理与机器学习等领域学习者的最小二乘参数辨识程序说明文档。资源共包含一个docx格式文档,压缩包大小七十八KB,内容围绕递推最小二乘算法和渐消记忆最小二乘算法展开:先构造一个极点位于单位圆内…

2026/10/29 0:03:42

学生选课系统DFD图绘制指南:边界划分与分层校验实战

简介:文档以顶层与第一层DFD图为核心,完整刻画学生选课系统的逻辑模型,面向软件工程课程设计、系统分析学习及毕设前期建模人群。顶层图界定系统边界,外部实体包括管理员、教师和学生三类角色;第一层图进一步细化用户登…

2026/10/29 0:03:42

JIRA敏捷落地:Scrum角色权限、Sprint与燃尽图避坑指南

简介:围绕“基于JIRA的敏捷开发项目管理”这一主题,面向产品负责人、Scrum Master及研发测试成员,梳理Scrum角色分工、迭代流程与JIRA工具配置的对应关系,适合初、中级团队导入敏捷管理时参考。压缩包共1个docx文件,大…

2026/10/29 0:03:42

SEMI S8人机工程验收实战:从条款拆解到现场实测的完整指南

简介:面向半导体设备设计、制造与运维工程师及安全合规人员,这份资料聚焦SEMI标准体系下的设备安全规范,重点收录SEMI S8-0308《半导体制造设备人体工程学工程安全指南》。内容围绕设备设计原则、错误与事故预防、人体工程学适配三大主线展开…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑