Բովանդակություն:

Պարզ ISS ծանուցման համակարգ. 6 քայլ (նկարներով)
Պարզ ISS ծանուցման համակարգ. 6 քայլ (նկարներով)

Video: Պարզ ISS ծանուցման համակարգ. 6 քայլ (նկարներով)

Video: Պարզ ISS ծանուցման համակարգ. 6 քայլ (նկարներով)
Video: Աշխարհի ամենաառեղծվածային իրը․ ինչպե՞ս պաշտպանվել 2024, Դեկտեմբեր
Anonim
Պարզ ISS ծանուցման համակարգ
Պարզ ISS ծանուցման համակարգ
Պարզ ISS ծանուցման համակարգ
Պարզ ISS ծանուցման համակարգ

Ի՞նչ է Միջազգային տիեզերակայանը և ինչու՞ եք ուզում կանխատեսել, թե որտեղ է այն գտնվում:

Առաջին հարցին պատասխանելու համար մենք կարող ենք պատասխանի համար նայել NASA- ի կայքէջին: Որը կարճ ասած ՝

Միջազգային տիեզերակայանը մեծ տիեզերանավ է: Այն պտտվում է Երկրի շուրջը: Այն տուն է, որտեղ ապրում են տիեզերագնացները: Տիեզերակայանը նաև գիտական լաբորատորիա է: Շատ երկրներ միասին աշխատել են դրա կառուցման վրա: Նրանք նաև միասին են աշխատում դրա օգտագործման համար: Տիեզերակայանը պատրաստված է բազմաթիվ կտորներից: Կտորները տիեզերքում հավաքվել են տիեզերագնացների կողմից: Տիեզերակայանի ուղեծիրը գտնվում է Երկրից մոտ 220 մղոն բարձրության վրա: ՆԱՍԱ -ն օգտագործում է կայանը ՝ տիեզերքում ապրելու և աշխատելու մասին սովորելու համար: Այս դասերը կօգնեն ՆԱՍԱ -ին ուսումնասիրել տիեզերքը:

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

Երկրորդ հարցին պատասխանելը մի փոքր ավելի դժվար է, բայց ես կփորձեմ:

Ես սիրողական ռադիոօպերատոր եմ (կամ Համ ռադիոօպերատոր). Մի բան, որ ինձ միշտ հաճելի է համարել, այն է, որ օգտագործեմ ցածր հզորությամբ (5 վտ կամ ավելի քիչ) ռադիո և շփվեմ ուղեծիր արբանյակների հետ: ISS- ի վրա կա ռադիոտեխնիկա:

Իմ խոզապուխտի սկզբում ես բավականին հաճախ եմ շփվում արբանյակների հետ, նույնիսկ որոշ ռետինե բադի ալեհավաքի հետ շփումներ եմ հաստատում, ինչը շատ դժվար է անել: Ես մի քանի կապ հաստատեցի ISS- ի հետ ՝ օգտագործելով APRS (փաթեթների ավտոմատ հաշվետվությունների համակարգ): Դա 2013 թ. Դա այն է, ինչ ես ուզում էի վերադառնալ քո մեջ:

2013 թ. -ին ես մի քանի PHP սցենարներ գրեցի հրամանի տողի համար, որոնք ինձ կասեն ISS- ի գտնվելու վայրը և կօգնեն կանխատեսել, թե երբ այն կգերազանցի: Այդ ժամանակ ես օգտագործեցի թարթող փայտ և այն փոխեց գույները, երբ ISS- ն մոտեցավ: Http://open-notify.org կայքում աշխատանքի և նրա API- ի շնորհիվ դրանք բավականին հեշտ էր պատրաստել:

2018 - 5 տարի անց ես վերջապես այս PHP- ը փոխակերպեցի Arduino C- ի (իրականում դա շատ հեշտ էր անել):

Իմ նախագիծը օգտագործում է D-Duino (որն իսկապես NodeMCU է ՝ ինքնաթիռում OLED- ով), դրանով ամեն ինչ կա:

Ես դեռ օգտագործում եմ նույն API- ն ՝ https://open-notify.org կայքից

Ես նաև որոշակի կոդ եմ գրել 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 սցենարներ ներառված են github պահոցում:

DDuino_ISS_ ծանուցում, որը պետք է օգտագործվի վերևից D-Duino ապարատով:

Եվ EricISSnotification- ը, որն օգտագործում է իմ նախորդ «Վերահսկիչ Էրիկը» «Երկրի մարդիկ» նախագծի ցուցադրությունից: (Այս մասին ավելի ուշ)

Երկու գծապատկերներում 30 -րդ գծի մոտ (կամ դրան իսկապես մոտ) - Դուք կտեսնեք մի քանի բոց փոփոխականներ, որոնք կոչվում են mylat և mylon: Դուք պետք է փոխեք այս երկու տողերը ձեր լայնության և երկայնության հետ. Եթե չգիտեք ձեր Lat և Lon- ը, կարող եք օգտագործել այս կայքը https://www.latlong.net Ձեր քաղաքի կենտրոնը պետք է լավ լինի: Պարտադիր չէ, որ այն համապատասխանի ձեր ճշգրիտ լայնությանը կամ երկայնությանը: Էսքիզները կատարում են որոշակի կլորացում և այլ մաթեմատիկա ՝ ԱՄՆ Մղոններում ISS- ի մոտավոր հեռավորության վրա:

Կարծում եմ, սա միակ բանն է, որը պետք է փոխվի էսքիզներում:

Հեռավորության հաշվարկի մաթեմատիկան հիմնված է երկու կետերի միջև մեծ շրջանակի հեռավորության վրա, իսկ պաշտոնականը կարելի է գտնել այստեղ ՝

Այս կայքը տրամադրում է բազմաթիվ տեղեկություններ այն մասին, թե ինչպես կարելի է հաշվարկել երկու լայնությունների և երկայնությունների միջև հեռավորությունը, ինչպես նաև առանցքակալը: Մենք դրա համար ոչ մի կրող հաշվարկ չենք օգտագործում:

Որպեսզի ֆորմալն աշխատի, մենք, իրոք, պետք է ստանանք թետա և ինչ -որ աստիճան փոխակերպենք պայծառի, և հակառակը ՝ փայլուն աստիճանի: Քանի որ Arduino- ն մաթեմատիկա այնքան էլ լավ չի անում, մենք ստիպված ենք դրան մի փոքր օգնել փոխակերպումների հետ:

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 -րդ տողի մոտ - ԵԹԵ կուզենայիք այլ հեռավորություն (ասենք ՝ ԿՄ կամ autովային մղոններ)

կարող եք փոխել "մղոններ = dist * 60 * 1.1515;" գիծ.

ԿՄ -ի համար դա կլիներ «մղոն = (հեռ*60*1.1515)*1.609344;»

Autովային մղոնների համար «մղոն = (հեռ*60*1.1515)*0.8684;»

Դուք հավանաբար կցանկանաք նաև փոխել Սերիայի տպման տողը և OLED ցուցադրման գիծը, որոնք կիլոմետրեր են ասում ձեր նոր չափմանը:

Ո՞րն է 86 -րդ և 96 -րդ տողերը DDuino_ISS_notification էսքիզում:

Քայլ 3: Էրիկի ուրվագիծը

Էրիկ էսքիզը
Էրիկ էսքիզը
Էրիկ էսքիզը
Էրիկ էսքիզը
Էրիկ էսքիզը
Էրիկ էսքիզը

Վերահսկիչ Էրիկը արհեստական ինտելեկտ է կամ օտար է TBS TV- ի People of Earth- ից: Խնդրում եմ տեսեք իմ մյուս Instructable- ը իմ կառուցվածքի վրա:

Այս ծանուցման համակարգի համար անհրաժեշտ հիմնականը դուք D1 Mini- ն եք և WS2812 վահանը. Այն գեղեցիկ ոսպնյակով գեղեցիկ տուփի մեջ ունենալը նրան տեսք է հաղորդում:

Եվս մեկ անգամ, WS2812 պիքսել ունեցող ցանկացած ESP8266 պետք է աշխատի, այստեղ իսկապես կախարդություն չի ընթանում - WS2812 վահանը D1 mini- ի վրա միացված է D2- ին (ինչը, իմ կարծիքով, NodeMCU տախտակների վրա 4 -րդ կապն է, և գուցե այլ ESP8266 տախտակների վրա):

