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和libcsdr源代码(子目录将在当前目录下创建) git clone https://github.com/simonyiszk/openwebrx.git git clone https://github.com/simonyiszk/csdr.git #编译libcsdr(这是OpenWebRX的依赖项) cd csdr sudo make install #接下来据可以使用以下命令来后台执行这个OpenWebRX程序了 nano ../openwebrx/config_webrx.py #当然可以直接运行OpenWebRX cd ../openwebrx ./openwebrx.py
OK,经过以上三步,打开浏览器输入http://127.0.0.1:8073你可以看到如下的基本画面:
那么证明这个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,设备性能所限,搭建仅为实验测试所用。
对与Linux初学者来,根据您提供的教程想搭建成功确实困难;希望作者您在百忙之中能出一个操作视频,对与我们这些火腿将是巨大的帮助!–BG6GWH
您的建议不错!后续会考虑写一个详细的文档,目前只是通过群来做交流,已发邮件,有兴趣欢迎探讨。
膜拜大佬!
写了个更详细的
https://ibcl.us/RTLSDR-Modifying_20190323/
能不能弄个hackrf的,有宽带和服务器,想弄一个给大家用,但是不会,希望出个针对hackrf的教程
HackRF可以参考https://github.com/ha7ilm/openwebrx/wiki/Using-SoapySDR-via-rx_tools-with-OpenWebRX
#编译rtl-sdr驱动
mkdir build
cd build
make
sudo make install
sudo ldconfig
cd ../..
这里有遗漏 应该是cmake ../ -DINSTALL_UDEV_RULES=ON