Tabla de contenido:
Video: Receptor Raspberry Pi NOAA y Meteor-M 2: 6 pasos
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-13 06:57
Este instructivo lo ayudará a configurar una estación receptora no solo para APT de NOAA-15, 18 y 19, sino también para Meteor-M 2.
En realidad, es solo un pequeño proyecto de continuación del gran proyecto "Receptor de satélite meteorológico Raspberry Pi NOAA" de Haslettj.
Paso 1: Comience con Instructable de Haslettj
Antes de seguir el Instructable de haslettj, primero tenga en cuenta estos cambios:
La antigua dirección de wxtoimg ya no está activa. Ahora puede usar esta dirección en su lugar en el comando wget:
www.wxtoimgrestored.xyz/beta/wxtoimg-linux-armhf-2.11.2-beta.tar.gz
También tuve que hacer un cambio en la secuencia de comandos "receive_and_process_sa satellite.sh", porque rtl_fm aparentemente no genera audio en formato "wav". Pero no hay problema, Sox puede manejarlo. Entonces cambié esta línea:
sudo tiempo de espera $ 6 rtl_fm -f $ {2} M -s 60k -g 45 -p 55 -E wav -E deemp -F 9 - | sox -t wav - tasa de wav de $ 3.1025
A esto (pero recuerde reemplazar la configuración de ganancia "-g 0" y la configuración de error de frecuencia PPM "-p 68" con algo que funcione para su hardware):
sudo timeout $ 6 rtl_fm -f $ {2} M -s 48k -g 0 -p 68 -E dc -A fast -F 9 - | sox -t raw -r 48000 -es -b16 -c1 -V1 - tasa de wav de $ 3.1025
En el mismo script, es posible que también desee cambiar el argumento wxtoimg "-e ZA" a "-e MSA" para obtener imágenes en color agradables, como esta:
/ usr / local / bin / wxtoimg -m $ {3} -map-p.webp
¡Ahora haz el Instructable!
www.instructables.com/id/Raspberry-Pi-NOAA…
Paso 2: Instale GnuRadio y Blocks para RTL-SDR
El receptor Meteor-M 2 usa GnuRadio. Para instalar lo que necesita, haga esto:
sudo apt instalar gnuradio
sudo apt install gr-osmosdr
Paso 3: descargue los scripts de GnuRadio
Si no está familiarizado, GnuRadio incluye una herramienta gráfica llamada GnuRadio-Companion que se puede utilizar para crear gráficos de flujo y compilarlos en código Python que luego se ejecuta.
He bifurcado el receptor "meteor-m2-lrpt" de "otti-soft" modificando algunos de los parámetros para mejorar el rendimiento y usando RTL-SDR en lugar de Airspy. Descárgalo desde aquí:
github.com/NateDN10/meteor-m2-lrpt
Los archivos.grc se pueden abrir con GnuRadio-Companion, pero no son scripts ejecutables, están ahí para su referencia y para jugar. Para que funcione, copie el archivo "rtlsdr_m2_lrpt_rx.py" en su directorio / home / pi / weather / predict y asegúrese de que sea ejecutable:
chmod + x rtlsdr_m2_lrpt_rx.py
También querrá cambiar la compensación de frecuencia:
self.rtlsdr_source_0.set_freq_corr (69, 0)
Y aproveche lo que funcione para su configuración:
self.rtlsdr_source_0.set_gain (4, 0)
Paso 4: descarga el decodificador
Descargue el decodificador Meteor LRPT de "artlav" desde aquí; desea la versión ARM de Linux:
orbides.org/page.php?id=1023
Puede lograr esto en la Raspberry Pi usando estos comandos:
cd / home / pi / weather
wget https://orbides.org/etc/medet/medet_190825_arm.tar.gz mkdir medet; cd medet tar xvzf../medet_190825_arm.tar.gz
Ahora debería tener un directorio llamado "medet" dentro de su directorio "weather", y dentro debería haber un ejecutable "medet_arm".
Paso 5: descarga otras herramientas
Para corregir la relación de aspecto de las imágenes, usaremos la herramienta Python "meteor_rectify" de dbdexter de Github.
Si aún no tiene git e ImageMagick instalados:
sudo apt install git
sudo apt instalar imagemagick
Luego clona el repositorio:
cd / home / pi / weather
clon de git
Es posible que también necesite las bibliotecas de Python "pillow" y "numpy":
pip3 instalar numpy
pip3 instalar almohada
Paso 6: actualice los scripts
Primero, agregue la siguiente línea al final de "schedule_all.sh":
/home/pi/weather/predict/schedule_sa satellite.sh "METEOR-M 2" 137.1000
Luego, en "schedule_sa satellite.sh", cambie este bloque:
si [$ MAXELEV -gt 19]; luego
echo $ {1 // ""} $ {OUTDATE} $ MAXELEV echo "/home/pi/weather/predict/receive_and_process_sa satellite.sh \" $ {1} "$ 2 / home / pi / weather / $ {1 // ""} $ {OUTDATE} /home/pi/weather/predict/weather.tle $ var1 $ TIMER "| en `fecha --fecha =" TZ = / "UTC \" $ START_TIME "+"% H:% M% D "` fi
A esto:
si [$ MAXELEV -gt 19]; luego
echo $ {1 // ""} $ {OUTDATE} $ MAXELEV si ["$ 1" == "METEOR-M 2"] luego echo "/home/pi/weather/predict/receive_and_process_meteor.sh \" $ {1} "$ 2 / home / pi / weather / $ {1 //" "} $ {OUTDATE} /home/pi/weather/predict/weather.tle $ var1 $ TIMER" | at `date --date =" TZ = / "UTC \" $ START_TIME "+"% H:% M% D "` else echo "/home/pi/weather/predict/receive_and_process_sa satellite.sh \" $ {1} "$ 2 / home / pi / weather / $ {1 //" "} $ {OUTDATE} /home/pi/weather/predict/weather.tle $ var1 $ TIMER" | en `fecha --fecha =" TZ = / "UTC \" $ START_TIME "+"% H:% M% D "` fi fi
Finalmente, cree un nuevo script llamado "receive_and_process_meteor.sh" con el siguiente contenido:
#! / bin / bash
# $ 1 = Nombre del satélite # $ 2 = Frecuencia # $ 3 = Nombre de archivo base # $ 4 = Archivo TLE # $ 5 = Hora de inicio de EPOC # $ 6 = Tiempo para capturar cd / home / pi / tiempo de espera del clima $ 6 predict / rtlsdr_m2_lrpt_rx.py $ 1 $ 2 $ 3 # Invierno # medet / medet_arm $ {3}.s $ 3 -r 68 -g 65 -b 64 -na -S # Summer medet / medet_arm $ {3}.s $ 3 -r 66 -g 65 -b 64 -na -S rm $ {3}.s if [-f "$ {3} _0.bmp"]; luego #rm $ {3}.s dte = `date +% H` # Winter #convert $ {3} _1.bmp $ {3} _1.bmp $ {3} _0.bmp -combine -set colorspace sRGB $ { 3}.bmp #convert $ {3} _2.bmp $ {3} _2.bmp $ {3} _2.bmp -combine -set colorspace sRGB -negate $ {3} _ir.bmp # Summer convert $ {3} _2.bmp $ {3} _1.bmp $ {3} _0.bmp -combine -set colorspace sRGB $ {3}.bmp meteor_rectify / rectify.py $ {3}.bmp # Solo invierno # meteor_rectify / rectify.py $ { 3} _ir.bmp # Girar las imágenes de la tarde 180 grados si [$ dte -lt 13]; luego convierta $ {3} -rectified.png -normalize -quality 90 $ 3-j.webp
Hágalo ejecutable:
chmod + x Receive_and_process_meteor.sh
¡Y eso es! La próxima vez que su trabajo cron existente se ejecute para programar satélites, también se programará Meteor-M 2. El decodificador generará un.bmp usando APID 66 para rojo, 65 para verde y 64 para azul.
La salida estándar de los scripts, cuando son ejecutados por el programador, se adjunta a / var / mail / pi. Para leerlo, use este comando:
menos / var / mail / pi
Y para borrar mensajes antiguos, haz esto:
/ var / mail / pi