Mundarija:
- 1 -qadam: oddiy uskuna
- 2 -qadam: Eskizlar
- 3 -qadam: Erik eskiz
- 4 -qadam: PHP kodi
- 5 -qadam: Videolar va boshqa ISS va Xam ma'lumotlari
- 6 -qadam: Yakuniy fikrlar …
Video: ISS xabarnomalarining oddiy tizimi: 6 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:28
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
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
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
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
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
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:
Batareya bilan ishlaydigan ofis. Quyosh panellari va shamol turbinasi: Sharq/G'arbni avtomatik almashtirish bilan quyosh tizimi: 11 qadam (rasmlar bilan)
Batareya bilan ishlaydigan ofis. Quyosh tizimi Sharq/G'arbning avtomatik panellari va shamol turbinasi bilan almashinuvi bilan: Loyiha: 200 kvadrat metrli ofis batareyali bo'lishi kerak. Ofis, shuningdek, ushbu tizim uchun zarur bo'lgan barcha tekshirgichlar, batareyalar va komponentlarni o'z ichiga olishi kerak. Quyosh va shamol energiyasi batareyalarni zaryad qiladi. Faqat kichik muammo bor
Kicker -ning oddiy holati va bronlash tizimi: 12 qadam (rasmlar bilan)
Kicker -ning oddiy holati va bronlash tizimi: Men ishlayotgan kompaniyada kicker stoli bor. Kompaniya ko'p qavatni egallaydi va ba'zi xodimlar uchun stolga o'tirish uchun 3 daqiqa vaqt ketadi va … stol allaqachon ishg'ol qilinganligini anglab etadi
Raspberry Pi va Arduino bilan oddiy mahsulotlarni saralash tizimi: 5 qadam
Raspberry Pi va Arduino bilan oddiy mahsulotlarni saralash tizimi: Men muhandislik fanatiman, bo'sh vaqtimda elektron dasturlarni loyihalashni va loyihalashni yaxshi ko'raman, bu loyihada men siz bilan yaqinda qilgan oddiy mahsulotlarni saralash tizimini baham ko'rardim. Ushbu tizim, iltimos, tarkibiy qismlarni tayyorlang
OpenLH: Biologiya bilan ijodiy tajriba o'tkazish uchun ochiq suyuqlik bilan ishlash tizimi: 9 qadam (rasmlar bilan)
OpenLH: Biologiya bilan ijodiy eksperimentlar uchun ochiq suyuqlik bilan ishlash tizimi: Biz bu ishni moddiy, ko'milgan va mujassamlangan o'zaro ta'sir xalqaro konferentsiyasida (TEI 2019) taqdim etganimizdan faxrlanamiz. Tempe, Arizona, AQSh | 17-20 mart. Hamma yig'ish fayllari va qo'llanmalar bu erda mavjud. Oxirgi kod versiyasi
Sigfox bilan o'lik odamni ogohlantirish bilan velosipedni kuzatish tizimi: 7 qadam (rasmlar bilan)
Sigfox bilan o'lik odamni ogohlantirish bilan velosipedni kuzatish tizimi: velosiped haydovchilari uchun kuzatuv va ogohlantirish xususiyatlarini yuborish uchun xavfsizlik tizimi. Voqea sodir bo'lgan taqdirda GPS joylashuvi bilan signal yuboriladi. Velosiped haydovchilarining xavfsizligi majburiydir, chunki velosipedda yoki tog 'velosipedida baxtsiz hodisalar ro'y beradi va imkon qadar tez