A internet radio and bluetooth speaker project for the Espressif ESP32 ESP32_MP3_Decoder

⭐⭐☆☆☆ (2/5) 已发布
MrBuddyCasino 822 Stars 未知 BOM 完整度: /5 教程完整度: /5

项目简介

ESP32网络收音机和蓝牙音箱项目。


ESP32_MP3_Decoder 是一个基于 ESP32 微控制器的网络收音机与音频解码开源项目。它通过 Wi-Fi 连接网络电台,实时解码 MP3 和 AAC(测试阶段)音频流,并通过 I2S 音频编解码器或 ESP32 内置的 DAC 引脚直接驱动扬声器播放声音。项目还支持蓝牙音箱模式,可作为经典蓝牙 A2DP 音源设备使用。

标签

项目特点

支持Wi-Fi连接,可播放全球网络电台(HTTP流媒体)
支持蓝牙A2DP协议,可作为蓝牙音箱播放手机音乐
使用VS1053B音频解码芯片,硬件解码MP3等格式,音质稳定
支持通过按键或旋钮控制音量、切换电台
可外接OLED显示屏显示电台信息和播放状态
代码基于Arduino框架,易于修改和二次开发

技术规格

主控芯片 ESP32(双核Xtensa LX6,240MHz)
音频解码芯片 VS1053B(支持MP3、WMA、OGG、FLAC、AAC等)
无线连接 Wi-Fi 802.11 b/g/n + 蓝牙4.2(BR/EDR + BLE)
蓝牙协议 A2DP(音频流)、AVRCP(控制)
音频输出 3.5mm耳机接口 / 扬声器输出(通过功放)
显示接口 I2C OLED(128x64像素)
控制接口 按键、旋转编码器
供电电压 5V DC(Micro USB)
工作电流 约200-500mA(视Wi-Fi和音频输出)
板载存储 4MB Flash(可扩展SD卡)

项目资源

物料清单 (BOM)

物料名称 数量 参考价格 备注
ESP32开发板(如NodeMCU-32S) 1 建议选带USB转串口的版本
VS1053B模块 1 常见MP3解码模块,SPI接口
MAX98357A I2S功放模块 1 可选,用于驱动扬声器
0.96寸OLED(SSD1306,I2C) 1 128x64像素,显示电台信息
旋转编码器(EC11) 1 用于音量/电台切换
按键(6x6mm轻触开关) 2-3 用于模式切换、播放/暂停
Micro USB线 1 5V供电
3.5mm耳机插座 1 或直接接扬声器
10kΩ电阻 若干 上拉/下拉用
100nF电容 若干 电源去耦
杜邦线/排针 若干 面包板连接用

所需工具

工具用途是否必需
电脑(Windows/Mac/Linux) 编写和编译代码 ✅ 是
Arduino IDE(或PlatformIO) 开发环境,烧录固件 ✅ 是
USB数据线 连接ESP32到电脑 ✅ 是
电烙铁及焊锡 焊接模块和排针 ▢ 推荐
万用表 检查连接和电压 ▢ 推荐
3D打印机(可选) 打印外壳 ▢ 推荐

能力画像

**记忆与知识检索**:3/5 — 需要查阅VS1053B数据手册和ESP32音频库文档,但整体资料较丰富。
**动手与操作**:4/5 — 需要焊接排针、连接杜邦线,制作简单外壳,适合有一定焊接经验的人。
**编程与算法**:3/5 — 基于Arduino框架,代码逻辑清晰,主要涉及Wi-Fi连接、音频流处理和按键扫描,难度中等。
**设计与建模**:2/5 — 电路连接相对固定,无需复杂PCB设计;如需外壳则需简单3D建模。
**实验与调试**:4/5 — 需要调试Wi-Fi连接、音频解码和蓝牙配对,串口输出日志有助于排查问题。
**协作与分享**:2/5 — 单人项目为主,但GitHub上可提交Issue或PR,社区活跃度一般。
**学习与研究**:4/5 — 适合学习ESP32的Wi-Fi/蓝牙应用、音频解码原理和嵌入式系统集成。
**系统集成**:3/5 — 需要将多个模块(主控、解码、功放、显示、输入)整合为一个完整设备,有一定集成挑战。

所需技能

基础电子知识(电路连接、面包板使用) 焊接技能(排针、模块焊接) Arduino IDE或PlatformIO使用经验 C/C++基础编程(能看懂和修改Arduino代码) 了解Wi-Fi和蓝牙基本原理 能够阅读英文技术文档(数据手册、库说明)

适用场景

制作一台属于自己的网络收音机,收听全球电台
将旧音箱改装为支持蓝牙和Wi-Fi的智能音箱
学习ESP32的Wi-Fi和蓝牙音频应用开发
作为嵌入式音频项目的入门实践
制作桌面装饰品兼实用音响(可加外壳和显示屏)
用于学校或创客空间的电子制作课程