Мазмұны:

ISS хабарландыруларының қарапайым жүйесі: 6 қадам (суреттермен)
ISS хабарландыруларының қарапайым жүйесі: 6 қадам (суреттермен)

Бейне: ISS хабарландыруларының қарапайым жүйесі: 6 қадам (суреттермен)

Бейне: ISS хабарландыруларының қарапайым жүйесі: 6 қадам (суреттермен)
Бейне: Ең қызықты тегін шайқас браузер ойыны! 👊👣🥊 - Martial Arts: Fighter Duel GamePlay 🎮📱 🇰🇿 2024, Шілде
Anonim
ISS хабарландырудың қарапайым жүйесі
ISS хабарландырудың қарапайым жүйесі
ISS хабарландырудың қарапайым жүйесі
ISS хабарландырудың қарапайым жүйесі

Халықаралық ғарыш станциясы деген не және ол қайда екенін болжағыңыз келеді?

Бірінші сұраққа жауап беру үшін біз NASA веб -сайтынан жауап іздей аламыз. Қысқасы бұл:

Халықаралық ғарыш станциясы - үлкен ғарыш аппараты. Ол Жердің айналасында айналады. Бұл ғарышкерлер тұратын үй, ғарыш стансасы - ғылыми зертхана. Оны құру үшін көптеген елдер бірге жұмыс жасады. Ғарыш станциясы көптеген бөліктерден тұрады. Бұл бөліктерді ғарышкерлер ғарышқа жинады. Ғарыш станциясының орбитасы Жерден шамамен 220 миль биіктікте. NASA станцияны ғарышта өмір сүру мен жұмыс істеу туралы білу үшін пайдаланады. Бұл сабақтар NASA -ға ғарышты зерттеуге көмектеседі.

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

Екінші сұраққа жауап беру қиынырақ - Бірақ мен тырысамын.

Мен әуесқой радио операторымын (немесе Хам радиосының операторымын) - мен әрқашан қуатты қолмен басқарылатын (5 ватт немесе одан аз) радионы қолдану мен орбитадағы спутниктермен байланыс жасауды ұнататынмын. ХҒС бортында радиоаппаратура бар.

Мен ветчиналық күндердің басында мен спутниктермен біраз сөйлесетінмін, тіпті резеңке үйрек антеннасымен байланыс жасаймын - бұл өте қиын нәрсе. Мен APRS (пакеттік есеп берудің автоматты жүйесі) көмегімен ХҒС -мен бірнеше байланыс жасадым. Бұл 2013 жылы болды - мен бұрыннан бері өте белсенді емеспін. Мен саған қайта оралғым келген нәрсе.

2013 жылы мен ХҚС орналасқан жерін көрсететін және оның қашан болатынын болжауға көмектесетін командалық жолға арналған PHP сценарийлерін жаздым. Сол кезде мен жыпылықтайтын таяқшаны қолдандым, ал ХҒС жақындаған сайын оның түсі өзгерді. Http://open-notify.org сайтындағы жұмыс пен оның API арқасында оларды жасау өте оңай болды.

2018 - 5 жылдан кейін мен бұл PHP -ті Arduino C -ге айналдырдым (іс жүзінде бұл өте оңай болды.)

Менің жобамда D-Duino (ол бортында OLED бар NodeMCU) бар, барлығы бар.

Мен әлі де сол API-ды https://open-notify.org сайтынан қолданамын

Мен D1 Mini мен WS2812 Shield пайдалану үшін код жаздым (бұл туралы толығырақ менің супервайзер Эрик жобамды қараңыз).

1 -қадам: қарапайым жабдық

Қарапайым аппараттық құрал
Қарапайым аппараттық құрал

D-Duino (NodeMCU)

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

Міне, бұл қажет нәрсе. Әрине, сіз басқа жабдықты пайдалана аласыз - бұл I2C OLED қолдана алатын кез келген ESP8266 құрылғысында жұмыс істеуі керек. D-Duino-бұл көбінесе OLED қосылған NodeMCU.

Кодты https://github.com/kd8bxp/Simple-ISS-Notification-… табуға болады.

Сізге Arduino IDE -де ESP8266 тақталарын орнату қажет. Нұсқауларды мына жерден табуға болады:

(ең оңай жолы-тақта менеджерімен)

Сізге кейбір кітапханалар қажет болады - менің ойымша, мұның бәрін қазір кітапхана менеджерінен табуға болады (бірақ мен бұған 100% сенімді емеспін).

Қажетті кітапханалар: ArduinoJson.h

