新一代树莓派 Raspberry Pi 2 性能测试之软件无线电追踪飞机信息

新一代树莓派 Raspberry Pi 2 性能测试之软件无线电追踪飞机信息

转载自zza1003169 2015年02月28日  开源杂志 发表

安装开源软件无线电(GNU Radio),用电视棒追踪飞机轨迹

众所周知,树莓派(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中加上这一行命令:

更新Apt cache:

 
  
  1. $ sudo apt-get update

安装 GNU Radio 程序:

 
  
  1. $ sudo apt-get install gnuradio gnuradio-dev

RTL-SDR软件的安装及测试

廉价的电视棒,大概10英镑,再加上开源SDR软件就能实现接收飞机雷达信号了。如图将电视棒和天线接入Pi 2 的USB接口。点击关键词了解更多rtl-sdr,和SDR信息。

因为我们是在Linux环境下面实现飞机追踪,但是我们需要提前做好设置,否则电视棒接收的就是电视信号。

编辑etc/modprobe.d/raspi-blacklist.conf 文件,加入这行命令:

 
  
  1. blacklist dvb_usb_rtl28xxu

安装 rtl-sdr软件:

 
  
  1. $ sudo apt-get install rtl-sdr gr-osmosdr

作为普通用户,我们需要有访问设备的权限,为此我们需要定义一个新udev规则。

首先查询 USB ID。确认电视棒插入了Pi 2的USB口,然后输入:

 
  
  1. $ lusb

我得到的结果是:

 
  
  1. Bus 001 Device 004: ID 0bda:2832 Realtek Semiconductor Corp. RTL2832U DVB-T

接下来新建 /etc/udev/rules.d/20.rtlsdr.rules文件夹,输入:

 
  
  1. SUBSYSTEM=="usb", ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="2832", GROUP="adm", MODE="0666", SYMLINK+="rtl_sdr"

然后重启Pi 2。

简单测试一下

运行gr-osmocom软件中的FFT程序,输入:

 
  
  1. $ osmocom_fft

我们会看到上面的FFT频谱显示。

如果我们查看Pi 2 CPU负荷,会发现CPU可用空间还非常大,四核CUP中只用1核运行,其使用率是70%。

解调软件gr-air-modes的安装及使用

大约在2年半前,笔者写过另一篇博客——如何使用电视棒和gr-air-modes软件从S模式应答机中接收飞机位置以及航向信息。那次实验使用笔记本电脑做的,其实笔者也尝试过用树莓派 Model B,但是 Model B 的处理能力不够,导致操作超时。

为了编译gr-air-modes软件,我们需要一些 附加依赖项,输入:

 
  
  1. $ sudo apt-get install sqlite pyqt4-dev-tools liblog4cpp5-dev swig

安装完上面的依赖项后,我们就可以使用git克隆源码到Pi 2:

 
  
  1. $ git clone [https://github.com/bistromath/gr-air-modes.git](https://github.com/bistromath/gr-air-modes.git)

编译安装:

 
  
  1. $ cd gr-air-modes  
  2. $ mkdir build
  3. $ cd build
  4. $ cmake ../
  5. $ make
  6. $ sudo make install
  7. $ sudo ldconfig

然后我们就可以运行这个程序了:

 
  
  1. $ modes_rx -s osmocom

只用一个小小的天线,在距机场很远的数公里之外,笔者仍然收到所有飞机信息!

再次查看 Pi 2 的CPU,CPU还是有很大空间的。

结束语:

树莓派2 于其第一代相比,硬件配置明显改善——使用了4核心ARM架构处理器,性能明显提升,这对大多数人来说绝对是好事,尤其是那些想用电视棒追踪航班信息的人来说这是一件让人愉悦的事情。

你可能感兴趣的:(软件无线电)