A internet radio and bluetooth speaker project for the Espressif ESP32
ESP32_MP3_Decoder
⭐⭐☆☆☆ (2/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和蓝牙音频应用开发
作为嵌入式音频项目的入门实践
制作桌面装饰品兼实用音响(可加外壳和显示屏)
用于学校或创客空间的电子制作课程