Էսքիզին

Ինչպես վերևում, դուք պետք է փոխեք ձեր լայնությունը և երկայնությունը ուրվագծի մոտ 27 գծի մոտ: Եվ ինչպես վերևում, այս ուրվագիծը նույնպես հաշվարկում է հեռավորությունը լայնության և երկայնությունների միջև: Ի տարբերություն վերը նշված ուրվագծի, այս միակ ցուցադրումը WS2812 Neopixel LED- ով է:

Մաթեմատիկան մոտ է 96 -րդ տողին, բայց հակառակ դեպքում նույնն է, ինչ վերևում: Դեռևս սերիական թողարկում կա, եթե ցանկանում եք տեսնել, թե ինչ է կատարվում: Այս ուրվագիծը կատարում է միայն ISS- ի գտնվելու վայրի և հեռավորության հաշվարկներ. Այն չի կատարում անցումների կանխատեսումները կամ քանի մարդ կա տիեզերքում:

* Պետք է նշել, որ այստեղ հեռավորությունը Մղոններում է, այն կարող է փոխվել, եթե ցանկանաք, բայց ձեզ հարկավոր կլինի ևս մի քանի փոփոխություն կատարել ձեր միավորների համար: *

116 -րդ գծի մոտ.

void setColor () {

if (հեռավորությունը = 1201) {colorDisplay (շերտագիծ. Color (255, 0, 0), p);}

եթե (հեռավորությունը = 1151) {colorDisplay (strip. Color (255, 153, 0), p);} // ինձ ավելի դեղին է թվում

if (distance = 951) {colorDisplay (strip. Color (255, 255, 0), p);} // ինձ կանաչ/դեղին է թվում

if (հեռավորությունը <= 950) {colorDisplay (շերտ. Գույն (0, 255, 0), p);}

if (հեռավորություն> = 1351) {colorDisplay (շերտ. Գույն (0, 0, 0), p);}

}

Միավորները գտնվում են մղոններում, և եթե ձեզ անհրաժեշտ է փոխել KM կամ NM, ապա կցանկանաք նաև փոխել այս տողերը:

Ինչ է կատարվում այստեղ, 1350 մղոն հեռավորության վրա ISS- ն պարզապես հորիզոնում է, և դուք կարող եք պարզապես սկսել ռադիոյից լսել հաղորդիչները. Դա հիանալի չէ, և հաղորդակցությունն այս պահին իրականում չի կարող տեղի ունենալ: LED- ը դառնում է ԿԱՐՄԻՐ - սա վերև է, ISS- ը մոտենում է:

Կարճ ժամանակ անց, կամ եթե ISS- ն գտնվում է 1150 - ից 1200 մղոն հեռավորության վրա, LED- ն կդառնա նարնջագույն - սա իսկապես ավելի դեղին տեսք ունի, բայց նարնջագույն լինելը աջակցություն է: - 1150 մղոն հեռավորության վրա պետք է սկսել մի փոքր ավելի շատ լսել. Երկկողմանի հաղորդակցությունը, հավանաբար, դեռ հնարավոր չի լինի 5 վտ հզորությամբ HT- ով:

950 - 1150 մղոն հեռավորության վրա - LED- ը պետք է դեղին դառնա վրա)

Մինչև 950 մղոն հեռավորության վրա LED- ը կլինի ամուր Կանաչ, և կարելի է երկկողմանի կապեր հաստատել:

Երբ ISS- ն LED- ից հեռանում է, կանաչից կդառնա դեղին, նարնջագույնը `կարմիր, իսկ հետո վերջապես` OFF:

Այստեղ պետք է նշել, որ այս ամենը տեղի է ունենում շատ արագ. Իմ տարածքում անցումների մեծ մասը տևում է 10 րոպեից պակաս, իսկ սովորական օգտագործելի շփման ժամանակը `5 րոպեից պակաս:

Հարկ է նաև նշել, որ ISS- ն կարող է փոխել իր գտնվելու վայրը, և որ API- ն կարող է թարմացվել կամ չթարմացվել, այնպես որ, նույնիսկ եթե կանաչ լույս ունեք, կարող եք ոչինչ չլսել:

** Սիրողական սարքավորումների գործարկումը կատարվում է նաև ըստ ցանկության և կամավոր, և մինչ նրանք փորձում են գործարկել սարքավորումները, լինում է ժամանակ, երբ նրանք ստիպված են լինում անջատել այն էլեկտրամատակարարման համար, կամ այն բանի համար, ինչ նրանք պետք է անեն: Միշտ լավ գաղափար է ստուգել AMsat կամ ARISS կայքերը **

Քայլ 4: PHP կոդ

PHP կոդը
PHP կոդը

Github պահոցում ես ներառել եմ իմ PHP կոդը 2013 թվականից:

Կոդը ստեղծվել է CLI- ից (կամ Հրամանի տողից) աշխատելու համար: Սրանք գրելուց որոշ ժամանակ է անցել, բայց կարծում եմ, որ միակ պահանջը JSON ընդարձակումները միացնելն էր:

Սցենարները դեռ աշխատում են, և եթե ցանկանում եք դրանք գործարկել, ազատ զգացեք դա անել:

Windows օգտագործողների համար այստեղ կա տեղեկատվություն PHP- ի տեղադրման մասին

Համոզվեք, որ տեղադրեք CLI տարբերակը: Կարծում եմ, որ տեղադրելիս կարող եք ընտրել, թե որ ընդարձակումները միացնեն:

Linux- ի օգտվողները կախված են ձեր դիստրոյից.

Դուք կցանկանաք 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 ֆայլերը տեքստային ֆայլեր են և կարող են բացվել ցանկացած տեքստային խմբագրիչի կողմից: Windows- ի օգտվողներ Կարծում եմ, որ ես դրանք պահել եմ, որպեսզի նրանք ունենան ինչպես գծի, այնպես էլ վագոնի վերադարձ: ԵԹԵ https://www.editpadlite.com/ չլինի նրանց մոտ:

Քայլ 5. Տեսանյութեր և այլ ISS & Ham տեղեկատվություն

Image
Image

Միացյալ Նահանգներում խոզապուխտի լիցենզիա ստանալը ՝

ԱՄՆ -ում չե՞ք: Յուրաքանչյուր երկիր ունի իր սեփական կանոնները և լիցենզիայի ուղեցույցները. Ստուգեք, թե ով է կառավարում ձեր հաղորդակցությունները (այստեղ ՝ ԱՄՆ -ում, դա FCC Հաղորդակցության դաշնային հանձնաժողովն է)

Հաշվեք հեռավորությունը, կրողը և ավելին լայնության և երկայնության կետերի միջև:

Սա շատ ավելի դժվար կլիներ անել բաց Notify- ի շատ օգտակար API- ներով

Ինչպես տեսնել տիեզերակայանը գետնից:

AMSAT ռադիոսիրողական արբանյակ

AMSAT Տեղեկատվություն ռադիոյի վերաբերյալ ISS- ի վերաբերյալ

ARISS Սիրողական ռադիոն Միջազգային տիեզերակայանում

ISS երկրպագուների ակումբ - ISS հաճախականություններ

Վիքիպեդիայի մուտք APRS- ում

APRS.org

Քայլ 6: Վերջնական մտքեր…

Սա զվարճալի նախագիծ էր ՝ շատ պարզ սարքավորումներով:

Կան մի քանի բան, որոնք ես կցանկանայի փոխել, բայց ընդհանուր առմամբ ես շատ գոհ եմ արդյունքներից:

Բաներ, որոնք պետք է փոխվեն.

1) Մտածեք տեղական ժամանակով ոչ թե UTC- ով անցնելու կանխատեսումներ անելու եղանակ

2) Գտնել ավելի լավ գունային կոդի համարներ նարնջի և դեղինի համար:

3) Թարմացրեք ESP32 X- տախտակի հետ աշխատելու համար, OLED- ով և 4 Neopixels- ով:

Եթե կարծում եք, որ այս կամ իմ ցանկացած նախագիծ օգտակար է կամ հաճելի, ապա աջակցեք ինձ:

Այն, ինչ ես ստանում եմ, գնում է ավելի շատ մասեր գնելու և ավելի/ավելի լավ նախագծեր կատարելու համար:

www.patreon.com/kd8bxp

ko-fi.com/lfmiller

Խորհուրդ ենք տալիս: