FM流媒体播放器 fm-streamer

ESP32 1/5 已发布
russery 40 Stars GPL-3.0 BOM 完整度: 0/5 教程完整度: 0/5
FM流媒体播放器

项目简介

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


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

标签

项目特点

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

技术规格

主控芯片 ESP32 或 ESP8266
音频解码 通过ESP8266Audio库解码MP3流
音频输出 I2S接口 -> UDA1334A DAC -> 模拟音频 -> Si4713 FM发射器
FM发射器 Si4713,通过I2C控制
控制方式 Web界面(ESP32)或串口
供电 通过ESP32/ESP8266的USB或3.3V输入
网络连接 WiFi,支持自定义SSID和密码

项目资源

物料清单 (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_v1_doit esp32_devkit_v1_doit.step
aht10_breakout aht10_breakout.step
am312_breakout am312_breakout.step
kf301-5.0-2p kf301-5.0-2p.step
esp32_devkit_v1_doit esp32_devkit_v1_doit.step

能力画像

⚪ 记忆与知识检索: 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广播站,播放自定义内容