ChristopheJacquet/PiFmRds
3/5
🧩 软硬件结合
已发布
项目简介
FM-RDS transmitter using the Raspberry Pi's PWM
PiFmRds 是一个基于树莓派硬件实现的调频广播发射器项目,它不仅能生成标准的FM调制信号,还能实时产生RDS(无线电数据系统)数据。这个项目由Christophe Jacquet在Oliver Mattos和Oskar Weigl的原始FM发射器基础上改进而来,通过利用树莓派的PWM发生器产生VHF信号,并集成了RDS数据生成和调制功能。
项目特点
**纯软件实现FM发射**:无需额外射频硬件,仅利用树莓派的PWM发生器产生VHF信号。
**集成RDS数据**:支持实时生成电台名称、节目类型、广播文本等RDS信息,让普通FM发射器具备专业电台功能。
**跨平台支持**:可在Raspberry Pi OS、Arch Linux ARM等多种系统上运行,支持Pi Zero、Pi 3、Pi 4等主流型号。
**低延迟音频播放**:支持从WAV文件直接播放,也支持通过管道从标准输入读取音频数据,便于集成到其他项目中。
**命令行操作简单**:一条命令即可启动发射,支持设置频率、RDS内容、音频文件路径等参数。
**开源社区活跃**:GitHub星数超过1500,有丰富的文档和示例,便于二次开发和问题排查。
技术规格
| 发射频率范围 | |
|---|---|
| 频率步进 | |
| 调制方式 | |
| RDS标准 | |
| RDS数据内容 | |
| 音频输入格式 | |
| 音频文件格式 | |
| 发射功率 | |
| 有效覆盖范围 | |
| 支持的树莓派型号 | |
| 依赖库 |
项目资源
搜索资源
物料清单 (BOM)
| 物料名称 | 数量 | 参考价格 | 备注 |
|---|---|---|---|
| 树莓派(Pi 3/4/Zero等) | 1 | — | 任何支持PWM的型号均可 |
| 杜邦线(公母) | 1 | — | 约20cm长,插在GPIO 4引脚上 |
| 树莓派电源适配器 | 1 | — | 5V/2.5A以上 |
| MicroSD卡 | 1 | — | 用于安装操作系统 |
| 电脑或手机 | 1 | — | 用于传输音频文件或实时音频流 |
| 散热片/风扇 | 1 | — | 长时间发射时建议加装 |
能力画像
**记忆与知识检索**:3/5 — 需要理解FM调制原理、RDS协议和树莓派GPIO引脚功能,但核心知识可通过文档快速检索。
**动手与操作**:4/5 — 需要连接杜邦线作为天线、安装系统、编译软件,操作步骤明确但涉及硬件接线。
**编程与算法**:2/5 — 基本使用只需命令行操作,无需编程;二次开发需要C语言和信号处理知识。
**设计与建模**:1/5 — 项目本身不涉及电路设计或3D建模,但可自行设计外壳或天线。
**实验与调试**:4/5 — 需要调整天线长度、发射频率、RDS内容等参数,并通过收音机实时验证效果。
**协作与分享**:3/5 — 可通过GitHub提交Issue或Pull Request,也适合在创客社区分享发射成果。
**学习与研究**:4/5 — 是学习FM通信、RDS协议、树莓派PWM外设的绝佳实践项目。
**系统集成**:3/5 — 可与其他项目(如MPD音乐播放器、语音合成系统)集成,实现自动化广播。
项目图库
所需技能
树莓派基础操作(系统安装、SSH连接、命令行使用)
编译C语言程序(使用gcc和make)
理解FM广播基本原理(频率、调制、带宽)
了解RDS数据格式(PS、RT、PTY等字段含义)
音频文件格式转换(WAV、采样率、位深)
基本电子知识(GPIO引脚、天线阻抗匹配概念)
适用场景
校园或社区小型广播站(播放通知、音乐)
无线电通信技术教学演示
智能家居语音播报系统(如天气、新闻)
车载FM音频转发(将手机音频通过树莓派发射到车载收音机)
创客作品展示(如互动艺术装置、声音装置)
应急通信测试(低功率、短距离信号覆盖)
无线电爱好者实验(研究FM调制、RDS协议)