Instalando NO-SDR en una raspberry Pi

no-sdr es un software para Linux/Rasberry Pi que convierte los dongles USB RTL-SDR en un receptor de radio web completo. Permite que varios usuarios se conectan a través de su navegador y sintonizan, demodulan y escuchan señales de forma independiente, compartiendo el mismo hardware. Sin plugins ni instalaciones, solo abre una URL. Viene a a ser un  WebSDR privado y abierto que puedes ejecutar en tu ordenador o en un contenedor Docker (compose). 

El proyecto busca alta fidelidad, procesamiento de señales débiles, calidad casi sin pérdidas, bajo consumo de ancho de banda y que todas las funciones se ejecuten también en arquitectura ARM (RPi/MAC). Para x86 se incluyen cuatro binarios y el nivel de capacidad de tu CPU se detecta al iniciar el contenedor. Los procesadores con extensiones de streaming (SSE/AVX, etc.) ofrecen un rendimiento superior y cada cliente consume menos ciclos de CPU. Todo esto es de código abierto.

También incluye un botón para identificar la canción que estás escuchando (necesitas algunas claves API para Audd).


Instalación

Se presupone que cuenta con una Raspberry Pi con piOS 64 bits y una tarjeta de de suficiente capacidad (p.e. 16 Gb)

Si no tiene acceso via web puede instalar una utilidad que le facilite el acceso como cockpit

sudo apt update

sudo apt install -y cockpit

https://192.168.1.xxx:9090/


Conectarse

Desde macOS abrir terminal

ssh [IP]

o desde el navegador 

https://192.168.1.xxx:9090/

o

https://raspberrypi.local:9090

comprobar que esta node.js disponible

node -v

v12.22.12 => v22.22.2

npm -v

7.5.2 => 10.9.7 => 11.15.0


Si no lo esta o no es versión 22.o hay que instalarlo forzardo la ultima versión v22.00

curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash - 

sudo apt-get install -y nodejs

o bajarnos directamente el binario

cd /tmp

wget https://nodejs.org/dist/v22.11.0/node-v22.11.0-linux-armv7l.tar.xz

tar -xJf node-v22.11.0-linux-armv7l.tar.xz     

En caso contrario hay que instalar node.js 

sudo apt-get install -y nodejs npm

Para npm hay que forzar la ultima versión con

sudo npm install -g npm@11.15.0

Instalar Go

sudo apt update

sudo apt install -y golang

Drivers SDR

sudo apt update

sudo apt install -y rtl-sdr

Luego el paquete en si

sudo apt-get update

git clone https://github.com/gbozo/no-sdr.git

cd no-sdr

npm install

npm run build

npm start

Modificar el ficherod e configuración

nano config/config.yaml

      source:

        type: rtl_tcp

        host: 127.0.0.1

        port: 1234

http://xxx.xxx.xxx.xxx:3000/

Pruebas

No se oye


Para saltarse la limitación de los anvegadores de que no reproducen si noe s bajo sesión segura se intala y se aranca un servidor NGINX

sudo apt update
sudo apt install -y nginx certbot python3-certbot-nginx
sudo nano /etc/nginx/sites-available/no-sdr
server {
    listen 80;
    server_name raspberrypi.local;

    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
    }
}

sudo ln -s /etc/nginx/sites-available/no-sdr /etc/nginx/sites-enabled/
sudo rm /etc/nginx/sites-enabled/default
sudo systemctl restart nginx
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/nginx-selfsigned.key -out /etc/ssl/certs/nginx-selfsigned.crt

Una vez que se oye se entrecorta mucho

Ver también

Referencias


Advertencia importante

Las modificaciones, configuraciones y procedimientos descritos en este sitio pueden implicar riesgos técnicos, legales o de seguridad. El autor no se responsabiliza del mal funcionamiento de los equipos, daños permanentes, pérdida de garantía ni de posibles infracciones legales derivadas del uso de esta información.
El lector asume plena responsabilidad por cualquier acción que decida realizar basándose en el contenido de este blog.

© 2026 EA5JTT. Queda prohibida la reproducción total o parcial sin autorización expresa del autor.

No hay comentarios:

Publicar un comentario

Instalando NO-SDR en una raspberry Pi

no-sdr  es un software para Linux/Rasberry Pi que convierte los dongles USB RTL-SDR en un receptor de radio web completo. Permite que varios...