Sisukord:
- Samm: lihtne riistvara
- 2. samm: visandid
- 3. samm: Ericu visand
- 4. samm: PHP -kood
- Samm: videod ja muu teave ISS -i ja singi kohta
- 6. samm: viimased mõtted…
Video: Lihtne ISS -i teavitussüsteem: 6 sammu (piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:49
Mis on rahvusvaheline kosmosejaam ja miks soovite selle asukohta ennustada?
Esimesele küsimusele vastamiseks võime vastuse otsida NASA veebisaidilt. Mis lühidalt on:
Rahvusvaheline kosmosejaam on suur kosmoselaev. See tiirleb ümber Maa. See on kodu, kus elavad astronaudid. Kosmosejaam on ka teaduslabor. Paljud riigid tegid selle ehitamiseks koostööd. Nad töötavad koos ka selle kasutamiseks. Kosmosejaam on valmistatud paljudest tükkidest. Tükid panid kosmoses kokku astronaudid. Kosmosejaama orbiit asub Maast umbes 220 miili kõrgusel. NASA kasutab jaama kosmoses elamise ja töötamise tundmaõppimiseks. Need õppetunnid aitavad NASA -l kosmoset uurida.
www.nasa.gov/audience/forstudents/k-4/stor…
Teisele küsimusele on natuke raskem vastata - aga ma proovin.
Olen amatöörraadiooperaator (või Ham -raadiooperaator) - üks asi, mis on mulle alati meeldinud, oli kasutada väikese võimsusega käeshoitavat (5 vatti või vähem) raadiot ja suhelda orbiidil olevate satelliitidega. ISS -i pardal on raadioseadmed.
Oma singipäevade alguses kasutan üsna palju satelliitidega suhtlemist, isegi mõne kontakti loomist ainult kummiga antenniga - seda on väga raske teha. Võtsin paar kontakti ISSiga, kasutades APRS -i (automaatne pakettide aruandlussüsteem). See oli aastal 2013 - ammu, olen sellest ajast peale olnud väga passiivne. See on midagi, mida ma olen tahtnud sinu juurde tagasi saada.
Aastal 2013 kirjutasin käsureale paar PHP skripti, mis ütleksid mulle ISSi asukoha ja aitaksid ennustada, millal see üle pea läheb. Sel ajal kasutasin vilkuvat pulka ja lasin ISS -i lähenedes värvi muuta. Tänu tööle aadressil https://open-notify.org ja tema API-le oli nende tegemine üsna lihtne.
2018 - 5 aastat hiljem muutsin need PHP -d lõpuks Arduino C -ks (tegelikult oli seda väga lihtne teha.)
Minu projekt kasutab D-Duinot (mis on tõesti NodeMCU, mille pardal on OLED), see on kõik, mis seal on.
Ma kasutan endiselt sama API-d saidilt
Olen kirjutanud ka koodi, et kasutada D1 Mini ja WS2812 Shieldi (vt selle kohta lähemalt minu juhendaja Eric Project).
Samm: lihtne riistvara
D-Duino (NodeMCU)
www.aliexpress.com/item/NodeMCU-CP2102-ESP…
See on see, see on kõik, mida nõutakse. Muidugi võite kasutada muud riistvara - see peaks toimima iga ESP8266 seadme puhul, mis saab kasutada I2C OLED -i. D-Duino on enamasti NodeMCU, millele on lisatud OLED.
Koodi leiate aadressilt
Arduino IDE -s peate installima ESP8266 tahvlid. Juhised leiate siit:
(lihtsaim viis on tahvlite haldur)
Teil on vaja ka mõnda raamatukogu - ma arvan, et need kõik leiate nüüd raamatukoguhaldurist (kuid ma pole selles 100% kindel).
Vajalikud raamatukogud: ArduinoJson.h
Adafruit_NeoPixel
WifiManager.h
TimeLib.h
esp8266-oled-ssd1306
(Ma pole kindel, kust ma TImeLibi sain ja võib -olla sisaldub see Arduino IDE -s?)
Lihtsaim viis nende installimiseks on teegihalduri kasutamine. Kui ei, järgige iga raamatukogu juhiseid.
2. samm: visandid
Praegu on githubi hoidlas kaks visandit ja kolm PHP -skripti.
DDuino_ISS_notification, mida tuleks kasutada koos D-Duino riistvaraga ülalt.
Ja EricISSnotification, mis kasutab minu eelmist "Supervisor Eric" saatest "People of Earth". (Sellest lähemalt hiljem)
Mõlemas visandis rea 30 lähedal (või kusagil tõesti selle lähedal) - näete paari ujukmuutujat nimega mylat ja mylon. Peate neid kahte rida oma laius- ja pikkuskraadidega muutma - kui te ei tea oma lati ja pikkust, saate seda veebisaiti kasutada https://www.latlong.net Teie linna keskus peaks korras olema. See ei pea vastama teie laius- või pikkuskraadile. Visandid ümardavad ja muud matemaatikat, et leida ISS -i ligikaudne kaugus USA miilides.
Usun, et see on ainus asi, mida tuleb visandites muuta.
Vahemaa arvutamise matemaatika põhineb kahe ringi vahelise suurringi vahekaugusel ja ametliku leiate siit-https://www.movable-type.co.uk/scripts/latlong.htm…
See sait pakub palju teavet selle kohta, kuidas arvutada kahe laius- ja pikkuskraadi vaheline kaugus ning kandevõime. Me ei kasuta selleks laagrite arvutusi.
Ametliku toimimiseks peame hankima teeta ja muutma teatud määral kiirgavaks ja vastupidi kiirgavaks. Kuna Arduino ei oska matemaatikat nii hästi, peame seda konversioonidega veidi aitama.
void getDistance () {
float theta, dist, miles;
teeta = mylon - isslon;
dist = sin (deg2rad (mylat)) * sin (deg2rad (isslat)) + cos (deg2rad (mylat)) * cos (deg2rad (isslat)) * cos (deg2rad (theta));
dist = acos (dist); dist = rad2deg (dist);
miil = dist * 60 * 1,1515;
kaugus = miil;
}
float deg2rad (float n) {
ujuk radiaan = (n * 71)/4068;
tagasipöördumise radiaan;
}
float rad2deg (float n) {
ujukaste = (n*4068)/71;
tagasipöördumisaste;
}
Suurem osa matemaatikast tehakse rea 127 läheduses - kui soovite teistsugust vahemaad (nt KM või meremiilid)
saate muuta "miili = dist * 60 * 1,1515;" rida.
KM -i jaoks oleks see midagi sellist nagu "miil = (dist*60*1,1515)*1,609344;"
Meremiilide puhul midagi sellist nagu "miili = (dist*60*1,1515)*0,8684;"
Tõenäoliselt tahate muuta ka jadaprindi rida ja OLED -ekraanirida, mis ütlevad teie uuele mõõtmisele miili.
Mis on DDuino_ISS_notification visandi read 86 ja 96.
3. samm: Ericu visand
Juhendaja Eric on tehisintellekt või TBS TV People of Earth tulnukas. Palun vaadake minu teisi juhendeid minu ehituse kohta.
Selle teavitussüsteemi jaoks on põhiline, mida vajate, D1 Mini ja kilp WS2812 - kui see on kena karbis koos kena objektiiviga, näeb see välja - hästi kena.
Taaskord peaks töötama iga ESP8266, millel on WS2812 piksel, maagiat siin tõesti ei toimu - kilp WS2812 on D1 miniga ühendatud D2 -ga (mis minu arvates on NodeMCU tahvlitel tihvt 4 ja võib -olla ka teised ESP8266 tahvlid).
Visandile:
Nagu ülalpool, peate joonisel 27 joonisel olevas visandis muutma oma laius- ja pikkuskraadi. Ja nagu selle joonise kohal, arvutab ka kaugus laius- ja pikkuskraadide vahel. Erinevalt ülaltoodud visandist on see ekraan ainult WS2812 Neopixel LED -iga.
Matemaatika on rea 96 lähedal, kuid muidu samad, mis eespool. Kui soovite näha, mis toimub, on endiselt jadaväljund. See visand teeb ainult ISS -i asukoha ja kauguse arvutusi - see ei tee läbipääsu ennustusi ega seda, kui palju inimesi kosmoses on.
* Tuleb märkida, et vahemaa on siin miilides, seda saab soovi korral muuta, kuid peate oma üksuste jaoks veel mõned muudatused tegema. *
Liini 116 lähedal:
void setColor () {
if (kaugus = 1201) {colorDisplay (riba. Värv (255, 0, 0), p);}
if (kaugus = 1151) {colorDisplay (riba. Värv (255, 153, 0), p);} // tundub mulle kollasem
if (kaugus = 951) {colorDisplay (riba. Värv (255, 255, 0), p);} // tundub mulle roheline/kollane
if (kaugus <= 950) {colorDisplay (riba. Värv (0, 255, 0), p);}
if (kaugus> = 1351) {colorDisplay (riba. Värv (0, 0, 0), p);}
}
Ühikud on miilides ja kui peate muutma KM või NM, siis soovite ka neid ridu muuta.
Mis siin toimub, sina, 1350 miili kaugusel on ISS alles silmapiiril ja sa võid hakata raadiost transpondreid lihtsalt kuulma - see pole suurepärane ja kommunikatsioon ei saa praegu toimuda. LED lülitub punaseks - see on pea ees - ISS läheneb.
Mõne aja pärast või kui ISS on vahemikus 1150–1200 miili, muutub LED oranžiks - see näeb tõesti kollasem välja, kuid toetab oranži värvi. - 1150 miili kaugusel peaksite kuulma üsna palju rohkem - kahesuunaline suhtlus pole 5 -vatise HT -ga tõenäoliselt siiski võimalik.
950–1150 miili vahel - LED peaks kollaseks muutuma - teil on korralik võimalus kontakti luua - see pole siiski suurepärane, kuid see on vähemalt praegu võimalik (kollane tundub mulle rohelisem kui kollane - nii et midagi muud töötab peal)
Alla 950 miili on LED roheline - ja saab luua kahesuunalisi kontakte.
Kui ISS eemaldub LED -ist, muutub roheline kollaseks oranžiks punaseks ja seejärel lõpuks välja.
Siinkohal tuleb märkida, et see kõik toimub väga kiiresti - enamik minu piirkonna läbimisi kestab alla 10 minuti ja tavaline kasutatav kontaktiaeg on alla 5 minuti.
Samuti tuleb märkida, et ISS võib oma asukohta muuta ja API -d võidakse värskendada või mitte - nii et isegi kui teil on roheline tuli, ei pruugi te midagi kuulda.
** Amatöörvarustuse käitamine on samuti vabatahtlik ja vabatahtlik ning kui nad üritavad seadet käitada, on aeg, mil nad peavad selle toite tõttu välja lülitama või mida nad peavad tegema. Alati on hea vaadata AMsati või ARISSi veebisaite **
4. samm: PHP -kood
Githubi hoidlasse olen lisanud oma 2013. aasta PHP -koodi.
Kood oli loodud töötama CLI -st (või käsurealt). Nende kirjutamisest on juba mõnda aega möödas, kuid arvan, et ainus nõue oli JSON -laienduste lubamine.
Skriptid töötavad endiselt ja kui soovite neid käivitada, tehke seda julgelt!
Windowsi kasutajatele leiate siit teavet PHP installimise kohta
Installige kindlasti CLI versioon. Ma arvan, et installimisel saate valida, millised laiendused sisse lülitada.
Linuxi kasutajad sõltuvad teie distributsioonist - ma kasutan Ubuntu põhist distro - ja sünaptikast oma paketihaldurina.
Soovite php7.0-common, php7.0-json, php7.0-cli, php7.0-curl
Ma arvan, et ma ei kasutanud nendega CURL -i, nii et teil ei pruugi seda vaja minna. Ülejäänu leiate oma pakettide sõimest või veebisaidilt
Kahte skripti tuleb muuta vastavalt teie laius- ja pikkuskraadidele - need ei ole väga pikad ja muudetav on skripti ülaosas. Need on iss-location.php ja iss-pass-api.php
iss -location.php -sse on jäetud minu vanad vilkumisklapid - ma pole enam kindel, et need töötavad -, kuid näete, et vahetasin LED -i umbes samamoodi nagu oma Eric -teatega. Ma ei usu, et need probleeme tekitaksid, kuid võiksite neid kommenteerida.
iss-pass-api.php kasutab ajastu aega ja annab prognoositud möödumiste kohaliku aja. Ausalt öeldes eelistan selle skripti PHP versiooni võrreldes DDuino versiooniga (mis praegu teeb ainult UTC ennustusi)
PHP versioon on ka kuvamiseks ilusam - kuid see on tõesti väike asi.
Lõplik PHP -skript on iss -people.php - ja see kuvab nimed ja millise kosmoselaevaga nad tegelevad. See on kõik, mida see teeb. (Ja see teave ei muutu sageli)
PHP skripti käsurealt käivitamise põhitõed on järgmised:
$ php iss-people.php
PHP -failid on tekstifailid ja neid saab avada mis tahes tekstiredaktoriga. Ma arvan, et Windowsi kasutajad salvestasin need nii, et neil oleks nii rea- kui ka kärutagastus. KUI mitte https://www.editpadlite.com/ võib neile sobida.
Samm: videod ja muu teave ISS -i ja singi kohta
Sinki litsentsi saamine Ameerika Ühendriikides:
Mitte USA -s? Igal riigil on oma reeglid ja litsentsijuhendid - kontrollige, kes teie suhtlust juhib (siin USA -s on FCC föderaalne kommunikatsioonikomisjon)
Arvutage laius- ja pikkuspunktide vaheline kaugus, laager ja palju muud.
Seda oleks olnud palju raskem teha ilma Open Notify väga kasulike API -deta
Kuidas näha kosmosejaama maapinnalt.
AMSAT raadioamatööride satelliit
AMSAT -i teave ISS -i raadios
Amatöörraadio ARISS rahvusvahelises kosmosejaamas
ISS -i fänniklubi - ISS -i sagedused
Vikipeedia sissekanne APRS -i kohta
APRS.org
6. samm: viimased mõtted…
See oli lõbus projekt väga lihtsa riistvaraga.
On paar asja, mida tahaksin muuta, kuid üldiselt olen tulemustega väga rahul.
Asjad, mida tuleb muuta:
1) Leidke viis ennustuste edastamiseks kohaliku aja järgi, mitte UTC järgi
2) Leidke oranžile ja kollasele paremad värvikoodid.
3) Värskendage, et töötada ESP32 X-plaadiga, OLED-i ja 4 neopiksliga.
Kui leiate, et see või mõni minu projekt on kasulik või meeldiv, palun toetage mind.
Kõik, mida ma saan, läheb ostma rohkem osi ja tegema rohkem/paremaid projekte.
www.patreon.com/kd8bxp
ko-fi.com/lfmiller
Soovitan:
Mobiiliga juhitav Bluetooth -auto -- Lihtne -- Lihtne -- Hc-05 -- Mootorikilp: 10 sammu (koos piltidega)
Mobiiliga juhitav Bluetooth -auto || Lihtne || Lihtne || Hc-05 || Motor Shield: … Palun TELLI minu YouTube'i kanalile ………. See on Bluetooth-juhitav auto, mis kasutas mobiiliga suhtlemiseks Bluetooth-moodulit HC-05. Saame autot juhtida mobiiltelefoniga Bluetoothi kaudu. Auto liikumise juhtimiseks on olemas rakendus
Mappifier - kaardistamine + teavitussüsteem: 9 sammu
Mappifier - Mapping + teavitussüsteem: Öine sõitmine on üsna lõbus. Kuid sageli osutub see õudusunenäoks, teed ületavate loomade näol (eriti need hulkuvad kassid ja koerad, kes ootavad, kuni sõidate nende lähedale, et nad saaksid ületada !!). Nii et ma mõtlesin teha nii
Automaatne kohvi teavitussüsteem: 7 sammu (piltidega)
Automaatne kohvimärguandesüsteem: selles projektis teen kontorikohvimasina nutikaks, luues kohvihoiatussüsteemi, mis saadab Slacki märguanded, kui keegi valmistab värsket kohvi. Koodi saab muuta e -kirja või tekstsõnumi saatmiseks. See projekt on üles ehitatud R
Lihtne lihtne kodutöömasin: 4 sammu (piltidega)
Lihtne lihtne kodutöömasin: see masin on ehitatud odavatest materjalidest ja selle ehitamine ei ületa 7 dollarit. Selle ehitamiseks vajate kannatlikkust ja 2 tundi aega. Ja te peate olema tuttav jootmise ja juhtmestikuga, kuna see hõlmab väikest vooluringi. Kui see on ehitatud, ühendage see lihtsalt
DIY MusiLED, muusika sünkroonitud LED-id ühe klõpsuga Windowsi ja Linuxi rakendusega (32-bitine ja 64-bitine). Lihtne taastada, lihtne kasutada, lihtne teisaldada: 3 sammu
DIY MusiLED, muusika sünkroonitud LED-id ühe klõpsuga Windowsi ja Linuxi rakendusega (32-bitine ja 64-bitine). Lihtne taastada, lihtne kasutada, lihtne teisaldada .: See projekt aitab teil ühendada 18 LED-i (6 punast + 6 sinist + 6 kollast) oma Arduino plaadiga ja analüüsida arvuti helikaardi reaalajasignaale ning edastada need valgusdioodid, mis neid löögiefektide järgi süttivad (Snare, High Hat, Kick)