跳到内容

最新OpenWebRX Plus版本体验

OpenWebRX是一个国外开源项目,基于Python语言编写,配合SDR设备使用,支持后台解码各种数字信号,将SDR接收软件Web化,通过网络实现多用户远程访问,功能非常强大。

博主关注OpenWebRX从0.18版本开始,到1.1版本,写过两篇博文《OpenWebRX无线电监测站》 《OpenWebRX新版本体验》来介绍OpenWebRX功能和架设方法。

目前OpenWebRX版本已经到1.2了,但不知什么原因项目停更了,而后又衍生出一个OpenWebRX+分支,博主近日对这个分支版本做了测试,发现改进和优化非常多,加入了很多新的功能,总结如下:

  • 加入AIS, SSTV, FAX, FLEX, HFDL, VDL2, ISM, SAM, RTTY, CW, DTMF, EEA, EIA, CCIR, ZVEY, SELCALL等新的解码器,其中SSTV可以实现后台解码并保存图片。

  • 加入NR噪声过滤功能,耳朵舒服多了。

  • 加入录音功能,无论是台友相互测试信号,还是干扰举报取证,都有很大帮助。

  • 针对触屏设备做了优化,手机平板操作起来更方便,还支持SSL证书和会话超时,远程访问更安全。

以上几点功能足以让博主狂喜一番,目前已测试树莓派、Dcoker两种镜像,一切顺利,本文就以Docker镜像方式为例带大家部署OpenWebRX+:

 

准备

建议x86 64位主机或群晖。

ARM的话S905刚好,推荐S912,OpenWebRX后台解码很消耗CPU。

系统Linux,装好Docker。

 

开工

插好SDR并在宿主机添加设备黑名单,防止因内核占用导致容器无法调用SDR,完成后重启。

cat > /etc/modprobe.d/owrx-blacklist.conf << _EOF_
blacklist dvb_usb_rtl28xxu
blacklist sdr_msi3101
blacklist msi001
blacklist msi2500
blacklist hackrf
_EOF_

拉取slechev的Docker镜像

docker pull slechev/openwebrxplus-softmbe

宿主机创建存储目录:

mkdir /root/openwebrx/set
mkdir /root/openwebrx/etc

开容器:

docker run -d --name openwebrx \
    --device /dev/bus/usb \
    -p 8073:8073 \
    -v /root/openwebrx/set:/var/lib/openwebrx \
    -v root/openwebrx/etc:/etc/openwebrx \
    --restart unless-stopped \
    slechev/openwebrxplus-softmbe

进入容器并创建admin管理账号:

docker exec -it openwebrx python3 openwebrx.py admin adduser admin

博主使用的是群晖图形化来配置Docker:

(群晖Docker界面没有映射USB设备的选项,因此需要在命令行下创建容器,而博主使用rtl_tcp方式调用局域网其它主机上的SDR,绕开了本机USB映射,此方式在下文中讲解。)

账号创建完成后就可以浏览器访问“IP:8073”打开页面了(如需外网访问请自行申请公网IP或者搭建内网穿透,并使用强壮密码,请勿随意分享自己的站点,更不要触及敏感波段,切记!!!),浏览守听无需登录,需要对站点进行自定义时点击右上角的“Settings”使用刚才创建的账号登录修改。详细配置可参考之前的博文《OpenWebRX新版本体验》

OK,就这么简单。

 

避坑指南

OpenWebRX+可能会出现FT8无法解码的情况,报错日志如下:

解决办法(x86平台):

进入容器:

docker exec -it openwebrx /bin/sh

执行如下命令:

apt update
apt install binutils
strip --remove-section=.note.ABI-tag /usr/lib/x86_64-linux-gnu/libQt5Core.so.5

 

经验分享

  • 在上文开容器时使用了“–device /dev/bus/usb”将宿主机的SDR设备映射进容器中,其实我们不必局限于宿主机,博主早在之前的博文《集中管理的的SDR们》中提到使用RTL_TCP和RSP_TCP服务将USB有线连接方式转换为网络套接字,局域网内的OpenWebRX通过IP+端口的方式调用服务器上的SDR,以此解决布线等诸多问题。

博主使用了廉价的玩客云小主机,刷入armbian Linux做SDR TCP Server,群晖Docker跑 OpenWebRX使用如下配置通过局域网调用小主机上的SDR:

发表于无线电

8 条评论

  1. bh9fdz bh9fdz

    已成功更新,功能强大,十六字真言送上。

  2. 确实不错 ,功能更加完善啦

  3. BI9ABS BI9ABS

    看来可以闲鱼或者拼多多一个64位的Intel准系统小盒子来畅快的玩SDR了

  4. BD4WLW BD4WLW

    看着你的文章在折腾openwebrx,发现每个频段只能设置1MHz,之前用sdrspy可以无缝拖拽,这一点很不适应啊,如果硬要分段有什么办法可以让分段大一点?目前只有Center frequency和Initial frequency这两个可以调节的选项,Initial frequency还不是很有用,感觉就是Center frequency左右1MHz的样子

    • 频段的范围由SDR的硬件带宽来决定,SDRPlay RSP1的最大带宽是10MHz,RTL-SDR是2.4MHz
      如果你是RSP1的话,可以把Sample rate改成10MHz试试。
      比如:
      Center frequency 435.000MHz
      Sample rate 10MHz
      Initial frequency 438.500MHz
      这样你就可以一次看整个业余U段430-440了,默认守听频点落在438.500上。
      V段144-148同理:
      Center frequency 146.000MHz
      Sample rate 4MHz
      Initial frequency 144.640MHz

      • BD4WLW BD4WLW

        难怪,我用的rtl SDR,但是sdrsharp可以平滑拖动调整,openwebrx就不行

  5. 这个项目也更新了,没停更,1.2.2了,但是OpenWebRX+进度更快点,不知道哪个要好点。https://github.com/jketterl/openwebrx

    • 最初的项目停更了,貌似有人违规商用而且还抹去作者名字,作者生气不搞了,后来的Plus是在原先基础上添砖加瓦的,除了softmbe支持各家数字语音模式以外,还在不断添加各种解码。

发表评论

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