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. 【Jenkins学习】【第二节】 jenkins构建触发器定时任务

    一.定时构建 Build periodically:定时执行构建任务,不管远程代码分支上的代码是否发生变化,都执行一次构建. 语法:* * * * *(五颗星,中间用空格隔开) 第一个:分钟,取值0~ ...

  2. 【Leetcode】1340. Jump Game V 【动态规划/记忆性搜索】

    Given an array of integers arr and an integer d. In one step you can jump from index i to index: i + ...

  3. node mysql模块写入中文字符时的乱码问题

    刚刚发现一个奇怪的问题: 在node上用mysql模块将数据写入数据库的时候,在cmd上打开mysql发现select出来的中文是乱码.但这就奇怪了. 因为本机在安装mysql的时候就已经在配置文件将 ...

  4. JetBrains PyCharm 2018.2.4 x64 工具里如何安装bs4

    第一步:点击File->Settings 第二步:选择Project:workplace-->Project Interpreter,然后再点击右上角的"+"按钮进入下 ...

  5. Java基础之数据类型

    一.数据类型 基本数据类型介绍 byte 1字节 char 2字节 short 2字节 int 4字节 long 8字节 float 4字节 double 8字节 以上有Java中八大基本类型的7种, ...

  6. 快速配置Samba服务

    1.安装samba 这里以CenOS 7为例,其他系统类似 yum install samba samba-client samba-common   2.修改smb.conf 最好先备份原文件,以防 ...

  7. Java——读取和写入txt文件

    package com.java.test.a; import java.io.BufferedReader; import java.io.BufferedWriter; import java.i ...

  8. Qt版本中国象棋开发(一)

    开发目的:实现象棋人机对战简单AI,网络对战,移植到android中. 开发平台:windows10 + Qt5.4 for android 开发语言:C++ 开发过程:1.棋盘绘制: 方法一:重写  ...

  9. Order by 优化

    写在前面 文章涉及到的 customer 表来源于案例库 sakila,下载地址为 http://downloads.mysql.com/docs/sakila-db.zip MySQL 排序方式 通 ...

  10. JVM系列.JDK演进历史

    Java程序员为什么要了解虚拟机相关的知识 Java程序在设计之初就号称"一次编译,到处运行".Java之所以能做到"一次编译,处处运行"是因为Java虚拟机隐 ...