Sadržaj:

Jednostavan sistem obavještavanja ISS -a: 6 koraka (sa slikama)
Jednostavan sistem obavještavanja ISS -a: 6 koraka (sa slikama)

Video: Jednostavan sistem obavještavanja ISS -a: 6 koraka (sa slikama)

Video: Jednostavan sistem obavještavanja ISS -a: 6 koraka (sa slikama)
Video: Gabionen-Ograda od pletene žice i kamena 2024, Novembar
Anonim
Jednostavan sistem obaveštavanja o ISS -u
Jednostavan sistem obaveštavanja o ISS -u
Jednostavan sistem obaveštavanja o ISS -u
Jednostavan sistem obaveštavanja o ISS -u

Šta je Međunarodna svemirska stanica i zašto želite predvidjeti gdje se ona nalazi?

Da bismo odgovorili na prvo pitanje, možemo potražiti odgovor na web stranici NASA -e. Što je ukratko:

Međunarodna svemirska stanica velika je svemirska letjelica. On kruži oko Zemlje. To je dom u kojem žive astronauti. Svemirska stanica je također naučna laboratorija. Mnoge zemlje su zajedno radile na izgradnji iste. Oni također rade zajedno kako bi je koristili. Svemirska stanica napravljena je od mnogo komada. Komadiće su astronauti sastavili u svemir. Orbita svemirske stanice je oko 220 milja iznad Zemlje. NASA koristi stanicu za učenje o životu i radu u svemiru. Ove lekcije pomoći će NASA -i u istraživanju svemira.

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

Na drugo pitanje je malo teže odgovoriti - ali pokušat ću.

Ja sam radio -amater (ili radio radio -operater Ham) - jedna stvar koja mi je uvijek bila zabavna je da koristim ručni radio male snage (5 vata ili manje) i komuniciram sa satelitima u orbiti. ISS ima ugrađenu radio opremu.

Rano u danima šunke dosta često komuniciram sa satelitima, čak i ostvarujem neke kontakte samo sa gumenom patkicom antenom - nešto što je jako teško učiniti. Ostvario sam nekoliko kontakata sa ISS -om koristeći APRS (sistem za automatsko izvještavanje o paketima). To je bilo 2013. godine - davno, od tada sam bio jako neaktivan. To je nešto što sam htio vratiti u tebe.

2013. sam napisao nekoliko PHP skripti za komandnu liniju koje bi mi rekle lokaciju ISS -a i pomogle u predviđanju kada će to biti iznad glave. U to sam vrijeme koristio trepćući štapić i promijenio je boje kako se približavao ISS -u. Zahvaljujući radu na https://open-notify.org i njegovom API-ju, bilo ih je prilično lako napraviti.

2018 - 5 godina kasnije konačno sam pretvorio ove PHP u Arduino C (zapravo je to bilo vrlo lako učiniti.)

Moj projekt koristi D-Duino (koji je zaista NodeMCU sa OLED-om na ploči), to je sve.

I dalje koristim isti API sa

Napisao sam i neki kod za upotrebu D1 Mini i WS2812 štita (za više o tome pogledajte moj nadzornički projekat Eric).

Korak 1: Jednostavan hardver

Jednostavan hardver
Jednostavan hardver

D-Duino (NodeMCU)

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

To je to, to je sve što je potrebno. Naravno, možete koristiti i drugi hardver - ovo bi trebalo funkcionirati na bilo kojem ESP8266 uređaju koji može koristiti I2C OLED. D-Duino je najvećim dijelom NodeMCU s dodatkom OLED-a.

Kôd se može pronaći

Morat ćete instalirati ploče ESP8266 u Arduino IDE. Upute možete pronaći ovdje:

(najlakši način je s upraviteljem ploča)

Trebat će vam i neke biblioteke - mislim da se sve to sada može pronaći u upravitelju biblioteke (ali nisam 100% siguran u to).

Potrebne biblioteke: ArduinoJson.h

Adafruit_NeoPixel

WifiManager.h

TimeLib.h

esp8266-oled-ssd1306

(Nisam siguran odakle mi TImeLib i možda je uključen u Arduino IDE ??)

Najjednostavniji način da ih instalirate je pomoću upravitelja biblioteke. Ako ne slijedite upute za svaku biblioteku.

Korak 2: Skice

Skice
Skice

Trenutno postoje dve skice i tri PHP skripte uključene u github spremište.

DDuino_ISS_notification koje treba koristiti sa D-Duino hardverom odozgo.

I EricISSnotification koji koristi moj prethodni "Supervizor Eric" iz emisije "People of Earth". (Više o ovome kasnije)

Na obje skice blizu linije 30 (ili negdje blizu nje) - Vidjet ćete nekoliko plutajućih varijabli koje se zovu mylat i mylon. Morat ćete promijeniti ove dvije linije s geografskom širinom i dužinom - ako ne poznajete svoju zemljopisnu širinu i dužinu, možete koristiti ovu web stranicu https://www.latlong.net Centar vašeg grada trebao bi biti u redu. Ne mora odgovarati vašoj geografskoj širini ili dužini. Skice zaokružuju neke druge matematike kako bi došle do približne udaljenosti od ISS -a u američkim miljama.

Vjerujem da je to jedino što treba promijeniti u skicama.

Matematika za izračun udaljenosti temelji se na udaljenosti velikog kruga između dvije točke, a formalnu možete pronaći ovdje-https://www.movable-type.co.uk/scripts/latlong.htm…

Ova web stranica pruža mnogo informacija o tome kako izračunati udaljenost između dvije geografske širine i dužine, kao i smjer. Za to ne koristimo nikakve proračune ležajeva.

Da bi formalno funkcioniralo, moramo dobiti tetu i pretvoriti određeni stupanj u zračeći, i obrnuto, zračeći u stupanj. Budući da Arduino ne računa matematiku tako dobro, moramo mu malo pomoći s pretvorbama.

void getDistance () {

plutati theta, dist, milje;

teta = milon - islon;

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

dist = acos (dist); dist = rad2deg (dist);

milje = udaljenost * 60 * 1,1515;

udaljenost = milje;

}

float deg2rad (float n) {

plutajući radijan = (n * 71)/4068;

povratni radijan;

}

float rad2deg (float n) {

plivajući stepen = (n*4068)/71;

stepen povratka;

}

Većina matematike se radi blizu retka 127 - AKO želite drugačiju udaljenost (recimo KM ili nautičke milje)

možete promijeniti "miles = dist * 60 * 1.1515;" linija.

Za KM to bi bilo nešto poput "miles = (dist*60*1.1515)*1.609344;"

Za nautičke milje nešto poput "miles = (dist*60*1.1515)*0.8684;"

Vjerovatno ćete također htjeti promijeniti novu liniju ispisa i liniju OLED ekrana koji govore milje na vaše novo mjerenje.

Što je red 86 i 96 na skici DDuino_ISS_notification.

Korak 3: Eric Sketch

Eric Sketch
Eric Sketch
Eric Sketch
Eric Sketch
Eric Sketch
Eric Sketch

Nadzornik Eric je AI ili vanzemaljac sa TBS TV People of Earth. Molimo vas da pogledate moj drugi Instructable na mojoj građi.

Najosnovnije što vam je potrebno za ovaj sistem obavještavanja jeste D1 Mini i štit WS2812 - ako ga imate u lijepoj kutiji s lijepim objektivom, izgleda - dobro.

Još jednom, svaki ESP8266 sa pikselom WS2812 bi trebao funkcionirati, ovdje se zaista ne događa nikakva magija - Štit WS2812 je povezan s D2 na D1 mini (za koji vjerujem da je pin 4 na NodeMCU pločama, a možda i na drugim ESP8266 pločama).

Na skicu:

Kao i gore, morat ćete promijeniti geografsku širinu i dužinu na skici blizu linije 27. I kao gore na ovoj skici također se izračunava udaljenost između zemljopisne širine i dužine. Za razliku od gornje skice, ovaj jedini ekran ima LED diodu WS2812 Neopixel.

Matematika je blizu retka 96, ali je inače ista kao gore. Još uvijek postoji serijski izlaz ako želite vidjeti što se događa. Ova skica samo izračunava lokaciju i udaljenost ISS -a - ne predviđa prolaz ili koliko ljudi ima u svemiru.

* Treba napomenuti da je udaljenost u miljama, može se promijeniti ako želite, ali ćete morati unijeti još nekoliko promjena za svoje jedinice. *

Blizu linije 116:

void setColor () {

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

if (distance = 1151) {colorDisplay (strip. Color (255, 153, 0), p);} // meni izgleda više žuto

if (udaljenost = 951) {colorDisplay (strip. Color (255, 255, 0), p);} // meni izgleda zeleno/žuto

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

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

}

Jedinice su u miljama, a ako trebate promijeniti u KM ili NM, također ćete htjeti promijeniti ove linije.

Što se ovdje događa, na 1350 milja, ISS je upravo na pomolu i možete tek početi čuti transpondere s radija - nije sjajno, a komunikacija se u ovom trenutku ne može zaista dogoditi. LED svijetli CRVENO - ovo je upozorenje - ISS se približava.

Nakon kratkog vremena, ili ako je ISS između 1150 i 1200 milja, LED dioda će postati narančasta - ovo zaista izgleda više žuto, ali je podrška da bude narančasta. - Na 1150 milja trebali biste početi čuti nešto više - dvosmjerna komunikacija vjerojatno neće biti moguća na HT -u od 5 vati.

Između 950 i 1150 milja - LED dioda bi trebala postati žuta - imate pristojne šanse da uspostavite kontakt - još uvijek nije sjajno, ali je barem moguće u ovom trenutku (meni žuto izgleda više zeleno nego žuto - pa radi još nešto uključeno)

Ispod 950 milja LED dioda će biti čvrsta ZELENA - i mogu se uspostaviti dvosmjerni kontakti.

Kako se ISS udaljava od LED -a, prelazit će iz zelene u žutu u narandžastu u crvenu i na kraju u ISKLJUČENO.

Ovdje treba napomenuti da se sve ovo događa vrlo brzo - većina prolaza u mom području traje ispod 10 minuta, a uobičajeno korisno vrijeme kontakta je ispod 5 minuta.

Također treba napomenuti da ISS može promijeniti svoju lokaciju, te da se API može ažurirati, a i ne ažurirati - pa čak i ako imate zeleno svjetlo - možda nećete ništa čuti.

** Pokretanje amaterske opreme vrši se neobavezno i dobrovoljno, a dok pokušavaju pokrenuti opremu postoji vrijeme kada je moraju isključiti radi napajanja ili zbog onoga što trebaju učiniti. Uvijek je dobra ideja provjeriti web stranice AMsata ili ARISS -a **

Korak 4: PHP kod

PHP kod
PHP kod

U spremište github uključio sam svoj PHP kod iz 2013.

Kôd je dizajniran za pokretanje iz CLI (ili naredbene linije). Prošlo je dosta vremena od kada sam ovo napisao, ali mislim da je jedini zahtjev bio omogućiti omogućena JSON proširenja.

Skripte i dalje funkcioniraju, a ako ih želite pokrenuti, slobodno to učinite!

Za korisnike Windowsa ovdje postoje informacije o instaliranju PHP -a

Obavezno instalirajte CLI verziju. Mislim da dok instalirate možete odabrati koja proširenja ćete uključiti.

Korisnici Linuxa ovise o vašem distro -u - ja koristim distru na Ubuntu -u - i synaptic kao svom upravitelju paketa.

Trebat ćete php7.0-common, php7.0-json, php7.0-cli, php7.0-curl

Mislim da nisam koristio CURL s ovim, pa vam možda neće trebati. Ostatak bi trebalo pronaći u vašim upravljačkim paketima po izboru ili na web stranici

Dva skripta će morati biti uređena prema vašoj geografskoj širini i dužini - oni nisu jako dugački, a ono što treba promijeniti je odmah na vrhu skripte. Oni su iss-location.php i iss-pass-api.php

na iss -location.php su ostali moji stari trepćući pozivi - nisam siguran da više rade - ali vidite da sam LED mijenjao na isti način na koji to radim sa svojim "Ericovim obavještenjem". Mislim da ne stvaraju probleme, ali možda biste ih željeli komentirati.

iss-pass-api.php koristi vrijeme epohe i daje lokalno vrijeme predviđenih prolaza. Iskreno, više volim PHP verziju ove skripte u poređenju sa DDuino verzijom (koja trenutno radi samo UTC predviđanja)

PHP verzija je takođe bolje oblikovana za prikaz - ali to je zaista sporedna stvar.

Konačna PHP skripta je iss -people.php - i prikazat će imena i svemirske letjelice na kojima se nalaze. To je sve što radi. (I ove se informacije ne mijenjaju često)

Osnove izvođenja PHP skripte iz komandne linije su:

$ php iss-people.php

PHP datoteke su tekstualne datoteke i mogu se otvoriti bilo kojim uređivačem teksta. Korisnici operativnog sistema Windows Mislim da sam ih sačuvao tako da imaju povrat i linije i nosača. AKO im https://www.editpadlite.com/ ne bi uspio.

Korak 5: Video zapisi i druge informacije o ISS -u i Hamu

Image
Image

Dobijanje dozvole za šunku u Sjedinjenim Državama:

Nisi u SAD -u? Svaka zemlja ima svoj skup pravila i vodiča za licence - provjerite ko upravlja vašom komunikacijom (ovdje u SAD -u to je Federalna komisija za komunikacije FCC -a)

Izračunajte udaljenost, smjer i više između točaka zemljopisne širine i dužine.

Ovo bi bilo puno teže napraviti bez vrlo korisnih API -ja iz Open Notify -a

Kako vidjeti svemirsku stanicu sa zemlje.

Radio amaterski satelit AMSAT

AMSAT informacije o radiju na ISS -u

Radio amaterski radio ARISS na Međunarodnoj svemirskoj stanici

Klub obožavalaca ISS -a - Frekvencije ISS -a

Unos Wikipedije na APRS -u

APRS.org

Korak 6: Završne misli…

Ovo je bio zabavan projekt, s vrlo jednostavnim hardverom.

Nekoliko stvari bih želio promijeniti, ali generalno sam jako zadovoljan rezultatima.

Stvari koje je potrebno promijeniti:

1) Pronađite način za predviđanje prolaza po lokalnom vremenu, a ne po UTC -u

2) Pronađite bolje brojeve kodova boja za narančastu i žutu.

3) Ažurirajte za rad s ESP32 X-pločom, s OLED-om i 4 neopiksela.

Ako smatrate da je ovaj ili bilo koji od mojih projekata koristan ili ugodan, podržite me.

Sve što dobijem ide za kupovinu više dijelova i stvaranje više/boljih projekata.

www.patreon.com/kd8bxp

ko-fi.com/lfmiller

Preporučuje se: