Sisällysluettelo:

Yksinkertainen ISS -ilmoitusjärjestelmä: 6 vaihetta (kuvilla)
Yksinkertainen ISS -ilmoitusjärjestelmä: 6 vaihetta (kuvilla)

Video: Yksinkertainen ISS -ilmoitusjärjestelmä: 6 vaihetta (kuvilla)

Video: Yksinkertainen ISS -ilmoitusjärjestelmä: 6 vaihetta (kuvilla)
Video: KUITU - LOTETTU ₽200 000 / ROSKAKASSA: Hiljaisuus 2024, Heinäkuu
Anonim
Yksinkertainen ISS -ilmoitusjärjestelmä
Yksinkertainen ISS -ilmoitusjärjestelmä
Yksinkertainen ISS -ilmoitusjärjestelmä
Yksinkertainen ISS -ilmoitusjärjestelmä

Mikä on kansainvälinen avaruusasema ja miksi haluat ennustaa sen sijainnin?

Vastaamaan ensimmäiseen kysymykseen voimme katsoa vastauksen NASAn verkkosivustolta. Mikä lyhyesti on:

Kansainvälinen avaruusasema on suuri avaruusalus. Se kiertää maapalloa. Se on koti, jossa astronautit asuvat, ja avaruusasema on myös tiedelaboratorio. Monet maat työskentelivät yhdessä rakentaakseen sen. He myös työskentelevät yhdessä sen käyttämiseksi. Avaruusasema on tehty monista kappaleista. Astronautit kokosivat palaset avaruuteen. Avaruusaseman kiertorata on noin 220 kilometriä maanpinnan yläpuolella. NASA käyttää asemaa oppiakseen avaruudessa elämisestä ja työskentelystä. Nämä oppitunnit auttavat NASAa tutkimaan avaruutta.

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

Toiseen kysymykseen on hieman vaikeampi vastata - mutta yritän.

Olen radioamatööri (tai kinkkuradiooperaattori) - yksi asia, josta olen aina pitänyt hauskaa, oli käyttää pienitehoista kädessä pidettävää (5 wattia tai vähemmän) radiota ja kommunikoida kiertävien satelliittien kanssa. ISS: llä on radiolaitteita.

Varhain kinkkupäivinä käytän melko paljon viestejä satelliittien kanssa, jopa tekemällä joitain kontakteja vain kumisen ankaran antennin avulla - mikä on erittäin vaikeaa. Sain muutaman yhteyden ISS: ään käyttämällä APRS: ää (automaattinen pakettien raportointijärjestelmä). Se oli vuonna 2013 - kauan sitten, olen ollut hyvin passiivinen sen jälkeen. Se on jotain, jonka olen halunnut palata sinuun.

Vuonna 2013 kirjoitin komentoriville pari PHP -skriptiä, jotka kertoisivat minulle ISS: n sijainnin ja auttaisivat ennustamaan, milloin se olisi pään yläpuolella. Tuolloin käytin silmänräpäyssauvaa ja sain sen vaihtamaan värejä ISS: n lähestyessä. Http://open-notify.org-sivuston ja hänen sovellusliittymänsä ansiosta näiden tekeminen oli melko helppoa.

2018 - 5 vuotta myöhemmin muutin lopulta nämä PHP: t Arduino C: ksi (itse asiassa se oli erittäin helppo tehdä.)

Projektini käyttää D-Duinoa (joka on todella NodeMCU, jossa on OLED), se on kaikki mitä siinä on.

Käytän edelleen samaa sovellusliittymää osoitteesta

Olen myös kirjoittanut jonkin koodin D1 Minin ja WS2812 Shieldin käyttämiseksi (katso lisätietoja esimieheni Eric Projectilta).

Vaihe 1: Yksinkertainen laitteisto

Yksinkertainen laitteisto
Yksinkertainen laitteisto

D-Duino (NodeMCU)

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

Se on se, se on kaikki mitä vaaditaan. Totta kai voit käyttää muita laitteistoja - tämän pitäisi toimia millä tahansa ESP8266 -laitteella, joka voi käyttää I2C OLEDia. D-Duino on suurimmaksi osaksi NodeMCU, johon on lisätty OLED.

Koodi löytyy

Sinun on asennettava ESP8266 -levyt Arduino IDE: hen. Ohjeet löytyvät täältä:

(helpoin tapa on hallituksen ylläpitäjä)

Tarvitset myös joitain kirjastoja - luulen, että nämä kaikki löytyvät kirjaston ylläpitäjältä nyt (mutta en ole 100% varma siitä).

Tarvittavat kirjastot: ArduinoJson.h

Adafruit_NeoPixel

WifiManager.h

AikaLib.h

esp8266-oled-ssd1306

(En ole varma, mistä sain TImeLibin, ja se saattaa olla mukana Arduino IDE: ssä ??)

Yksinkertaisin tapa asentaa ne on käyttää kirjastonhallintaa. Jos ei, noudata jokaisen kirjaston ohjeita.

Vaihe 2: Luonnokset

Luonnokset
Luonnokset

Github -arkistossa on tällä hetkellä kaksi luonnosta ja kolme PHP -komentosarjaa.

DDuino_ISS_notification, jota tulee käyttää D-Duino-laitteiston kanssa ylhäältä.

Ja EricISSnotification, joka käyttää edellisen "Supervisor Eric" -sarjaa "People of Earth" -projektista. (Tästä lisää myöhemmin)

Molemmissa luonnoksissa lähellä linjaa 30 (tai jossain todella lähellä sitä) - Näet pari float -muuttujaa nimeltä mylat ja mylon. Sinun on vaihdettava nämä kaksi riviä leveys- ja pituusasteilla - jos et tiedä leveyttäsi ja pitkääsi, voit käyttää tätä verkkosivustoa https://www.latlong.net Kaupunkisi keskustan pitäisi olla kunnossa. Sen ei tarvitse vastata pakottua leveys- tai pituuspiiriäsi. Luonnokset pyöristävät ja muut matematiikat laskevat arvioidun etäisyyden ISS: ään Yhdysvaltain mailia.

Uskon, että tämä on ainoa asia, joka on muutettava luonnoksissa.

Etäisyyslaskennan matematiikka perustuu kahden pisteen välisen suurympyrän etäisyyteen, ja muodollinen löytyy täältä-https://www.movable-type.co.uk/scripts/latlong.htm…

Tämä sivusto tarjoaa paljon tietoa kahden leveys- ja pituuspiirin välisen etäisyyden sekä suuntiman laskemisesta. Emme käytä laakerilaskelmia tähän.

Jotta muodollinen toimisi, meidän on saatava teeta ja muutettava jonkin verran säteileväksi ja päinvastoin säteileväksi. Koska Arduino ei osaa matematiikkaa niin hyvin, meidän on autettava sitä hieman muunnoksissa.

void getDistance () {

kellua teeta, dist, mailia;

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

mailia = etäisyys * 60 * 1,1515;

etäisyys = mailia;

}

float deg2rad (float n) {

kelluva radiaani = (n * 71)/4068;

paluuradiaani;

}

float rad2deg (float n) {

kelluva aste = (n*4068)/71;

paluutaso;

}

Suurin osa matematiikasta suoritetaan linjan 127 lähellä - JOS haluat eri etäisyyden (esimerkiksi KM tai merimailia)

voit muuttaa "mailit = etäisyys * 60 * 1,1515;" linja.

KM: lle se olisi jotain "mailia = (dist*60*1.1515)*1.609344;"

Nautical Milesille jotain "mailia = (dist*60*1,1515)*0,8684;"

Luultavasti haluat myös muuttaa sarjatulostusviivaa ja OLED -näyttöviivaa, jotka sanovat kilometrejä uuteen mittaukseen.

Mikä on rivit 86 ja 96 DDuino_ISS_notification -luonnoksessa.

Vaihe 3: Ericin luonnos

Ericin luonnos
Ericin luonnos
Ericin luonnos
Ericin luonnos
Ericin luonnos
Ericin luonnos

Valvoja Eric on tekoäly tai ulkomaalainen TBS TV People of Earthista.

Perusasetus, jota tarvitset tähän ilmoitusjärjestelmään, on D1 Mini ja WS2812 -suoja - jos se on kauniissa laatikossa ja mukava objektiivi, se näyttää - hyvin mukavalta.

