جدول المحتويات:
فيديو: جهاز استقبال Raspberry Pi NOAA و Meteor-M 2: 6 خطوات
2025 مؤلف: John Day | [email protected]. آخر تعديل: 2025-01-13 06:56
سيساعدك هذا التوجيه في إعداد محطة استقبال ليس فقط من أجل APT من NOAA-15 و 18 و 19 ، ولكن أيضًا Meteor-M 2.
إنه حقًا مجرد مشروع متابعة صغير لمشروع haslettj العظيم "Raspberry Pi NOAA Weather Satellite Receiver".
الخطوة 1: ابدأ بـ Haslettj's Instructable
قبل أن تتبع تعليمات haslettj ، لاحظ هذه التغييرات أولاً:
لم يعد العنوان القديم لـ wxtoimg متاحًا. يمكنك الآن استخدام هذا العنوان بدلاً من ذلك في الأمر wget:
www.wxtoimgrestored.xyz/beta/wxtoimg-linux-armhf-2.11.2-beta.tar.gz
اضطررت أيضًا إلى إجراء تغيير على النص البرمجي "Receiver_and_process_satellite.sh" ، لأنه من الواضح أن rtl_fm لا ينتج صوتًا بتنسيق "wav". لكنها ليست مشكلة ، يمكن لـ sox التعامل معها. لذلك قمت بتغيير هذا الخط:
sudo timeout $ 6 rtl_fm -f $ {2} M -s 60k -g 45 -p 55 -E wav -E dimp -F 9 - | sox -t wav - 3. معدل wav 11025 دولار
لهذا (ولكن تذكر استبدال إعداد الكسب "-g 0" وإعداد خطأ تردد "-p 68" PPM بشيء يعمل مع أجهزتك):
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 - 3.معدل wav 11025
في نفس البرنامج النصي ، قد ترغب أيضًا في تغيير الوسيطة wxtoimg "-e ZA" إلى "-e MSA" للحصول على صور ملونة جميلة ، مثل هذا:
/ usr / local / bin / wxtoimg -m $ {3} -map-p.webp
اذهب الآن افعل Instructable!
www.instructables.com/id/Raspberry-Pi-NOAA…
الخطوة 2: قم بتثبيت GnuRadio و Blocks لـ RTL-SDR
يستخدم جهاز الاستقبال Meteor-M 2 GnuRadio. لتثبيت ما تحتاجه ، قم بما يلي:
sudo apt تثبيت gnuradio
sudo apt install gr-osmosdr
الخطوة 3: تنزيل نصوص GnuRadio
إذا لم تكن مألوفًا ، فإن GnuRadio يتضمن أداة رسومية تسمى GnuRadio-Companion والتي يمكن استخدامها لبناء الرسوم البيانية الانسيابية وتجميعها في كود Python الذي يتم تنفيذه بعد ذلك.
لقد قمت بتشكيل جهاز استقبال "otti-soft" s "meteor-m2-lrpt" من خلال تعديل بعض المعلمات لتحسين الأداء واستخدام RTL-SDR بدلاً من Airspy. قم بتنزيله من هنا:
github.com/NateDN10/meteor-m2-lrpt
يمكن فتح ملفات.grc باستخدام GnuRadio-Companion ، لكنها ليست نصوصًا قابلة للتنفيذ - فهي موجودة للرجوع إليها وللتلاعب بها. لتشغيله فقط ، انسخ الملف "rtlsdr_m2_lrpt_rx.py" في الدليل / home / pi / weather / Forecast ، وتأكد من أنه قابل للتنفيذ:
chmod + x rtlsdr_m2_lrpt_rx.py
ستحتاج أيضًا إلى تغيير إزاحة التردد:
self.rtlsdr_source_0.set_freq_corr (69، 0)
واستفد من كل ما يصلح لإعدادك:
self.rtlsdr_source_0.set_gain (4، 0)
الخطوة 4: قم بتنزيل وحدة فك الترميز
قم بتنزيل وحدة فك ترميز Meteor LRPT من "artlav" من هنا - تريد إصدار Linux ARM:
orbides.org/page.php؟id=1023
يمكنك القيام بذلك على Raspberry Pi باستخدام هذه الأوامر:
مؤتمر نزع السلاح / الوطن / بي / الطقس
wget https://orbides.org/etc/medet/medet_190825_arm.tar.gz mkdir medet ؛ cd medet tar xvzf../medet_190825_arm.tar.gz
يجب أن يكون لديك الآن دليل يسمى "medet" ضمن دليل "weather" الخاص بك ، وداخله يجب أن يكون ملف تنفيذي "medet_arm".
الخطوة 5: تنزيل أدوات أخرى
لإصلاح نسبة العرض إلى الارتفاع للصور ، سنستخدم أداة Python "meteor_rectify" الخاصة بـ dbdexter من Github.
إذا لم يكن لديك بالفعل git و ImageMagick مثبتًا:
sudo apt install git
sudo مناسب لتثبيت imagemagick
ثم استنساخ المستودع:
مؤتمر نزع السلاح / الوطن / بي / الطقس
استنساخ بوابة
قد تحتاج أيضًا إلى مكتبات Python "الوسادة" و "numpy":
تثبيت pip3 numpy
وسادة تثبيت pip3
الخطوة 6: تحديث البرامج النصية
أولاً ، أضف السطر التالي إلى نهاية "Schedule_all.sh":
/home/pi/weather/predict/schedule_satellite.sh "METEOR-M 2" 137.1000
ثم ، في "Schedule_satellite.sh" ، غيِّر هذه الكتلة:
إذا كان [$ MAXELEV -gt 19] ؛ من ثم
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
الى هذا:
إذا [$ MAXELEV -gt 19] ؛ من ثم
صدى $ {1 // ""} $ {OUTDATE} $ MAXELEV إذا ["$ 1" == "METEOR-M 2"] ثم صدى "/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
أخيرًا ، قم بإنشاء برنامج نصي جديد يسمى "Receive_and_process_meteor.sh" بالمحتويات التالية:
#! / بن / باش
# $ 1 = اسم القمر الصناعي # $ 2 = التردد # $ 3 = اسم الملف الأساسي # $ 4 = ملف TLE # $ 5 = وقت بدء EPOC # $ 6 = وقت التقاط القرص المضغوط / المنزل / pi / مهلة الطقس $ 6 التنبؤ / rtlsdr_m2_lrpt_rx.py $ 1 $ 2 $ 3 # الشتاء # 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"]؛ ثم #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 colorpace sRGB -negate $ {3} _ir.bmp # Summer convert $ {3} _2.bmp $ {3} _1.bmp $ {3} _0.bmp -combine -set colorpace sRGB $ {3}.bmp meteor_rectify / rectify.py $ {3}.bmp # Winter only # meteor_rectify / rectify.py $ { 3} _ir.bmp # تدوير الصور المسائية 180 درجة إذا [$ dte -lt 13]؛ ثم قم بتحويل $ {3} -rectified.png -normalize -quality 90 $ 3-j.webp
اجعله قابلاً للتنفيذ:
chmod + x Receiver_and_process_meteor.sh
وهذا كل شيء! في المرة التالية التي يتم فيها تشغيل وظيفة cron الحالية لجدولة الأقمار الصناعية ، سيتم جدولة Meteor-M 2 أيضًا. ستخرج وحدة فك الترميز.bmp باستخدام APID 66 للأحمر و 65 للأخضر و 64 للأزرق.
الإخراج القياسي من البرامج النصية ، عندما يتم تشغيلها بواسطة المجدول ، يتم إلحاقه بـ / var / mail / pi. لقراءتها ، استخدم هذا الأمر:
أقل / فار / بريد / بي
ولمحو الرسائل القديمة ، قم بما يلي:
/ var / mail / pi