Inhoudsopgave:
Video: Raspberry Pi NOAA en Meteor-M 2-ontvanger - Ajarnpa
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-13 06:57
Deze instructable helpt je bij het opzetten van een ontvangststation voor niet alleen APT van NOAA-15, 18 en 19, maar ook voor Meteor-M 2.
Het is eigenlijk maar een klein vervolgproject op haslettj's geweldige "Raspberry Pi NOAA Weather Satellite Receiver"-project.
Stap 1: Begin met Haslettj's Instructable
Noteer eerst deze wijzigingen voordat u Haslettj's Instructable volgt:
Het oude adres voor wxtoimg is niet meer up. U kunt dit adres nu gebruiken in de opdracht wget:
www.wxtoimgrestored.xyz/beta/wxtoimg-linux-armhf-2.11.2-beta.tar.gz
Ik moest ook een wijziging aanbrengen in het "receive_and_process_satellite.sh"-script, omdat rtl_fm blijkbaar geen audio in "wav"-formaat uitvoert. Maar het is geen probleem, Sox kan het aan. Dus ik heb deze regel gewijzigd:
sudo time-out $6 rtl_fm -f ${2}M -s 60k -g 45 -p 55 -E wav -E deemp -F 9 - | sox -t wav - $3.wav tarief 11025
Hiertoe (maar vergeet niet om de "-g 0" versterkingsinstelling en "-p 68" PPM-frequentiefoutinstelling te vervangen door iets dat werkt voor uw hardware):
sudo time-out $6 rtl_fm -f ${2}M -s 48k -g 0 -p 68 -E dc -A snel -F 9 - | sox -t raw -r 48000 -es -b16 -c1 -V1 - $3.wav tarief 11025
In hetzelfde script wil je misschien ook het wxtoimg-argument "-e ZA" wijzigen in "-e MSA" om mooie kleurenafbeeldingen te krijgen, zoals deze:
/usr/local/bin/wxtoimg -m ${3}-map-p.webp
Ga nu de Instructable doen!
www.instructables.com/id/Raspberry-Pi-NOAA…
Stap 2: Installeer GnuRadio en Blocks voor RTL-SDR
De Meteor-M 2-ontvanger maakt gebruik van GnuRadio. Ga als volgt te werk om te installeren wat u nodig hebt:
sudo apt install gnuradio
sudo apt install gr-osmosdr
Stap 3: GnuRadio-scripts downloaden
Als je niet bekend bent, bevat GnuRadio een grafisch hulpmiddel genaamd GnuRadio-Companion dat kan worden gebruikt om stroomgrafieken te bouwen en deze in Python-code te compileren die vervolgens wordt uitgevoerd.
Ik heb de "meteor-m2-lrpt" -ontvanger van "otti-soft" gevorkt door enkele parameters te wijzigen om de prestaties te verbeteren en RTL-SDR te gebruiken in plaats van Airspy. Download het van hier:
github.com/NateDN10/meteor-m2-lrpt
De.grc-bestanden kunnen worden geopend met GnuRadio-Companion, maar het zijn geen uitvoerbare scripts - ze zijn er voor uw referentie en om mee te spelen. Om het gewoon werkend te krijgen, kopieert u het bestand "rtlsdr_m2_lrpt_rx.py" naar uw /home/pi/weather/predict directory en zorgt u ervoor dat het uitvoerbaar is:
chmod +x rtlsdr_m2_lrpt_rx.py
U wilt ook de frequentie-offset wijzigen:
zelf.rtlsdr_source_0.set_freq_corr(69, 0)
En profiteer van wat werkt voor uw opstelling:
zelf.rtlsdr_source_0.set_gain(4, 0)
Stap 4: Download de decoder
Download de Meteor LRPT-decoder van "artlav" vanaf hier - u wilt de Linux ARM-versie:
orbides.org/page.php?id=1023
U kunt dit op de Raspberry Pi bereiken met behulp van deze opdrachten:
cd /home/pi/weer
wget https://orbides.org/etc/medet/medet_190825_arm.tar.gz mkdir medet; cd medet tar xvzf../medet_190825_arm.tar.gz
Je zou nu een directory met de naam "medet" moeten hebben in je "weather" directory, en daarbinnen zou een "medet_arm" uitvoerbaar bestand moeten zijn.
Stap 5: Download andere hulpmiddelen
Om de beeldverhouding van de afbeeldingen te corrigeren, gaan we de Python-tool "meteor_rectify" van dbdexter van Github gebruiken.
Als je git en ImageMagick nog niet hebt geïnstalleerd:
sudo apt install git
sudo apt install imagemagick
Kloon vervolgens de repository:
cd /home/pi/weer
git clone
Mogelijk hebt u ook de Python-bibliotheken "pillow" en "numpy" nodig:
pip3 installeer numpy
pip3 kussen installeren
Stap 6: werk de scripts bij
Voeg eerst de volgende regel toe aan het einde van "schedule_all.sh":
/home/pi/weather/predict/schedule_satellite.sh "METEOR-M 2" 137.1000
Wijzig vervolgens in "schedule_satellite.sh" dit blok:
als [$MAXELEV -gt 19]; dan
echo ${1//" "}${OUTDATE} $MAXELEV echo "/home/pi/weather/predict/receive_and_process_satellite.sh \"${1}\" $2 /home/pi/weather/${1// " "}${OUTDATE} /home/pi/weather/predict/weather.tle $var1 $TIMER" | op `date --date="TZ=\"UTC\" $START_TIME" +"%H:%M %D"` fi
Hierop:
als [$MAXELEV -gt 19]; dan
echo ${1//" "}${OUTDATE} $MAXELEV if ["$1" == "METEOR-M 2"] dan 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" | op `date --date="TZ=\"UTC\" $START_TIME" +"%H:%M %D"` else echo "/home/pi/weather/predict/receive_and_process_satellite.sh \"${1} " $2 /home/pi/weather/${1//" "}${OUTDATE} /home/pi/weather/predict/weather.tle $var1 $TIMER" | op `date --date="TZ=\"UTC\" $START_TIME" +"%H:%M %D"` fi fi
Maak ten slotte een nieuw script met de naam "receive_and_process_meteor.sh" met de volgende inhoud:
#! /bin/bash
# $1 = Satellietnaam # $2 = Frequentie # $3 = Bestandsnaambasis # $4 = TLE-bestand # $5 = EPOC-starttijd # $6 = Tijd om cd vast te leggen /home/pi/weather timeout $6 predict/rtlsdr_m2_lrpt_rx.py $1 $2 $3 # Winter #medet/medet_arm ${3}.s $3 -r 68 -g 65 -b 64 -na -S # Zomer medet/medet_arm ${3}.s $3 -r 66 -g 65 -b 64 -na -S rm ${3}.s als [-f "${3}_0.bmp"]; dan #rm ${3}.s dte=`datum +%H` # Winter #convert ${3}_1.bmp ${3}_1.bmp ${3}_0.bmp -combine -set kleurruimte sRGB ${ 3}.bmp #convert ${3}_2.bmp ${3}_2.bmp ${3}_2.bmp -combine -set colorspace sRGB -negate ${3}_ir.bmp # Zomerconversie ${3}_2.bmp ${3}_1.bmp ${3}_0.bmp -combine -set kleurruimte sRGB ${3}.bmp meteor_rectify/rectify.py ${3}.bmp # Alleen winter #meteor_rectify/rectify.py ${ 3}_ir.bmp # Draai avondbeelden 180 graden als [$dte -lt 13]; converteer dan ${3}-rectified.png -normalize -quality 90 $3-j.webp
Maak het uitvoerbaar:
chmod +x ontvang_en_process_meteor.sh
En dat is het! De volgende keer dat uw bestaande cron-taak wordt uitgevoerd om satellieten te plannen, wordt Meteor-M 2 ook gepland. De decoder voert een.bmp uit met APID 66 voor rood, 65 voor groen en 64 voor blauw.
De standaarduitvoer van de scripts, wanneer ze worden uitgevoerd door de planner, wordt toegevoegd aan /var/mail/pi. Gebruik deze opdracht om het te lezen:
minder /var/mail/pi
En om oude berichten te wissen, doet u dit:
/var/mail/pi