在ubuntu系统上安装GNU,之前使用命令行的方式费事费力,现在采用pybombs(Python Build Overlay Managed Bundle System) 是 GNU Radio 的包管理系统。pybombs是封装好的自动程序,会自动下载源码包然后编译安装,过程中会自己下载依赖包,比自己下载源码编译安装省事很多。官网https://github.com/gnuradio/pybombs
为了使用Pybombs安装上GNU并且插入USRP能检测到和运行,我参考了下面链接帖子的安装方法,再整理了下,感谢原创的分享:
http://www.freebuf.com/articles/wireless/119950.html
http://blog.csdn.net/segments/article/details/51991831
https://mirrors.tuna.tsinghua.edu.cn/help/pybombs/
1.安装和更新pip
sudo apt-get install python-pip
sudo pip install -U pip
2.安装pybombs
sudo pip install pybombs
如果你想要从git上安装最新版本,使用下面命令
sudo pip install --upgrade git+https://github.com/gnuradio/pybombs.git
3.获取安装库
pybombs recipes add gr-recipes git+https://github.com/gnuradio/gr-recipes.git
pybombs recipes add gr-etcetera git+https://github.com/gnuradio/gr-etcetera.git
但是由于这里是境外网站在线安装可能会很慢很慢,所以也可以采用清华大学的镜像源
pybombs recipes add gr-recipes git+https://mirrors.tuna.tsinghua.edu.cn/pybombs/recipes/gr-recipes.git
pybombs recipes add gr-etcetera git+https://mirrors.tuna.tsinghua.edu.cn/pybombs/recipes/gr-etcetera.git
默认会安装很多组件,如果安装到中途断了,再用上面的命令无法执行怎么办?
可以删掉/usr/local下的.pybombs,然后整个重新安装,提示配置文件直接覆盖就行,如果只是个别组件导致的中断,可以先用pybombs卸载该组件,再重新安装,比如安装rtl-sdr出错:
pybombs remove rtl-sdr
pybombs install rtl-sdr
4.设置安装路径
安装到/usr/local目录,安装目录下会有.pybombs目录,配置文件保存在用户目录的.pybombs文件夹
pybombs prefix init /usr/local -a myprefix -R gnuradio-default
当然,也可以安装在主目录下:
pybombs prefix init ~/prefix -a myprefix -R gnuradio-default
之后的所有命令将使用myprefix作为默认前缀。 你可以稍后通过运行
pybombs config default_prefix NEWPREFIX
更改默认前缀
5.安装UHD,GNURadio和其他包
sudo pybombs install uhd gnuradio
sudo ldconfig
安装完成后检查组件,再加上一些没有自动安装的组件:
pybombs install osmo-sdr rtl-sdr gnuradio dump1090 hackrf bladeRF airspy gr-iqbal libosmo-dsp gr-osmosdr gqrx
6.下载USRP镜像
使用pybombs安装完UHD(USRP Hardware Driver)后还需下载固件镜像以及FPGA镜像,执行:
python /usr/local/lib/uhd/utils/uhd_images_downloader.py
如果前面4设置安装路径的时候设置的不是/usr/local而是主目录,那么这里就要切换到:
/home/用户名/prefix/lib/utils/uhd_images_downloader.py
这里需要注意的是,uhd_images_downloader.py文件里面会有下载的image 的版本,应该是可以更改的,不过UHD的版本一定要和image的版本匹配!
7.新建网络
点击'add'
选择'ethernet'
配置相关信息,DEVICE选择默认的
IPV4的method选择'manual'
添加设备地址等信息
我们的USRP默认物理地址是
address=192.168.10.1
netmask=255.255.255.0
gateway=0.0.0.0
然后‘save’
8.检测USRP是否载入成功
插入USRP(如果是笔记本用一根网线就可以连接上啦),然后记得给USRP上电!
桌面会提示'USRP'网络已经连接上
使用终端
uhd_find_devices
如果能找到设备信息,说明USRP检测成功
9.将程序烧入USRP
uhd_find_devices
查询硬件信息,可以看到USRP的地址为:192.168.10.2然后切换到安装目录
cd /usr/share/uhd/images
上述安装目录应该不会影响到这个目录,无论什么安装目录,最终应生成这个目录才算成功,该目录下应该要有usrp_x310_fpga_HGS.bit这些个文件
然后执行
usrp_x3xx_fpga_burner --addr=192.168.10.2
你的硬件地址是什么这里就改成什么
然后显示写入进程,说明写入成功
10.测试是否安装成功
在终端调用下测试小程序,比如写入
uhd_fft -f 100M
然后执行,就可以得到下图
安装完成后,执行环境变量脚本,然后执行gnuradio-companion就能打开界面,gnuradio-config-info可以查看版本修改配置:
cd /usr/local
. ./setup_env.sh
gnuradio-config-info -v
gnuradio-companion