在树莓派3b or 3a or 4a or 4b上搭建OpenWebRX

OpenWebRx

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

在树莓派3b or 3a or 4a or 4b上搭建OpenWebRX

硬件

Raspberry Pi 3B

RTL-SDR

在树莓派3b or 3a or 4a or 4b上搭建OpenWebRX

方案一:直接烧录OpenWebRX镜像

(一)镜像下载(615兆)

https://www.openwebrx.de/download/rpi.php

(二)镜像烧录

参考博客里树莓派相关帖子,烧录好系统后,在文件中创建一个没有后缀的SSH文件开启SSH登陆。

(三)相关配置

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

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

  1. sudo su -

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

在树莓派3b or 3a or 4a or 4b上搭建OpenWebRX

config_webrx.py:配置设置

bands.json:频率范围设置

bookmarks.json:预设书签

1.配置config_webrx.py:

  1. cd /etc
  2. cd openwebrx
  3. nano config_webrx.py

在树莓派3b or 3a or 4a or 4b上搭建OpenWebRX

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

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

在树莓派3b or 3a or 4a or 4b上搭建OpenWebRX

2.配置bands.json

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

  1. nano bands.json

在树莓派3b or 3a or 4a or 4b上搭建OpenWebRX

3.配置bookmarks.json:

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

  1. nano bookmarks.json

在树莓派3b or 3a or 4a or 4b上搭建OpenWebRX

(四)测试

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

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

在树莓派3b or 3a or 4a or 4b上搭建OpenWebRX

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

在树莓派3b or 3a or 4a or 4b上搭建OpenWebRX

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

在树莓派3b or 3a or 4a or 4b上搭建OpenWebRX

在树莓派3b or 3a or 4a or 4b上搭建OpenWebRX

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

在树莓派3b or 3a or 4a or 4b上搭建OpenWebRX

在树莓派3b or 3a or 4a or 4b上搭建OpenWebRX

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

在树莓派3b or 3a or 4a or 4b上搭建OpenWebRX

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

在树莓派3b or 3a or 4a or 4b上搭建OpenWebRX

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

在树莓派3b or 3a or 4a or 4b上搭建OpenWebRX

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

在树莓派3b or 3a or 4a or 4b上搭建OpenWebRX

在树莓派3b or 3a or 4a or 4b上搭建OpenWebRX

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

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

(一)树莓派烧录Raspbian系统

(二)安装依赖项,获取并构建RTL-SDR,安装编译OpenWebRX


  1. #安装依赖项
  2. sudo apt-get install build-essential git libfftw3-dev cmake libusb-1.0-0-dev
  3.  
  4. #下载rtl-sdr源代码
  5. git clone git://git.osmocom.org/rtl-sdr.git
  6.  
  7. #编译rtl-sdr驱动
  8. cd rtl-sdr/
  9. mkdir build
  10. cd build
  11. cmake ../ -DINSTALL_UDEV_RULES=ON
  12. make
  13. sudo make install
  14. sudo ldconfig
  15. cd ../..
  16.  
  17. #禁用DVB-T驱动程序,这将阻止rtl_sdr工具访问
  18. #(如果以后想将其用于DVB-T接收,则应撤消此更改):
  19. sudo bash -c 'echo -e " # for RTL-SDR: blacklist dvb_usb_rtl28xxu " >> /etc/modprobe.d/blacklist.conf'
  20. #仅在Ubuntu 16.04或更高版本上需要以下行才能应用对黑名单设置所做的更改。
  21. sudo update-initramfs -u #only on Ubuntu 16.04 or newer
  22. #在当前会话中禁用有问题的内核模块:
  23. sudo rmmod dvb_usb_rtl28xxu
  24.  
  25. #下载OpenWebRXlibcs​​dr(将在当前目录下创建子目录)。
  26. git clone https://github.com/simonyiszk/openwebrx.git
  27. git clone https://github.com/simonyiszk/csdr.git
  28.  
  29. #编译libcs​​dr(它是OpenWebRX的依赖项)
  30. cd csdr
  31. make
  32. sudo make install
  33.  
  34. #编辑OpenWebRX配置或保留默认值
  35. nano ../openwebrx/config_webrx.py
  36.  
  37. #运行OpenWebRX
  38. cd ../openwebrx
  39. ./openwebrx.py

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

在树莓派3b or 3a or 4a or 4b上搭建OpenWebRX

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

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

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

  1. blacklist dvb_usb_rtl28xxu

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

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

1.安装tmux:

  1. sudo apt-get install tmux

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

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

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

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

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

  1. tmux a

在树莓派3b or 3a or 4a or 4b上搭建OpenWebRX

tmux快捷键:

  1. Ctrl+b, then d : Detaches the tmux session. You can return to it by `tmux a`.
  2. Ctrl+b, then % or " : Splits your screen horizontally or vertically.
  3. Press Ctrl+d to close the newly created pane.
  4. Ctrl+b, then left/right/up/down : Navigate between split panes.
  5. Ctrl+b, then c : Creates a new window for you.
  6. 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

8、https://bh8sel.com/5089.html