Jälleen kerran, minkä tahansa ESP8266: n, jossa on WS2812 pikseli, pitäisi toimia, täällä ei todellakaan ole mitään taikuutta - WS2812 -suoja on kytketty D2: een D1 minissä (joka on mielestäni NodeMCU -korttien nasta 4 ja ehkä muut ESP8266 -levyt).

Luonnokseen:

Kuten yllä, sinun on muutettava leveys- ja pituuspiirroksesi luonnoksessa linjan 27 lähellä. Ja kuten tämän luonnoksen yläpuolella, se laskee myös leveys- ja pituusasteiden välisen etäisyyden. Toisin kuin yllä oleva luonnos, tässä näytössä on vain WS2812 Neopixel LED.

Matematiikka on lähellä linjaa 96, mutta muuten sama kuin yllä. Siellä on edelleen sarjalähtö, jos haluat nähdä mitä tapahtuu. Tämä luonnos tekee vain ISS: n sijainti- ja etäisyyslaskelmat - se ei tee ennakkoarvioita tai kuinka monta ihmistä on avaruudessa.

* On huomattava, että etäisyys on mailia, sitä voidaan muuttaa halutessasi, mutta sinun on tehtävä muutama muutos yksiköillesi. *

Lähellä linjaa 116:

void setColor () {

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

if (etäisyys = 1151) {colorDisplay (strip. Color (255, 153, 0), p);} // näyttää keltaisemmalta

if (etäisyys = 951) {colorDisplay (strip. Color (255, 255, 0), p);} // näyttää minusta vihreältä/keltaiselta

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

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

}

Yksiköt ovat mailia, ja jos sinun on vaihdettava KM: ään tai NM: ään, sinun on myös muutettava nämä rivit.

Mitä täällä tapahtuu, sinä, 1350 mailin päässä, ISS on vasta horisontissa ja voit vain alkaa kuulla transpondereita radiosta - se ei ole hienoa, eikä kommunikointi tässä vaiheessa voi todella tapahtua. LED muuttuu PUNAISEKSI - tämä on heads up - ISS lähestyy.

Lyhyen ajan kuluttua tai jos ISS on 1150–1200 mailin välillä, LED muuttuu oranssiksi - tämä näyttää todella keltaisemmalta, mutta tukee oranssia. - 1150 mailin kohdalla sinun pitäisi alkaa kuulla hieman enemmän - kaksisuuntainen kommunikointi ei todennäköisesti vieläkään ole mahdollista 5 watin HT -laitteella.

950–1150 mailin välillä - LED -valon pitäisi muuttua keltaiseksi - sinulla on hyvät mahdollisuudet saada yhteys - ei silti hyvä, mutta se on ainakin mahdollista tässä vaiheessa (keltainen näyttää minusta vihreämmältä kuin keltainen - joten jotain muuta toimii päällä)

Alle 950 mailin LED on kiinteä VIHREÄ - ja kaksisuuntaisia kontakteja voidaan muodostaa.

Kun ISS siirtyy pois LED -valosta, se muuttuu vihreästä keltaiseksi oranssiksi punaiseksi ja lopulta pois päältä.

Tässä on huomattava, että tämä kaikki tapahtuu hyvin nopeasti - useimmat alueeni passit kestävät alle 10 minuuttia ja normaali käyttöaika on alle 5 minuuttia.

On myös huomattava, että ISS voi muuttaa sijaintiaan ja että sovellusliittymä päivitetään tai ei päivitetä - joten vaikka sinulla olisi vihreä valo - et ehkä kuule mitään.

** Amatöörivälineiden käyttäminen on myös vapaaehtoista ja vapaaehtoista, ja vaikka he yrittävät käyttää laitetta, on aikaa, jolloin heidän on sammutettava se virran takia tai mitä heidän on tehtävä. On aina hyvä tarkistaa AMsat- tai ARISS -verkkosivustot **

Vaihe 4: PHP -koodi

PHP -koodi
PHP -koodi

Github -arkistossa olen sisällyttänyt PHP -koodini vuodesta 2013.

Koodi on suunniteltu toimimaan CLI: stä (tai komentoriviltä). Siitä on jonkin aikaa, kun kirjoitin nämä, mutta mielestäni ainoa vaatimus oli ottaa JSON -laajennukset käyttöön.

Skriptit toimivat edelleen, ja jos haluat suorittaa ne, voit tehdä niin!

Windows -käyttäjille on tietoja PHP: n asentamisesta

Muista asentaa CLI -versio. Luulen, että asennuksen aikana voit valita, mitkä laajennukset otetaan käyttöön.

Linux -käyttäjät ovat riippuvaisia distroistasi - käytän Ubuntu -pohjaista distroa - ja synapticista paketinhallintani.

Haluat php7.0-common, php7.0-json, php7.0-cli, php7.0-curl

En mielestäni käyttänyt CURLia näiden kanssa, joten et ehkä tarvitse sitä. Loput löytyvät valitsemastasi pakettiseurasta tai https://php.net -sivustolta.

Kaksi komentosarjaa on muokattava leveys- ja pituusasteellasi - ne eivät ole kovin pitkiä, ja mitä on muutettava, on aivan komentosarjan yläosassa. Ne ovat iss-location.php ja iss-pass-api.php

iss -location.php: ssä on vanhoja vilkkutangon puheluja jäljellä - en ole varma, toimivatko ne enää - mutta näet, että vaihdoin LEDiä suunnilleen samalla tavalla kuin "Eric Notification" -ilmoitukseni kanssa. En usko, että ne aiheuttavat ongelmia, mutta voit halutessasi kommentoida niitä.

iss-pass-api.php käyttää aikakautta ja antaa paikallisen ajan ennakoiduista kulkuista. Rehellisesti sanottuna pidän tämän skriptin PHP -versiosta verrattuna DDuino -versioon (joka tekee tällä hetkellä vain UTC -ennusteita)

PHP -versio on myös muotoiltu mukavammaksi näytettäväksi - mutta se on todella vähäinen asia.

Viimeinen PHP -komentosarja on iss -people.php - ja se näyttää nimet ja avaruusalukset, joilla he ovat. Se on kaikki mitä se tekee. (Ja nämä tiedot eivät muutu usein)

PHP -komentosarjan komentoriviltä suorittamisen perusasiat ovat:

$ php iss-people.php

PHP -tiedostot ovat tekstitiedostoja, ja ne voidaan avata millä tahansa tekstieditorilla. Windows -käyttäjät mielestäni tallensin nämä, jotta heillä on sekä linja- että vaunupalautuksia. JOS ei https://www.editpadlite.com/, ne voivat toimia.

Vaihe 5: Videot ja lisää ISS- ja kinkkutietoja

Image
Image

Kinkkilisenssin saaminen Yhdysvalloissa:

Ei USA: ssa? Jokaisella maalla on omat säännöt ja lisenssioppaat - tarkista, kuka hallinnoi viestintääsi (täällä Yhdysvalloissa FCC Federal Communications Commision)

Laske leveys- ja pituusasteiden välinen etäisyys, suuntima ja paljon muuta.

Tämän tekeminen olisi ollut paljon vaikeampaa ilman Open Notifyn erittäin hyödyllisiä sovellusliittymiä

Kuinka nähdä avaruusasema maasta.

AMSAT -radioamatööri -satelliitti

AMSAT -tiedot ISS: n radiosta

ARISS -amatööriradio kansainvälisellä avaruusasemalla

ISS Fan Club - ISS -taajuudet

Wikipedia -merkintä APRS: ssä

APRS.org

Vaihe 6: Viimeiset ajatukset…

Tämä oli hauska projekti, jossa oli hyvin yksinkertainen laitteisto.

Pari asiaa haluaisin muuttaa, mutta kaiken kaikkiaan olen erittäin tyytyväinen tuloksiin.

Asioita, jotka on muutettava:

1) Keksikää tapa välittää ennusteet paikalliseen aikaan, ei UTC: hen

2) Etsi parempia värikoodinumeroita oranssille ja keltaiselle.

3) Päivitys ESP32 X -levyn kanssa, OLED ja 4 neopikseliä.

Jos pidät tätä tai jotakin projektistani hyödyllisenä tai nautittavana, tue minua.

Kaikki mitä saan, menee ostamaan lisää osia ja tekemään enemmän/parempia projekteja.

www.patreon.com/kd8bxp

ko-fi.com/lfmiller

Suositeltava: