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安装

前言: HackRF one是一款全开源的硬件+软件项目,其目的主要是为了提供廉价的SDR(软件定义无线电)方案,它类似于一个几十年前开始流行的基于软件的数字音频技术。正如声卡在计算机数字化的音频波形,软件无线电外设数字化无线电波形。这就像一个非常快的声卡与音箱和麦克风由天线所取代。一个单一的软件无线电平台,可以用来实现几乎任何无线技术(蓝牙,ZigBee,蜂窝技术,FM收音机等)。 PCB图片展示: 什么是软件定义的无线电(SDR) 软件定义的无线电(Software Defined Radio,SDR) 是一种无线电广播通信技术,它基于软件定义的无线通信协议而非通过硬连线实现。频带、空中接口协议和功能可通过软件下载和更新来升级,而不用完全更换硬件。 软件无线电利用现代化软件来操纵、控制传统的"纯硬件电路"的无线通信技术。软件无线电技术的重要价值在于:传统的硬件无线电通信设备只是作为无线通信的基本平台,而许多的通信功能则是由软件来实现,打破了有史以来设备的通信功能的实现仅仅依赖于硬件发展的格局。软件无线电技术的出现是通信领域继固定通信到移动通信,模拟通信到数字通信之后第三次革命。 HackRF One特性介绍: 10 MHz to 6 GHz operating frequency Half-duplex transceiver Up to 20 million samples per second 8-bit quadrature samples (8-bit I and 8-bit Q) Compatible with GNU Radio, SDR#, and more Software-configurable RX and TX gain and baseband filter Software-controlled antenna port power (50 mA at 3.3 V) SMA female antenna connector SMA female clock input and output for synchronization Convenient buttons for programming Internal pin headers for expansion Hi-Speed USB 2.0 USB-powered 附件内容包括: 整个软件定义无线电SDR设计模块原理图和PCB源文件、元器件库文件、材料清单、gerber等; 该HackRF On设计文档介绍; 源代码; host以及固件等; 原文出处:https://www.sparkfun.com/products/13001
### 关于 HackRF OneGNU Radio 的集成与使用 #### 环境准备 为了使 HackRF One 能够顺利工作并与 GNU Radio 集成,在 Ubuntu 20.04 上需先完成一系列软件包的安装。这包括但不限于 GNU Radio 自身及其依赖项[^2]。 #### 安装过程 对于操作系统的具体版本,推荐使用 VMware 16 或更高版本来运行 Ubuntu 20.04,这是因为较低版本可能无法适配 Windows 10 及以上系统中的某些特性,从而影响到 HackRF One 的正常配置。 #### 实际应用案例 当涉及到实际的应用场景时,比如发射或接收广播信号,可以通过 B站上的 HacKRF 官方教程视频获得直观的学习体验。该系列的第一集中包含了详细的中文解说,有助于理解如何利用 GnuRadio 进行广播信号的操作[^1]。 #### FM 接收实例 构建一个简单的 FM 广播接收器作为入门项目是非常合适的。通过 优快云 博客上分享的经验可以看到,借助 GNURadio Companion (GRC),即 GNU Radio 提供的一个图形化开发工具,能够快速搭建起基于 HackRF One 的 FM 接收方案。 ```python # Python脚本用于启动GNU Radio Flowgraph from gnuradio import gr, uhd import time class my_top_block(gr.top_block): def __init__(self): gr.top_block.__init__(self) self.u = uhd.usrp_source( device_addr="", stream_args=uhd.stream_args(cpu_format="fc32", channels=range(1)), ) if __name__ == '__main__': tb = my_top_block() try: tb.start() # 启动流图 time.sleep(1) # 让程序持续一段时间 except KeyboardInterrupt: pass finally: tb.stop() tb.wait() ``` 此段代码展示了如何创建并初始化 USRP 设备对象(这里以 UHD 库为例),虽然不是直接针对 HackRF One 编写,但是提供了调用 SDR 设备的基础框架思路。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值