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.35. 此时打开你的收音机设备,调到 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 上逛逛,说不定会有不少收获哦~树莓派转自“镜态极研”
相关文章推荐
- asp.net服务器推送长连接
- 宽带服务价值链之:ISP,ICP,ASP,IDC,CDN
- 在 ASP.NET 应用中使用 LESS
- ztree 使用asp.net mvc异步动态获取数据
- asp.net mvc htmlhelper扩展
- ASP.Net的两种开发模式
- Metasploit(四)--Msfpayload命令
- asp 数据库 模块化 - 思路是没一个页面有一个自己的数据类 这里用nPath表示
- 7 天玩转 ASP.NET MVC — 第 7 天
- 7 天玩转 ASP.NET MVC — 第 7 天
- 运行IIS出现The server has encountered an error ......的解决方法
- Metasploit(三)--Msfcli命令
- Metasploit(二)--Msf 常用***命令
- ASP 乱码问题
- Metasploit(一)--Meterpreter的命令速查表
- ASP.net,用vs做的网站后缀是.sln文件如何发布成网站?
- Aspose.Words使用教程之如何重命名合并字段
- Aspose.Words如何重命名合并字段
- aspx前台调用cs后台方法
- aspx前台调用cs后台方法