OpenWebRX es un software de recepción de señales de radio mediante dispositivos SDR que opera desde una interfaz web. Esto permite visualizar y procesar señales en tiempo real desde cualquier sitio, simplemente accediendo desde un navegador web.
Este proyecto Open Source nació en 2015 de mano de András Retzler (HA7ILM). Pero a finales de 2019, el autor abandonó el proyecto y es cuando Jakob Ketterl retomó el desarrollo del proyecto añadiendo nuevas funcionalidades y mejorando el software. El proyecto comenzó a ganar popularidad y cuenta actualmente con un gran número de colaboradores.
En este artículo veremos cómo instalar OpenWebRX en una Raspberry Pi usando su código fuente. Existen otras opciones disponibles para instalar este software, como imágenes para tarjetas SD, paquetes, imágenes para Docker, pero presentan algunas carencias o bien son más complejas. El proceso de instalación manual que vamos a seguir es similar para cualquier distribución Linux, lo que nos aporta más posibilidades.
Instalar dependencias de instalación
Para poder compilar e instalar las librerías necesarias necesitamos una serie de dependencias. Para instalarlas ejecutamos los siguientes comandos:
Si vamos a utilizar un dispositivo distinto del RTL-SDR tendremos que instalar SoapySDR para poder usarlo. Los pasos para su instalación son los siguientes:
El archivo de configuración se encuentra dentro del repositorio que acabamos de clonar. Para editarlo lo abrimos con el editor:
1
nano config_webrx.py
Este archivo contiene muchos ajustes que podemos modificar. El ajuste principal que vamos a ver es el de configurar los dispositivos SDR. Para ello abrimos el archivo y buscamos el siguiente fragmento:
... sdrs = { "rtlsdr": { "name": "RTL-SDR USB Stick", "type": "rtl_sdr", "ppm": 0, # you can change this if you use an upconverter. formula is: # center_freq + lfo_offset = actual frequency on the sdr # "lfo_offset": 0, "profiles": { "70cm": { "name": "70cm Relais", "center_freq": 438800000, "rf_gain": 30, "samp_rate": 2400000, "start_freq": 439275000, "start_mod": "nfm", }, "2m": { "name": "2m komplett", "center_freq": 145000000, "rf_gain": 30, "samp_rate": 2400000, "start_freq": 145725000, "start_mod": "nfm", }, }, }, } ...
Ahora lo editamos con los datos de nuestro/os dispositivos conectados. A continuación se muestra un breve descripción de esta configuración:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
sdrs = { "[NOMBRE_DEL_AJUSTE]": { "name": "[NOMBRE_DEL_DISPOSITIVO: Nombre descriptivo que se mostrará en el selector.]", "type": "[TIPO_DISPOSITIVO: rtl_sdr, rtl_sdr_soapy, sdrplay, hackrf, airspy, airspyhf, fifi_sdr, perseussdr, lime_sdr, pluto_sdr,soapy_remote.]", "device": "[NUMERO_SERIE: Añadir en caso de que tengamos varios dispositivos RTL-SDR.]", "ppm": [VALOR_PPM], "lfo_offset": [VALOR_DESPLAZAMIENTO: Añadir si usamos Up/Down converter.], "profiles": { "[NOMBRE_DEL_PERFIL]": { "name": "[DESCRIPCION: Nombre que se mostrará en el selector.]", "center_freq": [FRECUENCIA_CENTRAL], "rf_gain": [GANANCIA_DEL_SDR: Ganancia para esta frecuencia.], "samp_rate": [SAMPLE_RATE], "start_freq": [FRECUENCIA_DE_INICIO], "start_mod": "[MODO_DE_INICIO]" } } } }
Modificamos el ajuste añadiendo o quitando tantos dispositivos y perfiles como queramos.
Instalar como servicio
El último paso es instalar OpenWebRX como servicio para que se inicie de forma automática al iniciar el sistema. Para ello vamos a añadir un nuevo servicio:
1
sudo nano /etc/systemd/system/openwebrx.service
Añadimos lo siguiente, modificando si fuese necesario:
Ahora ya podemos acceder desde cualquier navegador introduciendo la dirección IP de la Raspberry Pi y el puerto 8073 (podemos cambiarlo en los ajustes):
1
http://[DIRECCION_IP:8073]
Instalar paquetes adicionales
Tenemos la posibilidad de añadir nuevos paquetes a OpenWebRX para decodificar ciertos modos digitales:
JS8Call.
APRS.
WSJT-X (FT8, FT4, WSPR, JT65, JT9).
Voz digital (DMR, YSF).
La guía de instalación de todos estos paquetes se encuentra en el manual oficial de instalación de OpenWebRX del que se ha obtenido la información para este artículo: