Receptor automático NOAA y Meteor M2 en Raspberry

Desarrollo:

Rasp_NOAA_07

SDR Y RASPBERRYPI

 

Rasp_NOAA_08

SDR Y RASPBERRYPI con alimentación de backup

Material Necesario

Antena Turnstile

Receptor SDR RTL-SDR

Raspberry Pi 3

Preparando la Raspberry

Actualizamos el sistema

 

Software Necesario

Creamos /etc/modprobe.d/rtl-sdr-blacklist.conf

Incluimos en el fichero:

#

blacklist dvb_usb_rtl28xxu

blacklist rtl2830

blacklist rtl2832

#

Vamos ejecutando los comandos

Instalamos las utilidades y librerías rtl-sdr:

Después de esto respetamos la raspberry para que se ejecuten los cambios.

Instalamos los siguientes programas:

sox audio toolkit

Necesitamos una forma de programar las capturas a medida que los satélites pasan por encima. Instale el planificador at.

Necesitamos una forma de saber cuándo los satélites pasarán por encima. Utilizaremos una aplicación llamada predict.

Finalmente, necesita wxtoimg para convertir el audio capturado en una imagen.

La pagina web de wxtoimg, esta caído y no se sabe cuándo se restablecerá. Para solucionar el problema, ver la pagina RTL-SDR.com 

la dirección de la descarga es Paquete de .deb de ARM de Linux

 

Comprobar que se detecta el SDR

Comprobamos que la raspberry detecta el SDR

Rasp_NOAA_06

Teniendo nuestro SDR conectado a la Rasp comprobamos que todo se ha instalado correctamente con el comando:

Y nos debe dar un resultado parecido a:

Rasp_NOAA_05

Salimos de rtl_test con CTRL+C

Configuración de Predict

Lo siguiente que hemos de hacer es decirle a predict cual es nuestra posición para que las predicciones de los pases sean correcta.

Para ello ejecutamos:

Tras lo que se nos muestra:

Rasp_NOAA_01

Escogemos la opción G (Edit Ground Station).

Rasp_NOAA_02

 

Tras ello hemos de insertar nuestras cooordenadas y altitud.

IMPORTANTE: Norte se considera positivo al igual que Oeste.

 

Configurar wxtoimg

Ejecutamos el programa

Tras ello hemos de decirle nuestra posicion a wxtoimg creando un fichero en un nuestro home (normalmente /home/pi) que se llame .wxtoimgrc (con el punto delante)

Lo creamos con: 

Podemos comprobarlo con ls -l -a

Dicho fichero ha de contener:

  • Latitude-
  • Longitude.
  • Altitude.

IMPORTANTE: En este caso es al reves que con predict: ESTE es POSITIVO.

En breve la siguiente parte donde ya creamos los script de programacion de pases y de grabacion de los mismos.

 

Scripts de funcionamiento

Ahora que tienes un dongle RTL en funcionamiento en tu Raspberry Pi, es hora de que realmente reciba algunos mapas del clima. Asegúrese de que su antena esté conectada y ubicada lo mejor posible. Tengo el mío montado en mi ático y funciona bastante bien desde allí. Si puedes montarlo afuera, eso sería aún mejor. Obtener lo más alto posible.

Vamos a necesitar crear algunos subdirectorios para automatizar todo. 

Creamos los directorios necesarios:

A continuación, crearemos los  scripts que inician la programación. El primero es schedule_all.sh. Este script se ejecutara todas los días a las 1 horas. Descarga la información del pase de satélite desde celestrak y crea un archivo TLE para predecir su uso. Luego elimina todos los trabajos AT del sistema, para que no se programan dos veces los pases.

Al final de este escript, llama al segundo script schedule_satellite.sh por cada satélite que nos interesa.

Usando su editor de texto favorito, cree un nuevo archivo en ~ /weather/predict /schedule_all.sh y coloque el código puesto al final.

El segundo script, schedule_satellite.sh, se repite a través de cada pasada del satélite dado para el día actual. Determina si la elevación máxima es de 20 grados o más. Si es así, calcula la duración del pase y programa la grabación y el procesamiento del pase. Si la elevación máxima es inferior a 20 grados, se ignora el pase, ya que generalmente no producirá una imagen decente.

Cuando llegue el momento de registrar y procesar un pase de entrega, se iniciará el script final receive_and_process_satellite.sh. Cuando se llama a este script:

  • Utiliza rtl_fm para recibir el audio del pase de satélite y lo envía a sox para su procesamiento.
  • Sox guarda el audio en un archivo.
  • Una vez completado el pase, se llama a wxmap que genera un mapa de superposición para la imagen.
  • Finalmente, se llama a wxtoimg para generar la imagen real y colocar el mapa de superposición sobre ella.

 

Con el editor, creemos un  archivo en ~ /weather/prediction llamado receive_and_process_satellite.sh y coloque el siguiente código en el archivo:

Hacemos ejecutables los scrips

Rasp_NOAA_04

El último paso para automatizar la recepción, es programar el primer script para que se ejecute justo después de la medianoche. Ejecute el siguiente comando:

Y a continuacion editamos el cron con:

Se abrirá un editor de texto de su elección para editar el archivo cron. Hay que agregar la línea al final de este archivo y guárdelo:

Grabamos y salimos del editor.

De esta manera a las 00:01 se ejecutara el script schedule_all.sh que actualiza los datos de los pases de los sats y a continuacion ejecuta los dos scripts de programacion de los pases: schedule_meteor.sh para el Meteor M2 y schedule_satellite.sh para los NOAA.

Comprobar las cosas

Se puede ver  las próximas pasadas del satélite,  que están programadas para procesarse, ejecutamos el comando:

NOAA1820180124-181947-map.png  <– Map overlay file

NOAA1820180124-181947.png      <– The final image file

NOAA1820180124-181947.wav      <– The raw audio fil

El formato del nombre de archivo es el nombre del satélite, seguido de la fecha (AAAAMMDD) y la hora (HHMMSS) del inicio del pase. Wxtoimg tiene varios filtros, para generar el archivo de imagen. Probar con wxtoimg en el mapa original y los archivos de audio y vea qué se le ocurre.

Solo puede recibir un satélite. Si se reciben dos satélites al mismo tiempo, solo se grabara el que haya comenzado primero, el segundo generar un error y se detendra.

Verifique en el directorio ~ /weather para ver los resultados. Cada pase generará tres archivos:

y tras ello usamos:

Y nos deberia dar unas salidas con los pases programados parecido a:

pi@raspberry:~ $ atq

27 Tue Jan 23 15:46:00 2018 a pi

30 Tue Jan 23 19:39:00 2018 a pi

29 Tue Jan 23 18:00:00 2018 a pi

26 Tue Jan 23 22:28:00 2018 a pi

28 Tue Jan 23 20:18:00 2018 a pi

25 Tue Jan 23 20:47:00 2018 a pi

pi@raspberry:~ $

Y por último, antes de sentarnos tranquilamente a ver el resultado, hemos de instalar iqtoSharp. Una utilidad que nos permite convertir los ficheros IQ raw grabados por rtl_sdr en los pases de los NOAA y los convierte en un formato leíble por SDR#.

Nos queda esperar  y  una vez pasado el pase, mirar en /home/pi/weather las imágenes que se han creado.

El Meteor no genera imágenes. Genera un fichero .wav en formato IQ , que puede leer el SDR# .

 

SCRIPTS

  • schedule_all.sh
  • schedule_satellite.sh
  • receive_and_process_satellite.sh
schedule_all.sh

schedule_satellite.sh

receive_and_process_satellite.sh