Kazalo:

Preprost sistem obveščanja ISS: 6 korakov (s slikami)
Preprost sistem obveščanja ISS: 6 korakov (s slikami)

Video: Preprost sistem obveščanja ISS: 6 korakov (s slikami)

Video: Preprost sistem obveščanja ISS: 6 korakov (s slikami)
Video: Как проверить генератор. За 3 минуты, БЕЗ ПРИБОРОВ и умений. 2024, Julij
Anonim
Preprost sistem obveščanja ISS
Preprost sistem obveščanja ISS
Preprost sistem obveščanja ISS
Preprost sistem obveščanja ISS

Kaj je Mednarodna vesoljska postaja in zakaj želite predvideti, kje je?

Za odgovor na prvo vprašanje lahko odgovor poiščemo na spletnem mestu NASA. Kar je na kratko:

Mednarodna vesoljska postaja je veliko vesoljsko plovilo. Obrne se okoli Zemlje. Je dom, kjer živijo astronavti, vesoljska postaja pa je tudi znanstveni laboratorij. Mnoge države so sodelovale pri njeni izgradnji. Vesoljska postaja je sestavljena iz številnih kosov. Kose so astronavti sestavili v vesolje. Orbita vesoljske postaje je približno 220 milj nad Zemljo. NASA uporablja postajo za spoznavanje življenja in dela v vesolju. Te lekcije bodo NASA -i pomagale pri raziskovanju vesolja.

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

Na drugo vprašanje je nekoliko težje odgovoriti - bom pa poskusil.

Sem amaterski radijski operater (ali radijski operater Ham) - ena stvar, ki mi je bila vedno zabavna, je bila uporaba ročnega radia z nizko močjo (5 vatov ali manj) in komunikacija s sateliti v orbiti. ISS ima na krovu radijsko opremo.

V zgodnjih časih sem precej komuniciral s sateliti in celo vzpostavil stik samo z gumijasto račko, kar je zelo težko narediti. Naredil sem nekaj stikov z ISS z APRS (sistem za samodejno poročanje o paketih) To je bilo leta 2013 - že dolgo nazaj sem bil od takrat zelo neaktiven. To je nekaj, kar sem želel vrniti k tebi.

Leta 2013 sem za ukazno vrstico napisal nekaj skriptov PHP, ki bi mi povedali lokacijo ISS -ja in pomagali napovedati, kdaj bo čez glavo. Takrat sem uporabil utripajočo palico, ki je ob približevanju ISS -ja spremenila barve. Zahvaljujoč delu na https://open-notify.org in njegovem API-ju je bilo to precej enostavno narediti.

2018 - 5 let kasneje sem te PHP končno pretvoril v Arduino C (pravzaprav je bilo to zelo enostavno narediti.)

Moj projekt uporablja D-Duino (ki je res NodeMCU z vgrajenim OLED-om), to je vse.

Še vedno uporabljam isti API z

Napisal sem tudi nekaj kode za uporabo D1 Mini in WS2812 Shield (za več o tem glej moj projekt Eric Supervisor Eric).

1. korak: Enostavna strojna oprema

Enostavna strojna oprema
Enostavna strojna oprema

D-Duino (NodeMCU)

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

To je to, to je vse, kar je potrebno. Seveda lahko uporabite drugo strojno opremo - to bi moralo delovati na kateri koli napravi ESP8266, ki lahko uporablja I2C OLED. D-Duino je večinoma NodeMCU z dodatkom OLED.

Kodo najdete na

V Arduino IDE boste morali namestiti plošče ESP8266. Navodila najdete tukaj:

(najlažji način je z upraviteljem plošč)

Potrebovali boste tudi nekaj knjižnic - mislim, da je vse to zdaj mogoče najti v upravitelju knjižnice (vendar nisem 100% prepričan o tem).

Potrebne knjižnice: ArduinoJson.h

Adafruit_NeoPixel

WifiManager.h

TimeLib.h

esp8266-oled-ssd1306

(Nisem prepričan, od kod sem dobil TImeLib in je morda vključen v Arduino IDE ??)

Najpreprostejši način za njihovo namestitev je uporaba upravitelja knjižnice. Če ne, sledite navodilom za vsako knjižnico.

2. korak: Skice

Skice
Skice

V skladišču github sta trenutno dve skici in tri skripte PHP.

DDuino_ISS_notification, ki ga je treba uporabiti s strojno opremo D-Duino od zgoraj.

In EricISSnotification, ki uporablja moj prejšnji "Supervizor Eric" iz projekta oddaje "People of Earth". (Več o tem kasneje)

V obeh skicah blizu vrstice 30 (ali nekje blizu nje) - videli boste nekaj spremenljivk s plavajočo vrednostjo, imenovanih mylat in mylon. Ti dve vrstici boste morali spremeniti glede na zemljepisno širino in dolžino - če ne poznate svojega zemljevida in dolžine, lahko uporabite to spletno stran https://www.latlong.net Središče vašega mesta bi moralo biti v redu. Ni nujno, da se ujema z vašo izkopano zemljepisno širino ali dolžino. Skice naredijo nekaj zaokroževanja in druge matematike, da bi prišli do približne razdalje ISS v ameriških miljah.

Menim, da je to edino, kar je treba v skicah spremeniti.

Matematika za izračun razdalje temelji na razdalji velikega kroga med dvema točkama, formalno pa najdete tukaj-https://www.movable-type.co.uk/scripts/latlong.htm…

To spletno mesto ponuja veliko informacij o tem, kako izračunati razdaljo med dvema zemljepisnima širinama in dolžinami ter ležaj. Za to ne uporabljamo nobenih izračunov ležajev.

Da bi formalno delovalo, moramo dobiti teto in pretvoriti neko stopnjo v sijočo, obratno pa v stopnjo. Ker Arduino ne računa tako dobro, mu moramo pri pretvorbah nekoliko pomagati.

void getDistance () {

float theta, dist, miles;

theta = milon - islonski;

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;

razdalja = milje;

}

float deg2rad (float n) {

plavajoči radian = (n * 71)/4068;

radian povratka;

}

float rad2deg (float n) {

plavajoča stopnja = (n*4068)/71;

stopnja vračanja;

}

Večji del matematike se opravi blizu vrstice 127 - ČE želite drugačno razdaljo (recimo KM ali navtične milje)

lahko spremenite "miles = dist * 60 * 1.1515;" vrstica.

Za KM bi bilo to nekaj takega kot "miles = (dist*60*1.1515)*1.609344;"

Za navtične milje nekaj takega kot "milje = (dist*60*1.1515)*0.8684;"

Verjetno boste želeli spremeniti tudi serijsko linijo tiskanja in vrstico zaslona OLED, ki označujeta kilometre, na novo meritev.

To sta vrstici 86 in 96 na skici DDuino_ISS_notification.

3. korak: Eric Sketch

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

Nadzornik Eric je umetna inteligenca ali tujec s televizije TBS TV People of Earth. Oglejte si moj drugi Instructable na moji postavi.

Zelo osnovno, kar potrebujete za ta sistem obveščanja, ste D1 Mini in ščit WS2812 - če ga imate v lepi škatli z lepim objektivom, je videti - lepo.

Ponovno bi moral delovati vsak ESP8266 s slikovno piko WS2812, tukaj se res ne dogaja čarovnija - ščit WS2812 je povezan z D2 na D1 mini (kar je po mojem mnenju pin 4 na ploščah NodeMCU in morda na drugih ploščah ESP8266).

Na skico:

Kot zgoraj boste morali na skici blizu črte 27. spremeniti zemljepisno širino in dolžino. Tako kot zgoraj ta skica izračuna tudi razdaljo med zemljepisno širino in dolžino. Za razliko od zgornje skice je ta zaslon samo z LED diodo WS2812 Neopixel.

Matematika je blizu vrstice 96, sicer pa je enaka zgornji. Še vedno obstaja serijski izhod, če želite videti, kaj se dogaja. Ta skica samo izračunava lokacijo in razdaljo ISS - ne predvideva prehodov ali koliko ljudi je v vesolju.

* Upoštevati je treba, da je razdalja v miljah, če želite, jo lahko spremenite, vendar boste morali za svoje enote narediti še nekaj sprememb. *

Blizu vrstice 116:

void setColor () {

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

if (distance = 1151) {colorDisplay (strip. Color (255, 153, 0), p);} // meni se zdi bolj rumen

if (distance = 951) {colorDisplay (strip. Color (255, 255, 0), p);} // meni se zdi zeleno/rumeno

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

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

}

Enote so v miljah, in če morate spremeniti v KM ali NM, boste želeli spremeniti tudi te vrstice.

Kaj se tukaj dogaja, pri 1350 miljah je ISS šele na obzorju in transponderje lahko šele slišite po radiu - ni super in komunikacija na tej točki se v resnici ne more zgoditi. LED sveti RDEČE - to je glavo - ISS se približuje.

Čez kratek čas ali če je ISS med 1150 in 1200 miljami, bo LED svetila oranžno - to je res videti bolj rumeno, vendar je podpora, da je oranžna. - Pri 1150 miljah bi morali slišati še precej več - dvosmerna komunikacija verjetno ne bo mogoča na 5 -vatni HT.

Med 950 in 1150 miljami - LED mora postati rumena - imate dobre možnosti, da vzpostavite stik - še vedno ni super, vendar je na tej točki vsaj možno (rumena se mi zdi bolj zelena kot rumena - zato bi moralo delovati še kaj drugega vklopljeno)

Pri manj kot 950 miljah bo LED svetleča ZELENA - vzpostavljeni pa so lahko tudi dvosmerni stiki.

Ko se ISS odmika od LED, bo prešel iz zelene v rumeno v oranžno v rdečo in nato na izklop.

Tu je treba opozoriti, da se vse to zgodi zelo hitro - večina prehodov na mojem območju traja manj kot 10 minut, običajni uporabni čas stika pa je manj kot 5 minut.

Upoštevati je treba tudi, da ISS lahko spremeni svojo lokacijo in da se API lahko posodobi ali pa tudi ne - tako da tudi če imate zeleno luč - morda ne boste slišali ničesar.

** Izvajanje amaterske opreme je izbirno in prostovoljno, medtem ko poskušajo zagnati opremo, je čas, da jo izklopijo zaradi napajanja ali zaradi tega, kar morajo storiti. Vedno je dobro preveriti spletna mesta AMsat ali ARISS **

4. korak: Koda PHP

Koda PHP
Koda PHP

V skladišče github sem vključil svojo kodo PHP iz leta 2013.

Koda je bila zasnovana za izvajanje iz CLI (ali ukazne vrstice). Minilo je že nekaj časa, odkar sem jih napisal, vendar mislim, da je bila edina zahteva, da omogočite razširitve JSON.

Skripti še vedno delujejo, in če jih želite zagnati, to storite!

Za uporabnike sistema Windows so tukaj informacije o namestitvi PHP

Namestite različico CLI. Mislim, da lahko med namestitvijo izberete, katere razširitve želite vklopiti.

Uporabniki Linuxa so odvisni od vašega distribucijskega sistema - uporabljam distribucijski sistem, ki temelji na Ubuntu - in sinaptičnega kot svojega upravitelja paketov.

Potrebovali boste php7.0-common, php7.0-json, php7.0-cli, php7.0-curl

Mislim, da s temi nisem uporabljal CURL, zato ga morda ne boste potrebovali. Preostanek najdete v izbrani zbirki ali na spletnem mestu

Dva skripta bo treba urediti glede na vašo zemljepisno širino in dolžino - nista zelo dolga in kaj je treba spremeniti, je na vrhu skripta. To sta iss-location.php in iss-pass-api.php

iss -location.php ima v sebi še moje stare klice z bliskavico - nisem prepričan, da več delujejo - vendar lahko vidite, da sem LED spreminjal na enak način, kot to počnem z "Ericovim obvestilom". Mislim, da ne povzročajo težav, vendar jih boste morda želeli komentirati.

iss-pass-api.php uporablja čas epohe in poda lokalni čas predvidenih prehodov. Iskreno povedano, imam raje različico tega skripta PHP v primerjavi z različico DDuino (ki trenutno samo napoveduje UTC)

Različica PHP je tudi oblikovana lepše za prikaz - vendar je to res manj pomembna stvar.

Končni skript PHP je iss -people.php - in prikazal bo imena in na katerih vesoljskih plovilih so. To je vse, kar počne. (In ti podatki se ne spreminjajo pogosto)

Osnove izvajanja skripta PHP iz ukazne vrstice so:

$ php iss-people.php

Datoteke PHP so besedilne datoteke in jih lahko odpre kateri koli urejevalnik besedil. Uporabniki operacijskega sistema Windows Mislim, da sem jih shranil, tako da imajo vrnitve vrstice in nosilca. ČE jim https://www.editpadlite.com/ morda ne ustreza.

5. korak: Video posnetki in več informacij o ISS in Ham

Image
Image

Pridobitev licence za pršut v Združenih državah:

Ne v ZDA? Vsaka država ima svoj niz pravil in vodnikov za licence - preverite, kdo upravlja vašo komunikacijo (tukaj v ZDA je to Zvezna komisija za komunikacije FCC)

Izračunajte razdaljo, smer in drugo med točkami zemljepisne širine in dolžine.

To bi bilo veliko težje narediti brez zelo uporabnih API -jev iz programa Open Notify

Kako videti vesoljsko postajo s tal.

Radio amaterski satelit AMSAT

Informacije AMSAT o radiu na ISS

Radioamaterski radio ARISS na Mednarodni vesoljski postaji

Klub oboževalcev ISS - Frekvence ISS

Vnos Wikipedije v APRS

APRS.org

Korak 6: Zadnje misli…

To je bil zabaven projekt z zelo preprosto strojno opremo.

Nekaj stvari bi rad spremenil, vendar sem na splošno zelo zadovoljen z rezultati.

Stvari, ki jih je treba spremeniti:

1) Ugotovite, kako predvideti prehode po lokalnem času in ne po UTC

2) Poiščite boljše številke barvnih kod za oranžno in rumeno.

3) Posodobitev za delo s ploščo ESP32 X, z OLED in 4 neopiksnimi pikami.

Če se vam zdi ta ali kateri od mojih projektov koristen ali prijeten, me podprite.

Karkoli dobim, gre za nakup več delov in ustvarjanje več/boljših projektov.

www.patreon.com/kd8bxp

ko-fi.com/lfmiller

Priporočena: