使用树莓派搭建一个个人广播站
请遵循中华人民共和国无线电管理条例!
需要的设备:
树莓派4B
杜邦线
电脑
教程开始
First
克隆GitHub上的项目
首先打开终端,输入
1 |
|
要记住,在所有项目开始之前,你都需要更新软件仓库
更新完成后,输入
1 |
|
现在,在终端里输入
1 |
|
开始克隆rpitx项目
rpitx项目可以让树莓派发射从5 KHz到1500 MHz之间的广播信号,从而搭建一个私人广播站
开发者的介绍
rpitx is a general radio frequency transmitter for Raspberry Pi which doesn’t require any other hardware unless filter to avoid intererence. It can handle frequencies from 5 KHz up to 1500 MHz.
由于GitHub服务器在国外,所以克隆时间会比较长,耐心等待即可,如果卡住可以试试”Ctrl+C”终止然后重新克隆
克隆完成后,输入
1 |
|
将终端目录转至rpitx
然后输入
1 |
|
运行自动安装脚本
该安装过程依旧需要连接国外服务器,时间可能会比较长,请耐心等待
在安装最后,会提示是否允许修改 /boot/config.txt,输入”y”并回车即可
现在已经安装完成了,最后输入
1 |
|
进行重启
Second
向世界发声
激动人心的时刻到了,让我们来测试一下树莓派是否可以发射广播信号
打开终端,输入
1 |
|
让终端在 /rpitx 目录下运行,这个目录包含树莓派发射广播信号的所有文件
然后继续输入
1 |
|
这是作者提供的一个测试脚本,输入后,你的终端应该会出现下图样式
由于434 MHz不是一个标准的FM频率,即使我们可以通过其他方式来接收,但本教程主要针对FM广播的发射,所以我们可以更改这个数值,比如85,只要不要占用当地已有的广播频率即可
输入频率后回车,我们会进入一个新的页面,请用方向键将光标移动到第四项,FmRds
选中后回车,你会看到如下界面
现在,就拿出你的收音机,调到你刚刚设定的频率,然后靠近树莓派,仔细听,是不是有声音了,如果有,那么恭喜你,你已经成功配置好了你的树莓派,可以正常播音了!
你现在是不是发现,树莓派发出的信号特别的小,稍微离远一点就收不到信号了?现在,请拿出一根杜邦线,插在树莓派的GPIO 4引脚(图中7号引脚)
好了,听听看,是不是信号好了很多?在家里逛一圈,是不是基本上都能听到声音啦!
但是,现在树莓派一直在播送测试音频,那么我们应该怎样播放自己想要的声音呢,现在,请向树莓派内导入一段.wav格式的音频,将其放在 /home/pi/rpitx 目录下,然后在当前文件夹下运行终端,怎样在当前目录运行终端?请在终端内输入
1 |
|
一定要记住了!之后的大部分命令都需要在当前目录下运行!后面我就不再重复说明了
现在请按照以下模板输入
1 |
|
比如,我想在85 MHz播送名为q.wav的音频文件,那么我应该输入
1 |
|
当你在终端最后一行看到
1 |
|
表明树莓派已经开始进行广播了,你可以使用收音机去接收了
一个小问题
如果你想播送的音频不是.wav格式该怎么办呢?我为你提供两种解决方法
方法一(不推荐)
使用格式转换工具(方便,但不是一个长久的方法,同时接下来的功能都将无法使用)
无论是在线还是软件都可以,在网络上搜索音频转换就会有一大堆工具,选择一个有缘的用就好,只要保证最后的格式是.wav即可
方法二(推荐)
使用SoX工具(需要额外安装且命令语法较为复杂,但是无需单独转换文件,可以直接在树莓派上播送,应用范围广)
在树莓派终端中输入
1 |
|
现在,在 /rpitx 目录下运行终端,输入以下模板
1 |
|
比如,我想在85 MHz频率上播放1.mp3文件,那么我应该输入
1 |
|
非常建议你复制上面这串命令然后修改[ ]内的内容而不是手打,因为这非常容易输错!
正常情况下,你的音频可以正常播送,如果失败可能是原格式不支持,SoX目前支持的格式有:AU, WAV, AIFF, MP3 , Ogg Vorbis, FLAC
自动播放多个音频
我们已经实现通过树莓派发射音频信号了,但是你会发现它一直在循环播放同一个音频,这未免有些感到枯燥,所以现在我们可以通过编写一个简单的脚本实现多音频连续播放
首先我们到 /rpitx 目录下新建一个文件夹,在 /rpitx 目录下运行终端,输入
1 |
|
比如我要创建一个名为“playlist”的文件夹,那么我应该输入
1 |
|
创建完成后,我们需要将 /rpitx 目录下的“pifmrds”文件复制到刚刚创建的文件夹内,在终端内输入
1 |
|
比如我要将其复制到名为“playlist”的文件夹内,那么我应该输入
1 |
|
注意,文件夹名称最后的“/”一定不能忘记了
现在,在终端内输入
1 |
|
在新的文件夹内运行终端
接下来,我们需要编写一个脚本了,在终端内输入
1 |
|
输入后你会进入一个黑色界面,这是一个文本编辑器,上一篇博客我们也使用过它
现在,你需要在这里输入下面这串代码
1 |
|
如果你使用的是.wav文件,则将代码中所有.mp3改为.wav即可
值得注意的是,在该文件夹内的所有音频文件格式都需要与代码中的格式相同,对于上面给出的例子来说,树莓派将会播放所有.mp3格式的音频文件,对于格式不同的音频文件,树莓派将不会播放
输入完成后,请依此按下“Ctrl+O” > “回车” > “Ctrl+X”,保存并退出
最后,我们需要为“batch_fm.sh”文件分配权限,在终端内输入
1 |
|
755权限
第一位7,代表文件所有者拥有的权限为可读(4)+可写(2)+可执行(1)
第二位5,代表文件所有者同组用户的权限为可读(4)+不可写(0)+可执行(1)
第三位5,代表公共用户的权限为可读(4)+不可写(0)+可执行(1)
现在,导入一些相同格式的音频文件到 /home/pi/rpitx/[playlist] 目录下(你需要将[playlist]更改为你所创建的文件夹名称),然后在当前目录下运行终端,输入
1 |
|
当你看到终端最后一行显示“Starting to transmit on XX MHz”时,你就可以使用收音机去收听了!
告一段落
本期教程到这里就结束了,但是这只是最最基础的一些功能,下期教程,我将教大家如何实时播送电脑的声音以及自己的声音,让你成为一名真正的DJ!敬请期待吧!
目前学业繁忙,更新不会太快,非常抱歉,呜呜~
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!