جدول المحتويات:

نظام إعلام ISS البسيط: 6 خطوات (بالصور)
نظام إعلام ISS البسيط: 6 خطوات (بالصور)

فيديو: نظام إعلام ISS البسيط: 6 خطوات (بالصور)

فيديو: نظام إعلام ISS البسيط: 6 خطوات (بالصور)
فيديو: شاهد ماذا حدث عندما قام رائد فضاء بفرك منشفته ف الفضاء #shorts 2024, شهر نوفمبر
Anonim
نظام إخطار بسيط ISS
نظام إخطار بسيط ISS
نظام إخطار بسيط ISS
نظام إخطار بسيط ISS

ما هي محطة الفضاء الدولية ولماذا تريد أن تتنبأ بمكانها؟

للإجابة على السؤال الأول ، يمكننا إلقاء نظرة على موقع وكالة ناسا للحصول على إجابة. وهو باختصار:

محطة الفضاء الدولية هي مركبة فضائية كبيرة. يدور حول الأرض. إنه منزل يعيش فيه رواد الفضاء ومحطة الفضاء هي أيضًا معمل علوم. عملت العديد من البلدان معًا من أجل بنائه. كما أنهم يعملون معًا لاستخدامها. تتكون المحطة الفضائية من عدة قطع. تم تجميع القطع في الفضاء بواسطة رواد الفضاء. يقع مدار المحطة الفضائية على ارتفاع حوالي 220 ميلاً فوق الأرض. ناسا تستخدم المحطة للتعرف على العيش والعمل في الفضاء. ستساعد هذه الدروس ناسا في استكشاف الفضاء.

www.nasa.gov/audience/forstudents/k-4/stor…

السؤال الثاني أصعب قليلاً للإجابة - لكنني سأحاول.

أنا مشغل راديو هواة (أو مشغل راديو هام) - الشيء الوحيد الذي وجدته دائمًا ممتعًا هو استخدام راديو محمول باليد منخفض الطاقة (5 وات أو أقل) والتواصل مع الأقمار الصناعية المدارية. محطة الفضاء الدولية لديها معدات لاسلكية على متنها.

في وقت مبكر من أيام لحم الخنزير ، كنت أتواصل مع الأقمار الصناعية قليلاً ، حتى إجراء بعض الاتصالات مع الهوائي المطاطي فقط - وهو أمر يصعب جدًا القيام به. لقد أجريت بعض الاتصالات مع ISS باستخدام APRS (نظام الإبلاغ عن الحزم التلقائي) كان ذلك في عام 2013 - منذ فترة طويلة ، كنت غير نشط للغاية منذ ذلك الحين. إنه شيء أردت أن أعود إليك.

في عام 2013 ، قمت بكتابة نصوص PHP لسطر الأوامر والتي من شأنها أن تخبرني عن موقع محطة الفضاء الدولية ، وتساعد في التنبؤ بموعد تجاوزها. في ذلك الوقت ، استخدمت عصا وميض ، وقمت بتغيير ألوانها مع اقتراب محطة الفضاء الدولية. بفضل العمل في https://open-notify.org وواجهة برمجة التطبيقات الخاصة به ، كان من السهل جدًا القيام بذلك.

2018-5 سنوات بعد ذلك ، قمت أخيرًا بتحويل PHP هذه إلى Arduino C (في الواقع كان من السهل جدًا القيام بذلك.)

يستخدم مشروعي D-Duino (وهو في الحقيقة NodeMCU مع OLED على اللوحة) ، هذا كل ما في الأمر.

ما زلت أستخدم نفس واجهة برمجة التطبيقات من

لقد كتبت أيضًا بعض التعليمات البرمجية لاستخدام D1 Mini و WS2812 Shield (راجع مشروع المشرف إريك لمزيد من المعلومات حول ذلك).

الخطوة 1: أجهزة بسيطة

