فهرست مطالب:

سیستم اطلاع رسانی ISS ساده: 6 مرحله (همراه با تصاویر)
سیستم اطلاع رسانی ISS ساده: 6 مرحله (همراه با تصاویر)

تصویری: سیستم اطلاع رسانی ISS ساده: 6 مرحله (همراه با تصاویر)

تصویری: سیستم اطلاع رسانی ISS ساده: 6 مرحله (همراه با تصاویر)
تصویری: لزبازی لیلا اوتادی چه لبی میگیره (نبینی از دستت رفته) 2024, جولای
Anonim
سیستم اطلاع رسانی ISS ساده
سیستم اطلاع رسانی ISS ساده
سیستم اطلاع رسانی ISS ساده
سیستم اطلاع رسانی ISS ساده

ایستگاه فضایی بین المللی چیست و چرا می خواهید مکان آن را پیش بینی کنید؟

برای پاسخ به اولین س weال ، می توان به وب سایت ناسا برای یافتن پاسخ مراجعه کرد. که به طور خلاصه عبارت است از:

ایستگاه فضایی بین المللی یک فضاپیمای بزرگ است. به دور زمین می چرخد. این خانه ای است که فضانوردان در آن زندگی می کنند. ایستگاه فضایی نیز یک آزمایشگاه علمی است. بسیاری از کشورها برای ساختن آن همکاری کردند. آنها همچنین برای استفاده از آن با هم همکاری می کنند. ایستگاه فضایی از قطعات زیادی ساخته شده است. این قطعات توسط فضانوردان در فضا کنار هم قرار گرفتند. مدار ایستگاه فضایی حدود 220 مایل بالاتر از زمین است. ناسا از این ایستگاه برای یادگیری نحوه زندگی و کار در فضا استفاده می کند. این درس ها به ناسا در کاوش فضا کمک می کند.

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

پاسخ به سوال دوم کمی سخت تر است - اما سعی می کنم.

من اپراتور رادیو آماتور (یا اپراتور رادیو هام) هستم - یکی از چیزهایی که همیشه برایم جالب بود استفاده از رادیو دستی کم توان (5 وات یا کمتر) و ارتباط با ماهواره های در حال گردش بود. ISS دارای تجهیزات رادیویی است.

در اوایل دوران ژامبون خود ، من برای برقراری ارتباط بسیار زیاد با ماهواره ها ، حتی برخی تماس ها را فقط با آنتن لاستیکی تهیه می کردم - کاری که انجام آن بسیار سخت است. من با ISR با APRS (سیستم گزارش خودکار بسته ها) چند تماس داشتم که در سال 2013 بود - مدتها پیش ، از آن زمان به بعد من بسیار غیر فعال بودم. این چیزی است که من می خواستم به شما برگردم.

در سال 2013 من چند اسکریپت PHP برای خط فرمان نوشتم که محل ISS را به من می گفت و به پیش بینی زمان بالای آن کمک می کرد. در آن زمان من از یک چشمک چشمک زن استفاده کردم و با نزدیک شدن ISS رنگ آن تغییر کرد. با تشکر از کار در https://open-notify.org و API او ، ساختن اینها بسیار آسان بود.

2018 - 5 سال بعد من بالاخره این PHP را به Arduino C تبدیل کردم (در واقع انجام این کار بسیار آسان بود.)

پروژه من از D-Duino (که در واقع یک NodeMCU با OLED در هیئت مدیره است) استفاده می کند ، این همه چیز است.

من هنوز از همان API https://open-notify.org استفاده می کنم

همچنین برخی از کدها را برای استفاده از D1 Mini و WS2812 Shield نوشته ام (برای اطلاعات بیشتر در مورد پروژه Superic Eric Project من مراجعه کنید).

مرحله 1: سخت افزار ساده

سخت افزار ساده
سخت افزار ساده

D-Duino (NodeMCU)

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

همین است ، این تنها چیزی است که لازم است. البته می توانید از سخت افزارهای دیگر استفاده کنید - این دستگاه باید روی هر دستگاه ESP8266 که می تواند از I2C OLED استفاده کند کار کند. D-Duino در اکثر موارد NodeMCU با افزودن OLED است.

کد را می توان پیدا کرد

شما باید بردهای ESP8266 را در Arduino IDE نصب کنید. دستورالعمل ها را می توانید در اینجا پیدا کنید:

(ساده ترین راه با مدیر بردها است)

شما همچنین به برخی کتابخانه ها نیاز خواهید داشت - من فکر می کنم همه اینها را می توان در مدیر کتابخانه یافت (اما من در این مورد 100 sure مطمئن نیستم).

کتابخانه های مورد نیاز: ArduinoJson.h

Adafruit_NeoPixel

WifiManager.h

TimeLib.h

esp8266-oled-ssd1306

(من مطمئن نیستم که TImeLib را از کجا تهیه کرده ام ، و شاید با Arduino IDE گنجانده شده باشد؟)

ساده ترین راه برای نصب این موارد استفاده از مدیر کتابخانه است. اگر نه ، دستورالعمل های هر کتابخانه را دنبال کنید.

مرحله 2: طرح ها

طرح ها
طرح ها

در حال حاضر دو طرح و سه اسکریپت PHP در مخزن github موجود است.

اطلاع رسانی DDuino_ISS_ که باید با سخت افزار D-Duino از بالا استفاده شود.

و EricISSnotification که از "سرپرست اریک" قبلی من در پروژه "مردم زمین" استفاده می کند. (بعداً در این باره بیشتر)

در هر دو طرح نزدیک خط 30 (یا جایی واقعاً نزدیک آن) - چند متغیر شناور به نام mylat و mylon را مشاهده خواهید کرد. شما باید این دو خط را با طول و عرض جغرافیایی خود تغییر دهید - اگر Lat و Lon خود را نمی شناسید می توانید از این وب سایت استفاده کنید https://www.latlong.net مرکز شهر شما باید خوب باشد. لازم نیست با عرض جغرافیایی یا طول جغرافیایی شما مطابقت داشته باشد. این طرح ها گرد می کنند و سایر ریاضیات به فاصله تقریبی ISS در مایل ایالات متحده می رسند.

من معتقدم این تنها چیزی است که باید در طرح ها تغییر کند.

ریاضیات برای محاسبه فاصله بر اساس فاصله دایره بزرگ بین دو نقطه است ، و فرم رسمی را می توانید در اینجا پیدا کنید-https://www.movable-type.co.uk/scripts/latlong.htm…

این سایت اطلاعات زیادی در مورد نحوه محاسبه فاصله بین دو عرض و طول جغرافیایی و بلبرینگ ارائه می دهد. ما برای این کار از هیچ محاسبه بلبرینگ استفاده نمی کنیم.

برای کار رسمی ما باید تتا بگیریم و درجه ای را به تابشی تبدیل کنیم و برعکس ، تابشی به درجه. از آنجایی که آردوینو ریاضیات را چندان خوب انجام نمی دهد ، باید با تبدیل ها کمی به آن کمک کنیم.

void getDistance () {

float theta، dist، miles؛

theta = mylon - isslon؛

dist = sin (deg2rad (mylat)) * sin (deg2rad (isslat)) + cos (deg2rad (mylat)) * cos (deg2rad (isslat)) * cos (deg2rad (theta))) ؛

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

مایل = dist * 60 * 1.1515 ؛

فاصله = مایل ؛

}

float deg2rad (float n) {

شناور رادیان = (n * 71)/4068 ؛

رادیان بازگشت ؛

}

float rad2deg (float n) {

درجه شناور = (n*4068)/71 ؛

مدرک بازگشت ؛

}

بخش عمده ای از ریاضیات در نزدیکی خط 127 انجام می شود - اگر فاصله دیگری می خواهید (مثلاً کیلومتر کیلومتر یا مایل دریایی)

می توانید "miles = dist * 60 * 1.1515؛" خط

برای KM چیزی شبیه "مایل = (dist*60*1.1515)*1.609344 ؛"

برای مایل های دریایی چیزی مانند "مایل = (dist*60*1.1515)*0.8684؛"

احتمالاً شما همچنین می خواهید خط چاپ سریال و خط صفحه نمایش OLED را که مایل به اندازه گیری جدید شما است تغییر دهید.

که خط 86 و 96 در طرح DDuino_ISS_notification است.

مرحله 3: طرح اریک

طرح اریک
طرح اریک
طرح اریک
طرح اریک
طرح اریک
طرح اریک

Supervisor Eric یک هوش مصنوعی یا بیگانه از TBS TV People of Earth است ، لطفاً دستورالعمل های دیگر من را در زمینه ساخت من ببینید.

بسیار اساسی که برای این سیستم اعلان نیاز دارید یک D1 Mini و سپر WS2812 است - داشتن آن در یک جعبه زیبا با لنز زیبا باعث می شود ظاهر آن خوب باشد.

یکبار دیگر ، هر ESP8266 با پیکسل WS2812 باید کار کند ، واقعاً هیچ جادویی در کار نیست - سپر WS2812 به D2 در D1 mini متصل است (که من معتقدم پین 4 روی بردهای NodeMCU ، و شاید سایر بردهای ESP8266 است).

به طرح:

همانطور که در بالا ذکر شد ، باید عرض و طول جغرافیایی خود را در طرح نزدیک خط 27 تغییر دهید. و مانند تصویر فوق ، فاصله بین عرض و طول جغرافیایی را نیز محاسبه می کند. بر خلاف طرح بالا ، این صفحه نمایش تنها با LED WS2812 Neopixel است.

ریاضیات نزدیک به خط 96 است ، اما در غیر این صورت همان بالا است. اگر می خواهید ببینید چه اتفاقی می افتد هنوز خروجی سریال وجود دارد. این طرح فقط محاسبه مکان و فاصله ISS را انجام می دهد - پیش بینی عبور یا تعداد افراد در فضا را انجام نمی دهد.

* لازم به ذکر است که فاصله اینجا در مایل است ، اگر دوست دارید می توانید آن را تغییر دهید ، اما باید چند تغییر دیگر برای واحدهای خود ایجاد کنید. *

نزدیک خط 116:

void setColor () {

if (distance = 1201) {colorDisplay (strip. Color (255، 0، 0)، p)؛}

if (distance = 1151) {colorDisplay (strip. Color (255، 153، 0)، p)؛}} // برای من زردتر به نظر می رسد

if (distance = 951) {colorDisplay (strip. Color (255، 255، 0)، p)؛}} // به نظر من سبز/زرد است

if (فاصله <= 950) {colorDisplay (strip. Color (0، 255، 0)، p)؛}

if (distance> = 1351) {colorDisplay (strip. Color (0، 0، 0)، p)؛}

}

واحدها در مایل هستند ، و اگر نیاز به تغییر KM یا NM دارید ، همچنین می خواهید این خطوط را تغییر دهید.

آنچه در اینجا در حال وقوع است ، در فاصله 1350 مایلی ، ISS در افق است و شما فقط می توانید فرستنده ها را از رادیو بشنوید - این عالی نیست و ارتباطات در این مرحله واقعاً نمی تواند اتفاق بیفتد. چراغ قرمز می شود - این یک سر به بالا است - ISS در حال نزدیک شدن است.

پس از مدت کوتاهی ، یا اگر ISS بین 1150 تا 1200 مایل باشد ، LED نارنجی می شود - این رنگ واقعاً زردتر به نظر می رسد اما نارنجی بودن آن پشتیبانی می شود. - در 1150 مایل باید کمی بیشتر بشنوید - احتمالاً هنوز در HT 5 وات هنوز امکان برقراری ارتباط دو طرفه وجود ندارد.

بین 950 تا 1150 مایل - LED باید زرد شود - شما شانس مناسبی برای برقراری تماس دارید - هنوز عالی نیست ، اما حداقل در این مرحله امکان پذیر است (زرد برای من سبزتر از زرد به نظر می رسد - بنابراین چیز دیگری برای کار است) بر)

در کمتر از 950 مایل ، LED یک سبز ثابت خواهد بود - و می توان تماس های دو طرفه برقرار کرد.

با دور شدن ISS از LED از سبز به زرد به نارنجی به قرمز و سپس در نهایت به حالت خاموش می رود.

در اینجا لازم به ذکر است ، همه اینها خیلی سریع اتفاق می افتد - بیشتر گذرها در منطقه من کمتر از 10 دقیقه طول می کشد و زمان تماس معمولی قابل استفاده کمتر از 5 دقیقه است.

همچنین لازم به ذکر است که ISS می تواند مکان خود را تغییر دهد و API ممکن است به روز شود یا نشود - بنابراین حتی اگر چراغ سبز داشته باشید - ممکن است چیزی نشنوید.

** اجرای تجهیزات آماتور به صورت اختیاری و داوطلبانه نیز انجام می شود ، و در حالی که آنها سعی می کنند تجهیزات را اجرا کنند ، زمانی وجود دارد که مجبور شوند آن را برای برق یا به دلیل کارهایی که باید انجام دهند ، خاموش کنند. همیشه ایده خوبی است که وب سایت های AMsat یا ARISS را بررسی کنید **

مرحله 4: کد PHP

کد PHP
کد PHP

در مخزن github ، من کد PHP خود را از سال 2013 وارد کرده ام.

کد برای اجرا از CLI (یا خط فرمان) طراحی شده است. مدتی است که اینها را نوشتم ، اما فکر می کنم تنها شرط این بود که برنامه های افزودنی JSON فعال باشد.

فیلمنامه ها هنوز کار می کنند و اگر می خواهید آنها را اجرا کنید ، این کار را انجام دهید!

برای کاربران ویندوز در اینجا اطلاعاتی در مورد نصب PHP وجود دارد

حتماً نسخه CLI را نصب کنید. فکر می کنم هنگام نصب می توانید افزونه هایی را که باید روشن شوند انتخاب کنید.

کاربران لینوکس به توزیع شما وابسته هستند - من از توزیع مبتنی بر اوبونتو استفاده می کنم - و سیناپسیک به عنوان مدیر بسته من.

شما php7.0-common ، php7.0-json ، php7.0-cli ، php7.0-curl را می خواهید

من فکر نمی کنم من از CURL با این موارد استفاده کردم ، بنابراین ممکن است به آن نیازی نداشته باشید. مابقی را باید در آخوند بسته دلخواه خود یا در وب سایت https://php.net پیدا کنید.

دو مورد از اسکریپت ها باید با عرض و عرض جغرافیایی شما ویرایش شوند - آنها خیلی طولانی نیستند و آنچه باید تغییر کند درست در بالای خط است. آنها iss-location.php و iss-pass-api.php هستند

iss -location.php تماس های چشمک چشمک زدن قدیمی من در آن باقی مانده است - مطمئن نیستم که دیگر کار کنند - اما می بینید که من LED را به همان روشی که با "اعلان اریک" انجام می دادم تغییر می دادم. من فکر نمی کنم آنها مشکلی ایجاد کنند ، اما ممکن است بخواهید در مورد آنها نظر دهید.

iss-pass-api.php از زمان عصر استفاده می کند و یک زمان محلی از پاس های پیش بینی شده می دهد. صادقانه بگویم که من نسخه PHP این اسکریپت را در مقایسه با نسخه DDuino ترجیح می دهم (که در حال حاضر فقط پیش بینی های UTC را انجام می دهد)

نسخه PHP نیز برای نمایش بهتر طراحی شده است - اما این واقعاً یک چیز جزئی است.

اسکریپت نهایی PHP iss -people.php است - و اسامی و فضانوردی که در آن قرار دارند را نمایش می دهد. این تنها کاری است که انجام می دهد. (و این اطلاعات اغلب تغییر نمی کند)

اصول اولیه اجرای یک اسکریپت PHP از خط فرمان عبارتند از:

$ php iss-people.php

فایل های PHP فایل های متنی هستند و می توانند توسط هر ویرایشگر متن باز شوند. من فکر می کنم کاربران ویندوز اینها را ذخیره کردم تا هم خط و هم کالسکه برگردانند. اگر https://www.editpadlite.com/ نباشد ممکن است برای آنها کار کند.

مرحله 5: فیلم ها و اطلاعات بیشتر ISS & Ham

Image
Image

اخذ مجوز ژامبون در ایالات متحده:

در آمریکا نیست؟ هر کشوری مجموعه قوانین و راهنماهای مجوز خود را دارد - بررسی کنید که چه کسی بر ارتباطات شما نظارت می کند (در ایالات متحده این کمیسیون ارتباطات فدرال FCC است)

فاصله ، بلبرینگ و بیشتر بین نقاط عرض و عرض جغرافیایی را محاسبه کنید.

انجام این کار بدون استفاده از API های بسیار مفید Open Notify بسیار سخت تر بود

نحوه مشاهده ایستگاه فضایی از زمین

ماهواره آماتور رادیویی AMSAT

اطلاعات AMSAT در مورد رادیو در ISS

رادیو آماتوری ARISS در ایستگاه فضایی بین المللی

باشگاه هواداران ISS - فرکانس های ISS

مدخل ویکی پدیا در APRS

APRS.org

مرحله ششم: افکار نهایی…

این یک پروژه سرگرم کننده بود ، با سخت افزار بسیار ساده.

چند مورد وجود دارد که من می خواهم تغییر دهم ، اما در کل از نتایج آن بسیار خوشحالم.

مواردی که باید تغییر کند:

1) راهی برای پیش بینی گذر زمان در زمان محلی و نه UTC پیدا کنید

2) اعداد کد رنگی بهتر برای نارنجی و زرد پیدا کنید.

3) به روز رسانی برای کار با ESP32 X-board ، با OLED و 4 نئوپیکسل.

اگر این پروژه یا پروژه های من را مفید یا لذت بخش می دانید ، لطفاً از من حمایت کنید.

هر چیزی که به دست می آورم برای خرید قطعات بیشتر و ساخت پروژه های بیشتر/بهتر انجام می شود.

www.patreon.com/kd8bxp

ko-fi.com/lfmiller

توصیه شده: