Mundarija:

ISS xabarnomalarining oddiy tizimi: 6 qadam (rasmlar bilan)
ISS xabarnomalarining oddiy tizimi: 6 qadam (rasmlar bilan)

Video: ISS xabarnomalarining oddiy tizimi: 6 qadam (rasmlar bilan)

Video: ISS xabarnomalarining oddiy tizimi: 6 qadam (rasmlar bilan)
Video: 10 привычек, чтобы стать счастливым 2024, Noyabr
Anonim
ISS haqida oddiy xabar berish tizimi
ISS haqida oddiy xabar berish tizimi
ISS haqida oddiy xabar berish tizimi
ISS haqida oddiy xabar berish tizimi

Xalqaro kosmik stantsiya nima va nima uchun uning qaerdaligini taxmin qilmoqchimisiz?

Birinchi savolga javob berish uchun biz NASA veb -saytiga murojaat qilishimiz mumkin. Qisqasi:

Xalqaro kosmik stansiya - katta kosmik kema. U Yer atrofida aylanadi. Bu kosmonavtlar yashaydigan uy, kosmik stantsiya ham ilmiy laboratoriya. Ko'p mamlakatlar uni qurish uchun birgalikda harakat qilishdi. Bundan tashqari, ular birgalikda ishlashadi. Kosmik stantsiya ko'p qismlardan iborat. Parchalarni kosmonavtlar kosmosda birlashtirdilar. Kosmik stansiya orbitasi Yerdan taxminan 220 mil balandlikda joylashgan. NASA kosmosda yashash va ishlash haqida bilish uchun stansiyadan foydalanadi. Bu darslar NASAga kosmosni o'rganishga yordam beradi.

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

Ikkinchi savolga javob berish biroz qiyinroq - lekin men harakat qilaman.

Men havaskor radio operatoriman (yoki Xam radio operatori) - har doim menga yoqadigan narsa - past quvvatli (5 vatt yoki undan kam) radiodan foydalanish va orbitadagi yo'ldoshlar bilan muloqot qilish edi. ISS bortida radio uskunalari mavjud.

Hammomlik davrining boshida men sun'iy yo'ldoshlar bilan ozgina muloqot qilardim, hatto rezina o'rdak antennasi bilan ham aloqa o'rnatardim - bu juda qiyin. Men ISS bilan APRS (avtomatik paketli hisobot berish tizimi) yordamida bir nechta aloqada bo'ldim. Bu 2013 yilda edi - ancha oldin, men o'shandan beri juda faol emasman. Bu men sizga qaytmoqchi bo'lgan narsa.

2013 yilda men buyruq satri uchun bir nechta PHP skriptlarini yozdim, ular menga ISSning joylashuvini va uning qachon tugashini oldindan aytib berishga yordam beradi. O'sha paytda men milt -milt tayoq ishlatardim va ISS yaqinlashganda rangini o'zgartirdi. Http://open-notify.org va uning API-dagi ishi tufayli ularni bajarish juda oson edi.

2018 yil - 5 yil o'tgach, men nihoyat PHP -ni Arduino C -ga o'zgartirdim (aslida buni qilish juda oson edi.)

Mening loyihamda D-Duino ishlatiladi (bu, albatta, bortida OLED bilan NodeMCU), buning hammasi bor.

Men hali ham xuddi shu API-ni https://open-notify.org saytidan foydalanmoqdaman

Men, shuningdek, D1 Mini va WS2812 Shield -dan foydalanish uchun kod yozganman (bu haqda ko'proq ma'lumot olish uchun mening supervayzerim Erik loyihasiga qarang).

1 -qadam: oddiy uskuna

Oddiy apparat
Oddiy apparat

D-Duino (NodeMCU)

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

Hammasi shu, talab qilinadigan narsa shu. Albatta, siz boshqa uskunalardan foydalanishingiz mumkin - bu I2C OLED -dan foydalanadigan har qanday ESP8266 qurilmasida ishlashi kerak. D-Duino ko'p hollarda OLED qo'shilgan NodeMCU hisoblanadi.

Kodni https://github.com/kd8bxp/Simple-ISS-Notification-… topish mumkin.

Siz Arduino IDE -ga ESP8266 taxtalarini o'rnatishingiz kerak bo'ladi. Ko'rsatmalarni bu erda topishingiz mumkin:

(eng oson yo'li-bu menejer yordamida)

Sizga ba'zi kutubxonalar kerak bo'ladi - menimcha, bularning barchasini hozir kutubxona menejerida topish mumkin (lekin men bunga 100% ishonchim komil emas).

Kerakli kutubxonalar: ArduinoJson.h

Adafruit_NeoPixel

WifiManager.h

TimeLib.h

esp8266-oled-ssd1306

(TImeLibni qayerdan olganimni bilmayman va u Arduino IDE -ga kiritilgan bo'lishi mumkinmi?)

O'rnatishning eng oddiy usuli - kutubxona menejeridan foydalanish. Aks holda, har bir kutubxonadagi ko'rsatmalarga amal qiling.

2 -qadam: Eskizlar

Eskizlar
Eskizlar

Hozirda github omboriga ikkita eskiz va uchta PHP skriptlari kiritilgan.

DDuino_ISS_notification, yuqoridan D-Duino apparati bilan ishlatilishi kerak.

EricISSnotification "Er odamlari" loyihasidagi oldingi "Supervayzer Erik" dan foydalanadi. (Bu haqda keyinroq)

30 -qator yaqinidagi ikkala eskizda (yoki unga yaqin joyda) - Siz mylat va mylon deb nomlangan ikkita o'zgaruvchan o'zgaruvchini ko'rasiz. Siz bu ikki qatorni kenglik va uzunlik bo'yicha o'zgartirishingiz kerak bo'ladi - agar siz Lat va Lon tillarini bilmasangiz, bu veb -saytdan foydalanishingiz mumkin https://www.latlong.net Sizning shaharning markazi yaxshi bo'lishi kerak. Bu sizning tanlangan kengligingiz yoki uzunligingizga mos kelishi shart emas. Eskizlar AQSh Milesidagi ISSning taxminiy masofasini aniqlash uchun yaxlitlash va boshqa matematikalarni bajaradi.

Menimcha, bu eskizlarda o'zgarishi kerak bo'lgan yagona narsa.

Masofani hisoblash matematikasi ikki nuqta orasidagi katta aylana masofasiga asoslangan va rasmiyni bu erda topish mumkin-https://www.movable-type.co.uk/scripts/latlong.htm…

Bu sayt ikkita kenglik va uzunlik orasidagi masofani, shuningdek, rulmanni qanday hisoblash haqida ko'p ma'lumot beradi. Buning uchun biz hisob -kitoblarni ishlatmaymiz.

Rasmiy ishlay olishi uchun biz teta olishimiz va qandaydir darajani nurga aylantirishimiz kerak, aksincha - nurli darajada. Arduino matematikani unchalik yaxshi bajara olmagani uchun, biz unga konvertatsiya qilishda ozgina yordam berishimiz kerak.

void getDistance () {

float teta, dist, mil;

teta = mylon - islon;

dist = sin (deg2rad (mylat)) * sin (deg2rad (isslat)) + cos (deg2rad (mylat)) * cos (deg2rad (isslat)) * cos (deg2rad (teta));

dist = akos (masofa); dist = rad2deg (dist);

mil = dist * 60 * 1.1515;

masofa = mil;

}

float deg2rad (float n) {

float radian = (n * 71)/4068;

qaytariladigan radian;

}

float rad2deg (suzuvchi n) {

float darajasi = (n*4068)/71;

qaytish darajasi;

}

Matematikaning asosiy qismi 127 -qator yaqinida amalga oshiriladi - agar siz boshqa masofani xohlasangiz (masalan, KM yoki dengiz millari).

"mil = dist * 60 * 1.1515;" ni o'zgartirishingiz mumkin. chiziq

KM uchun "mil = (dist*60*1.1515)*1.609344;"

Dengiz millari uchun "mil = (dist*60*1.1515)*0.8684;"

Siz, ehtimol, ketma -ket bosib chiqarish chizig'ini va OLED displey chizig'ini o'zgartirishni xohlaysiz, bu sizning yangi o'lchovingizga mil.

Bu DDuino_ISS_notification eskizidagi 86 va 96 -qatorlar.

3 -qadam: Erik eskiz

Erik eskiz
Erik eskiz
Erik eskiz
Erik eskiz
Erik eskiz
Erik eskiz

Supervayzer Erik - bu sun'iy intellekt yoki TBS telekanalining begonalari, iltimos, mening boshqa ko'rsatmalarimni ko'ring.

Ushbu xabarnomalar tizimi uchun sizga kerak bo'lgan asosiy narsa - siz D1 Mini va WS2812 qalqoni - uni chiroyli linzalari bo'lgan yaxshi qutiga joylashtirsangiz, u yaxshi ko'rinishga ega bo'ladi.

Yana bir bor, WS2812 pikselli har qanday ESP8266 ishlashi kerak, bu erda hech qanday sehr yo'q - WS2812 qalqoni D1 mini -dagi D2 ga ulangan (menimcha, bu NodeMCU platalaridagi 4 -pin va ehtimol boshqa ESP8266 platalari).

Eskizga:

Yuqoridagi kabi, siz 27 -chiziq yaqinidagi eskizda kenglik va uzunlikni o'zgartirishingiz kerak bo'ladi. Yuqoridagi kabi, bu eskiz ham kenglik va uzunlik orasidagi masofani hisoblab chiqadi. Yuqoridagi eskizdan farqli o'laroq, bu yagona displey WS2812 Neopixel LED bilan.

Matematika 96 -qatorga yaqin, lekin aks holda yuqoridagidek. Agar nima bo'layotganini ko'rishni xohlasangiz, ketma -ket chiqish mavjud. Bu eskiz faqat ISSning joylashuvi va masofasini hisoblab chiqadi - bu o'tishni bashorat qilmaydi va qancha odam kosmosda bo'ladi.

* Shuni ta'kidlash kerakki, bu erdagi masofa Milsda, agar xohlasangiz, uni o'zgartirish mumkin, lekin siz birliklar uchun yana bir nechta o'zgartirish kiritishingiz kerak bo'ladi. *

116 -qator yaqinida:

bo'sh setColor () {

if (masofa = 1201) {colorDisplay (strip. Color (255, 0, 0), p);}

if (masofa = 1151) {colorDisplay (strip. Color (255, 153, 0), p);} // menga ko'proq sariq ko'rinadi

if (masofa = 951) {colorDisplay (strip. Color (255, 255, 0), p);} // menga yashil/sariq ko'rinadi

if (masofa <= 950) {colorDisplay (strip. Color (0, 255, 0), p);}

if (masofa> = 1351) {colorDisplay (strip. Color (0, 0, 0), p);}

}

Birliklar milya ichida joylashgan va agar siz KM yoki NM ga o'tishingiz kerak bo'lsa, siz ham ushbu qatorlarni o'zgartirishni xohlaysiz.

Siz bu erda nima bo'lyapsiz, 1350 milya masofada, ISS faqat ufqda va siz radiodan transponderlarni eshitishni boshlashingiz mumkin - bu unchalik yaxshi emas va hozircha aloqa bo'lmaydi. Svetodiod qizil rangga aylanadi - bu ogohlantirish - ISS yaqinlashmoqda.

Qisqa vaqtdan so'ng yoki ISS 1150 dan 1200 milgacha bo'lsa, LED to'q sariq rangga aylanadi - bu haqiqatan ham sariq rangga o'xshaydi, lekin to'q sariq rangni qo'llab -quvvatlaydi. - 1150 mil masofada siz biroz ko'proq eshitishni boshlashingiz kerak - 5 vattli HT -da ikki tomonlama aloqa hali ham mumkin emas.

950 dan 1150 milgacha - LED sariq rangga aylanishi kerak - sizda aloqa o'rnatish uchun yaxshi imkoniyat bor - hali ham yaxshi emas, lekin bu hech bo'lmaganda mumkin (sariq menga sariqdan ko'ra yashilroq ko'rinadi - shuning uchun ishlash uchun boshqa narsa) yoqilgan)

950 mil masofada LED qattiq Yashil bo'ladi va ikki tomonlama kontaktlarni o'rnatish mumkin.

ISS LEDdan uzoqlashganda, yashil rangdan sariqdan to'q sariqgacha qizil rangga, so'ngra o'chiriladi.

Bu erda shuni ta'kidlash kerakki, bularning hammasi juda tez sodir bo'ladi - mening hududimdagi paslarning ko'pi 10 minutgacha davom etadi va oddiy aloqa vaqti 5 daqiqadan kam.

Shuni ham ta'kidlash kerakki, ISS o'z manzilini o'zgartirishi mumkin va API yangilanishi mumkin yoki bo'lmasligi mumkin, shuning uchun siz yashil chiroq yonib tursa ham - siz hech narsani eshitmasligingiz mumkin.

** Havaskor asbob -uskunalarni ishga tushirish ixtiyoriy va ixtiyoriy ravishda amalga oshiriladi, va ular uskunani ishga tushirishga harakat qilganda, uni kuch ishlatish uchun yoki nima qilish kerakligi sababli o'chirib qo'yishga to'g'ri keladi. AMsat yoki ARISS veb -saytlarini tekshirish har doim yaxshi fikr **

4 -qadam: PHP kodi

PHP kodi
PHP kodi

Github omboriga men 2013 yildan boshlab PHP kodimni kiritdim.

Kod CLI (yoki Buyruqlar qatori) dan ishga tushirish uchun yaratilgan. Men buni yozganimdan beri biroz vaqt o'tdi, lekin menimcha, yagona talab JSON kengaytmalarini yoqish edi.

Skriptlar hali ham ishlaydi va agar siz ularni ishga tushirishni xohlasangiz, o'zingizni erkin his eting!

Windows foydalanuvchilari uchun bu erda PHP -ni o'rnatish haqida ma'lumot bor

CLI versiyasini o'rnatganingizga ishonch hosil qiling. O'ylaymanki, siz o'rnatayotganda qaysi kengaytmalarni yoqishni tanlashingiz mumkin.

Linux foydalanuvchilari sizning tarqatishingizga bog'liq - men paketlar menejeri sifatida Ubuntu asosidagi tarqatishni ishlataman - va sinaptik.

Sizga php7.0-common, php7.0-json, php7.0-cli, php7.0-curl kerak bo'ladi.

Men CURL -ni bular bilan ishlatgan deb o'ylamayman, shuning uchun sizga kerak bo'lmasligi mumkin. Qolganlari siz tanlagan paketli mangerda yoki https://php.net veb -saytida bo'lishi kerak.

Skriptlarning ikkitasini kenglik va uzunlik bilan tahrir qilish kerak bo'ladi - ular unchalik uzun emas va o'zgartirish kerak bo'lgan narsa skriptning yuqori qismida joylashgan. Ular iss-location.php va iss-pass-api.php

iss -location.php -da mening eski milt -milt chaqiruvlarim qolgan - men bularning ishlashiga ishonchim komil emas - lekin men LEDni "Erik xabarnomasi" bilan bir xil tarzda o'zgartirganimni ko'rasiz. Menimcha, ular hech qanday muammo tug'dirmayapti, lekin siz ularni sharhlab berishingiz mumkin.

iss-pass-api.php davr vaqtidan foydalanadi va bashorat qilingan paslarning mahalliy vaqtini beradi. Rostini aytsam, men DDuino versiyasi bilan taqqoslaganda bu skriptning PHP versiyasini afzal ko'raman (hozir u faqat UTC bashoratlarini bajaradi)

PHP versiyasi, shuningdek, ko'rsatish uchun chiroyli tarzda yaratilgan - lekin bu juda kichik narsa.

PHP -ning yakuniy skripti iss -people.php - va unda nomlar va qaysi kosmik kemalar borligi ko'rsatiladi. Hammasi shu. (Va bu ma'lumotlar tez -tez o'zgarmaydi)

Buyruqlar satridan PHP skriptini ishga tushirish asoslari:

$ php iss-people.php

PHP fayllari matnli fayllar bo'lib, ularni har qanday matn muharriri ochishi mumkin. Windows foydalanuvchilari, men ularni saqladim deb o'ylayman, shuning uchun ular ham chiziq, ham aravachadan qaytadi. Agar bo'lmasa https://www.editpadlite.com/ ular uchun ishlashi mumkin.

5 -qadam: Videolar va boshqa ISS va Xam ma'lumotlari

Image
Image

Qo'shma Shtatlarda xam litsenziyasini olish:

AQShda emasmi? Har bir mamlakatda o'z qoidalari va litsenziyali ko'rsatmalari bor - sizning aloqangizni kim boshqarayotganini tekshiring (AQShda bu FCC Federal aloqa komissiyasi)

Kenglik va uzunlik nuqtalari orasidagi masofani, rulmanni va boshqalarni hisoblang.

Open Notify -dan juda foydali API -larni yaratish juda qiyin bo'lar edi

Kosmik stantsiyani erdan qanday ko'rish mumkin.

AMSAT radio havaskor sun'iy yo'ldoshi

AMSAT XKS bo'yicha radio haqida ma'lumot

Xalqaro kosmik stantsiyadagi ARISS havaskor radiosi

ISS fan klubi - ISS chastotalari

APRS da Vikipediyaga kirish

APRS.org

6 -qadam: Yakuniy fikrlar …

Bu juda oddiy apparat bilan qiziqarli loyiha edi.

O'zgartirmoqchi bo'lgan ikkita narsa bor, lekin umuman olganda men natijalardan juda mamnunman.

O'zgartirish kerak bo'lgan narsalar:

1) UTC emas, balki mahalliy vaqtda bashorat qilish usulini aniqlang

2) to'q sariq va sariq ranglarning yaxshiroq raqamlarini toping.

3) OLED va 4 neopikselli ESP32 X-platasi bilan ishlashni yangilang.

Agar sizga bu yoki mening biron bir loyiham foydali yoki zavqli bo'lsa, meni qo'llab -quvvatlang.

Men qo'lga kiritgan har bir narsa ko'proq qismlarni sotib olish va ko'proq/yaxshi loyihalarni amalga oshirish uchun ketadi.

www.patreon.com/kd8bxp

ko-fi.com/lfmiller

Tavsiya: