Sadržaj:
- Korak 1: Jednostavan hardver
- Korak 2: Skice
- Korak 3: Ericova skica
- Korak 4: PHP kod
- Korak 5: Video zapisi i više informacija o ISS -u i Hamu
- Korak 6: Završne misli…
Video: Jednostavan sustav obavijesti o ISS -u: 6 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:37
Što je Međunarodna svemirska postaja 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 postaja velika je svemirska letjelica. Kruži oko Zemlje. To je dom u kojem žive astronauti. Svemirska postaja također je znanstveni laboratorij. Mnoge zemlje su zajedno radile na izgradnji. Oni također rade zajedno kako bi je koristili. Svemirska stanica napravljena je od mnogo komada. Komadiće su u svemir složili astronauti. Orbita svemirske postaje 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 bila je korištenje ručnog radija male snage (5 vata ili manje) i komunikacija 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 s gumenom patkicom antenom - nešto što je jako teško učiniti. Ostvario sam nekoliko kontakata s ISS -om koristeći APRS (sustav za automatsko izvještavanje o paketima) To je bilo 2013. - davno, od tada sam bio vrlo neaktivan. To je nešto što sam htio vratiti u tebe.
2013. sam napisao nekoliko PHP skripti za naredbeni redak koji bi mi rekli lokaciju ISS -a i pomogli predvidjeti kada će to biti iznad glave. U to sam vrijeme koristio trepćući štapić i promijenio je boje s približavanjem ISS -a. Zahvaljujući radu na https://open-notify.org i njegovom API-ju, bilo ih je prilično jednostavno izraditi.
2018 - 5 godina kasnije napokon sam pretvorio ove PHP u Arduino C (zapravo je to bilo vrlo lako učiniti.)
Moj projekt koristi D-Duino (koji je doista NodeMCU s OLED-om na ploči), to je sve.
I dalje koristim isti API sa
Napisao sam i neki kôd za korištenje D1 Mini i WS2812 štita (za više o tome pogledajte moj nadzornički projekt Eric).
Korak 1: 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 već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:
(najjednostavniji način je s upraviteljem ploča)
Trebat će vam i neke knjižnice - mislim da se sve to sada može pronaći u upravitelju knjižnice (ali nisam 100% siguran u to).
Potrebne knjižnice: ArduinoJson.h
Adafruit_NeoPixel
WifiManager.h
TimeLib.h
esp8266-oled-ssd1306
(Nisam siguran odakle mi TImeLib, a možda je uključen u Arduino IDE ??)
Najjednostavniji način da ih instalirate je pomoću upravitelja knjižnice. Ako ne slijedite upute za svaku knjižnicu.
Korak 2: Skice
Trenutno postoje dvije skice i tri PHP skripte uključene u github spremište.
DDuino_ISS_notification koje treba koristiti s D-Duino hardverom odozgo.
I EricISSnotification koji koristi moj prethodni "Supervisor Eric" iz emisije "People of Earth". (Više o ovome kasnije)
Na obje skice blizu retka 30 (ili negdje blizu njega) - 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 svoj zemljopisni i zemljopisni položaj, 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 i 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 zemljopisne širine i dužine, kao i ležaj. Za to ne koristimo nikakve izračune ležajeva.
Da bi formalno funkcioniralo, moramo dobiti tetu i pretvoriti neki 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;
theta = milon - isslon;
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) {
stupanj plutanja = (n*4068)/71;
povratni stupanj;
}
Većina matematike radi se blizu retka 127 - AKO želite drugačiju udaljenost (recimo KM ili nautičke milje)
možete promijeniti "miles = dist * 60 * 1.1515;" crta.
Za KM to bi bilo nešto poput "milja = (dist*60*1.1515)*1.609344;"
Za nautičke milje nešto poput "milja = (dist*60*1.1515)*0.8684;"
Vjerojatno ćete također htjeti promijeniti novu liniju ispisa i liniju prikaza OLED -a koji govore milje na vaše novo mjerenje.
To je red 86 i 96 na skici DDuino_ISS_notification.
Korak 3: Ericova skica
Nadzornik Eric je umjetna inteligencija ili je izvanzemaljac s TBS TV People of Earth. Molimo pogledajte moje druge Instructable na mojoj građi.
Najosnovnije što vam je potrebno za ovaj sustav obavijesti je D1 Mini i štit WS2812 - ako ga imate u lijepoj kutiji s lijepim objektivom, izgleda - dobro.
Još jednom, svaki ESP8266 s pikselom WS2812 bi trebao funkcionirati, ovdje se zaista ne događa nikakva magija - Štit WS2812 spojen je na D2 na D1 mini (za koji vjerujem da je pin 4 na pločama NodeMCU, a možda i na drugim pločama ESP8266).
Na skicu:
Kao i gore, morat ćete promijeniti svoju zemljopisnu širinu i dužinu u skici blizu crte 27. I kao iznad ove skice također se izračunava udaljenost između zemljopisne širine i dužine. Za razliku od gornje skice, ovaj jedini zaslon ima LED diodu WS2812 Neopixel.
Matematika je blizu retka 96, ali inače je ista kao gore. Još uvijek postoji serijski izlaz ako želite vidjeti što se događa. Ova skica radi samo izračun lokacije i udaljenosti ISS -a - ne radi predviđanja prolaza niti koliko je ljudi 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. *
U blizini linije 116:
void setColor () {
if (udaljenost = 1201) {colorDisplay (strip. Color (255, 0, 0), p);}
if (udaljenost = 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 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 će postati narančasta - ovo će doista izgledati više žuto, ali podrška je biti narančasta. - Na 1150 milja trebali biste početi čuti nešto više - dvosmjerna komunikacija vjerojatno neće biti moguća na 5 -vatnom HT -u.
Između 950 i 1150 milja - LED dioda bi trebala postati žuta - imate pristojne šanse uspostaviti kontakt - još uvijek nije sjajno, ali je barem u ovom trenutku moguće (žuta mi izgleda više zelena nego žuta - pa radi još nešto na)
Ispod 950 milja LED će biti čvrsta ZELENA - i mogu se uspostaviti dvosmjerni kontakti.
Kako se ISS udaljava od LED -a, prelazit će iz zelene u žutu u naranč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 također je neobavezno i dobrovoljno, a dok pokušavaju pokrenuti opremu ima vremena kada je moraju isključiti radi napajanja ili zbog onoga što trebaju učiniti. Uvijek je dobro provjeriti web stranice AMsata ili ARISS -a **
Korak 4: PHP kod
U spremište github uvrstio sam svoj PHP kod iz 2013.
Kôd je dizajniran za pokretanje iz CLI (ili naredbenog retka). Prošlo je dosta vremena otkad sam ovo napisao, ali mislim da je jedini uvjet bio omogućiti omogućena proširenja JSON.
Skripte i dalje funkcioniraju, a ako ih želite pokrenuti, slobodno to učinite!
Za korisnike sustava Windows ovdje postoje informacije o instaliranju PHP -a
Obavezno instalirajte CLI verziju. Mislim da tijekom instalacije možete odabrati koja ćete proširenja uključiti.
Korisnici Linuxa ovise o vašem distributeru - ja koristim distru na Ubuntuu - 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 trebao biti pronađen u vašim upravljačkim paketima po izboru ili na web stranici
Dvije skripte morat će se urediti prema vašoj zemljopisnoj širini i dužini - one nisu jako dugačke, a ono što treba promijeniti je odmah na vrhu skripte. Oni su iss-location.php i iss-pass-api.php
iss -location.php ima u sebi preostale stare pozive s trepćućim štapićem - nisam siguran da više rade - ali možete vidjeti da sam mijenjao LED na isti način na koji to radim sa svojim "Ericovim obavijestima". Mislim da ne stvaraju probleme, ali možda biste ih htjeli komentirati.
iss-pass-api.php koristi vrijeme epohe i daje lokalno vrijeme predviđenih prolaza. Iskreno rečeno, više volim PHP verziju ove skripte u usporedbi s DDuino verzijom (koja trenutno radi samo UTC predviđanja)
PHP verzija također je bolje oblikovana za prikaz - ali to je doista 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 čini. (I ti se podaci ne mijenjaju često)
Osnove izvođenja PHP skripte iz naredbenog retka su:
$ php iss-people.php
PHP datoteke su tekstualne datoteke i mogu se otvoriti bilo kojim uređivačem teksta. Korisnici sustava Windows Mislim da sam ih spremio tako da imaju povrat i linije i nosača. AKO im https://www.editpadlite.com/ ne bi uspio.
Korak 5: Video zapisi i više informacija o ISS -u i Hamu
Dobivanje dozvole za šunku u Sjedinjenim Državama:
Nije u SAD -u? Svaka zemlja ima svoj skup pravila i vodiča za licence - provjerite tko 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 Notifyja
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 postaji
Klub obožavatelja 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.
Postoji nekoliko stvari koje bih želio promijeniti, ali općenito sam jako zadovoljan rezultatima.
Stvari koje je potrebno promijeniti:
1) Pronađite način predviđanja prolaza po lokalnom vremenu, a ne po UTC -u
2) Pronađite bolje brojeve kodova u boji 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 kupnju više dijelova i izradu više/boljih projekata.
www.patreon.com/kd8bxp
ko-fi.com/lfmiller
Preporučeni:
Mapifikator - Mapiranje + Sustav obavijesti: 9 koraka
Mapifikator - Mapiranje + Sustav obavijesti: Noćna vožnja prilično je zabavna. No, često se pokaže da je to noćna mora, u obliku životinja koje prelaze cestu (posebno onih mačaka i pasa lutalica, koje čekaju da se vozite u njihovoj blizini kako bi mogle prijeći !!). Pa sam mislio napraviti tako
Učinite sustav upozorenja za govorne / glasovne obavijesti: 4 koraka
Napravite sustav upozorenja za govorne / glasovne obavijesti: Ovaj projekt smo napravili za govorni / glasovni sustav obavijesti i upozorenja. U ovom projektu mogu se koristiti najmanje dva senzora
Sustav obavijesti o rublju na temelju IoT -a: 18 koraka
Sustav obavijesti o rublju na temelju IoT -a: HiThis instrukcije daju korak po korak uvod o tome kako izgraditi sustav obavijesti o rublju temeljen na IoT. Uređaj je pričvršćen u vaše ladice i vreću za rublje. Radi demonstracije, uzeli smo dvije ladice i jednu vreću za rublje. Osjeća se
Automatski sustav obavijesti o kavi: 7 koraka (sa slikama)
Automatski sustav za obavještavanje o kavi: U ovom projektu uredski aparat za kavu činim pametnim, izgrađujući sustav upozorenja o kavi koji šalje Slack obavijesti kada netko skuha svježi lonac kave. Kôd se može promijeniti za slanje e -pošte ili tekstualne poruke. Ovaj projekt izgrađen je na R
Jeftin, jednostavan, internetski kontroliran sustav kućne automatizacije: 5 koraka (sa slikama)
Jeftin, jednostavan, internetski kontroliran sustav kućne automatizacije: Ako imate kućne ljubimce/djecu i trebate ih hraniti ili udarati putem interneta, ovaj sustav može vam biti od koristi. To je vrlo jednostavan i jeftin način za upravljanje motorima, LED diodama itd. Kod kuće s bilo kojeg računala spojenog na web. Sve što je potrebno je Webc