İçindekiler:
Video: Raspberry Pi NOAA ve Meteor-M 2 Alıcı: 6 Adım
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
Bu talimat, yalnızca NOAA-15, 18 ve 19'dan APT için değil, aynı zamanda Meteor-M 2 için bir alıcı istasyon kurmanıza yardımcı olacaktır.
Bu gerçekten haslettj'in harika "Raspberry Pi NOAA Hava Uydu Alıcısı" projesinin küçük bir devam projesi.
Adım 1: Haslettj'in Eğitilebilirliği ile Başlayın
haslettj's Instructable'ı izlemeden önce, önce şu değişiklikleri not edin:
wxtoimg için eski adres artık çalışmıyor. Artık wget komutu yerine bu adresi kullanabilirsiniz:
www.wxtoimgrestored.xyz/beta/wxtoimg-linux-armhf-2.11.2-beta.tar.gz
Ayrıca "receive_and_process_satellite.sh" betiğinde bir değişiklik yapmak zorunda kaldım, çünkü rtl_fm görünüşe göre aslında "wav" formatında ses vermiyor. Ama sorun değil, sox halledebilir. Bu yüzden bu satırı değiştirdim:
sudo zaman aşımı $6 rtl_fm -f ${2}M -s 60k -g 45 -p 55 -E wav -E deemp -F 9 - | sox -t wav - 3.wav oranı 11025
Bunun için (ancak "-g 0" kazanç ayarını ve "-p 68" PPM frekans hatası ayarını donanımınız için çalışan bir şeyle değiştirmeyi unutmayın):
sudo zaman aşımı $6 rtl_fm -f ${2}M -s 48k -g 0 -p 68 -E dc -A hızlı -F 9 - | sox -t raw -r 48000 -es -b16 -c1 -V1 - 3,$ wav oranı 11025
Aynı komut dosyasında, aşağıdaki gibi güzel renkli görüntüler elde etmek için wxtoimg argümanını "-e ZA" olarak "-e MSA" olarak değiştirmek isteyebilirsiniz:
/usr/local/bin/wxtoimg -m ${3}-map.png -e MSA $3.wav $3.png
Şimdi git Eğitilebilirliği yap!
www.instructables.com/id/Raspberry-Pi-NOAA…
Adım 2: RTL-SDR için GnuRadio ve Blocks'u kurun
Meteor-M 2 alıcısı GnuRadio'yu kullanır. İhtiyacınız olanı yüklemek için şunu yapın:
sudo apt gnuradio'yu kurun
sudo apt kurulum gr-osmosdr
3. Adım: GnuRadio Komut Dosyalarını İndirin
Aşina değilseniz, GnuRadio, akış grafikleri oluşturmak ve bunları Python kodunda derlemek için kullanılabilecek GnuRadio-Companion adlı bir grafik aracı içerir ve daha sonra yürütülür.
Performansı artırmak için bazı parametreleri değiştirerek ve Airspy yerine RTL-SDR kullanarak "otti-soft" un "meteor-m2-lrpt" alıcısını çatalladım. Buradan indirin:
github.com/NateDN10/meteor-m2-lrpt
.grc dosyaları GnuRadio-Companion ile açılabilir, ancak bunlar yürütülebilir komut dosyaları değildir - referansınız ve üzerinde oynamanız için oradadırlar. Çalışmasını sağlamak için "rtlsdr_m2_lrpt_rx.py" dosyasını /home/pi/weather/predict dizininize kopyalayın ve yürütülebilir olduğundan emin olun:
chmod +x rtlsdr_m2_lrpt_rx.py
Ayrıca frekans ofsetini de değiştirmek isteyeceksiniz:
self.rtlsdr_source_0.set_freq_corr(69, 0)
Ve kurulumunuz için ne işe yararsa onu kazanın:
self.rtlsdr_source_0.set_gain(4, 0)
Adım 4: Kod Çözücüyü İndirin
"artlav"ın Meteor LRPT kod çözücüsünü buradan indirin - Linux ARM sürümünü istiyorsunuz:
orbides.org/page.php?id=1023
Bunu Raspberry Pi'de şu komutları kullanarak yapabilirsiniz:
cd /home/pi/hava durumu
wget https://orbides.org/etc/medet/medet_190825_arm.tar.gz mkdir medet; cd medet tar xvzf../medet_190825_arm.tar.gz
Artık "hava" dizininizde "medet" adında bir dizininiz olmalı ve bunun içinde bir "medet_arm" yürütülebilir dosyası olmalıdır.
Adım 5: Diğer Araçları İndirin
Görüntülerin en boy oranını düzeltmek için Github'dan dbdexter'ın "meteor_rectify" Python aracını kullanacağız.
Git ve ImageMagick kurulu değilse:
sudo apt git git
sudo apt imagemagick yükleyin
Ardından depoyu klonlayın:
cd /home/pi/hava durumu
git klon
Ayrıca "yastık" ve "numpy" Python kitaplıklarına da ihtiyacınız olabilir:
pip3 yükleme numpy
pip3 yükleme yastığı
6. Adım: Komut Dosyalarını Güncelleyin
İlk olarak, "schedule_all.sh" dosyasının sonuna aşağıdaki satırı ekleyin:
/home/pi/weather/predict/schedule_satellite.sh "METEOR-M 2" 137.1000
Ardından, "schedule_satellite.sh" içinde bu bloğu değiştirin:
eğer [$MAXELEV -gt 19]; sonra
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" | `date --date="TZ=\"UTC\" $START_TIME" +"%H:%M %D"` fi
Buna:
eğer [$MAXELEV -gt 19]; sonra
echo ${1//" "}${OUTDATE} $MAXELEV eğer ["$1" == "METEOR-M 2"] ise 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" | `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" | `date --date="TZ=\"UTC\" $START_TIME" +"%H:%M %D"` fi fi
Son olarak, aşağıdaki içeriklerle "receive_and_process_meteor.sh" adlı yeni bir komut dosyası oluşturun:
#! /bin/bash
# $1 = Uydu Adı # $2 = Frekans # $3 = DosyaAdı tabanı # $4 = TLE Dosyası # $5 = EPOC başlangıç zamanı # $6 = cd yakalama zamanı /home/pi/weather timeout6$ tahmin/rtlsdr_m2_lrpt_rx.py $1 $2 $3 # Kış #medet/medet_arm ${3}.s $3 -r 68 -g 65 -b 64 -na -S # Yaz medet/medet_arm ${3}.s $3 -r 66 -g 65 -b 64 -na -S rm ${3}.s if [-f "${3}_0.bmp"]; sonra #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 # Yaz dönüştürme ${3}_2.bmp ${3}_1.bmp ${3}_0.bmp -combine -set colorspace sRGB ${3}.bmp meteor_rectify/rectify.py ${3}.bmp # Yalnızca kış #meteor_rectify/rectify.py ${ 3}_ir.bmp # Eğer [$dte -lt 13] ise akşam görüntülerini 180 derece döndürün; sonra dönüştürün ${3}-rectified.png -normalize -quality 90 $3.jpg # Sadece kış #convert ${3}_ir-rectified.png -normalize -quality 90 ${3}_ir.jpg aksi takdirde ${3} dönüştürün -rectified.png -rotate 180 -normalize -quality 90 $3.jpg # Sadece kış #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 # Sadece kış #rm ${3}_ir.bmp #rm ${3} _ir-rectified.png fi
Yürütülebilir hale getirin:
chmod +x alma_and_process_meteor.sh
Ve bu kadar! Mevcut cron işiniz bir dahaki sefere uyduları programlamak için çalıştırıldığında, Meteor-M 2 de programlanacaktır. Kod çözücü kırmızı için APID 66, yeşil için 65 ve mavi için 64 kullanarak bir.bmp çıktısı verir.
Komut dosyalarının standart çıktısı, zamanlayıcı tarafından çalıştırıldığında /var/mail/pi dizinine eklenir. Okumak için şu komutu kullanın:
daha az /var/mail/pi
Ve eski mesajları silmek için şunu yapın:
/var/mail/pi