使用树莓派3b和RTL_SDR搭建无线电监测点

SDR 是个什么东西?

“软件无线电”( Software Defined Radio – SDR )。实际上软件无线电技术的研究和开发已经有几十年的历史了,其中传统上以硬件实现的组件(例如混频器,滤波器,放大器,调制器\解调器,检测器等),通过个人计算机或嵌入式系统上的软件实现。最初源于美军的多制式电台项目,应用在军事领域。
在 21 世纪初,由于众多公司的努力,使得它已从军事领域转向民用领域,成为经济的、应用广泛的、全球第三代移动通信系统的战略基础。
到今天我们日常使用的移动通信系统中就在大量使用软件无线电技术, 比如基站中的信号处理大量的使用可编程的 FPGA 和 DSP 完成,比如手机当中的基带处理器也越来越多的采用软解调的方法(少数运算量特别大实时性要求特别高的模块除外,比如 turbo 解码器、扩频相关器等,这些模块往往在基带处理器中嵌入一些高度定制化”硬”核来实现)。

所以我们想要监听周围的无线电信号,自然是需要一个硬件的。

需要的硬件

  • RTL-SDR (或者 HackRF等)
  • Raspberry Pi 3(32位系统) (或者 Linux 系统的电脑)
  • 有网络
  • 高频天线

我选择的是一根支持 rtl-sdr 的电视棒,就是采用 RTL2832u (频率范围为 64-1700mh )解调芯片的。这是瑞晟( Realtek )的一个芯片型号,原本是做电视棒芯片的。后来被人发现这个芯片具有非常广的频率接收范围,然后就被用来做 sdr 应用了。十分廉价!

RTL-SDR

安装 RTL_SDR 驱动程序

硬件已经有了,接下来就是安装相关的软件驱动,才可以使用

1
sudo apt install rtl-sdr librtlsdr-dev

创建文件夹并进入

1
2
mkdir spyserver
cd spyserver

下载软件并解压

1
2
wget -O spyserver.tgz http://airspy.com/?ddownload=4247
tar xvzf spyserver.tgz

使用像nano这样的文本编辑器来编辑spyserver.config文件。将”device_type”更改为”device_type = RTL-SDR”(不带引号)。

1
nano spyserver.config

测试程序

1
./spyserver spyserver.config

正常运行截图

img

使用网络连接 spyserver 后的 SDRSharp 软件中 NFW 与WFM 带宽 会被限制 需要修改 SDRSharp客户端目录下 SDRSharp.exe.Config中

1
2
<add key="minReducedNarrowBandwidth" value="12500" />
<add key="minReducedWideBandwidth" value="150000" />

开机自启

1
vi /usr/lib/systemd/system/spyserver.service

添加下面的内容

1
2
3
4
5
6
7
8
9
10
11
12
[Unit]
Description=spyserver

[Service]
ExecStart=/root/spyserver/spyserver /root/spyserver/spyserver.config #根据你的位置修改
Restart=on-abnormal
RestartSec=10s
KillMode=mixed

[Install]
WantedBy=multi-user.target

设置开机自启动

1
2
3
4
5
6
7
8
# 更新配置
systemctl daemon-reload

# 启动服务
systemctl start spyserver.service

# 设置开机启动
systemctl enable spyserver.service

然后打开你的SDR软件就可以收听了哦

image-20220320084259416