ubuntu12.04下安装UHD和gnuradio
来源:互联网 发布:nginx反向代理 缓存 编辑:程序博客网 时间:2024/05/16 01:49
软件的安装主要分为两部分:gnuradio和UHD(usrp hardware driver)。软件安装比较复杂,不容易安装配置成功。其主要原因是因为gnuradio安装前需要预装很多工具包和依赖,而这些工具包的安装方法和版本根据操作系统版本的不同也不相同。gnuradio和UHD的安装本身也有几种不同的安装方法。后文会对不同安装方法做简要介绍,对本文采取的基于ubuntu12.04的安装做详细介绍。需要强调的是gnuradio和UHD的官方网站对软件的安装和使用有详细介绍,也是最权威的参考。只是阅读起来会比较繁琐,逻辑链条分叉较多。最好将安装部分和它提供的子链接及子子链接先完整阅读一遍,整体上做到心中有数(当然,您要是大牛这个文档也没必要看的)。
参考,gnuradio官网:http://gnuradio.org/redmine/projects/gnuradio/wiki。
UHD官网:http://code.ettus.com/redmine/ettus/projects/uhd/wiki。
gnuradio的安装主要有三种方式。第一种是通过标准软件库中的gnuradio包。这种方法安装速度很快。但由于gnuradio更新很快,库中的安装包一般是比较老的版本。而且也存在与本机环境不兼容的问题。参见,http://gnuradio.org/redmine/projects/gnuradio/wiki/InstallingGR。 第二种通过build-gnuradio脚本文件,它是通过源文件进行安装。此脚本文件可以将UHD和gnuradio同时安装,基本不需要用户做任何操作。脚本默认通过fetch的方式获取源码包。而且脚本对各种系统和版本都兼容,从网上的反馈来看有很高的成功率(基本都是国外的)。参见,http://gnuradio.org/redmine/projects/gnuradio/wiki/InstallingGRFromSource。但是比较遗憾,作者亲测的结果是ubuntu12.04 和14.04 下安装都失败,fetch不成功(谁让咱在天朝)!有一种方法是通过no-fetch的方式,修改脚本文件手动下载源码包,再进行build。 实际效果未测试。参见,http://www.docin.com/p-877952376.html。第三种就是本文采用的方法(最笨,也是亲测唯一有效的方法),在安装gnuradio之前必须首先安装UHD。因为gnuradio安装过程有涉及对UHD的操作。参见,http://gnuradio.org/redmine/projects/gnuradio/wiki/BinaryPackages。
一、 安装UHD
UHD的安装也有两种方法。一种是通过安装程序进行安装,无需编译,实测成功。而且此方法对ubuntu12.04以上版本均有效;另一种是通过源码包的方式编译安装,也实测成功。建议采用第一种。参见,http://code.ettus.com/redmine/ettus/projects/uhd/wiki。
通过安装程序安装:
选择安装发型版,在终端输入:
sudo bash -c 'echo "deb http://files.ettus.com/binaries/uhd_stable/repo/uhd/ubuntu/`lsb_release -cs` `lsb_release -cs` main" > /etc/apt/sources.list.d/ettus.list'
sudo apt-get update
sudo apt-get install -t `lsb_release -cs` uhd
通过源码包安装:
首先安装依赖,终端输入:
sudo apt-get install python libboost-all-dev libusb-1.0-0-dev python-cheetah doxygen python-docutils
获取源码包:http://code.ettus.com/redmine/ettus/projects/uhd/wiki/UHD_Linux。或者 终端输入:git clone git://github.com/EttusResearch/uhd.git
编译:
cd <uhd-repo-path>/host
mkdir build
cd build
cmake ../
安装:
make
make test
sudo make install
配置环境变量,确保libuhd.so(build文件夹下)在你的LD_LIBRARY_PATH, 或者将它添加到 /etc/ld.so.conf(可以直接将libuhd.so文件复制到/lib/),然后运行:
sudo ldconfig
环境变量配置完成后,注销重新登录生效。或者运行“source ~/.profile”立即生效(仅在当前shell下)。参见,
http://code.ettus.com/redmine/ettus/projects/uhd/wiki/UHD_Build,http://files.ettus.com/manual/page_build_guide.html。
连接usrp设备(usrp默认ip是192.168.10.2,将本机ip与usrp 设在同一网段)。终端输入: uhd_usrp_probe
若返回设备信息,如下图 1,则说明UHD已经正确安装。
图 1. usrp返回信息
二、安装gnuradio
gnuradio安装需要预先安装很多库和工具,所以首先要安装依赖:
sudo apt-get -y install git-core autoconf automake libtool g++ python-dev swig \
pkg-config libboost1.48-all-dev libfftw3-dev libcppunit-dev libgsl0-dev \
libusb-dev sdcc libsdl1.2-dev python-wxgtk2.8 python-numpy \
python-cheetah python-lxml doxygen python-qt4 python-qwt5-qt4 libxi-dev \
libqt4-opengl-dev libqwt5-qt4-dev libfontconfig1-dev libxrender-dev
安装gnuradio:
git clone http://gnuradio.org/git/gnuradio.git
编译、安装:
cd gnuradio
mkdir build
cd build
cmake ../
make
make test
sudo make install
配置环境变量:
export PYTHONPATH=$PYTHONPATH:/usr/lib/python2.7/dist-packages
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/bin
参见:http://gnuradio.org/redmine/projects/gnuradio/wiki/UbuntuInstall,http://gnuradio.org/redmine/projects/gnuradio/wiki/BinaryPackages。
执行/usr/local/share/gnuradio/examples/audio/dial_tone.py。dial_tone.py文件是将信号输入声卡左右声道中,从耳机中听到嗡鸣声;或者执行“gnuradio-companion”弹出对话框,证明gnuradio安装成功。
- ubuntu12.04下安装UHD和gnuradio
- ubuntu12.04 下用脚本安装gnuradio 和 UHD
- linux环境下安装gnuradio+uhd
- ubuntu 16.04环境下安装gnuradio+UHD
- gnuradio安装指南——详解ubuntu16.04下使用脚本安装gnuradio&uhd全过程
- ubuntu下安装gnuradio uhd的全面教程
- 如何安装GNURadio以及UHD
- 如何100%一次性安装uhd+gnuradio
- ubuntu12.04下编译gnuradio-3.6.1
- USRP_N210软件平台UHD安装及GNUradio安装
- 利用pybombs安装最新源码软件,包括gnuradio, uhd, hackrf, limesuite, gqrx, 以及各种gnuradio模块.
- ubuntu14.04下使用pypombs安装gnuradio
- ubuntu14.04安装UHD和GNU radio总结
- Uhd+GNUradio软件无线电平台在Linux系统上安装过程
- ubuntu 下安装uhd依赖库
- The script for Installing UHD+GNUradio
- ubuntu12.04下安装eclipse和jdk
- Ubuntu12.04下安装eclipse和m2e
- 用户体验之保存用户登录信息
- LeetCode Construct Binary Tree from Inorder and Postorder Traversal
- protues元器件查找
- 类得继承与组合
- CALayer
- ubuntu12.04下安装UHD和gnuradio
- mySQL中replace的用法
- 勇敢传说
- 脚本百事通收集和整理的二百多个IT技术相关知识点,绝对值得珍藏!!!
- war文件
- 平凡之路
- MFC中使用Sqlite
- struts2基础学习一
- Android利用Canvas和Paint实现画图和自定义布局组件