أجهزة بسيطة
أجهزة بسيطة

D-Duino (NodeMCU)

www.aliexpress.com/item/NodeMCU-CP2102-ESP…

هذا كل ما هو مطلوب. بالطبع يمكنك استخدام أجهزة أخرى - يجب أن يعمل هذا على أي جهاز ESP8266 يمكنه استخدام I2C OLED. يعتبر D-Duino في معظمه NodeMCU مع إضافة OLED.

يمكن العثور على الكود

ستحتاج إلى تثبيت لوحات ESP8266 في Arduino IDE. تعليمات يمكن العثور عليها هنا:

(أسهل طريقة مع مدير المجالس)

ستحتاج أيضًا إلى بعض المكتبات - أعتقد أنه يمكن العثور على كل هذه في مدير المكتبة الآن (لكنني لست متأكدًا بنسبة 100٪ من ذلك).

المكتبات المطلوبة: ArduinoJson.h

Adafruit_NeoPixel

WifiManager.h

TimeLib.h

esp8266-oled-ssd1306

(لست متأكدًا من أين حصلت على TImeLib ، وربما تم تضمينه مع Arduino IDE ؟؟)

إن أبسط طريقة لتثبيت هذه هي استخدام مدير المكتبة. في حالة عدم اتباع التعليمات مع كل مكتبة.

الخطوة 2: الرسومات

الرسومات
الرسومات

يوجد حاليًا رسمان وثلاثة نصوص PHP مضمنة في مستودع جيثب.

DDuino_ISS_notification الذي يجب استخدامه مع أجهزة D-Duino من الأعلى.

وإشعار EricISS الذي يستخدم "المشرف إريك" السابق من عرض مشروع "شعب الأرض". (المزيد عن هذا لاحقًا)

في كلا المخططين بالقرب من السطر 30 (أو في مكان قريب جدًا منه) - سترى اثنين من المتغيرات العائمة تسمى mylat و mylon. ستحتاج إلى تغيير هذين الخطين باستخدام Latitude و Longitude - إذا كنت لا تعرف Lat و Lon ، يمكنك استخدام هذا الموقع https://www.latlong.net يجب أن يكون وسط مدينتك على ما يرام. ليس من الضروري أن تتطابق مع خط العرض أو خط الطول المستثرين. تقوم الرسومات ببعض التقريب والرياضيات الأخرى للتوصل إلى مسافة تقريبية لمحطة الفضاء الدولية بالأميال الأمريكية.

أعتقد أن هذا هو الشيء الوحيد الذي يجب تغييره في الرسومات.

تعتمد حسابات حساب المسافة على مسافة الدائرة العظمى بين نقطتين ، ويمكن العثور على الشكل الرسمي هنا - https://www.movable-type.co.uk/scripts/latlong.htm …

يوفر هذا الموقع الكثير من المعلومات حول كيفية حساب المسافة بين خطي عرض وخط طول بالإضافة إلى الاتجاه. نحن لا نستخدم أي حسابات تحمل لهذا الغرض.

لكي يعمل الشكل الرسمي ، نحتاج إلى الحصول على ثيتا وتحويل درجة ما إلى مشع ، والعكس صحيح ، مشع إلى درجة. نظرًا لأن Arduino لا يقوم بالرياضيات جيدًا ، فعلينا مساعدته قليلاً في التحويلات.

getDistance باطلة () {

تعويم ثيتا ، توزيع ، أميال ؛

ثيتا = ميلون - إيسلون ؛

dist = sin (deg2rad (mylat)) * sin (deg2rad (islat)) + cos (deg2rad (mylat)) * cos (deg2rad (islat)) * cos (deg2rad (ثيتا)) ؛

dist = acos (dist) ؛ dist = rad2deg (dist) ؛

أميال = dist * 60 * 1.1515 ؛

المسافة = الأميال ؛

}