Adafruit_NeoPixel

WifiManager.h

TimeLib.h

esp8266-oled-ssd1306

(Мен TImeLib -ті қайдан алғанымды білмеймін және ол Arduino IDE -ге қосылған шығар?)

Оларды орнатудың ең қарапайым әдісі - кітапхана менеджерін пайдалану. Егер бұл орындалмаса, әр кітапханадағы нұсқауларды орындаңыз.

2 -қадам: Эскиздер

Эскиздер
Эскиздер

Қазіргі уақытта github репозиторийінде екі эскиз және үш PHP сценарийі бар.

DDuino_ISS_notification, ол жоғарыдан D-Duino аппаратурасымен қолданылуы керек.

Ал EricISSnotification «Жер адамдары» шоуынан менің бұрынғы «супервайзер Эрикімді» қолданады. (Бұл туралы толығырақ кейінірек)

30 -жолдың жанындағы екі эскизде (немесе оған жақын жерде) - Сіз mylat және mylon деп аталатын бірнеше өзгермелі айнымалыларды көресіз. Сізге бұл екі жолды ендік пен бойлық арқылы өзгерту қажет болады - егер сіз Lat және Lon тілдерін білмесеңіз, сіз бұл веб -сайтты пайдалана аласыз https://www.latlong.net Сіздің қаланың орталығы жақсы болуы керек. Бұл сіздің ендікке немесе бойлыққа сәйкес келмеуі керек. Эскиздер АҚШ -тың Майлздағы ХҒС -тың шамамен арақашықтығын табу үшін бірнеше дөңгелектеуді және басқа математиканы жасайды.

Менің ойымша, бұл эскиздерде өзгертілуі керек жалғыз нәрсе.

Қашықтықты есептеуге арналған математика екі нүктенің арасындағы үлкен шеңберге негізделген және формалды мына жерден табуға болады-https://www.movable-type.co.uk/scripts/latlong.htm…

Бұл сайт екі ендік пен бойлық арасындағы қашықтықты, сонымен қатар мойынтіректерді қалай есептеу керектігі туралы көптеген ақпарат береді. Біз бұл үшін ешқандай есептеулерді қолданбаймыз.

Формальды жұмыс істеу үшін бізге тета алу керек және белгілі бір дәрежені жарқынға айналдыру керек, ал керісінше дәрежеде жарқырау керек. Ардуино математиканы жақсы меңгермегендіктен, біз оны түрлендіруге аздап көмектесуіміз керек.

void getDistance () {

жүзу тета, дистанция, миль;

тета = майлон - ислон;

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

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

миль = дист * 60 * 1.1515;

қашықтық = миль;

}

float deg2rad (float n) {

қалқып шығатын радиан = (n * 71)/4068;

радианды қайтару;

}

float rad2deg (float n) {

өзгермелі дәреже = (n*4068)/71;

қайтару дәрежесі;

}

Математиканың негізгі бөлігі 127 сызығының жанында орындалады - егер сіз басқа қашықтықты қаласаңыз (мысалы, KM немесе Nautical Miles)

«миль = дист * 60 * 1.1515;» өзгертуге болады. түзу.

KM үшін бұл «миль = (dist*60*1.1515)*1.609344;» сияқты нәрсе болар еді.

Nautical Miles үшін «миль = (dist*60*1.1515)*0.8684;» сияқты нәрсе.

Сіз сондай -ақ сериялық басып шығару жолын және OLED дисплей сызығын өзгерткіңіз келеді, бұл сіздің жаңа өлшеміңізге мильді құрайды.

Бұл DDuino_ISS_notification эскизіндегі 86 және 96 -жол.

3 -қадам: Эрик эскизі

Эрик Эскиз
Эрик Эскиз
Эрик Эскиз
Эрик Эскиз
Эрик Эскиз
Эрик Эскиз

Жетекші Эрик - бұл AI немесе жер бетіндегі TBS телеарнасынан келген адам, менің басқа нұсқаулықты қараңыз.

Бұл хабарландыру жүйесі үшін сізге ең қажет - бұл D1 Mini және WS2812 қалқаны - оны жақсы линзасы бар жақсы қорапта ұстау оны жақсы етеді.

Тағы да, WS2812 пиксельі бар кез келген ESP8266 жұмыс істеуі керек, мұнда ешқандай сиқыр болмайды - WS2812 қалқаны D1 мини -дегі D2 -ге қосылған (менің ойымша, бұл NodeMCU тақталарындағы 4 -пин, мүмкін басқа ESP8266 тақталары).

