在树莓派上搭建OpenWebRX教程

OpenWebRX是一个带有Web UI的多用户软件无线电接收软件,下面简单介绍在树莓派Raspbian OS中搭建OpenWebRX的简单教程。

Github项目地址:https://github.com/simonyiszk/openwebrx
作者Blog:https://blog.sdr.hu/

简单来说,只有三步:

一、安装依赖关系
二、安装编译RTL-SDR驱动
三、安装编译OpenWebRX程序

执行命令及注释如下:

#安装依赖关系
 sudo apt-get install build-essential git libfftw3-dev cmake libusb-1.0-0-dev
#拉取rtl-sdr源代码
 git clone git://git.osmocom.org/rtl-sdr.git
 cd rtl-sdr
#编译rtl-sdr驱动
 mkdir build
 cd build
 make
 sudo make install
 sudo ldconfig
 cd ../..
#拉取OpenWebRX和libcs​​dr源代码(子目录将在当前目录下创建)
 git clone https://github.com/simonyiszk/openwebrx.git
 git clone https://github.com/simonyiszk/csdr.git
#编译libcs​​dr(这是OpenWebRX的依赖项)
 cd csdr
 sudo make install
#接下来据可以使用以下命令来后台执行这个OpenWebRX程序了
 nano ../openwebrx/config_webrx.py 
#当然可以直接运行OpenWebRX
 cd ../openwebrx
 ./openwebrx.py

OK,经过以上三步,打开浏览器输入http://127.0.0.1:8073你可以看到如下的基本画面:

web界面
那么证明这个OpenWebRX是初步搭建成功了,由于RTL-SDR电视棒是多通道采样(I/Q),你可以直接使用 I 通道接收搭建20MHz~2GHz的OpenWebRX服务器,同时也可以手动改装使用 Q 通道接收20MHz以下的信号。我是改装后使用 Q 通道直接采样的信号提供了6~8MHz的websdr服务,以下简单记录,希望对一些朋友有用。

刚才是下载编译的文件目录结构是这样的:

pi@raspberrypi:~ $ tree -L 2 sdr/  #我是先创建的目录“sdr”
sdr/
├── csdr
│   ├── CONTRIBUTING.md
│   ├── csdr
│   ├── csdr.c
│   ├── csdr-fm
│   ├── ddcd.cpp
│   ├── ddcd.h
│   ├── ddcd_old.cpp
│   ├── ddcd_old.h
│   ├── dumpvect.147t.vect
│   ├── fastddc.c
│   ├── fastddc.h
│   ├── fft_fftw.c
│   ├── fft_fftw.h
│   ├── fft_rpi.c
│   ├── fft_rpi.h
│   ├── grc_tests
│   ├── ICLA.txt
│   ├── ima_adpcm.c
│   ├── ima_adpcm.h
│   ├── libcsdr.c
│   ├── libcsdr_gpl.c
│   ├── libcsdr_gpl.h
│   ├── libcsdr.h
│   ├── libcsdr.so -> libcsdr.so.0.15
│   ├── libcsdr.so.0.15
│   ├── libcsdr_wrapper.c
│   ├── Makefile
│   ├── make_test200
│   ├── nmux
│   ├── nmux.cpp
│   ├── nmux.h
│   ├── parsevect
│   ├── predefined.h
│   ├── README.md
│   ├── recomp
│   ├── sdr.js
│   ├── test200.c
│   ├── tsmpool.cpp
│   └── tsmpool.h
├── openwebrx
│   ├── config_webrx.py
│   ├── config_webrx.pyc
│   ├── CONTRIBUTING.md
│   ├── CONTRIBUTORS
│   ├── csdr.py
│   ├── csdr.pyc
│   ├── htdocs
│   ├── ICLA.txt
│   ├── LICENSE.txt
│   ├── openwebrx.py  #
│   ├── openwebrx.py.save
│   ├── README.md
│   ├── rxws.py
│   ├── rxws.pyc
│   ├── sdrhu.py
│   └── sdrhu.pyc
└── rtl-sdr
 ├── AUTHORS
 ├── build
 ├── cmake
 ├── CMakeLists.txt
 ├── configure.ac
 ├── contrib
 ├── COPYING
 ├── Doxyfile.in
 ├── git-version-gen
 ├── include
 ├── librtlsdr.pc.in
 ├── m4
 ├── Makefile.am
 ├── README
 ├── rtl-sdr.rules
 └── src

12 directories, 62 files

以上文件中  openwebrx/config_webrx.py 是openwebrx的主要配置文件,按照配置规则写就行,下面记录下使用  Q 通道配置说明。

使用RTL-SDR的一个分支项目 keenerd ,使用该项目可以控制RTL-SDR的 I/Q通道,具体如需如下:

git clone https://github.com/keenerd/rtl-sdr
cd rtl-sdr/ && mkdir build && cd build
cmake ../ -DINSTALL_UDEV_RULES=ON
make && sudo make install && sudo ldconfig

然后在openwebrx/config_webrx.py配置文件中找到 “start_rtl_command=” 开头的一行配置文件,修改如下例子的参数即可:

start_rtl_command="rtl_sdr -D1 -s {samp_rate} -f {center_freq} -p {ppm} ...
                            /\____这里插入要添加的开关参数

-D1意味着电视棒设置为从输入 1/I 通道直接采样
-D2意味着加密狗被设置为从输入 2/Q 通道直接采样
-D3意味着加密狗被设置为非模直接采样

很简单的配置,修改配置参数后记得重启openwebrx.py进程,具体更详细的见GitHub项目WiKi

下面就是我搭建的OpenWebRX,设备性能所限,搭建仅为实验测试所用。

http://sdr.bg3iqs.com:8073

在树莓派上搭建OpenWebRX教程》有7个想法

  1. 陈王荣

    对与Linux初学者来,根据您提供的教程想搭建成功确实困难;希望作者您在百忙之中能出一个操作视频,对与我们这些火腿将是巨大的帮助!–BG6GWH

    回复
    1. BG3IQS 文章作者

      您的建议不错!后续会考虑写一个详细的文档,目前只是通过群来做交流,已发邮件,有兴趣欢迎探讨。

      回复
  2. bg8ikg

    能不能弄个hackrf的,有宽带和服务器,想弄一个给大家用,但是不会,希望出个针对hackrf的教程

    回复
  3. Emin

    #编译rtl-sdr驱动
    mkdir build
    cd build
    make
    sudo make install
    sudo ldconfig
    cd ../..

    这里有遗漏 应该是cmake ../ -DINSTALL_UDEV_RULES=ON

    回复

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注