安装开源软件无线电(GNU Radio),用xxx追踪飞机轨迹
众所周知,树莓派(Raspberry Pi )价格低廉,配备非常实用的GPIO接口;最重要的是Raspberry Pi本身创意无限,其社区也相当活跃,开发出了一些令人不可思议的应用软件。
虽然Raspberry Pi 2 Model B+非常优秀,但是其单核处理器总是有些不尽人意,玩家总是想要更强大的处理器来运行更大的应用程序。一个非常好的例子就是软件定义的无线电(SDR),因为这个应用程序对硬件配置比较高,换句话说需要Raspberry Pi的性能更强大。
如今刚发布的新一代Raspberry Pi 2Model B内存是1GB,相比上一代内存翻了一倍;处理器也升级到4核心,官方称 性能是上一代的6倍,所以运行SDR应用程序会更流畅。
安装GUN Radio
GNU Radio SDR工具包是一个相当大的程序,对计算机的性能要求非常高。目前这个工具包只有在Raspbian OS的测试版“jessie”里下载。原本Pi 2 配置的SD卡里只有稳定版“wheezy”,现在我们需要在测试版软件库里搜索GNU Radio SDR工具包。
编辑 sources.list 文件,在/etc/apt/sources.list中加上这一行命令:
deb http://archive.raspbian.org/raspbian jessie main
更新Apt cache:
$ sudo apt-get update
安装 GNU Radio 程序:
$ sudo apt-get install gnuradio gnuradio-dev
RTL-SDR软件的安装及测试
廉价的xxx,大概10英镑,再加上开源SDR软件就能实现接收飞机雷达信号了。如图将xxx和天线接入Pi 2 的USB接口。
因为我们是在Linux环境下面实现飞机追踪,但是我们需要提前做好设置,否则xxx接收的就是电视信号。
编辑etc/modprobe.d/raspi-blacklist.conf 文件,加入这行命令:
blacklist dvb_usb_rtl28xxu
安装 rtl-sdr软件:
$ sudo apt-get install rtl-sdr gr-osmosdr
作为普通用户,我们需要有访问设备的权限,为此我们需要定义一个新udev规则。
首先查询 USB ID。确认xxx插入了Pi 2的USB口,然后输入:
$ lusb
我得到的结果是:
Bus 001 Device 004: ID 0bda:2832 Realtek Semiconductor Corp. RTL2832U DVB-T
接下来新建 /etc/udev/rules.d/20.rtlsdr.rules文件夹,输入:
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="2832", GROUP="adm", MODE="0666", SYMLINK+="rtl_sdr"
然后重启Pi 2。
简单测试一下
运行gr-osmocom软件中的FFT程序,输入:
$ osmocom_fft
我们会看到上面的FFT频谱显示。
如果我们查看Pi 2 CPU负荷,会发现CPU可用空间还非常大,四核CUP中只用1核运行,其使用率是70%。
解调软件gr-air-modes的安装及使用
大约在2年半前,笔者写过另一篇博客——如何使用xxx和gr-air-modes软件从S模式应答机中接收飞机位置以及航向信息。那次实验使用笔记本电脑做的,其实笔者也尝试过用树莓派 Model B,但是 Model B 的处理能力不够,导致操作超时。
为了编译gr-air-modes软件,我们需要一些 附加依赖项,输入:
$ sudo apt-get install sqlite pyqt4-dev-tools liblog4cpp5-dev swig
安装完上面的依赖项后,我们就可以使用git克隆源码到Pi 2:
$ git clone [https://github.com/bistromath/gr-air-modes.git](https://github.com/bistromath/gr-air-modes.git)
编译安装:
$ cd gr-air-modes
$ mkdir build
$ cd build
$ cmake ../
$ make
$ sudo make install
$ sudo ldconfig
然后我们就可以运行这个程序了:
$ modes_rx -s osmocom
只用一个小小的天线,在距机场很远的数公里之外,笔者仍然收到所有飞机信息!
再次查看 Pi 2 的CPU,CPU还是有很大空间的。
结束语:
树莓派2 于其第一代相比,硬件配置明显改善——使用了4核心ARM架构处理器,性能明显提升,这对大多数人来说xx是好事,尤其是那些想用xxx追踪航班信息的人来说这是一件让人愉悦的事情。