GNURadio3.9+HackRF+Ubuntu20.04安装及环境配置

前言

最近在做SDR的相关项目,因为成本有限,选用了半双工的开源平台HackRF(售价1000元左右),并考虑在Linux上使用开源软件框架GNURadio的流图+Python方式开发。但GNURadio在Ubuntu20.04的软件源中是3.8版本,而3.8版本在使用Python自定义模块时存在诸多bug,所以干脆就去装了3.9版本。在安装时因为各种依赖缺失和编译失败而走了许多弯路,成功之后,一股强烈的社会责任感油然而生,所以就在这里向各位展示我的安装过程,以供参考。

安装依赖

在命令行输入以下命令:

sudo apt install git cmake g++ libboost-all-dev libgmp-dev swig python3-numpy \
python3-mako python3-sphinx python3-lxml doxygen libfftw3-dev \
libsdl1.2-dev libgsl-dev libqwt-qt5-dev libqt5opengl5-dev python3-pyqt5 \
liblog4cpp5-dev libzmq3-dev python3-yaml python3-click python3-click-plugins \
python3-zmq python3-scipy python3-gi python3-gi-cairo gir1.2-gtk-3.0 \
libcodec2-dev libgsm1-dev

若不是Ubuntu20.04,请参考官方Wiki

安装VOLK

在3.9以后,VOLK已经不再是GNURadio的子组件,需要另行安装。

cd
git clone --recursive https://github.com/gnuradio/volk.git
cd volk
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DPYTHON_EXECUTABLE=/usr/bin/python3 ../
make
make test
sudo make install
sudo ldconfig

安装GNURadio

cd
git clone https://github.com/gnuradio/gnuradio.git
cd gnuradio
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DPYTHON_EXECUTABLE=/usr/bin/python3 ../
make -j3
make test
sudo make install
sudo ldconfig
volk_profile

最后一步作为提高性能的可选步骤,可能需要一段时间。

安装HackRF驱动及库文件

cd
sudo apt-get install git build-essential cmake libusb-1.0-0-dev liblog4cpp5-dev libboost-dev libboost-system-dev libboost-thread-dev libboost-program-options-dev swig
git clone https://github.com/mossmann/hackrf.git
cd hackrf/host
mkdir build && cd build
cmake ../ -DINSTALL_UDEV_RULES=ON
make
sudo make install
sudo ldconfig

这里建议各位科学上网完成该步骤,否则无法从git上clone(其实只要是用到git的步骤,都建议科学上网)。
安装成功后可以插上设备,在命令行输入hackrf_info来查看固件信息。

安装gr-osmocom相关组件

cd
git clone git://git.osmocom.org/gr-osmosdr
cd gr-osmosdr/
mkdir build
cd build/
cmake ../
make
sudo make install
sudo ldconfig

这一步请务必在配置好HackRF环境后使用,否则会在编译时出现无法使能硬件的情况。

后记

感谢看到这里的诸位同好,Linux下配置环境是相当折磨的一个过程,至于为什么选择源码安装这样复杂的方式,是因为笔者在失败多次之后,查阅了大量国内外的资料及博文,发现GNURadio新版已不再支持pybombs的一键安装,而gr-osmocom也没有及时更新对3.9版本之后的二进制文件支持。如果只是单纯使用仿真,推荐使用ppa源安装;而对于旧版本的使用者,笔者在这里强烈推荐一位B站带佬的文章:Ubuntu下HackRF的GNURadio环境搭建

  • 4
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值