جدول المحتويات:
- الخطوة 1: أجهزة بسيطة
- الخطوة 2: الرسومات
- الخطوة 3: رسم إريك
- الخطوة 4: كود PHP
- الخطوة 5: مقاطع الفيديو والمزيد من معلومات ISS & Ham
- الخطوة 6: الأفكار النهائية …
فيديو: نظام إعلام ISS البسيط: 6 خطوات (بالصور)
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:41
ما هي محطة الفضاء الدولية ولماذا تريد أن تتنبأ بمكانها؟
للإجابة على السؤال الأول ، يمكننا إلقاء نظرة على موقع وكالة ناسا للحصول على إجابة. وهو باختصار:
محطة الفضاء الدولية هي مركبة فضائية كبيرة. يدور حول الأرض. إنه منزل يعيش فيه رواد الفضاء ومحطة الفضاء هي أيضًا معمل علوم. عملت العديد من البلدان معًا من أجل بنائه. كما أنهم يعملون معًا لاستخدامها. تتكون المحطة الفضائية من عدة قطع. تم تجميع القطع في الفضاء بواسطة رواد الفضاء. يقع مدار المحطة الفضائية على ارتفاع حوالي 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 الخاص بي من 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
الحصول على ترخيص هام في الولايات المتحدة:
هل أنت خارج الولايات المتحدة؟ كل دولة لديها مجموعة من القواعد وأدلة الترخيص الخاصة بها - تحقق مع من يحكم اتصالاتك (هنا في الولايات المتحدة هي لجنة الاتصالات الفيدرالية التابعة للجنة الاتصالات الفيدرالية)
احسب المسافة والاتجاه والمزيد بين نقاط خطوط الطول والعرض.
كان من الصعب جدًا تحقيق ذلك بدون استخدام واجهات برمجة التطبيقات المفيدة جدًا من 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
موصى به:
ForgetMeNot - منصة إعلام المنزل الذكي: 14 خطوة (بالصور)
ForgetMeNot - منصة إعلام المنزل الذكي: بصفتنا طلاب جامعيين مشغولين ، نركض بين الفصول الدراسية والوظائف والالتزامات العائلية ، فإننا نميل إلى نسيان الأشياء الصغيرة. يأتي عيد الميلاد ويذهب دون أن نلاحظه ، ويتم تفويت موعد نهائي مهم بسبب النسيان المطلق وأحيانًا
إعلام GMail باستخدام ESP8266 Arduino و OLED: 5 خطوات
إخطار GMail باستخدام ESP8266 Arduino و OLED: في الوقت الحاضر ، يحتوي كل جهاز على بعض البيانات لنشرها عبر السحابة ويجب أن يتم تحليل البيانات ويجب أن تسجل لعدة أغراض. في الوقت نفسه ، يجب أن تكون البيانات في متناول المحلل أيضًا. يمكن القيام بهذه الأشياء باستخدام مفهوم إنترنت الأشياء. IOT هو إنترنت
نظام تسجيل الدخول بملف الدفعات البسيط مع شريط التحميل: 5 خطوات
نظام تسجيل الدخول بملف الدفعات البسيط مع شريط التحميل: نحن هنا نشارك ملف دفعي لنظام تسجيل الدخول مع شريط التحميل. سوف نعرض لك الكود ونوضح لك أيضًا كيفية الاستخدام. يمكنك أيضًا زيارة مدونتنا لمزيد من رموز الملفات الدفعية. FFLocker 1.0: http://errorcode401.blogspot.in/2013/06/FFlocker-1.0.html Rar
إعلام دفع إنترنت الأشياء باستخدام Nodemcu على الهاتف (لأي شيء): 5 خطوات (بالصور)
إعلام IoT Push باستخدام Nodemcu على الهاتف (لأي شيء): إرسال إخطار للرسائل ، رسائل البريد الإلكتروني قديمة الطراز … لذلك دعونا نجعل شيئًا جديدًا سهلًا وبسيطًا للغاية بدون استضافة PHP على جانب الخادم أو أي تعقيدات أخرى … أتمتة المنزل ، مستوى مضخة المياه ، سقي الحديقة ، الحيوانات الأليفة الآلية و
نظام الجرس الموزع البسيط: 6 خطوات
نظام الجرس الموزع البسيط المجدول: أعمل في برنامج تعليمي تم وضعه خارج حرم المدرسة الثانوية العادي. نظرًا لأننا في مبنى مكتبي بشكل أساسي بدون وسائل الراحة النموذجية للمدرسة ، فليس لدينا أجراس للتحذير من انتهاء الفصول الدراسية أو بدايتها. الطلاب