用PIFM在250 MHZ以内所有频段,用树莓派做个无线音乐台基站
最初是帝国理工大学机器人协会的实验者们用树莓派时序引脚(GPIO 4)来把音乐直接从树莓派中传送出来。他们当时用的“PiFM”模块经过不断改进,现在可以从1 MHz到250 MHz之间频段发送16比特立体声音频。
这听起来真的不错……于是我决定自己也做一个。
警告:在做任何测试时切勿将树莓派的时序引脚(GPIO 4)连接到任何类型天线(即便是很短的天线)! (注:要不然有查水表之虞。)
关于“PiFM”模块的全部细节资料在这里能找到,你也可以下载这个“.tar.gz”的压缩包。当你把下载的文件放到树莓派上面时,解压缩,进入解压缩目录里(我这里举例就是“下载”这个文件夹)。文件夹应该包含下列六个文件:
left_right.wav - 声音样本".wav"文件
sound.wav - 音乐样本".wav"文件(《星球大战主题曲》)
pifm.c - pifm C语言源代码
pifm - 编译好的pifm模块
PiFm.pyc - Python语言pifm的字节代码
PiFm.py - pifm的Python代码
将米波段手持收音机靠近树莓派,调到没人占用的传输频段(例如100.0 MHz)。在命令行模式敲入下面命令(可以改变任何你想用的频段)然后按下回车:
pi@raspberrypi ~/Downloads $ sudo ./pifm sound.wav 100.0_
几乎同时,你能听见《星球大战》主题曲在收音机上播放出来。按下“Ctrl C”就能停止播放,或者直接让它播完这首音乐。只是……请万分注意在上面两种情况下,树莓派将扮演该频道广播载体的角色,直到重启或关掉电源,所以在完成实验后不要把它留在那里作为广播源!
我打算观察传输射频信号的频谱,可是我的频谱仪只能到达60MHz,所以我用树莓派生成个30MHz信号。下面就是频谱曲线:
在30 MHz频道你能看到基本信号,但在整个射频频谱内有好几个强烈谐振波和次谐振波突起。我也注意到如果我将接收器调到任何30 MHz的倍数(例如60 MHz, 90 MHz,120 MHz)的时候,也能听到传输信号,有时还很强烈。
因此,在任何这类实验时不要将树莓派时序引脚(GPIO 4)连接到任何类型天线,要不然你会制造不想得到的或在整个电磁波频谱内潜在有害的射频能量波。(还不一定是干扰别人了,万一变成微波炉把脑袋烤了……)
虽说用树莓派时序引脚(GPIO 4)很容易生成射频信号,甚至传输音频,但这个创作的有效性却受到大量谐波和次谐波产生的畸变信号严重限制(因为基本来说这些就是方波信号)。我曾读过不少文章,关于把树莓派用作低功率发射器,并在业余爱好者广播频段工作,只要在输出端加上低通滤波器就行。但我只能说这是个低效率举动,因为还有次谐振畸变信号在射频信号中需要处理。要让树莓派生成射频信号并能实际应用,需要个很好带通滤波器才行。
共有 0 条评论