FM流媒体播放器 fm-streamer

ESP32 ⭐☆☆☆☆ (1/5) 已发布
russery 40 Stars GPL-3.0 BOM 完整度: /5 教程完整度: /5

项目简介

用ESP32将网络音频流传输到FM发射器。


这是一个名为FM Streamer的开源硬件项目,旨在解决一个非常具体但有趣的问题:当你远离家乡时,如何用老式FM收音机收听家乡的电台。项目基于ESP32或ESP8266微控制器,通过WiFi抓取网络MP3音频流,再将其桥接到FM发射器上,从而让任何传统FM收音机都能播放来自互联网的电台节目。

标签

项目特点

将互联网音频流转换为FM广播信号,兼容任何FM收音机
支持ESP32和ESP8266两种主控芯片
提供Web控制界面(仅ESP32),可切换电台、调节音量和发射功率
使用I2S DAC和I2C FM发射器,音频质量良好
基于Arduino框架,易于编译和上传
开源硬件设计,所有元件均可从常见渠道购买

技术规格

主控芯片
音频解码
音频输出
FM发射器
控制方式
供电
网络连接

项目资源

物料清单 (BOM)

物料名称 数量 参考价格 备注
ESP32开发板 或 ESP8266 NodeMCU v1.0 1 二选一
Adafruit UDA1334A I2S DAC 1 I2S转模拟音频
Adafruit Si4713 FM发射器 1 I2C控制
4.7kΩ电阻 2 可选,用于DAC输出加载
杜邦线/面包板跳线 若干 用于电路连接
USB线或3.3V电源 1 为ESP32供电

3D 模型

模型名称文件名文件
esp32 devkit doit(STEP 模型) esp32_devkit_v1_doit.step
aht10 breakout(STEP 模型) aht10_breakout.step
am312 breakout(STEP 模型) am312_breakout.step
kf301 5.0 2p(STEP 模型) kf301-5.0-2p.step
esp32 devkit doit(STEP 模型) esp32_devkit_v1_doit.step

所需工具

工具用途是否必需
计算机(Linux/Mac/Windows) 编译和上传代码 ✅ 是
串口线(USB转TTL) 连接ESP32/ESP8266到电脑 ▢ 推荐
面包板 搭建原型电路 ▢ 推荐
焊台 焊接电阻等元件 ▢ 推荐
万用表 调试电路 ▢ 推荐

能力画像

记忆与知识检索
2/5
逻辑推演
2/5
表达与交流
1/5
感知与观察
2/5
数理与计算
2/5
动手与操作
4/5
狂热与坚持
3/5
创造与创新
3/5

所需技能

🔧 **动手能力**:需要能够按照接线图连接ESP32、DAC和FM发射器,焊接电阻(可选),以及搭建面包板电路。 💻 **编程能力**:需要熟悉Arduino IDE或arduino-cli,能够修改WiFi凭据和电台列表,编译并上传固件到ESP32/ESP8266。 ⚡ **电子电路**:了解I2C和I2S通信协议的基本概念,知道如何连接3.3V供电和接地,理解电阻加载的作用。

适用场景

在FM信号覆盖差的地区,通过互联网收听家乡或喜爱的网络电台
将网络音频流(如播客、音乐)转发到老式FM收音机,实现无线播放
作为DIY项目,学习ESP32/ESP8266的音频处理和I2S/I2C通信
在家庭或办公室中,创建一个专属的FM广播站,播放自定义内容