Ubuntu HackRF One、GNU Radio、Gqrx相关环境搭建

本文内容、开发板及配件仅限用于学校或科研院所开展科研实验!

本文介绍的安装方法包括两种,一种是利用sudo apt-get install命令行的方式来直接安装,另一种是从github下载hackrf、gqrx等常用软件的源代码后,进行编译和安装。两种安装方法各有优劣。

第一种方法(本文称为安装方法A),sudo apt-get install命令行安装不能下载安装到最新版本的代码,但是一般都能安装成比较稳定版本的代码

第二种方法(本文称为安装方法B),下载源代码安装,可以下载到最新版本或者你指定版本的代码,但是有时候最新版本的代码不一定稳定,有可能存在一些小问题

对于Ubuntu使用新手,我建议您可以暂时用sudo apt-get install命令行方式来安装即可。

如果大家根据本文方法,安装过程中碰到什么问题,欢迎联系反馈!谢谢!

目录

一、修改Ubuntu软件源

二、安装依赖:(安装方法A和B都需要安装的一些依赖包)

三、sudo apt-get install 安装与hackrf相关的常用软件(安装方法A,新手强烈建议采用此方法,因为简单、够用,且一般不会出现什么问题)

1、GNU Radio及相关模块安装

2、hackrf安装

3、gqrx安装

四、源代码安装hackrf和gqrx(安装方法B,不建议新手使用该方法)

1、源码安装hackrf

2、源码安装GNU Radio

(1)GNU Radio3.7(该方法是安装GNU Radio3.7及以下版本,Python2.7)

(2)GNU Radio 3.9(该方法是安装GNU Radio3.9,Python3.9.4,Ubuntu 21.04)

3、源码安装GrOsmoSDR

4、源码安装Gqrx


一、修改Ubuntu软件源

修改方法参见《Ubuntu如何更新软件源》

二、安装依赖:(安装方法A和B都需要安装的一些依赖包)

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 pkg-config libfftw3-dev
 

三、sudo apt-get install 安装与hackrf相关的常用软件(安装方法A,新手强烈建议采用此方法,因为简单、够用,且一般不会出现什么问题)

1、GNU Radio及相关模块安装

sudo apt-get update

sudo apt-get upgrade

sudo apt-get install gnuradio gnuradio-dev gr-iqbal gr-osmosdr

2、hackrf安装

sudo apt-get install hackrf libhackrf-dev
 

3、gqrx安装

sudo apt-get install gqrx-sdr
 

对于采用sudo apt-get install方法安装的软件,卸载起来也简单,执行sudo apt-get remove XXX即可,其中XXX表示你需要卸载的软件名称。例如,

卸载hackrf的命令为:(新手安装软件,可忽略此信息!)

sudo apt-get remove hackrf
 

如果想卸载hackrf及其所依赖的软件包的话,则可以执行以下命令:(新手安装软件,可忽略此信息!)

sudo apt-get remove --auto-remove hackrf
 

四、源代码安装hackrf和gqrx(安装方法B,不建议新手使用该方法)

创建存放hackrf源码的文件夹,下载hackrf源码,例如,本文我先创建一个用于存放hackrf和gqrx源代码的文件夹,命名为了“SDR”。如果你打开一个Ubuntu终端之后,用cd命令,进入到你需要存放SDR文件夹的路径。

1、源码安装hackrf

$ mkdir SDR

进入创建的SDR文件夹,

$ cd SDR

下载hackrf源码,

$ git clone https://github.com/mossmann/hackrf.git

执行完上述命令后,你的SDR文件夹中会多出一个hackrf的文件夹,接下来编译安装hackrf。

进入hackrf/host文件夹

$ cd hackrf/host

创建build文件夹并进入该文件夹

$ mkdir build && cd build

执行cmake编译操作

$ cmake ../ ‐DINSTALL_UDEV_RULES=ON

make编译和install安装

$ make

$ sudo make install

$ sudo ldconfig

测试hackrf电脑软件环境安装是否成功

连接hackrf设备USB至电脑USB接口,命令行输入hackrf_info命令点击回车键后,会看到如下类似信息:

$ hackrf_info

Found HackRF board.
Board ID Number: 2 (HackRF One)
Firmware Version: ...
Part ID Number: ...
Serial Number: ...
至此,说明hackrf电脑软件环境安装成功。

2、源码安装GNU Radio

(1)GNU Radio3.7(该方法是安装GNU Radio3.7及以下版本,Python2.7)

① 安装依赖包,这些依赖包是编译安装gnuradio需要的。

sudo apt-get -y install git-core cmake g++ python-dev swig pkg-config libfftw3-dev libboost1.55-all-dev libboost1.55-dev libcppunit-dev libgsl0-dev libusb-dev libsdl1.2-dev python-wxgtk2.8 python-numpy python-cheetah python-lxml doxygen libxi-dev python-sip libqt4-opengl-dev libqwt-dev libfontconfig1-dev libxrender-dev python-sip python-sip-dev
 

② 修改Python PATH,安装完GNU Radio的依赖之后GNU Radio后需要配置环境参数PYTHONPATH

export PYTHONPATH=/usr/local/lib/python2.7/dist-packages
 

③ 从github下载gnuradio的源码,假设你的终端当前路径是在XXX/SDR,执行完以下命令后,你的当前路径下会多出gnuradio的文件夹。

