工作时一部分内容,需要用到gnuradio软件配置,属于软件无线电USRP的内容,不属于计算机视觉,只作为记录,一样的花费了较长时间,大概两周,终于安装成功,虽然有点脱离了自己的兴趣爱好,但也算近期的一个成果,将它分享出来。网上资料很杂乱,也算一个系统的整理。
------------------------------------------------------------------------------------------------------
GNU radio软件安装流程
前期准备(ubuntu+python2.7)
(在配置前安装好ubuntu系统;配置好Python2.7环境,网上有教程很简单
其中装ubuntu系统参考https://blog.csdn.net/cw_hello1/article/details/70186698,需要下载UltraISO软件,将下载好的ubuntu.iso镜像文件放到U盘里就可以,设置好电脑的BIOS从U盘启动,插上U盘重启电脑就可以进入安装界面了
一般ubuntu自带python环境,但还是建议通过 sudo apt-get install python2.7 来安装Python2.7版本,并且相关numpy、matplotlib、scipy等库也要安装好)
)
一、配置USRP的硬件驱动,即UHD驱动(一般情况下先安装这个)
1. 安装依赖包,可以直接复制到终端上面:
sudo apt-get install libboost-all-dev libusb-1.0-0-dev python-mako doxygen python-docutils cmake build-essential
2. 获得最新的uhd源码(两种方式,一是git clone,二是直接下载uhd源码(推荐))
①输入 git clone git://github.com/EttusResearch/uhd.git
(若是提示没有git工具,使用sudo apt-get install git 安装一下)
git clone这一步骤速度非常慢,耐心等待若下载一直失败,可以直接使用第二种方法下载
②访问uhd源码链接:
https://github.com/EttusResearch/uhd/tree/release_003_010_001_000
这种方式稍微快一些但也比较慢,之前大部分时间都卡在了第一种方式git上面,花费时间较多,
(注:解决GitHub下载速度太慢的问题参考:
https://blog.csdn.net/qing666888/article/details/79123742
192.30.253.112 github.com
151.101.13.194 github.global.ssl.fastly.net)
③ 编译:
将下载好的uhd_release_003_001_001_000.zip提取出来
在该文件夹下打开终端,依次输入:
cd host
mkdir build 新建build文件夹
cd build 打开build文件夹
cmake ../ 注意是输入两个点../
Cmake成功
然后再依次输入:
make 这一步时间比较长,耐心等待,大概半小时左右
大概半小时后,make完成
输入 make test
测试成功
然后输入 sudo make install,安装uhd
输入sudo ldconfig 更新系统的library cache,这个一定要输入
直接输入export LD_LIBRARY_PATH=/usr/local/lib 更新共享库和环境变量
参考链接:
http://files.ettus.com/manual/page_build_guide.html
http://digital.ni.com/public.nsf/allkb/825823A54D291719862580D4003410B8
附官网UHD从源码安装的流程图,链接为:
https://kb.ettus.com/Building_and_Installing_the_USRP_Open-Source_Toolchain_(UHD_and_GNU_Radio)_on_Linux#Building_and_installing_UHD_from_source_code
以上 ,已经成功了一半了
二、安装gnuradio
1. 重新回到home路径(ctrl+alt+t再打开一个终端就行),开始安装gnuradio软件,输入sudo apt-get install gnuradio
2. 输入gnuradio-companion 后出现gui界面
并且在右方模块中有uhd模块,证明安装成功
3. 找个例子运行下
可以在/usr/share/gnuradio/examples/qt-gui 文件夹下运行 pyqt_example_f.py在该文件夹的终端下输入 python pyqt_example_f.py
4.配置USRP的ip
改pc端ip就行,改成192.168.10.1或者其他同一子网
USRP默认地址为192.168.10.2 因此配置PC端与其在同一个网段(例如192.168.10.X),子网掩码为255.255.255.0,网关为192.168.10.2
配置完以后用ping命令 ping 192.168.10.2 要是连通着 证明连接USRP设备成功
ifconfig命令可以查看当前ip地址(若无ifconfig,使用sudo apt-get install net-tools下载对应包)
5. 测试usrp
①直接在终端输入 uhd_find_devices 会出现一些usrp设备的参数
usrp网口应该为千兆网口,否则不识别设备,输入uhd_find_devices命令后出现设备参数,证明连接成功
我们再ping 192.168.10.2 若正常,则连接设备成功
------------------------------------------------------------------------------------------
出现的问题:
1.如下图所示,更新FPGA image和firmware image问题
参考网上的解决办法,输入 sudo uhd_images_downloader 下载对应包,时间比较久,大概半小时左右
下载完成
然后再输入 uhd_image_loader --args="type=usrp2,addr=192.168.10.2 ,reset” 回车,将镜像下载到usrp设备中并重启设备
若这一步提示无uhd_image_loader 命令,输入 sudo /usr/lib/uhd/utils/usrp 查看该文件下的烧录程序 ,查找到程序文件为usrp_n2xx_simple_net_burner.py,因此命令行输入:
sudo /usr/lib/uhd/utils/usrp_n2xx_simple_net_burner -- addr="192.168.10.2" 回车 期间输入Y 就可以完成了。
重启成功:
此时运行 uhd_usrp_probe会显示设备参数:
运行一个例子看看:
至此,全部流程结束,辛苦辛苦。
参考链接:https://blog.csdn.net/pelsor/article/details/50478536
重点标记:
http://digital.ni.com/public.nsf/allkb/825823A54D291719862580D4003410B8
补:还碰到了网线插上不识别的问题,最后发现是网口不是千兆网口的原因,但如何修改网口为全双工的问题,也记录下来:
链接:http://bbs.elecfans.com/jishu_1388679_1_1.html
更改网卡驱动为全双工:
1.输入ifconfig 网卡显示名称为ens33问题:
先修改ens33为eth0:
输入 sudo nano /etc/default/grub,打开grub文件
修改GRUB_CMDLINE_LINUX=””,为GRUB_CMDLINE_LINUX=”net.ifnames=0 biosdevname=0”
然后ctrl+x,Y保存,然后回车
运行 sudo grub-mkconfig -o /boot/grub/grub.cfg 使改动生效:
重启linux,运行ifconfig,发现改好了
2.修改eth0为全双工:
打开终端输入sudo apt-get install ethtool 安装ethtool工具
输入ethtool eth0 ,查询eth0网卡状态:
再输入ethtool -s eth0 autoneg off speed 100 duplex full
强制转换为全双工模式
---------------------------------------------------------
参考了较多的链接,主要的已经附在相关内容后面,网上资料确实比较杂乱,建议直接看官网流程有一个大概的概念之后在看本篇安装教程。
转载请注明来源。
欢迎关注我的个人公众号相互交流
以上。