ESP32S2网络收音机/FM收音机
ESP32S2_Network-Radio_FM-Radio
⭐⭐☆☆☆ (2/5)
已发布
项目简介
基于ESP32S2,用ESP-IDF、ESP-ADF、LVGL实现网络和FM收音机。
这个项目是一个基于ESP32-S2芯片的双模收音机,同时支持网络电台和传统FM电台收听。核心硬件采用ESP32-S2-MINI-1模组,搭配RDA5807M FM收音模块和0.96寸OLED显示屏,通过四个独立按键实现全部交互操作。在网络电台模式下,设备可以连接WiFi,通过HLS协议播放网络音频流;在FM模式下,则覆盖88MHz至108MHz的常规广播频段。项目技术栈相当丰富,底层基于乐鑫ESP-IDF v4.2开发环境,音频处理依赖ESP-ADF v2.3框架,显示部分使用了LVGL v8.1图形库并替换了旧版本,还集成了ESP-IOT-SOLUTION中的SSD1306驱动和按键库,以及第三方RDA5807M驱动库。开发者特别针对ESP32-S2仅有320K DRAM、无PSRAM的硬件限制做了大量内存优化,包括调整LVGL缓冲区大小、精简WiFi IRAM配置、修改分区表等,最终在资源受限的平台上实现了流畅的双模切换和中文显示。这个项目解决了在低成本、低内存的MCU上同时运行网络音频流解码、FM收音、图形界面和WiFi协议栈的难题,非常适合嵌入式爱好者学习ESP32音频开发、LVGL图形界面移植,或者DIY一个兼具网络和传统收音功能的桌面小设备。
标签
项目特点
双模式收音:支持网络电台(HLS协议)和FM调频广播(88MHz~108MHz)两种收听模式
图形用户界面:使用LVGL v8.1嵌入式GUI库,通过0.96寸OLED(SSD1306,SPI接口)显示电台信息、时间等
按键交互:四个独立按键实现模式切换、节目/频段切换、静音功能,支持单击、双击、长按识别
时间同步:通过SNTP协议自动校准时间,并在屏幕上显示当前时间
模块化设计:集成ESP-ADF音频处理框架、ESP-IOT-SOLUTION驱动库、ESP-IDF-LIB外设库等多个开源组件
内存优化:针对ESP32S2仅有320K DRAM(无PSRAM)的硬件限制,进行了大量内存优化配置
技术规格
| 主控芯片 | |
|---|---|
| DRAM | |
| FM模块 | |
| 显示屏 | |
| 按键 | |
| 网络协议 | |
| 音频解码 | |
| 音频输出 | |
| 开发框架 | |
| Flash大小 | |
| CPU频率 |
项目资源
物料清单 (BOM)
| 物料名称 | 数量 | 参考价格 | 备注 |
|---|---|---|---|
| ESP32-S2-MINI-1模块 (ESP32-S2-FH4) | 1 | — | 320K DRAM,无PSRAM |
| RDA5807M FM收音模块 | 1 | — | I2C接口,88~108MHz |
| 0.96寸OLED SSD1306 | 1 | — | SPI接口,128x64像素 |
| 轻触按键 | 4 | — | GPIO1, GPIO2, GPIO3, GPIO6 |
| 杜邦线 (作为FM天线) | 1 | — | 约10-20cm |
| 功放芯片 (待确认型号) | 1 | — | 用于音频输出 |
| 小功率扬声器 | 1 | — | 或耳机接口 |
| 若干 | - | — | 根据原理图 |
| 项目提供的开发板 | 1 | — | 硬禾活动提供的定制板 |
所需工具
| 工具 | 用途 | 是否必需 |
|---|---|---|
| VS Code + ESP-IDF插件 | 开发环境,用于编辑、编译、下载、调试 | ✅ 是 |
| 焊台/烙铁 | 焊接元件和排针 | ✅ 是 |
| USB数据线 | 连接开发板与电脑,供电和下载程序 | ✅ 是 |
| 杜邦线 | 作为FM天线 | ✅ 是 |
| 串口调试工具 | 查看日志输出 | ▢ 推荐 |
能力画像
记忆与知识检索
2/5
逻辑推演
3/5
表达与交流
1/5
感知与观察
2/5
数理与计算
2/5
动手与操作
3/5
狂热与坚持
4/5
创造与创新
3/5
项目图库
所需技能
🔧 **动手能力**:需要焊接排针、连接杜邦线等基本硬件操作;了解ESP32-S2开发板的引脚定义和接线
💻 **编程能力**:需要掌握C语言编程基础;熟悉ESP-IDF框架的项目结构、CMakeLists和Kconfig配置;了解FreeRTOS多任务编程概念;了解LVGL GUI库的基本使用
⚡ **电子电路**:需要了解I2C和SPI通信协议;了解音频功放电路基本原理;了解FM收音模块RDA5807M的基本工作原理
适用场景
嵌入式学习实践:适合有一定C语言基础、希望学习ESP-IDF和ESP-ADF框架的开发者
音频处理项目:可作为网络音频流和FM收音的参考设计
智能家居/桌面设备:可作为带显示屏和音频输出的交互式设备原型
开源硬件活动:该项目源自硬禾暑期一起练活动,适合参与类似学习活动的开发者