在树莓派3b or 3a or 4a or 4b上搭建OpenWebRX
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 -
- 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和libcsdr(将在当前目录下创建子目录)。
- git clone https://github.com/simonyiszk/openwebrx.git
- git clone https://github.com/simonyiszk/csdr.git
- #编译libcsdr(它是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
8、https://bh8sel.com/5089.html
最新文章
- JS包装对象
- Bootstrap (导航、标签、面包屑导航)
- windows 程序设计自学:窗口正中显示Hello,World
- SCOM2007R2安装和报表服务器配置
- Gap Locks 区间锁
- 关于ASP.NET中的负载均衡
- Dearmweaver CS6 如何添加emmet 插件
- Oracle的海量存储技术
- SSIS从理论到实战,再到应用(2)----SSIS包的控制流
- vue学习日志(一):vue的优势
- EF6实现软删除
- SpringBoot配置mybatis
- 【BZOJ2125】最短路(仙人掌,圆方树)
- Redis初步整理
- 布局:高度已知,布局一个三栏布局,左栏和右栏宽度为200px,中间自适应
- js获取当前日期,并计算几天后日期
- Cling项目demo实现Android+DLNA实现
- 新浪安装weiphp2.0的方法
- Tomcat 8
- golang之map数据类型