Sistemi i Thjeshtë i Njoftimeve ISS: 6 hapa (me fotografi)
Sistemi i Thjeshtë i Njoftimeve ISS: 6 hapa (me fotografi)
Anonim
Sistemi i Thjeshtë i Njoftimeve ISS
Sistemi i Thjeshtë i Njoftimeve ISS
Sistemi i Thjeshtë i Njoftimeve ISS
Sistemi i Thjeshtë i Njoftimeve ISS

Çfarë është Stacioni Hapësinor Ndërkombëtar dhe Pse doni të parashikoni se ku është?

Për t'iu përgjigjur pyetjes së parë, ne mund të shikojmë në faqen e internetit të NASA -s për një përgjigje. E cila me pak fjalë është:

Stacioni Hapësinor Ndërkombëtar është një anije kozmike e madhe. Ajo orbiton rreth Tokës. Shtë një shtëpi ku jetojnë astronautët. Stacioni hapësinor është gjithashtu një laborator shkencor. Shumë vende punuan së bashku për ta ndërtuar atë. Ata gjithashtu punojnë së bashku për ta përdorur atë. Stacioni hapësinor është bërë nga shumë pjesë. Pjesët u vendosën së bashku në hapësirë nga astronautët. Orbita e stacionit hapësinor është rreth 220 milje mbi Tokë. NASA përdor stacionin për të mësuar rreth jetesës dhe punës në hapësirë. Këto mësime do të ndihmojnë NASA -n të eksplorojë hapësirën.

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

Pyetja e dytë është pak më e vështirë për t'iu përgjigjur - por do të përpiqem.

Unë jam një Operator Radio Amator (ose Operator Radio Radio) - një gjë që më është dukur gjithmonë argëtuese ishte përdorimi i një radioje me fuqi të ulët (5 vat ose më pak) dhe komunikimi me satelitët në orbitë. ISS ka pajisje radio në bord.

Herët në ditët e proshutës sime përdor për të komunikuar mjaft me satelitët, madje duke bërë disa kontakte vetëm me antenën e gomës, diçka shumë e vështirë për t'u bërë. Kam bërë disa kontakte me ISS duke përdorur APRS (sistemi automatik i raportimit të paketave) Ishte në vitin 2013 - shumë kohë më parë, unë kam qenë shumë joaktiv që atëherë. Somethingshtë diçka që kam dashur të kthehem tek ti.

Në vitin 2013 shkrova disa skripta PHP për vijën e komandës që do të më tregonin vendndodhjen e ISS dhe do të ndihmoja të parashikoja se kur do të ishte mbi kokë. Në atë kohë unë përdorja një shkop të ndezjes dhe e ndryshova ngjyrën ndërsa ISS afrohej. Falë punës në https://open-notify.org dhe API-t të tij ishte shumë e lehtë për t'i bërë ato.

2018 - 5 vjet më vonë më në fund i konvertova këto PHP në Arduino C (në fakt ishte shumë e lehtë për tu bërë.)

Projekti im përdor një D-Duino (i cili është me të vërtetë një NodeMCU me një OLED në bord), kjo është gjithçka që ka për të.

Unë jam ende duke përdorur të njëjtin API nga

Unë gjithashtu kam shkruar një kod për të përdorur një D1 Mini dhe një WS2812 Shield (shiko Projektin tim Mbikëqyrës Eric për më shumë mbi këtë).

Hapi 1: Pajisje e thjeshtë

Hardware e thjeshtë
Hardware e thjeshtë

D-Duino (NodeMCU)

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

Kjo është ajo, kjo është gjithçka që kërkohet. Sigurisht që mund të përdorni pajisje të tjera - kjo duhet të funksionojë në çdo pajisje ESP8266 që mund të përdorë një I2C OLED. D-Duino është në pjesën më të madhe një NodeMCU me shtimin e OLED.

Kodi mund të gjendet

Ju do të duhet të keni bordet ESP8266 të instaluara në Arduino IDE. Udhëzimet mund të gjenden këtu:

(mënyra më e lehtë është me menaxherin e bordeve)

Ju gjithashtu do të keni nevojë për disa biblioteka - mendoj se të gjitha këto mund të gjenden tek menaxheri i bibliotekës tani (por nuk jam 100% i sigurt për këtë).

Bibliotekat e nevojshme: ArduinoJson.h

Adafruit_NeoPixel

WifiManager.h

TimeLib.h

esp8266-oled-ssd1306

(Nuk jam i sigurt nga e kam marrë TImeLib, dhe ndoshta është përfshirë me Arduino IDE ??)

Mënyra më e thjeshtë për t'i instaluar këto është përdorimi i menaxherit të bibliotekës. Nëse jo ndiqni udhëzimet me secilën bibliotekë.

Hapi 2: Skicat

Skicat
Skicat

Aktualisht dy skica dhe tre skripte PHP të përfshira në depon e github.

Njoftimi DDuino_ISS_ i cili duhet të përdoret me harduerin D-Duino nga lart.

Dhe EricISSnotification i cili përdor "Mbikëqyrësin Eric" tim të mëparshëm nga projekti "Njerëzit e Tokës". (Më shumë për këtë më vonë)

Në të dy skicat pranë rreshtit 30 (ose diku vërtet afër tij) - Do të shihni disa ndryshore të notit të quajtura mylat dhe mylon. Ju do të duhet të ndryshoni këto dy rreshta me gjerësinë dhe gjatësinë tuaj - nëse nuk e dini Lat dhe Lon tuaj, mund të përdorni këtë faqe në internet https://www.latlong.net Qendra e qytetit tuaj duhet të jetë mirë. Nuk ka pse të përputhet me gjerësinë ose gjatësinë tuaj të saktë. Skicat bëjnë disa rrumbullakime dhe matematikë të tjerë për të dalë me një distancë të përafërt të ISS në Miles SHBA.

Unë besoj se kjo është e vetmja gjë që duhet ndryshuar në skica.

Matematika për llogaritjen e distancës bazohet në distancën e rrethit të madh midis dy pikave, dhe formalja mund të gjendet këtu-https://www.movable-type.co.uk/scripts/latlong.htm…

Kjo faqe siguron shumë informacione se si të llogarisni distancën midis dy gjerësive dhe gjatësive, si dhe kushinetës. Ne nuk po përdorim asnjë llogaritje mbajtëse për këtë.

Që formaliteti të funksionojë ne duhet të marrim një theta dhe të konvertojmë një shkallë në rrezatuese, dhe anasjelltas, rrezatues në shkallë. Meqenëse Arduino nuk e bën matematikën aq mirë, ne duhet ta ndihmojmë pak me konvertimet.

void getDistance () {

noton theta, dist, kilometra;

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);

milje = dist * 60 * 1.1515;

distanca = milje;

}

noton deg2rad (noton n) {

noton radian = (n * 71)/4068;

kthehet radian;

}

noton rad2deg (noton n) {

shkalla e notimit = (n*4068)/71;

shkalla e kthimit;

}

Pjesa më e madhe e matematikës bëhet pranë rreshtit 127 - NFSE ju dëshironi një distancë tjetër (thoni KM ose Miles Nautical)

mund të ndryshoni "milje = dist * 60 * 1.1515;" linjë.

Për KM do të ishte diçka si "milje = (dist*60*1.1515)*1.609344;"

Për Miljet Detare diçka si "milje = (dist*60*1.1515)*0.8684;"

Ju ndoshta do të dëshironi të ndryshoni linjën Seriale të printimit dhe linjën e ekranit OLED që tregojnë kilometra për matjen tuaj të re.

Cila është rreshti 86 dhe 96 në skicën e DDuino_ISS_notification.

Hapi 3: Skica Eric

Skica Eric
Skica Eric
Skica Eric
Skica Eric
Skica Eric
Skica Eric

Mbikëqyrësi Eric është një AI ose i huaj nga TBS TV People of Earth, Ju lutemi shihni udhëzuesin tim tjetër në ndërtimin tim.

Shumë themelore që ju nevojitet për këtë sistem njoftimi ju jeni një D1 Mini dhe mburoja WS2812 - ta kesh atë në një kuti të bukur me një lente të bukur e bën atë të duket - mirë.

Edhe një herë, çdo ESP8266 me një piksel WS2812 duhet të funksionojë, me të vërtetë nuk ka magji këtu - Mburoja WS2812 është e lidhur me D2 në mini D1 (që besoj se është kunja 4 në bordet NodeMCU, dhe ndoshta bordet e tjera ESP8266).

Për skicën:

Sa më sipër do t'ju duhet të ndryshoni gjerësinë dhe gjatësinë tuaj në skicën pranë vijës 27. Dhe si më sipër, kjo skicë gjithashtu llogarit një distancë midis gjerësisë dhe gjatësisë. Ndryshe nga skica e mësipërme, ky ekran i vetëm është me LED Neopixel WS2812.

Matematika është afër rreshtit 96, por përndryshe janë të njëjta si më sipër. Ende ka dalje serike nëse dëshironi të shihni se çfarë po ndodh. Ky Skicë bën vetëm llogaritjet e vendndodhjes dhe distancës së ISS - nuk bën parashikimet e kalimit ose sa njerëz janë në hapësirë.

* Duhet të theksohet se distanca këtu është në Miles, mund të ndryshohet nëse dëshironi, por do t'ju duhet të bëni disa ndryshime të tjera për njësitë tuaja. *

Pranë Linjës 116:

void setColor () {

nëse (distanca = 1201) {colorDisplay (shirit. Ngjyra (255, 0, 0), p);}

nëse (distanca = 1151) {colorDisplay (shirit. Ngjyra (255, 153, 0), p);} // më duket më e verdhë

nëse (distanca = 951) {colorDisplay (shirit. Ngjyra (255, 255, 0), p);} // më duket e gjelbër/e verdhë

nëse (distanca <= 950) {colorDisplay (shirit. Ngjyra (0, 255, 0), p);}

nëse (distanca> = 1351) {colorDisplay (shirit. Ngjyra (0, 0, 0), p);}

}

Njësitë janë në kilometra, dhe nëse keni nevojë të ndryshoni në KM ose NM ju gjithashtu do të dëshironi t'i ndryshoni këto linja.

Çfarë po ndodh këtu, në 1350 milje, ISS është vetëm në horizont dhe ju mund të filloni të dëgjoni transmetuesit nga radio - nuk është e mrekullueshme dhe komunikimi në këtë pikë nuk mund të ndodhë vërtet. LED kthehet në të Kuq - ky është një ngritje lart - ISS po afrohet.

Pas një kohe të shkurtër, ose nëse ISS është midis 1150 dhe 1200 milje, LED do të kthehet në portokalli - kjo me të vërtetë duket më e verdhë, por është mbështetje të jetë portokalli. - Në 1150 kilometra ju duhet të filloni të dëgjoni edhe më shumë - komunikimi me dy drejtime ndoshta nuk do të jetë ende i mundur në një HT 5 vat.

Midis 950 dhe 1150 milje - LED duhet të kthehet në të verdhë - ju keni një shans të mirë për të bërë një kontakt - ende jo i shkëlqyeshëm, por është të paktën e mundur në këtë pikë (e verdha më duket më e gjelbër sesa e verdhë - kështu që diçka tjetër për të punuar aktiv)

Nën 950 kilometra LED do të jetë një GREEN e fortë - dhe mund të bëhen kontakte të dyanshme.

Ndërsa ISS largohet nga ZHEL do të shkojë nga E Gjelbër në të Verdhë në Portokalli në të Kuqe dhe më në fund në OFF.

Duhet të theksohet këtu, e gjithë kjo ndodh shumë shpejt - shumica e kalimeve në zonën time zgjasin nën 10 minuta, dhe koha normale e përdorimit të kontaktit është nën 5 minuta.

Duhet gjithashtu të theksohet se ISS mund të ndryshojë vendndodhjen e saj dhe se API mund ose nuk mund të përditësohet - kështu që edhe nëse keni një dritë jeshile - mund të mos dëgjoni asgjë.

** Drejtimi i pajisjeve amatore bëhet gjithashtu me dëshirë dhe vullnetarisht, dhe ndërsa ata përpiqen të drejtojnë pajisjet, ka kohë kur duhet t'i mbyllin ato për energji, ose për shkak të asaj që duhet të bëjnë. Alwaysshtë gjithmonë një ide e mirë të kontrolloni faqet e internetit të AMsat ose ARISS **

Hapi 4: Kodi PHP

Kodi PHP
Kodi PHP

Në depon e github, kam përfshirë kodin tim PHP nga 2013.

Kodi u krijua për të ekzekutuar nga CLI (ose rreshti i komandës). Ka pak kohë që i kam shkruar këto, por mendoj se kërkesa e vetme ishte të aktivizosh shtesat JSON.

Skenaret ende punojnë, dhe nëse dëshironi t'i përdorni ato, ndjehuni të lirë ta bëni këtë!

Për Përdoruesit e Windows ka informacion këtu për instalimin e PHP

Sigurohuni që të instaloni versionin CLI. Unë mendoj se ndërsa instaloni ju mund të zgjidhni cilat shtesa të aktivizohen.

Përdoruesit e Linux varen nga shpërndarja juaj - unë përdor një shpërndarje të bazuar në Ubuntu - dhe sinaptike si menaxher paketash.

Ju do të dëshironi php7.0-common, php7.0-json, php7.0-cli, php7.0-curl

Unë nuk mendoj se kam përdorur CURL me këto, kështu që ju mund të mos keni nevojë për atë. Pjesa tjetër duhet të gjendet në grazhdin tuaj të zgjedhur të paketës ose në faqen e internetit

Dy nga skenaret do të duhet të redaktohen me gjerësinë dhe gjatësinë tuaj - ato nuk janë shumë të gjata, dhe ajo që duhet ndryshuar është pikërisht në krye të shkrimit. Ato janë iss-location.php dhe iss-pass-api.php

iss -location.php i ka lënë thirrjet e mia të vjetra të shkopit të dritareve në të - nuk jam i sigurt se ato funksionojnë më shumë - por mund ta shihni që po ndryshoja LED në të njëjtën mënyrë siç bëj me "Njoftimin Eric" tim. Unë nuk mendoj se ata po shkaktojnë ndonjë problem, por ju mund të dëshironi t'i komentoni ato.

iss-pass-api.php përdor kohën e epokës dhe jep një kohë lokale të kalimeve të parashikuara. Me sinqeritet preferoj versionin PHP të këtij skripti në krahasim me versionin DDuino (i cili tani për tani bën vetëm parashikimet UTC)

Versioni PHP është formuar gjithashtu më i mirë për shfaqje - por kjo është me të vërtetë një gjë e vogël.

Skripti i fundit PHP është iss -people.php - dhe do të shfaqë emrat dhe në cilat mjete hapësinore janë. Kjo është gjithçka që bën. (Dhe ky informacion nuk ndryshon shpesh)

Bazat e drejtimit të një skripti PHP nga rreshti i komandës janë:

$ php iss-people.php

Skedarët PHP janë skedarë teksti dhe mund të hapen nga çdo redaktues teksti. Përdoruesit e Windows Unë mendoj se i kam ruajtur këto në mënyrë që ata të kenë kthim nga linja dhe karroca. NFSE https://www.editpadlite.com/ mund të funksionojë për ta.

Hapi 5: Video dhe më shumë informacion ISS & Ham

Image
Image

Marrja e një Licence proshute në Shtetet e Bashkuara:

Jo në SHBA? Çdo vend ka rregullat e veta dhe udhëzuesit e licencave - kontrolloni se kush i qeveris komunikimet tuaja (Këtu në SHBA është Komisioni Federal i Komunikimeve i FCC)

Llogaritni distancën, kushinetën dhe më shumë midis pikave të gjerësisë dhe gjatësisë.

Kjo do të ishte shumë më e vështirë për tu bërë pa API -të shumë të dobishme nga Open Notify

Si ta shihni Stacionin Hapësinor nga Toka.

Sateliti Radio Amator i AMSAT

Informacioni AMSAT mbi Radion në ISS

Radio Amatore ARISS në Stacionin Hapësinor Ndërkombëtar

ISS Fan Club - Frekuencat e ISS

Hyrja në Wikipedia në APRS

APRS.org

Hapi 6: Mendimet përfundimtare…

Ky ishte një projekt argëtues, me pajisje shumë të thjeshta.

Ka disa gjëra që do të doja të ndryshoja, por në përgjithësi jam shumë i kënaqur me rezultatet.

Gjërat që duhen ndryshuar:

1) Gjeni një mënyrë për të pasur parashikime të kaluara në kohën lokale, jo në UTC

2) Gjeni numra më të mirë të kodit të ngjyrave për portokalli dhe të verdhë.

3) Përditësoni për të punuar me bordin X ESP32, me OLED dhe 4 Neopixel.

Nëse e shihni këtë ose ndonjë nga projektet e mia të dobishme ose të kënaqshme ju lutem më mbështesni.

Çdo gjë që marr shkon për të blerë më shumë pjesë dhe për të bërë më shumë/projekte më të mira.

www.patreon.com/kd8bxp

ko-fi.com/lfmiller