您的位置:首页 > 编程语言 > ASP

Raspberry pi做成FM射频发射器

2015-08-28 03:49 597 查看

用 Raspberry Pi 做一个小型 FM 调频广播电台

2015-02-11 经验 8 条评论 热度 711℃
今天和同学聊天谈到 Raspberry Pi 树莓派的一个有趣玩法:把它变成一个小型的 FM 调频发射站!想起自己初中时也有过这个想法,但是实践过程中遇到了很多问题,摸索了很久才成功做出来。于是我便想写篇教程,把我的制作经验告诉大家,让大家更快速简单地实现这一想法。

你需要准备

1. 一只树莓派2. 一根用来充当天线的 20cm 母头杜邦线

步骤

1. 下载由国外玩家 Oliver Mattos 与 Oskar Weigl 制作的 PiFM 开源代码模块(下载地址:百度云)2. 将其解压后得到的 pifm 文件夹拷贝至树莓派的 SD 卡上3. 给树莓派的 GPIO 4 引脚插上准备好的杜邦线

4. 在终端中进入 pifm 目录后执行下列语句
sudo ./pifm sound.wav 103.3
5. 此时打开你的收音机设备,调到 103.3MHz 应该就能听到美妙的音乐了

参数说明

sound.wav

指的是示例音频文件的路径,可以把它替换成自己的音乐。但要注意只能使用 16 位单声道的 WAV 文件!

103.3

指的是发射频率。树莓派硬件上可支持的范围为 1MHz-250MHz,不过中国境内大部分收音机只能接收到 76MHz-108MHz 的频率,所以推荐在其中挑选一个空闲频率来使用。

如果你想播放立体声 WAV 格式并指定采样率可以使用下列语句

sudo ./pifm left_right.wav 103.3 22050 stereo

22050

指的是音频采样率是 22050Hz。

stereo

指的是以立体声模式播放该文件。如果你希望播放单声道文件,把它改为 mono 或删除这一参数即可。

如果你想播放 MP3 格式可以使用下列语句

ffmpeg -i input.mp3 -f s16le -ar 22.05k -ac 1 - | sudo ./pifm - 103.3
这里使用了 ffmpeg 解码器,它的作用是把“input.mp3”文件以模式 s16le 与 22050Hz 的采样率进行实时解码并作为 PiFM 模块的输入。由于 s16le 的模式代表生成 16 位的单声道 WAV 格式,所以此处不需另外填写参数。

还可以通过 USB 接口的麦克风来实现喊话功能

arecord -d0 -c2 -f S16_LE -r 22050 -twav -D copy | sudo ./pifm - 103.3

用途

它可以被做成一台便携式的 FM 发射器,随身携带来传递你的个性化声音。它可以用来做对讲机,住宿学生党的神器。它可以用来做校园广播。……

常见问题

1. 收音机里听到的全是杂音

请从以下两个方面尝试:更换一个频率,检查天线接触是否良好。

2. 执行语句时提示“找不到命令”或收音机中噪音消失但没有声音

通常是因为你没有足够的权限来运行 pifm,或是音频文件路径有误。可以尝试使用下述语句给文件提权。
sudo chmod 777 ./pifm

3. 运行时收音机中发出响亮的“哔”声

可能是因为你乱来被和谐了……开个玩笑~多半是因为文件被占用无法读取,就像一个正在被使用的文件不能被删除一样。最简单的方法就是重启系统。

4. 听到的声音播放速度不正常

基本是由于你选择了错误的采样率及声道,仔细检查一下吧!

5. 收音距离不够长

可以尝试延长杜邦线,把它缠绕在水管或是晾衣杆上,效果会好很多。

6. 听说法律规定私人搭建大功率无线电发射站是要被查水表的,是不是真的快告诉我

放心啦,树莓派的发射功率很小的,幻想着能用它来干扰卫星或是航天飞机什么的基本上是不可能的,所以 ZF 自然不会来找你麻烦的。不过,请注意调频内容一定要积极向上哦!

7. 我还有问题

推荐你到模块开发者提供的 Wiki 上逛逛,说不定会有不少收获哦~树莓派
转自“镜态极研”
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: