Innehållsförteckning:
Video: Raspberry Pi NOAA och Meteor-M 2 mottagare: 6 steg
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
Denna instruktör hjälper dig att skapa en mottagarstation för inte bara APT från NOAA-15, 18 och 19, utan också Meteor-M 2.
Det är egentligen bara ett litet uppföljningsprojekt till haslettjs stora "Raspberry Pi NOAA Weather Satellite Receiver" -projekt.
Steg 1: Börja med Haslettjs instruktionsbara
Innan du följer haslettj's Instructable, notera dessa förändringar först:
Den gamla adressen för wxtoimg finns inte längre. Du kan nu använda den här adressen istället i kommandot wget:
www.wxtoimgrestored.xyz/beta/wxtoimg-linux-armhf-2.11.2-beta.tar.gz
Jag var också tvungen att göra en ändring av skriptet "recipient_and_process_satellite.sh", eftersom rtl_fm uppenbarligen inte ger ut ljud i "wav" -format. Men det är inga problem, sox klarar det. Så jag ändrade den här raden:
sudo timeout $ 6 rtl_fm -f $ {2} M -s 60k -g 45 -p 55 -E wav -E deemp -F 9 -| sox -t wav - $ 3. wav rate 11025
Till detta (men kom ihåg att ersätta "-g 0" -inställningen och "-p 68" PPM-frekvensfelinställningen med något som fungerar för din maskinvara):
sudo timeout $ 6 rtl_fm -f $ {2} M -s 48k -g 0 -p 68 -E dc -A snabb -F 9 -| sox -t raw -r 48000 -es -b16 -c1 -V1 -$ 3.wav rate 11025
I samma skript kanske du också vill ändra wxtoimg-argumentet "-e ZA" till "-e MSA" för att få fina färgbilder, så här:
/usr/local/bin/wxtoimg -m $ {3} -map.png -e MSA $ 3.wav $ 3.png
Gå nu och gör det instruerbara!
www.instructables.com/id/Raspberry-Pi-NOAA…
Steg 2: Installera GnuRadio och block för RTL-SDR
Meteor-M 2-mottagaren använder GnuRadio. Gör så här för att installera det du behöver:
sudo apt installera gnuradio
sudo apt installera gr-osmosdr
Steg 3: Ladda ner GnuRadio Scripts
Om du inte är bekant innehåller GnuRadio ett grafiskt verktyg som heter GnuRadio-Companion som kan användas för att bygga flödesdiagram och kompilera dem till Python-kod som sedan körs.
Jag har gafflat "otti-soft" s "meteor-m2-lrpt" -mottagare genom att ändra några av parametrarna för att förbättra prestanda och använda RTL-SDR istället för Airspy. Ladda ner det härifrån:
github.com/NateDN10/meteor-m2-lrpt
. Grc -filerna kan öppnas med GnuRadio -Companion, men de är inte körbara skript - de är där för din referens och att leka med. För att bara få det att fungera, kopiera filen "rtlsdr_m2_lrpt_rx.py" till din/home/pi/weather/predict -katalog och se till att den är körbar:
chmod +x rtlsdr_m2_lrpt_rx.py
Du vill också ändra frekvensförskjutningen:
self.rtlsdr_source_0.set_freq_corr (69, 0)
Och få det som fungerar för din installation:
self.rtlsdr_source_0.set_gain (4, 0)
Steg 4: Ladda ner avkodaren
Ladda ner "artlav" s Meteor LRPT -avkodare härifrån - du vill ha Linux ARM -versionen:
orbides.org/page.php?id=1023
Du kan uppnå detta på Raspberry Pi med dessa kommandon:
cd/home/pi/väder
wget https://orbides.org/etc/medet/medet_190825_arm.tar.gz mkdir medet; cd medet tar xvzf../medet_190825_arm.tar.gz
Du bör nu ha en katalog som heter "medet" i din "väder" -katalog, och inuti den bör vara en "medet_arm" körbar.
Steg 5: Ladda ner andra verktyg
För att fixa bildförhållandet för bilderna kommer vi att använda dbdexters "meteor_rectify" Python -verktyg från Github.
Om du inte redan har git och ImageMagick installerat:
sudo apt installera git
sudo apt installera imagemagick
Klona sedan förvaret:
cd/home/pi/väder
git-klon
Du kan också behöva "kudde" och "numpy" Python -bibliotek:
pip3 installera numpy
pip3 installera kudde
Steg 6: Uppdatera skripten
Lägg först till följande rad i slutet av "schedule_all.sh":
/home/pi/weather/predict/schedule_satellite.sh "METEOR-M 2" 137.1000
Ändra sedan det här blocket i "schema_satellite.sh":
om [$ MAXELEV -gt 19]; sedan
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 "| vid `date --date =" TZ = / "UTC \" $ START_TIME " +"%H:%M%D "` fi
Till detta:
om [$ MAXELEV -gt 19]; sedan
eko $ {1 // ""} $ {OUTDATE} $ MAXELEV om ["$ 1" == "METEOR-M 2"] sedan eko "/home/pi/weather/predict/receive_and_process_meteor.sh \" $ {1} "$ 2/home/pi/weather/$ {1 //" "} $ {OUTDATE} /home/pi/weather/predict/weather.tle $ var1 $ TIMER" | vid `date --date =" TZ = / "UTC \" $ START_TIME " +"%H:%M%D "` `annars 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" | vid `date --date =" TZ = / "UTC \" $ START_TIME " +"%H:%M%D "` fi fi
Slutligen skapar du ett nytt skript som heter "Receive_and_process_meteor.sh" med följande innehåll:
#! /bin/bash
# $ 1 = Satellitnamn # $ 2 = Frekvens # $ 3 = Filnamnbas # $ 4 = TLE -fil # $ 5 = EPOC -starttid # $ 6 = Dags att ta cd/home/pi/väder timeout $ 6 förutsäga/rtlsdr_m2_lrpt_rx.py $ 1 $ 2 $ 3 # Winter # 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 om [-f "$ {3} _0.bmp"]; sedan #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 färgrymd sRGB $ {3}.bmp meteor_rectify/rectify.py $ {3}.bmp # Endast vinter # meteor_rectify/rectify.py $ { 3} _ir.bmp # Rotera kvällsbilder 180 grader om [$ dte -lt 13]; konvertera sedan $ {3} -rectified.png -normalize -quality 90 $ 3.jpg # Only winter #convert $ {3} _ir -rectified.png -normalize -quality 90 $ {3} _ir.jpg else convert $ {3} -rectified.png -rotate 180 -normalize -quality 90 $ 3.jpg # Only winter #convert $ {3} _ir -rectified.png -rotate 180 -normalize -quality 90 $ {3} _ir.jpg fi rm $ 3.bmp rm $ {3} _0.bmp rm $ {3} _1.bmp rm $ {3} _2.bmp rm $ {3} -rectified.png #Endast vinter #rm $ {3} _ir.bmp #rm $ {3} _ir-rectified.png fi
Gör det körbart:
chmod +x mottagning_och_process_meteor.sh
Och det är allt! Nästa gång ditt befintliga cron-jobb körs för att schemalägga satelliter kommer Meteor-M 2 också att schemaläggas. Avkodaren matar ut en.bmp med APID 66 för rött, 65 för grönt och 64 för blått.
Standardutmatningen från skripten, när de körs av schemaläggaren, läggs till/var/mail/pi. För att läsa det, använd det här kommandot:
mindre/var/mail/pi
Och för att radera gamla meddelanden gör du så här:
/var/mail/pi