git clone --recursive http://git.gnuradio.org/git/gnuradio.git
 

⑤ 编译安装gnuradio

进入gnuradio文件夹

cd gnuradio
 

创建一个build文件夹并进入build文件夹

mkdir build && cd build
 

执行cmake创建makefile文件

cmake ../
 

执行make编译,这个make过程可能有点长,与你电脑的配置也有关。

make
 

执行make install安装,

sudo make install
 

执行ldconfig,

sudo ldconfig
 

(2)GNU Radio 3.9(该方法是安装GNU Radio3.9,Python3.9.4,Ubuntu 21.04)

① 安装依赖包(参考:UbuntuInstall - GNU Radio

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 pybind11-dev python3-matplotlib libsndfile1-dev libsoapysdr-dev soapysdr-tools
 

pygccxml和pyqtgraph依赖包的安装稍微特殊一点,我按照gnuradio wiki的方法无法安装,所以在网上找到了以下解决方法。

https://ubuntu.pkgs.org/21.10/ubuntu-universe-amd64/python3-pygccxml_1.9.1-3_all.deb.html

https://ubuntu.pkgs.org/21.10/ubuntu-universe-arm64/python3-pyqtgraph_0.12.2-1_all.deb.html

sudo apt-get install python3-pygccxml
sudo apt-get install python3-pyqtgraph
 

② 安装VOLK

InstallingGR - GNU Radio

git clone --recursive https://github.com/gnuradio/volk.git
cd volk
mkdir build
cd build
cmake ../
make
make test
sudo make install
sudo ldconfig
 

③ 安装GNU Radio 3.9

git clone https://github.com/gnuradio/gnuradio.git
cd gnuradio
git checkout maint-3.9
mkdir build
cd build
cmake ../
make
make test
sudo make install
sudo ldconfig
 

3、源码安装GrOsmoSDR

在我创建的SDR文件夹中存放gr‐osmosdr文件夹,XXX表示SDR的路径前缀。【注意:gr‐osmosdr要与GNU Radio的版本对应,否则可能你的GRC中不会出现osmocom Source/Sink模块】

cd XXX/SDR
git clone git://git.osmocom.org/gr‐osmosdr
cd gr‐osmosdr
mkdir build && cd build
cmake ../
make
sudo make install
sudo ldconfig
 

4、源码安装Gqrx

cd ~/SDR
git clone https://github.com/csete/gqrx.git
cd gqrx
mkdir build && cd build
qmake ../  (或者执行qmake ../gqrx.pro)
make
sudo make install
sudo ldconfig
 
内容概要:本研究聚焦于绿电直连型电氢氨园区的优化运行,提出一种集成绿色电力直接供给、电解水制氢及氢气合成氨工艺的综合能源系统架构。通过建立包含风光发电、电解槽、氨合成反应器、储氢罐、电网交互及多类型负荷在内的系统模型,综合考虑绿电直供优先、能量梯级利用与多能互补原则,构建以系统综合运行成本最小化为目标的优化调度模型。研究采用Matlab与Python工具进行算法求解和仿真分析,利用实际气象与负荷数据完成案例验证,评估了不同运行策略下系统的经济性、可再生能源消纳能力与碳减排效益,为新型电氢氨一体化园区的规划与运行提供了理论依据和技术支撑。; 适合人群:具备一定电力系统、新能源或化工背景的研究生、科研人员及从事综合能源系统规划与优化工作的工程技术人员。; 使用场景及目标:①用于科研学习,理解电-氢-氨多能转换系统的建模与优化方法;②为工业园区的低碳化、智能化改造提供技术参考与决策支持;③作为开发类似综合能源管理系统的理论基础。; 阅读建议:此资源包含完整的模型代码、数据与论文,使用者应结合代码仔细研读论文中的模型构建部分,重点关注目标函数与约束条件的设计逻辑,并尝试修改参数进行仿真,以深入掌握优化算法在实际系统中的应用。
内容概要:本文深入探讨了RS485通信协议在芯片行业自动化测试系统中的实际开发与应用,涵盖其关键概念、电气特性、通信机制及与Modbus RTU协议的结合使用。文章重点介绍了差分信号完整性设计、主从时序控制、CRC校验与重传机制等核心技术要点,并通过一个基于Python的完整代码实例,展示了如何实现RS485主站对探针台、自动分选机等芯片测试设备的控制与数据采集。此外,还分析了RS485在晶圆探针台、ATE设备集群和环境监控等典型场景的应用,并展望了其与工业以太网融合、智能化诊断、高速化及AI集成的发展趋势。; 适合人群:具备一定嵌入式系统或工业通信基础,从事芯片测试、自动化设备开发及相关领域的研发人员,尤其是工作1-3年希望提升现场总线应用能力的工程师。; 使用场景及目标:①理解RS485在高干扰芯片测试环境中稳定通信的设计原理;②掌握Modbus RTU协议在Python下的实现方法,用于实际控制探针台、Handler等设备;③构建可靠的数据采集与设备控制系统,支持CRC校验、异常处理和日志追踪;④为后续向高速通信和智能诊断系统升级提供技术储备。; 阅读建议:此资源强调实战开发,建议结合硬件环境动手调试代码,重点关注线程锁、CRC计算、帧解析和超时控制等关键环节,在真实产线中验证通信稳定性,并利用日志系统进行故障分析与优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值