今天,新买的HackRF到手了,新货到收当然是立刻要把玩一下,遂在此记录下搭建使用HackRF环境的过程,以便于自己以后查阅,也可以给需要的人查询
预先准备
我这里宿主机操作系统为Mac OS X EI Capitan,虚拟机软件使用的是Parallels Desktop 11,虚拟机配置为2 Core/2G RAM/64G HDD
使用的操作系统版本为debian-8.4.0-amd64,带有XFCE桌面图形环境,使用的是阿里云的软件源
具体的系统安装过程不再赘述
相关链接:
GNU Radio
https://github.com/gnuradio/gnuradio
GNU Radio VOLK Module
https://github.com/gnuradio/volk
HackRF 固件/驱动/其他程序
https://github.com/mossmann/hackrf
gr-osmosdr
https://github.com/osmocom/gr-osmosdr
gqrx 图形化工具
https://github.com/csete/gqrx
rtl-sdr 电视棒相关
https://github.com/osmocom/rtl-sdr
首先是更新源
apt-get update apt-get upgrade
然后需要安装编译环境以及所需的依赖包,因为是编译安装,所以可能安装过程会比较慢,需要耐心等待^_^
apt-get -y install git build-essential cmake git-core autoconf automake libtool g++ python-dev swig pkg-config libfftw3-dev libboost1.55-all-dev libcppunit-dev libgsl0-dev libusb-dev sdcc libsdl1.2-dev python-wxgtk3.0 python-numpy python-cheetah python-lxml doxygen python-qt4 python-qwt5-qt4 libxi-dev libqt4-opengl-dev libqwt5-qt4-dev libfontconfig1-dev libxrender-dev libusb-1.0
建立工作文件夹,如下文不特别指明,则提到的工作文件夹均为/root/hackrf/install
mkdir -p /root/hackrf/install cd /root/hackrf/install
然后从git源去拉取最新代码
# gnuradio git clone https://github.com/gnuradio/gnuradio # gnuradio-volk-module git clone https://github.com/gnuradio/volk # hackrf git clone https://github.com/mossmann/hackrf # gr-osmosdr git clone https://github.com/osmocom/gr-osmosdr # gqrx git clone https://github.com/csete/gqrx # rtl-sdr git clone https://github.com/osmocom/rtl-sdr
全部拉取完的文件夹列表应如下图
正式安装
准备几个包,分别为gnuradio,volk,hackrf,gr-osmosdr,gqrx,如果需要使用电视棒,需要安装rtl-sdr
首先需要把volk模块放置到gnuradio中,不然cmake会提示volk子模块未找到,然后cmake会终止
cp -rf volk/ gnuradio/volk/
编译安装 gnuradio
首先进入工作目录,然后进行环境检查
cd /root/hackrf/install cd gnuradio mkdir build cmake ../
检查完成之后的提示应该如下图
然后进行编译
make -j4 #4代表用4核编译,具体请根据自己的计算机配置调节
在漫长的等待之后(我这里大概等了一个多小时),提示编译成功,如图
然后进行安装,安装过程几分钟就完了
make install ldconfig
至此GNU Radio安装完成
编译安装 hackrf
首先进入工作目录,然后进行环境检查
cd /root/hackrf/install cd hackrf/host mkdir build cd build cmake ../ -DINSTALL_UDEV_RULES=ON
检查完成之后的提示应该如下图
然后进行编译
make
依然是等待,不过这个比较快,不到一分钟就完了,完成结果如图
然后是安装
make install ldconfig
安装也是比较快,安装完成如图
至此hackrf相关已经安装完成
编译安装 gr-osmosdr
首先进入工作目录,然后进行环境检查
cd /root/hackrf/install cd gr-osmosdr mkdir build cd build cmake ../
检查完成之后的提示应该如下图
然后进行编译,编译过程大概几分钟
make
然后是安装
make install ldconfig
安装比较快,安装完成如图
至此 gr-osmosdr 相关已经安装完成
编译安装 gqrx
首先要安装几个依赖,其中libgl1-mesa-dev libgl1-mesa-glx这两个包要重新安装一次
重新安装是因为Debian的xfce图形化桌面默认已经安装了,但是在/usr/lib/x86_64-linux-gnu这个目录中的libGL.so文件软连接指向的libGL.so.1.2.0这个文件并不存在,重装这两个包之后就会自动生成了
# 安装QT的依赖库 apt-get install qtbase5-dev libqt5svg5-dev # 重装OpenGL的依赖 apt-get --reinstall install libgl1-mesa-dev libgl1-mesa-glx
开始进行编译检查
cd /root/hackrf/install cd gqrx/ mkdir build cd build cmake ../
然后进行编译,编译过程大概几分钟
make
然后是安装
make install ldconfig
创建桌面快捷方式
cd /root/hackrf/install/gqrx/ cp gqrx.desktop ~/桌面 # 有些系统的桌面文件夹是英文的,将桌面换成Desktop即可 chmod +x ~/桌面/gqrx.desktop
至此,gqrx就安装完成了
编译安装 rtl-sdr
cd gnuradio mkdir build cmake ../ -DINSTALL_UDEV_RULES=ON -DDETACH_KERNEL_DRIVER=ON
然后进行编译,编译过程不到1分钟就完了
make
然后是安装
make install ldconfig
至此,rtl-sdr就安装完成了
验证安装
首先插上HackRF,打开终端,执行如下命令
hackrf_info
如果系统发现了HackRF,返回应当如下图
双击执行桌面的gqrx,即可打开gqrx的GUI图形化界面,
点击工具栏那个像是PCI-E卡的图标,出现设备选项,设备选择HackRF One,其余保持默认,然后打开开关,即可开始捕获当前的信号,如图所示
听个FM~