Openwebrx para RTL-SDR

Openwebrx es un antiguo proyecto de HA7ILM que ahora ha sido retomado por jketterl, que consiste en un servidor web SDR instalable sobre Linux (normalmente utilizando una Raspberry Pi) que proporciona el acceso via navegador web a nuestro receptor SDR. Al ser una tecnología basada en HTML5 tenemos la ventaja de poder acceder desde cualquier dispositivo (multiplataforma), simplemente utilizando el navegador web.

Además trae integrados (de serie) decodificadores para diferentes modos digitales como: FT8, FT4, DMR, DStar, APRS,Packet, Pocsag, etc.

Permite hacer público nuestro receptor para que sea accesible por cualquier persona, aunque no es obligatorio, es decir, podemos utilizar el servidor solamente para nosotros.

Toda la documentación relativa al Openwebrx está disponible en GitHub: github.com/jketterl/openwebrx/wiki

Instalación sobre Raspberry Pi (Actualizado a la versión 1.0 de openwebrx)

Necesitamos una raspberry pi relativamente nueva (las viejas no valen, aconsejable la 4, mínimo la 3B+) y una tarjeta SD con 8 GB es suficiente.

Hay varios métodos para instalar openwebrx sobre una Raspberry pi, el método que os voy a mostrar aquí es el más sencillo,grabando la imagen sobre una tarjeta SD que posteriormente introduciremos en la Raspberry.

Para hacer esta instalación vamos a seguir los mismos pasos (en windows) que explico en la instalación de servidor spyserver que básicamente son:

  1. Descargar archivo img (imagen) desde la web de openwebrx: https://www.openwebrx.de/download/rpi.php La descarga consiste en un archivo zip, por lo que abrá que extraer el archivo img contenido dentro del zip.

  2. Formatear la tarjeta SD con el SDFormatter.

  3. Cargar el archivo img sobre la tarjeta con el win32DiskImager.

  4. Acceder a los archivos de la tarjeta SD y en el directorio raiz crear un archivo de nombre "ssh" sin extensión para permitir el acceso remoto por SSH a la raspberry pi (sin teclado ni monitor).

  5. Poner la tarjeta SD en la raspberry, conectarla al router con cable de red (o configurarla para que se conecte por wifi), conectar el pincho RTL-SDR en cualquier puerto USB y alimentarla para que arranque.


Una vez realizados esos pasos, ya tendremos el servicio openwebrx corriendo en nuestra raspberry, pero para poder acceder a la configuración, tendremos que crear un usuario administrador siguiendo las instrucciones de la página https://github.com/jketterl/openwebrx/wiki/User-Management

Para crear un usuario administrador, si tenemos nuestra raspberry conectada a un teclado y un monitor tan sólo tendremos que teclear la siguiente instrucción:

sudo openwebrx admin adduser [nombre de usuario elegido]

Si tenemos el acceso por SSH (mediante Putty o similares), tendremos que conectarnos a nuestra raspberry con la IP local y el puerto 22, para poder ejecutar esa misma instrucción.

Para averiguar la IP local de nuestra raspberry, recomiendo utilizar "FING" aplicación multiplataforma que podemos llevar instalada en nuestro móvil para ver quien está conectado a nuestra red local.

Sabiendo la IP local y una vez creado el usuario administrador ya sólo queda abrir nuestro navegador y acceder mediante la IP seguido del puerto 8073 (por ejemplo "192.168.1.60:8073"). El primer paso será configurar nuestro openwebrx.

Configuración (a partir de la versión 1.0)

El principal cambio en esta versión es la gestión de la configuración, que pasa a realizarse a través de la página web de "Settings". Para acceder a esta web tenemos que hacer click sobre el icono "Settings" que aparece en la esquina superior derecha de nuestro openwebrx.

Para entrar en la configuración nos pedirá nombre y contraseña del usuario administrador que previamente habremos creado desde la terminal de la raspberry (ver paso anterior).

Lo principal será definir los datos de nuestra estación en "General Settings" y los dispositivos SDR y bandas que vamos a utilizar, en "SDR Devices and Profiles".

Configuración (versión antigua)

En la primera versión del openwebrx la configuración se realizaba editando el archivo config_webrx.py ubicado en el directorio /etc/openwebrx. Editando este archivo, podíamos añadir los datos de nuestro receptor, datos de nuestra ubicación, si queríamos hacerlo público o no, así como configurar las bandas que querñiamos escuchar. Este archivo trae por defecto unas bandas configuradas para utilizar con un RTL-SDR o con un Sdrplay.

Utilizando la consola Linux, lo primero que tenemos que hacer será ubicarnos en el directorio donde se encuentran estos archivos. Para ir a este directorio, teclear:

cd /etc/openwebrx

Antes de editar el archivo, recomiendo hacer una copia es este, ya que cualquier mínimo error al editar (una simple coma faltante) daría lugar al no funcionamiento del servidor. Para hacer esta copia, teclear:

cp config_webrx.py config_web.py.backup

Para editar el archivo:

sudo nano config_webrx.py

Así, mediante el editor Nano podemos añadir bandas o modificar las existentes. Por cada banda tendremos que indicar un nombre, frecuencia central, Ganancia de RF, Tasa de muestreo, Frecuencia de inicio y el tipo de Modulación inicial. A continuación podéis ver un ejemplo de mi archivo de configuración, con unas cuantas bandas configuradas para el RTL-SDR:


sdrs = { "rtlsdr": { "name": "RTL-SDR", "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 Repes", "center_freq": 438500000, "rf_gain": 43.9, "samp_rate": 2400000, "start_freq": 439700000, "start_mod": "nfm", }, "70cm sats": { "name": "70cm sats", "center_freq": 436000000, "rf_gain": 43.9, "samp_rate": 2400000, "start_freq": 433000000, "start_mod": "nfm", }, "Meteosondas": { "name": "Meteosondas", "center_freq": 403000000, "rf_gain": 48, "samp_rate": 2048000, "start_freq": 401500000, "start_mod": "nfm",

En ese mismo directorio hay otros dos archivos editables que son: bands.json y bookmarks.json.

Tanto en uno como en otro podemos configurar frecuencias fijas que nos interesen, las cuales aparecerán en pantalla como una etiqueta. En el archivo bookmarks podemos establecer el modo correspondiente para esa frecuencia:

Bands.json:

Bookmarks.json: