OpenWRT(Docker)部署OpenWebRX指南
白露时节,是农历八月的节气之一,意味着秋天的到来。太阳温和地照耀着大地,不再有夏日的炎热。这个时候野外小憩打开电台听听广播不失为一种享受。
何起
外出若是打包小包提着各种天线和收音机实在是不够优雅,若能以最轻量的装备获得随时随地收听无线电的效果那岂不是非常爽?比如说仅凭浏览器就可以收听,就像WebSDR。为解决这个问题我找到了开源项目OpenWebRX,这是一个非常强大的SDR接收软件兼容广泛的SDR设备同时能解码数字信号最为重要的是带有Web界面,这完美的符合了我的需求。
需要什么
1.OpenWebRX兼容的SDR设备,笔者使用的是RSP1
2.接收天线及馈线,这个看你的需求和设备实际购买。
3.安装有Docker和带有USB2.0及以上接口的主机,本文中笔者采用的是树梅派4装有OpenWRT系统。置于为啥非要以Docker方式安装吗?那当然是方便快捷免去了自己搭建环境同时也省去了很多工作。
- 下表列出了当前OpenWebRX支持的所有设备
- notes列含有关设备、其设置或示例配置(如果有)的其他信息的链接
- ✔️ 提供驱动程序,设备应该可以立即工作
- ✏️不包含在默认配置中,需要编辑配置
- 🛠️ 并未提供软件的所有部分,但可以手动安装
- ❌ 不可用
源自Wki
Device | notes | uses SoapySDR | since version | RPi images | Packages | Docker images | |
---|---|---|---|---|---|---|---|
RTL-SDR USB sticks | note | no | 0.18.0 | ✔️ | ✔️ | ✔️ | |
RTL-SDR USB sticks | yes | 0.18.0 | ✏️ | ✔️ | ✔️ | ✔️ | |
SDRPlay devices (RSP1, RSP2, RSPDuo, RSPDx) | note | yes | 0.18.0 | ✔️ | 🛠️ | ✔️ | |
Airspy R2, Mini | note | yes | 0.18.0 | ✏️ | ✔️ | ✔️ | ✔️ |
Airspy HF+, Discovery | note | yes | 0.18.0 | ✔️ | 🛠️ | ✔️ | |
HackRF | note | yes | 0.18.0 | ✏️ | ✔️ | ✔️ | ✔️ |
LimeSDR devices | yes | 0.18.0 | ✏️ | ✔️ | 🛠️ | ✔️ | |
PlutoSDR | yes | 0.18.0 | ✏️ | ✔️ | 🛠️ | ✔️ | |
FiFi SDR | note | no | 0.18.0 | ✏️ | 🛠️ | 🛠️ | ❌ |
SoapyRemote | yes | 0.18.0 | ✏️ | ✔️ | ✔️ | ✔️ | |
Perseus | note | no | 0.19.0 | ✏️ | ✔️ | 🛠️ | ✔️ |
Ettus Research USRP | yes | 0.19.0 | ✏️ | ✔️ | ✔️ | ✔️ | |
RadioBerry | note | yes | 0.19.0 | ✏️ | ✔️ | 🛠️ | ✔️ |
FunCube Dongle Pro+ | yes | 0.20.0 | ✏️ | 🛠️ | 🛠️ | ✔️ | |
RTL-SDR devices via rtl_tcp |
no | 0.20.0 | ✏️ | ✔️ | ✔️ | ✔️ | |
HPSDR devices (Hermes / Hermes Lite 2 / Red Pitaya) | note | no | 1.0.0 | ✏️ | ✔️ | ✔️ | ✔️ |
R&S devices using the EB200 or Ammos protocols | no | 1.0.0 | ✏️ | ✔️ | ✔️ | ✔️ | |
BladeRF devices | yes | 1.2.0 | ✏️ | ✔️ | ✔️ | ✔️ |
安装SDR
- 将SDR接入主机后在终端中执行以下命令
1 | lsusb |
如果连接没问题的话,结果差不多应该是这样会多出来一条我们需要记下来红框内的数字在我的设备上是001 004,那么在系统中他对应的位置就是/dev/bus/usb/001/004。
OpenWebRX
docker-compose.yml
- 创建一个名为docker-compose.yml的文件,将以下内容填入。
(建议直接在终端中使用nano或者vi)
1 | version: "3" |
启动
- 打开终端在docker-compose.yml所在目录执行
1 | docker-compose up -d |
这样我们的OpenWebRX就启动了。
- 打开浏览器输入主机IP及你设置的端口号,笔者的是192.168.1.1:8073
如果你看到了如上界面那么代表这你已经成功部署了OpenWebRX,点击三角形播放键就能听到沙沙声音(如果提上没有有效设备可能是你使用的SDR设备预设配置中并没有包含参考#配置SDR,在右下角有波段切换和解调器切换按键。第一次安装波段应该是只有20m,30m,40m,80m,48m。我们可以通过右上方Settings来自行添加。进入设置面板需要用户名与密码这个需要自己设定为安全起见并没有缺省项的。
添加用户
源自官方Wiki
- 终端执行如下命令来找到容器ID
1 | docker container ls |
可以得到ID为55519b7a8f64
- 接下来我们通过exec来进入容器,来添加一个用户名为kutina的管理员账户
1 | docker exec -it 55519b7a8f64 python3 /opt/openwebrx/openwebrx.py admin adduser kutina |
执行后他会要求你输入两次密码以确认,密码不会回显输入完成回车既可创建完成。
配置SDR
下面我们来到Settings,输入刚才创建账户完成登录
SDR device settings便是我们要找的对象。点开我们看到有几个预设的设备配置,如果你的SDR设备是预设列表中的可以直接用,没有的话就要Add New Device…
公网访问
咕咕咕~~