电视棒 + wifi 部署一个无线电接收站

0x00 背景

被疫情困在家里过于无聊,翻出了尘封已久的电视棒和天线,想收收各种通信听听。

之前遇到的主要问题在于电视棒都是插在电脑上的,听的时候也必须坐在电脑前调频率。这次改进了整套方案,实现了一个用低成本电视棒 + 闲置电脑(或者树莓派) 搭建的 局域网 家庭无线电接收站

简图

这个方案可以实现在家里任意手机、电脑上远程控制接收站的接收频率等设置,同时远程收听接收到的信号。

控制页面

0x01 Gqrx介绍

Gqrx是一款开源的 软件定义无线电(SDR) 接收软件,除了有可以安装在windows/mac/linux各种平台甚至树莓派上这个有点外,还提供了远程控制和UDP推流的接口,让我们可以实现局域网控制和收听。

gqrx界面

0x02 准备

需要的硬件清单如下:

SDR接收机

需要买一个用来接收各种无线电信号的接收机,目前有一个魔改廉价电视棒的方案。
淘宝上搜搜便宜的长得像接了天线的U盘的RTL2832电视棒即可,关键词RTL2832,价格在50-80元左右。

接收机

闲置电脑/树莓派

用于安装Gqrx,在局域网内提供远程控制与推流服务。
基础要求:

  • 有一个usb接口用于插入接收机
  • 可以连接家里局域网,wifi/有线均可

由于要接上接收机放在信号良好的地方,同时方案里的各种软件资源占用不大。各种限制电脑、树莓派都可以。

0x03 流程

设置接收环境

在设备上安装好Gqrx软件并连接好USB接收模块就好,确认输入源选到了rtl2832,就可以在这台机器上正常收听了。

详细配置流程可以参考:

界面图

配置好后可以先在这台设备上熟悉下调整各类参数(频率/噪声抑制阈值/模式)的操作,方便接下来的远程操作。

开启局域网直播

下一步我们需要将收到的声音通过网络服务提供给局域网内其他设备。

Gqrx支持UDP的广播,但使用其他主流接收器还需要转码为ogg格式。

此处我们使用到的是一款开源多媒体播放工具:VLC

安装VLC之后,将vlc配置为可命令行执行(这里可以搜索各种系统安装/配置VLC的资料)

开启Gqrx的UDP广播
gqrx udp配置

然后命令执行:

1
vlc --demux=rawaud --rawaud-channels=1 --rawaud-samplerate=48000 udp://@:7355 --sout '#standard{access=http,mux=ogg,dst=192.168.1.83:8888}'

其中7355为本机Gqrx UDP广播配置的端口,dst为本机局域网IP和用于提供音频直播输出服务的端口号

转换图

启动后,在局域网内其他机器上,使用VLC或其他支持ogg直播流的接收软件就可以。输入例如上面http://192.168.1.83:8888的机器ip和端口号,就可以局域网内收听Gqrx发出的音频流了。

软件截图

开启控制界面

上面只是实现了远程收听,但还需要能在局域网内远程控制Gqrx。由于Gqrx只支持Telnet控制,需要telnet连接敲命令太麻烦,所以我用python写了个异常简陋的界面,在部署Gqrx那台机器上启动,其他局域网内机器就可以实现连接后远程控制守听频率和噪声抑制阈值。

页面界面

首先在Gqrx中配置远程控制端口(默认7356),然后开启远程控制

开启远程控制

需要在设备上部署python3环境,然后通过

1
pip3 install flask

安装用于拉起网页服务的flask

下载或clone Github上GQRX_WEB_CONTROL项目代码,在项目根目录执行:

1
2
export FLASK_APP=flaskr
flask run --host=0.0.0.0 --port=5080

其中5080为需要提供网页服务的端口号。

在局域网内其他设备上访问形如http://192.168.1.83:5080的页面即可远程控制。

控制页面

0x04 玩法

除了简单地听听工(hang)地(kong)对(guan)话(zhi)啥的,可以继续扩充的玩法包括:

  • 接收国际空间站/各类业余卫星下行通联信号

    Gpredict实时卫星跟踪和轨道预测软件。它支持调用Gqrx的telnet控制接口,让卫星过境时根据你所在的位置选择频率,修正多普勒频偏。
    使用它远程控制接收站,可以实现对各类卫星下行业余通联信号的收听。

gpredict

  • APRS/ADS-B

    可以通过UDP广播,将接收到的信号接续接到类似virtualradar一类的软件,实现对APRS/ADS-B的信号处理。

界面

同时,入门选择淘宝网购电视棒接收一般U/V段信号也就够了,如果需要提升使用效果或者更多玩法,爱好者可自行选择在基础上加更好接收机/天线/低噪放等各种buff。

其他

参考文档

  1. Controlling gqrx from a remote host (https://gqrx.dk/doc/remote-control)
  2. Ham Radio - Network sockets and remote control of GQRX SDR with telnet and python (https://www.youtube.com/watch?v=7Rd7Sd9hRBo)
  3. https://superuser.com/questions/997673/how-to-run-vlc-command-in-mac-terminal(https://superuser.com/questions/997673/how-to-run-vlc-command-in-mac-terminal)

最后,也例行提醒下各位业余无线电爱好者在使用中遵守无线电管理及业余无线电有关规定,收听愉快!

73 de BG2CSE