在树莓派上搭建OpenWebRX

玩机测评1431,337

OpenWebRx

OpenWebRX 项目提供了搭建WebSDR的解决方案,该项目基于 Python 编写,除了完全开源外,官方还提供了完备的技术文档。您只需要一台电脑或是树莓派,一个SDR设备和网络访问权限(不是必须)即可。搭建完成后,无需使用其他客户端软件,直接在Web浏览器控制频谱,同时,它还支持多种数字制式的解码,喜欢数字制式的Ham可以尝试一下。

文章源自HAM小站-https://bh8sel.com/5089.html

硬件

Raspberry Pi 3B文章源自HAM小站-https://bh8sel.com/5089.html

RTL-SDR文章源自HAM小站-https://bh8sel.com/5089.html

文章源自HAM小站-https://bh8sel.com/5089.html

方案一:直接烧录OpenWebRX镜像文章源自HAM小站-https://bh8sel.com/5089.html

(一)镜像下载(615兆)文章源自HAM小站-https://bh8sel.com/5089.html

https://www.openwebrx.de/download/rpi.php文章源自HAM小站-https://bh8sel.com/5089.html

(二)镜像烧录文章源自HAM小站-https://bh8sel.com/5089.html

参考博客里树莓派相关帖子,烧录好系统后,在文件中创建一个没有后缀的SSH文件开启SSH登陆。文章源自HAM小站-https://bh8sel.com/5089.html

(三)相关配置文章源自HAM小站-https://bh8sel.com/5089.html

镜像禁用了WIFI功能,需要使用网线接入Pi,输入Pi默认的账号密码登陆。

所有命令须以root用户身份运行,如果您使用的是sudo,需在之前sudo su -

sudo su -

OpenWebRx设置文件共有三个,均在同一文件/etc/openwebrx,运行以下命令即可分别进行配置:

config_webrx.py:配置设置

bands.json:频率范围设置

bookmarks.json:预设书签

1.配置config_webrx.py:

cd /etc
cd openwebrx
nano config_webrx.py

在这里你可以设置个人电台资料、端口、IP等信息,这里默认端口是:8073

配置模式可以参考从零开始的 RTL-SDR 折腾记

2.配置bands.json

配置频率带宽和带宽下各制式常用频率

nano bands.json

3.配置bookmarks.json:

在这里,你可以添加常用的频率和模式,便于你直接在频谱上选择这些频率。

nano bookmarks.json

(四)测试

在同网络下,浏览器输入Pi的IP地址:8073即可登录

登陆页面后,右下角的调整菜单,有多种模式可供选择。

1.DMR模式解码测试,使用MMDVM信号,解码没有问题,同时解出了呼号、时隙、谈话组等信息。

2.D-star模式解码测试,使用MMDVM过来的信号,解码服务器登陆提示和时间通告,语音清晰。

3.NXDN模式解码测试,感谢BH7PUE提供的测试。

4.C4FM模式解码测试,使用设备八重洲FT1D,解出设备使用的模式、呼号、位置信息等。

5.解码APRS,频率调制至当地APRS中继,模式选择Packet,即刻就能解出APRS信息。

点击信标,你可以在地图上找到相应台站位置,只是地图调用谷歌内核,加载地图上会有些问题。

6.解码Pocsag信息,使用MMDVM信号,依然能够正确解码。

其他几个模式,由于没有设备和匹配的天线,有条件的Ham可以自行测试。

方案二:安装依赖项,获取并构建RTL-SDR,安装运行OpenWebRX

(一)树莓派烧录Raspbian系统

(二)安装依赖项,获取并构建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

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

#禁用DVB-T驱动程序,这将阻止rtl_sdr工具访问
#(如果以后想将其用于DVB-T接收,则应撤消此更改):
sudo bash -c 'echo -e "\n# for RTL-SDR:\nblacklist dvb_usb_rtl28xxu\n" >> /etc/modprobe.d/blacklist.conf'
#仅在Ubuntu 16.04或更高版本上需要以下行才能应用对黑名单设置所做的更改。
sudo update-initramfs -u #only on Ubuntu 16.04 or newer
#在当前会话中禁用有问题的内核模块:
sudo rmmod dvb_usb_rtl28xxu 

#下载OpenWebRX和libcs​​dr(将在当前目录下创建子目录)。
git clone https://github.com/simonyiszk/openwebrx.git
git clone https://github.com/simonyiszk/csdr.git

#编译libcs​​dr(它是OpenWebRX的依赖项)
cd csdr
make
sudo make install

#编辑OpenWebRX配置或保留默认值
nano ../openwebrx/config_webrx.py 

#运行OpenWebRX
cd ../openwebrx
./openwebrx.py

经过以上步骤,打开浏览器输入:局域网IP:8073即可访问。

如执行上述禁用DVB-T驱动程序不成功,出现“usb_claim_interface error -6, Failed to open rtlsdr device #0.”,则需要按如下添加:

将dvb_usb_rtl28xxu内核模块列入黑名单(需要root用户下修改):

在/etc/modprobe.d/blacklist-rtlsdr.conf下创建文件,内容为:

blacklist dvb_usb_rtl28xxu

某些内核模块会锁定USB设备,需要在使用SDR设备之前将其禁用。如果内核模块未正确列入黑名单,则可能会出现“device not found”错误。

(三)在系统启动时运行OpenWebRX

1.安装tmux:

sudo apt-get install tmux

2.然后编辑/etc/rc.local(需要root用户下修改)。在exit 0之前添加此行:

sudo -H -u pi tmux new -d -s openwebrx-session 'bash -c "cd /home/pi/openwebrx; ./openwebrx.py; bash"'

(别忘了用正确的路径替代OpenWebRX!)

重新启动Pi,OpenWebRX将自动运行。

可以通过以下命令查看运行情况:

tmux a

tmux快捷键:

Ctrl+b, then d                                :   Detaches the tmux session. You can return to it by `tmux a`.
Ctrl+b, then % or "                        :   Splits your screen horizontally or vertically.
                                                          Press Ctrl+d to close the newly created pane.
Ctrl+b, then left/right/up/down   :   Navigate between split panes. 
Ctrl+b, then c                                :   Creates a new window for you.
Ctrl+b, then 1-2-3...                      :   Lets you navigate through your windows.

参考帖子及博客

1、https://www.openwebrx.de

2、https://github.com/jketterl/openwebrx

3、https://github.com/ha7ilm/openwebrx/wiki

4、https://www.vr2xkp.org

5、https://ibcl.us

6、https://blog.sdr.hu

7、https://bg3iqs.com

 最后更新:2020-4-3
评论  14  访客  9  作者  5
    • 范明明
      范明明

      有闲钱了一定要买个树莓派研究下。我也有两台RTL-SDR一直躺在抽屉里。
      无线电方面也只是用收音机听听,SDR一直都搞不清楚如何接收短波。

        • bh8sel
          bh8sel

          @ 范明明 闲余淘一块板子搞一下。 :mrgreen:

            • DMU
              DMU

              @ bh8sel 感谢提供教程,按以上正确操作,现在出现问题如下,请指教
              OpenWebRX – Open Source SDR Web App for Everyone! | for license see LICENSE file in the package
              _________________________________________________________________________________________________

              Author contact info: Andras Retzler, HA7ILM

              [openwebrx-main] Configuration script not specified. I will use: “config_webrx.py”
              [openwebrx-main] nmux_bufsize = 602112, nmux_bufcnt = 84
              [openwebrx-main] Started rtl_thread: rtl_sdr -s 2400000 -f 432650000 -p 0 -g 5 -| nmux –bufsize 602112 –bufcnt 84 –port 4951 –address 127.0.0.1
              [openwebrx-main] Waiting for I/Q server to start…
              Illegal instruction
              Found 1 device(s):
              0: Realtek, RTL2838UHIDIR, SN: 00000001

              Using device 0: Generic RTL2832U OEM
              Found Rafael Micro R820T tuner
              Sampling at 2400000 S/s.
              Tuned to 432650000 Hz.
              Tuner gain set to 3.70 dB.
              Reading samples in async mode…
              Signal caught, exiting!
              Short write, samples lost, exiting!

              User cancel, exiting…

                • bh8sel
                  bh8sel

                  @ DMU 提示“未指定配置脚本”,可能还是你配置上的问题,如不行,就直接刷固件吧!

                    • DMU
                      DMU

                      @ bh8sel 感谢 回复,是不是刷他的镜像?如果是,他的下载地址,下载不了,您能否传一份,谢谢

                      • bh8sel
                        bh8sel

                        @ bh8sel 加我QQ,我传给你。

                        • DMU
                          DMU

                          @ bh8sel 已烧好IMG,可打开网页,但出现,设备找不到,{Error Message:
                          No SDR Devices available} 请指点,谢谢

                  • 范明明
                    范明明

                    问下大佬,直接用OpenWebRX镜像烧入内存卡以后,使用RTL2832U还用额外的驱动之类的吗?另外您讲到的Q通道是否需要对RTL进行改装加装瓷片电容?

                    • BH4FPW
                      BH4FPW

                      想问下DMR, YSF这些类型是怎么加上去的, 我安装的上面没有。 ubuntu openwebrx最新版

                        • BH4FPW
                          BH4FPW

                          @ BH4FPW 目前所知, 1.0好像是有DMR这些选项的, 1.1都已经去除. 目前rpi镜像有两个版本, 一个是5.31, 一个是8.3. 5.31的可能是1.0.

                      匿名

                      发表评论

                      匿名网友
                      :?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:
                      确定

                      取消

                      拖动滑块以完成验证