تعويم deg2rad (عائم ن) {

تعويم راديان = (ن * 71) / 4068 ؛

عودة راديان

}

تعويم rad2deg (عائم ن) {

درجة تعويم = (ن * 4068) / 71 ؛

درجة العودة

}

يتم إجراء الجزء الأكبر من الرياضيات بالقرب من السطر 127 - إذا كنت ترغب في مسافة مختلفة (على سبيل المثال KM أو أميال بحرية)

يمكنك تغيير "أميال = dist * 60 * 1.1515 ؛" خط.

بالنسبة إلى KM ، سيكون شيئًا مثل "miles = (dist * 60 * 1.1515) * 1.609344؛"

بالنسبة للأميال البحرية ، هناك شيء مثل "أميال = (dist * 60 * 1.1515) * 0.8684 ؛"

قد ترغب أيضًا في تغيير خط الطباعة التسلسلي وخط عرض OLED الذي يشير إلى الأميال للقياس الجديد.

وهو السطر 86 و 96 في رسم تخطيطي DDuino_ISS_notification.

الخطوة 3: رسم إريك

رسم اريك
رسم اريك
رسم اريك
رسم اريك
رسم اريك
رسم اريك

المشرف إريك هو ذكاء اصطناعي أو أجنبي من TBS TV People of Earth ، يرجى الاطلاع على Instructable الآخر في بنائي.

من الأساسيات التي تحتاجها لنظام الإشعارات هذا هو D1 Mini ودرع WS2812 - وجوده في صندوق جميل مع عدسة جميلة يجعله يبدو جيدًا.

مرة أخرى ، يجب أن تعمل أي ESP8266 مع WS2812 بكسل ، فلا يوجد سحر يحدث هنا حقًا - الدرع WS2812 متصل بـ D2 على D1 mini (والذي أعتقد أنه دبوس 4 على لوحات NodeMCU ، وربما لوحات ESP8266 الأخرى).

للرسم:

كما هو مذكور أعلاه ، ستحتاج إلى تغيير خط العرض وخط الطول في الرسم بالقرب من الخط 27. ومثلما هو موضح أعلاه ، يحسب هذا الرسم أيضًا المسافة بين خط العرض وخط الطول. على عكس الرسم أعلاه ، فإن هذه الشاشة الوحيدة هي WS2812 Neopixel LED.

الرياضيات قريبة من السطر 96 ، لكنها بخلاف ذلك هي نفسها كما هو مذكور أعلاه. لا يزال هناك إخراج تسلسلي إذا كنت ترغب في معرفة ما يجري. لا يقوم هذا الرسم إلا بحسابات موقع ISS والمسافة - فهو لا يقوم بتنبؤات المرور أو عدد الأشخاص الموجودين في الفضاء.

* تجدر الإشارة إلى أن المسافة هنا بالأميال ، ويمكن تغييرها إذا أردت ، لكنك ستحتاج إلى إجراء بعض التغييرات الإضافية لوحداتك. *

بالقرب من الخط 116:

setColor باطلة () {

إذا (المسافة = 1201) {colorDisplay (strip. Color (255، 0، 0)، p)؛}

إذا (المسافة = 1151) {colorDisplay (strip. Color (255 ، 153 ، 0) ، p) ؛} // يبدو أكثر صفراء بالنسبة لي

إذا (المسافة = 951) {colorDisplay (strip. Color (255، 255، 0)، p)؛} // يبدو أخضر / أصفر بالنسبة لي

إذا (المسافة <= 950) {colorDisplay (strip. Color (0 ، 255 ، 0) ، p) ؛}

إذا (المسافة> = 1351) {colorDisplay (strip. Color (0 ، 0 ، 0) ، p) ؛}

}

الوحدات بالأميال ، وإذا كنت بحاجة إلى التغيير إلى KM أو NM ، فستحتاج أيضًا إلى تغيير هذه الخطوط.

ما يحدث هنا ، على بعد 1350 ميلًا ، محطة الفضاء الدولية في الأفق فقط ويمكنك البدء في سماع أجهزة الإرسال والاستقبال من الراديو - إنه ليس رائعًا ، ولا يمكن أن يحدث الاتصال في هذه المرحلة حقًا. يتحول مؤشر LED إلى اللون الأحمر - وهذا يمثل رأسًا لأعلى - تقترب محطة الفضاء الدولية.

بعد وقت قصير ، أو إذا كانت محطة الفضاء الدولية بين 1150 و 1200 ميل ، سيتحول مؤشر LED إلى اللون البرتقالي - يبدو هذا في الحقيقة أصفر أكثر ولكنه يدعم اللون البرتقالي. - عند 1150 ميلاً ، يجب أن تبدأ في سماع المزيد - ربما لا يزال الاتصال ثنائي الاتجاه غير ممكن على 5 واط HT.

بين 950 و 1150 ميلاً - يجب أن يتحول مؤشر LED إلى اللون الأصفر - لديك فرصة جيدة لإجراء اتصال - لا يزال غير رائع ، لكن هذا ممكن على الأقل في هذه المرحلة (يبدو اللون الأصفر أكثر خضرة بالنسبة لي من الأصفر - لذا هناك شيء آخر للعمل تشغيل)

تحت 950 ميل ، سيكون مؤشر LED بلون أخضر ثابت - ويمكن عمل جهات اتصال ثنائية الاتجاه.

عندما تتحرك محطة الفضاء الدولية بعيدًا عن مؤشر LED ، ستنتقل من الأخضر إلى الأصفر إلى البرتقالي إلى الأحمر ثم في النهاية إلى إيقاف التشغيل.

تجدر الإشارة هنا إلى أن كل هذا يحدث بسرعة كبيرة - معظم الممرات في منطقتي تستغرق أقل من 10 دقائق ، ووقت الاتصال العادي القابل للاستخدام أقل من 5 دقائق.

وتجدر الإشارة أيضًا إلى أن محطة الفضاء الدولية يمكنها تغيير موقعها ، وأن واجهة برمجة التطبيقات قد يتم تحديثها أو لا يتم تحديثها - لذلك حتى إذا كان لديك ضوء أخضر - فقد لا تسمع أي شيء.

** يتم تشغيل معدات الهواة اختياريًا وطوعيًا أيضًا ، وبينما يحاولون تشغيل الجهاز ، هناك وقت يتعين عليهم فيه إيقاف تشغيله من أجل الطاقة ، أو بسبب ما يحتاجون إلى القيام به. من الجيد دائمًا التحقق من مواقع AMsat أو ARISS **

الخطوة 4: كود PHP

كود PHP
كود PHP

في مستودع جيثب ، قمت بتضمين كود PHP الخاص بي من 2013.

تم تصميم الكود ليتم تشغيله من CLI (أو سطر الأوامر). لقد مرت فترة من الوقت منذ أن كتبت هذه الكلمات ولكني أعتقد أن المطلب الوحيد هو تمكين امتدادات JSON.

لا تزال البرامج النصية تعمل ، وإذا كنت ترغب في تشغيلها فلا تتردد في القيام بذلك!

بالنسبة لمستخدمي Windows ، توجد معلومات هنا حول تثبيت PHP

تأكد من تثبيت إصدار CLI. أعتقد أنه يمكنك أثناء التثبيت تحديد الإضافات المراد تشغيلها.

يعتمد مستخدمو Linux على التوزيعة الخاصة بك - أنا أستخدم توزيعة تعتمد على Ubuntu - ومتشابكة كمدير للحزم.

ستحتاج php7.0-common، php7.0-json، php7.0-cli، php7.0-curl

لا أعتقد أنني استخدمت CURL مع هؤلاء ، لذلك قد لا تحتاج إلى ذلك. يجب العثور على الباقي في مدير الحزمة الذي تختاره أو على موقع الويب

سيحتاج نصان إلى تعديلهما باستخدام خط العرض وخط الطول - فهما ليسا طويلين جدًا ، وما يجب تغييره موجود في الجزء العلوي من البرنامج النصي مباشرةً. هما iss-location.php و iss-pass-api.php

iss-location.php بها مكالمات عصا الوميض القديمة - لست متأكدًا من أنها تعمل بعد الآن - ولكن يمكنك أن ترى أنني كنت أغير مؤشر LED بنفس الطريقة التي أفعل بها مع "إخطار Eric" الخاص بي. لا أعتقد أنهم يسببون أي مشاكل ، لكن قد ترغب في التعليق عليها.

يستخدم iss-pass-api.php وقت الحقبة ويعطي توقيتًا محليًا للتمريرات المتوقعة. بكل صدق ، أفضل إصدار PHP من هذا البرنامج النصي عند مقارنته بإصدار DDuino (والذي لا يفعل الآن سوى تنبؤات UTC)

تم تصميم إصدار PHP أيضًا بشكل أفضل للعرض - لكن هذا حقًا شيء ثانوي.

نص PHP الأخير هو iss-people.php - وسيعرض الأسماء والمركبة الفضائية التي يستخدمونها. هذا هو كل ما يفعل. (وهذه المعلومات لا تتغير كثيرًا)

أساسيات تشغيل برنامج PHP النصي من سطر الأوامر هي:

$ php iss-people.php

ملفات PHP هي ملفات نصية ، ويمكن فتحها بواسطة أي محرر نصوص. بالنسبة لمستخدمي Windows ، أعتقد أنني قمت بحفظها بحيث يكون لديهم كل من السطر والخط. إذا لم يكن https://www.editpadlite.com/ قد يعمل معهم.

الخطوة 5: مقاطع الفيديو والمزيد من معلومات ISS & Ham

Image
Image

الحصول على ترخيص هام في الولايات المتحدة:

هل أنت خارج الولايات المتحدة؟ كل دولة لديها مجموعة من القواعد وأدلة الترخيص الخاصة بها - تحقق مع من يحكم اتصالاتك (هنا في الولايات المتحدة هي لجنة الاتصالات الفيدرالية التابعة للجنة الاتصالات الفيدرالية)

احسب المسافة والاتجاه والمزيد بين نقاط خطوط الطول والعرض.

كان من الصعب جدًا تحقيق ذلك بدون استخدام واجهات برمجة التطبيقات المفيدة جدًا من Open Notify

كيف ترى محطة الفضاء من الأرض.

راديو هواة الأقمار الصناعية AMSAT

معلومات AMSAT على الراديو على محطة الفضاء الدولية

راديو الهواة ARISS على محطة الفضاء الدولية

ISS Fan Club - ترددات ISS

دخول ويكيبيديا على APRS

APRS.org

الخطوة 6: الأفكار النهائية …

كان هذا مشروعًا ممتعًا بأجهزة بسيطة جدًا.

هناك بعض الأشياء التي أود تغييرها ، لكنني سعيد جدًا بالنتائج بشكل عام.

الأشياء التي يجب تغييرها:

1) اكتشف طريقة لتمرير التنبؤات بالتوقيت المحلي ، وليس التوقيت العالمي المنسق (UTC)

2) ابحث عن أرقام رموز لونية أفضل للبرتقالي والأصفر.

3) تحديث للعمل مع ESP32 X-board ، مع OLED و 4 Neopixels.

إذا وجدت هذا أو أي من مشاريعي مفيدًا أو ممتعًا ، فيرجى دعمني.

أي شيء أحصل عليه يذهب لشراء المزيد من الأجزاء وإنشاء مشاريع أكثر / أفضل.

www.patreon.com/kd8bxp

ko-fi.com/lfmiller

موصى به: