RTL-SDR Server (Raspberry Pi3)
Proyecto receptor SDR para radio y satélites
Se trata de un proyecto que permite la recepción de frecuencias entre los 100Khz y 1.7Ghz. Lo que abre un sinfín de posibilidades para los radioescuchas, radio comercial, satélites meteorológicos, comunicaciones, radioaficionados, servicios y un largo etc.
Se basa en una RaspberryPi3 y un RTL-SDR de la marca Noeelec que comprende las frecuencias mecionadas.
Debido a que muchos SDR tienen la recepción comprendida entre los 24Mhz y los 1.4Ghz (VHF y UHF) necesitaremos un UpConverter, dicho módulo permitirá recibir frecuencias en bandas de 80m, 40m, 20m e incluso inferiores.
Vista posterior, con toma Ethernet, USB, HDMI, conmutador para salida de audio por monitor o RCA, conector N (antena), conector BNC (Antena) y toma de 220V
Materiales
. Caja rack 19" (en este caso reciclada de Switch) . Fuente alimentación 5v (5A) . Raspberry Pi3 . Noeelec RTL-SDR . UpConverter (Ham It Up) . Conector chasis N, BNC, HDMI, Ethernet, RCA, USB . Conmutadores (audio, cambio de banda Ham It Up) . LCD 16x02 (I2C) . Interruptor encendido
Instalación de los componentes
Se describen los pasos muy simplificados.
Diseño y fabricación de soportes en PLA para Raspberry Pi3 y Ham It Up,
Conectamos la salida Ethernet, USB, HDMI y audio hacia los conectores externos del chasis, también el cable de alimentación hacia la fuente de 5V (que irá en paralelo junto con el del Ham It Up)
Conectaremos el display LCD mediante i2C, de este modo únicamente necesitamos el positivo, negativo y dos cables de transmisión de datos que irán hacia el GPIO de la Raspberry.
Habilitamos la configuración i2C en el menú de la Raspberry (sudo raspi-config)
Configuramos y controlamos el LCD a través de Python, con inicio automático (existen multitud de ejemplos por internet), esto nos permitirá personalizar la información que queramos mostrar en el display.
Conexiones
Procedemos a las conexiones del Noeelec y el Ham It Up mediante conectores SMA (M-M), de este modo evitamos cables y pérdidas mayores por inserción. El cable de salida hacia el BNC del chasis lo haremos con conector SMA macho y RG316.
En el proyecto decidí añadir un conector N chasis para futuras ampliaciones.
Alimentamos el Ham It Up con la misma fuente ya instalada en la caja (MeanWell 5V)
El conmutador que figura arriba a la derecha de la imagen es el selector de banda, con ello activamos el «salto» de frecuencia en el Nooelec (cuando se realiza esto hay que indicarlo en el software AirSpy o de lo contrario no obtendremos una recepción adecuada)
(Una vez finalizada la instalación podemos soldar un par de hilos y llevarlos hacia el conmutador externo, de ese modo seleccionaremos el salto desde el panel frontal)
Montaje realizado
Sobre estas líneas todo el montaje ya configurado, de izquierda a derecha, fuente de alimentación de 5v (5A) MeanWell, Ham It Up, Raspberry Pi3 con Noeelec conectado en el USB.
LCD Frontal
Información, nombre del equipo, IP en uso y temperatura de la CPU (se actualizan ambas pantallas cada 15 segs.)
Equipo ya montado en el rack. se puede apreciar el led de encendido (rojo) y el de actividad de la tarjeta SD interna de la Raspberry (en verde), seguido, el conmutador Ham It Up y el LCD 16×02
Antena
La antena dependerá de las frecuencias de trabajo configuradas, en mi caso una QFH 137Mhz (para satélites NOAA), una Diamond D3000N (25Mhz a 3Ghz) y otra de banda de 27Mhz.
Mediante un selector de antenas se puede ir conmutando según frecuencias.
Software
Instalación del software
Bajamos Raspbian (recomendada la versión Lite) y la grabamos en la SD mediante Raspberry Pi Imager.
https://www.raspberrypi.com/software/
En la aplicación encontraremos todas las versiones disponibles. Recomiendo darle a la pestaña de ajustes y configurar el SSH y el Wifi antes de proceder.
Una vez grabada la imagen e insertada la SD en la Raspberry, vamos al terminal y con Putty podremos comenzar a configurar la Raspberry e instalar la aplicación.
Descarga de Putty (Windows)
www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
Una vez conectados a la IP local de nuestra Raspberry, haremos un sudo raspi-config, extendemos la partición y procedemos a actualizar antes de instalar el Spy Server.
sudo apt-get update
sudo apt-get upgrade
Conectamos el RTL-SDR a la Raspberry
Instalamos los drivers:
sudo apt-get install rtl-sdr librtlsdr-dev
Si tienes un AirSpy HF+ puede que necesites algo más:
wget https://github.com/airspy/airspyhf/archive/master.zip
unzip master.zip
cd airspyhf-master
mkdir build
cd build
cmake ../ -DINSTALL_UDEV_RULES=ON
make
sudo make install (realiza la instalación del servidor)
sudo ldconfig (crea los enlaces con las librerias necesarias)
Instalación de SpyServer
cd (vamos al directorio raíz)
mkdir spyserver (Creamos carpeta para el spyserver)
cd spyserver (entramos en carpeta)
wget –O spyserver.tgz https://airspy.com/?ddownload=4247
tar xvzf spyserver.tgz (descomprime el archivo)
sudo nano spyserver.config (Editor de textos para configurar el spyserver)
device_type = rtl-sdr (indicamos en el archivo el Receptor. Esto puede variar según SDR, en el Noeelec sería device_type=rtl-sdr)
./spyserver spyserver.config (Ejecutamos el spyserver)
Conexión
Una vez configurado, si todo ha salido bien podremos acceder con el software AirSpy.
Dentro de la configuración de AirSpy, buscamos conexión TCP y en los ajustes introducimos la IP de nuestra Raspberry el puerto.
Para conocer la IP (en el caso de la versión Raspbian Lite) existen programas como Advanced IP Scanner (desde windows) o desde la propia terminal de Putty tecleando «ifconfig»
También podemos acceder desde internet, conociendo nuestra IP pública (antes hay que abrir los puertos de nuestro router)