OpenWebRx

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

硬件

Raspberry Pi 3B

RTL-SDR

方案一:直接烧录OpenWebRX镜像

(一)镜像下载(615兆)

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

(二)镜像烧录

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

(三)相关配置

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

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

  1. sudo su -

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

config_webrx.py:配置设置

bands.json:频率范围设置

bookmarks.json:预设书签

1.配置config_webrx.py:

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

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

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

2.配置bands.json

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

  1. nano bands.json

3.配置bookmarks.json:

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

  1. 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


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

  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

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

在树莓派3b or 3a or 4a or 4b上搭建OpenWebRX的更多相关文章

  1. 树莓派3B的食用方法-1(装系统 网线ssh连接)

    首先要有一个树莓派3B , 在某宝买就行, 这东西基本上找到假货都难,另外国产和英国也没什么差别,差不多哪个便宜买哪个就行. 不要买店家的套餐,一个是配的东西有些不需要,有的质量也不好. 提示:除了G ...

  2. 树莓派3B+(一)

    第一步:安装raspbian系统 介绍:Raspbian是为树莓派设计,基于Debian的操作系统,由一个小团队开发.其不隶属于树莓派基金会,但被列为官方支持的操作系统. 下载地址:https://w ...

  3. 树莓派3B+上运行.Net Core项目

    最近买了个树莓派3B+,准备把自己写的一个.Net Core爬虫挂在上面跑 买之前没有想到树莓派因为是今年新出的,导致驱动以及系统啥的都不是很完善,导致走了很多弯路,早知道买树莓派3就不用那么多折腾了 ...

  4. 树莓派3B+通过路由器进SSH和VNC

    1.打开树莓派官网 www.raspberrypi.org 选择 ”Raspbian Stretch with desktop and recommended software“ 并下载 镜像包含推荐 ...

  5. 树莓派3b+ Ubuntu 16.04 MATA系统 ssh远程登陆后修改主机名、用户密码和用户名

    写在前面: 刚刚开始写博客,记录下自己的学习过程,备忘. 最近在使用树莓派做智能小车的开发,使用的是树莓派3b+,安装的是Ubuntu 16.04 MATA 系统,安装系统后需要修改主机名,登陆密码以 ...

  6. 树莓派3B安装LEDE

    本来想安装openwrt的,但是op官方没有支持pi3,甚至op都不怎么发新版了,仅LEDE分支有缓慢的更新..离题了,之前给pi3装过LEDE,体验不是很好.今天到openwrt官网看了下,发现之前 ...

  7. 树莓派3b安装Nginx和php7和百度语音合成模块

    1.安装sox系统mp3音频播放模块(项目需要) sudo apt-get install lame sudo apt-get install sox sudo apt-get install lib ...

  8. 树莓派3B+首次登陆通过网络

    树莓派3B+默认串口不能登录,即使可使用可需要通过连线方式连接,如何才能直接通过网络ssh登录树莓派呢? 串口问题及使用 树莓派3的UART串口的使用问题,该串口问题的官方反馈及回复请参考这两篇官方博 ...

  9. 树莓派3B+学习笔记:10、使用SSH连接树莓派

    SSH(Secure Shell)是一种能够以安全的方式提供远程登录的协议,也是目前远程管理Linux系统的首选方式. 1.开启树莓派3B+的SSH远程管理功能,在终端中输入以下命令: sudo ra ...

随机推荐

  1. PAT1027 Colors in Mars (20分) 10进制转13进制

    题目 People in Mars represent the colors in their computers in a similar way as the Earth people. That ...

  2. 深入理解JS中的对象(三):class 的工作原理

    目录 序言 class 是一个特殊的函数 class 的工作原理 class 继承的原型链关系 参考 1.序言 ECMAScript 2015(ES6) 中引入的 JavaScript 类实质上是 J ...

  3. centos6下filebeat多开问题

    centos6下filebeat多开问题 0. 场景 比如之前在用filebeat做收集,但是想新开一个实例把之前的日志全部重新导一遍,如果直接指定filebeat -c 是不行的,因为filebea ...

  4. DPDK Timer Library原理(学习笔记)

    0 前置知识学习跳表(SkipList) 跳表应具有以下特征: 1)一个跳表应该有多个层(level)组成,通常是10-20层. 2)跳表的第0层包含所有的元素. 3)每一层都是一个有序的链表.层数越 ...

  5. Hexo进阶设置

    部署平台选型 前言 GitHub和Gitee(码云)是国内外比较流行的代码托管平台,现都推出GitHub/Gitee Pages可以存放静态网页代码,因此可以用来搭建自己的博客. 优缺点 平台 优点 ...

  6. 解决删除~/Library/Caches/CocoaPods/search_index.json重新pod search还是不起作用

    今天新苹果机安装cocoapods,安装完以后发现怎么pod search 都没有用 命令行提示: swhcxp@iosdevmac ~ % pod search Almofire Setup com ...

  7. VueCli4构建项目如何配置文件路径别名?

    1.在项目文件根目录上创建 vue.config.js 文件 2.写入以下代码,具体内容见注释: const path = require('path') // 引入path模块 function r ...

  8. 《Head First 设计模式》:策略模式

    正文 一.定义 策略模式定义了算法族,分别封装起来,让它们之间可以相互替换,此模式让算法的变化独立于使用算法的客户. 要点: 策略模式把系统中会变化的部分抽出来封装. 二.实现步骤 1.创建策略接口 ...

  9. Maven系列(二) -- 将开源库上传到maven仓库私服

    前言 之前简单说了下Maven的搭建,现在跟大家说一下如何将自己的aar传到我们新搭建的maven仓库里面,接下来我们就从最基本的新建一个library开始讲述整个流程,话不多说,让我们把愉快的开始吧 ...

  10. JVM调优总结(四)-分代垃圾回收详述

    为什么要分代 分代的垃圾回收策略,是基于这样一个事实:不同的对象的生命周期是不一样的.因此,不同生命周期的对象可以采取不同的收集方式,以便提高回收效率. 在Java程序运行的过程中,会产生大量的对象, ...