Эскизге:

Жоғарыда айтылғандай, сіз 27 -жолдың жанындағы эскизде ендік пен бойлықты өзгертуіңіз керек. Сонымен қатар, бұл эскиз ендік пен бойлық арасындағы қашықтықты есептейді. Жоғарыдағы эскизден айырмашылығы, бұл жалғыз дисплей WS2812 Neopixel жарық диодты.

Математика 96 сызығына жақын, бірақ басқаша жоғарыдағыдай. Егер сіз не болып жатқанын көргіңіз келсе, сериялық шығу әлі де бар. Бұл эскиз тек ХҒС -тың орналасқан жері мен қашықтығын есептейді - ол өтімді болжауды немесе ғарышта қанша адам болатынын жасамайды.

* Айта кету керек, бұл жердегі қашықтық Майлзда, егер қаласаңыз, оны өзгертуге болады, бірақ сізге қондырғыларға тағы бірнеше өзгерістер енгізу қажет. *

116 жолдың жанында:

жарамсыз setColor () {

if (қашықтық = 1201) {colorDisplay (жолақ. Түс (255, 0, 0), p);}

if (қашықтық = 1151) {colorDisplay (strip. Color (255, 153, 0), p);} // маған көбірек сары болып көрінеді

if (қашықтық = 951) {colorDisplay (жолақ. Түс (255, 255, 0), p);} // маған жасыл/сары болып көрінеді

if (арақашықтық <= 950) {colorDisplay (strip. Color (0, 255, 0), p);}

if (қашықтық> = 1351) {colorDisplay (strip. Color (0, 0, 0), p);}

}

Бірліктер мильде орналасқан, егер сізге KM немесе NM -ге ауысу қажет болса, сіз де осы сызықтарды өзгерткіңіз келеді.

Сіз мұнда не болып жатырсыз, 1350 миль қашықтықта ХҒС тек қана көкжиекте, сіз радиодан транспондерлерді тыңдай бастай аласыз - бұл жақсы емес, және бұл кезде байланыс іс жүзінде болмайды. Жарық диоды ҚЫЗЫЛ айналады - бұл ескерту - ХҒС жақындады.

Біраз уақыттан кейін немесе егер ХҒС 1150 мен 1200 миль аралығында болса, жарық диоды қызғылт сары түске боялады - бұл шынымен де сарыға ұқсайды, бірақ қызғылт сары болуды қолдайды. - 1150 мильде сіз тағы да көп нәрсені естуіңіз керек - 5 ватт HT -те екі жақты байланыс әлі де мүмкін емес.

950 -ден 1150 мильге дейін - жарық диоды сары түске айналуы керек - сізде байланыс орнатуға жақсы мүмкіндік бар - әлі де жақсы емес, бірақ бұл мүмкін емес (сары түс маған сарыға қарағанда жасылға көбірек ұқсайды - сондықтан жұмыс істеу керек) қосылған)

950 миль қашықтықта жарық диоды қатты ЖАСЫЛ болады және екі жақты контактілерді жасауға болады.

ХҒС жарық диодынан алыстаған кезде жасылдан сарыға дейін қызғылт -қызылға, сосын ӨШІРІЛДІ болады.

Бұл жерде айта кету керек, мұның бәрі өте тез жүреді - менің аймағымдағы өтулердің көпшілігі 10 минуттан аспайды, ал қалыпты байланыс уақыты 5 минуттан аспайды.

Сонымен қатар, ХҒС оның орналасқан жерін өзгерте алатынын және API жаңартылатынын немесе жаңартылмайтынын ескеру қажет, сондықтан сізде жасыл жарық болса да - сіз ештеңе естімеуіңіз мүмкін.

** Әуесқойлық жабдықты іске қосу ерікті түрде де, ерікті түрде де жүзеге асады, және олар жабдықты іске қосуға тырысқанда, оны қуат үшін немесе не істеу керек болғандықтан өшіруге тура келеді. AMsat немесе ARISS веб -сайттарын тексеру әрқашан жақсы идея **

4 -қадам: PHP коды

PHP коды
PHP коды

Github репозиторийінде мен PHP кодымен 2013 ж.

Код CLI (немесе пәрмен жолынан) жұмыс істеуге арналған. Мен оларды жазғаныма біраз уақыт болды, бірақ менің ойымша, жалғыз талап JSON кеңейтімдерін қосу болды.

Сценарийлер әлі де жұмыс істейді, және егер сіз оларды іске қосқыңыз келсе, мұны жасаңыз!

Windows пайдаланушылары үшін мұнда PHP орнату туралы ақпарат бар

CLI нұсқасын орнатуды ұмытпаңыз. Менің ойымша, сіз орнатқан кезде қандай кеңейтімдерді қосуға болатынын таңдай аласыз.

Linux пайдаланушылары сіздің дистрибутивке байланысты - мен пакет менеджері ретінде Ubuntu негізіндегі дистрибутивті пайдаланамын.

Сізге php7.0-common, php7.0-json, php7.0-cli, php7.0-curl қажет болады.

Мен бұлармен CURL қолдандым деп ойламаймын, сондықтан сізге бұл қажет болмауы мүмкін. Қалғандарын сіз таңдаған пакетте немесе https://php.net веб -сайтынан табуға болады.

Сценарийлердің екеуін ендік пен бойлық бойынша өңдеу қажет болады - олар өте ұзын емес, сценарийдің жоғарғы жағында өзгерту қажет. Олар iss-location.php және iss-pass-api.php

iss -location.php -де менің ескі жыпылықтайтын қоңырауларым қалды - мен олардың жұмыс жасайтынына сенімді емеспін, бірақ сіз менің жарық диодты «Эрик хабарландыруы» сияқты өзгерткенімді көресіз. Менің ойымша, олар ешқандай қиындық тудырмайды, бірақ сіз оларға түсініктеме бергіңіз келуі мүмкін.

iss-pass-api.php дәуір уақытын қолданады және болжамды өтулердің жергілікті уақытын береді. Шынымды айтсам, мен DDuino нұсқасымен салыстырғанда бұл сценарийдің PHP нұсқасын ұнатамын (дәл қазір UTC болжамдарын жасайды)

PHP нұсқасы сонымен қатар дисплей үшін жақсы түрде жасалған - бірақ бұл шын мәнінде шамалы нәрсе.

PHP -дің соңғы сценарийі iss -people.php болып табылады және онда олар ғарыш кемесінің аттары мен қайсысы бар екенін көрсетеді. Мұның бәрі осылай жасайды. (Және бұл ақпарат жиі өзгермейді)

Пәрмен жолынан PHP сценарийін іске қосудың негіздері:

$ php iss-people.php

PHP файлдары мәтіндік файл болып табылады және оны кез келген мәтіндік редактор ашады. Windows қолданушылары мен оларды сақтадым деп ойлаймын, сондықтан олар желіде де, вагондарда да қайтарылады. Егер олар болмаса, https://www.editpadlite.com/ жұмыс істей алады.

5 -қадам: Бейнелер мен ХҒС және Хам туралы қосымша ақпарат

Image
Image

Америка Құрама Штаттарында ветчина лицензиясын алу:

АҚШ -та емес пе? Әр елде өз ережелері мен лицензия нұсқаулықтары бар - сіздің байланысыңызды кім басқаратынын біліңіз (АҚШ -та бұл федералды байланыс жөніндегі федералды комиссия)

Ендік пен бойлық нүктелері арасындағы қашықтықты, мойынтіректі және тағы басқаларды есептеңіз.

Open Notify -тің өте пайдалы API -лерін қолдану өте қиын болар еді

Ғарыш станциясын жерден қалай көруге болады.

AMSAT радио әуесқой спутнигі

AMSAT ХҒС бойынша радио туралы ақпарат

Халықаралық ғарыш станциясындағы ARISS әуесқойлық радиосы

ISS фан -клубы - ХҒС жиілігі

APRS бойынша Википедияға жазба

APRS.org

6 -қадам: Қорытынды ойлар …

Бұл өте қарапайым жабдықтары бар қызықты жоба болды.

Мен өзгерткім келетін бірнеше нәрсе бар, бірақ мен нәтижелерге өте ризамын.

Өзгерту қажет нәрселер:

1) UTC емес, жергілікті уақыт бойынша болжаудың жолын анықтаңыз

2) Қызғылт сары және сары түс кодының жақсы нөмірлерін табыңыз.

3) ESP32 X-тақтасымен, OLED және 4 неопиксельмен жұмыс істеуді жаңарту.

Егер сізге осы немесе кез келген менің жобаларым пайдалы немесе ұнайтын болса, мені қолдаңыз.

Мен алатын барлық нәрсе бөлшектерді сатып алуға және жобаларды жақсартуға бағытталған.

www.patreon.com/kd8bxp

ko-fi.com/lfmiller

Ұсынылған: