Acabas de comprar tu primer equipo de SDR que posiblemente sea un decodificador de TDT (DVB-T) con un chip RTL2832 o similar conectado por USB. ¿Ahora que?
Vamos a revisar rápidamente que herramientas hay que aprender a usar con tu equipo SDR.
Herramientas básicas
Lo primero es instalar las herramientas básicas. Para ello instalamos el paquete rtl-sdr.
Por ejemplo en mi distribución basada en Ubuntu:
sudo apt-get install rtl-sdr
Con este paquete se instalan gran parte de las herramientas que vamos a usar en este texto.
Comprobar que todo funciona
Lo primero es comprobar si esta correctamente conectado y las capacidades de tu dispositivo. Para ello podemos usar:
rtl_test
La salida de la aplicación te muestra los datos de los sintonizadores encontrados.
Explorar el espectro de radio
Para ello puedes usar la aplicación gqrx que te permite explorar todo el espectro de radio.
Lo primero que puedes hacer es buscar una lista de emisoras de radio, sintonizar su frecuencia y probar a escucharlas. Puedes ver cómo afecta cambiar el ancho de banda o el modo de decodificación. Luego con cierta práctica puedes ir recorriendo el espectro a ver qué «escuchas». Por ejemplo puedes buscar en que frecuencia trabajan algunos equipos inalámbricos y analógicos para ver si alguien cerca usa alguno.
Cuando tengas más soltura y conocimiento del tema gqrx puede quedarse corto para ti y puede usar algun software con más opciones como SDR++
Otra herramienta imprescindible que hay que saber usar es rtl_sdr que te permite capturar la señal y guardarla en un fichero. Muchas herramientas trabajan con estas capturas.
rtl_sdr -f frecuencia -g ganancia -s samplerate -n numero_de_muestras archivo
También hay que saber usar rt_power que captura el espectro de la señal.
Vamos a «cazar» aviones. ADS-B
Otra cosa que podemos hacer es «espiar» que aviones pasan por encima nuestro. Para ellos podemos escuchar la señales del sistema ADS-B que los aviones emiten. Para leer estos datos puedes usar el comando:
rtl_adsb
Así lo único que consigues es montón de caracteres alfanuméricos con el parámetro -V la información se muestra de una forma más amigable
rtl_adsb -V
Hay que decir que no solo los aviones emiten este tipo de señales,
El resultado es algo más entendible aunque es difícil saber que significa. Aquí puedes tener una pista de que significa cada cosa. Haciendo un pequeño resumen.
El campo Type Code indica el tipo de mensaje:
Type Code | Tipo de mensjae |
1-4 | Identificación de la aeronave |
5-8 | Posición |
9-18 | Altitud (altimetro) |
19 | Velocidad |
20-22 | Altitud (GNSS) |
23-27 | Reservado |
28 | Estado de la aeronave |
29 | Información de estado y estado de destino |
31 | Estado operacional |
El campo ICAO Address puede ayudarnos a identificar el avión y por tanto el vuelo. Para ello s epeuden suar webs como flightradar24.
Si lo que quiere es tener la información más clara puedes usar dump1090 (o dump109-mutability en el caso de mi distribución de Linux). Basta con lanzar lo con la opción –interactive y procesara esos datos por ti y te los mostrará de un forma más sencilla de entender.
dump1090 --interactive dump1090-mutability --interactive
Es posible que te ocurra que rtl_adsb muestre un montón de resultados pero dump1090 no muestre ningún avión, se puede deber a estaciones emisoras en tierra. A menos que vivas cerca de un aeropuerto de una gran ciudad hay que tener paciencia para captar los datos de un avión.
Internet of Thing
Pasemos a capturar y decodificar mensajes de IoT. Para ellos puedes probar con el programa rtl_433.
rtl_433
Los datos son devueltos de una manera muy intuitiva donde cada paquete es decodificado y mostrado en pantalla.
Por defecto escucha la frecuencia 433 MHz pero usando el parámetro -f puedes probar con diferentes frecuencias a ver qué detectas, para probar puedes empezar con 315 MHz, 345 MHz, 868 MHz o 915 MHz. Por ejemplo:
rtl_433 -f 868M
Si deseas volcar los datos a un fichero con el parámetro -F puedes configurar que formato usar de la lista: kv|, json, csv, mqtt, |influx, syslog, |null.