Съдържание:

Проста система за уведомяване на МКС: 6 стъпки (със снимки)
Проста система за уведомяване на МКС: 6 стъпки (със снимки)

Видео: Проста система за уведомяване на МКС: 6 стъпки (със снимки)

Видео: Проста система за уведомяване на МКС: 6 стъпки (със снимки)
Видео: Путина напугал громкий звук. И он сразу поправил бронежилет 2024, Ноември
Anonim
Проста система за уведомяване на МКС
Проста система за уведомяване на МКС
Проста система за уведомяване на МКС
Проста система за уведомяване на МКС

Какво представлява Международната космическа станция и защо искате да предвидите къде се намира тя?

За да отговорим на първия въпрос, можем да потърсим отговор на уебсайта на НАСА. Което накратко е:

Международната космическа станция е голям космически кораб. Той обикаля около Земята. Това е дом, в който живеят астронавти. Космическата станция е и научна лаборатория. Много държави работиха заедно за изграждането му. Те също работят заедно, за да го използват. Космическата станция е направена от много парчета. Парчетата бяха събрани в космоса от астронавти. Орбитата на космическата станция е на около 220 мили над Земята. НАСА използва станцията, за да научи за живота и работата в космоса. Тези уроци ще помогнат на НАСА да изследва космоса.

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

На втория въпрос е малко по -трудно да се отговори - но ще опитам.

Аз съм радиолюбител (или радиооператор на Ham) - едно нещо, което винаги ми е било забавно, е да използвам ниско захранвано ръчно (5 вата или по -малко) радио и да комуникирам с орбитални спътници. МКС има радио оборудване на борда.

В ранните си дни на шунка използвам, за да общувам доста със спътниците, дори да осъществявам контакти само с гумената патешка антена - нещо много трудно за правене. Осъществих няколко контакта с МКС, използвайки APRS (система за автоматично отчитане на пакети). Това беше през 2013 г. - отдавна, оттогава съм много неактивен. Това е нещо, което исках да се върна в теб.

През 2013 г. написах няколко PHP скрипта за командния ред, които ще ми кажат местоположението на МКС и ще помогнат да се предскаже кога ще бъде над главата. По това време използвах мигаща пръчка и я накарах да промени цветовете си с приближаването на МКС. Благодарение на работата в https://open-notify.org и неговия API беше доста лесно да ги направите.

2018 - 5 години по -късно най -накрая преобразувах тези PHP в Arduino C (всъщност беше много лесно да се направи.)

Моят проект използва D-Duino (който наистина е NodeMCU с OLED на борда), това е всичко, което има за него.

Все още използвам същия API от

Написал съм и някакъв код за използване на D1 Mini и WS2812 Shield (вижте моя проект за супервизор Eric за повече по този въпрос).

Стъпка 1: Прост хардуер

Прост хардуер
Прост хардуер

D-Duino (NodeMCU)

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

Това е всичко, което се изисква. Разбира се, можете да използвате друг хардуер - това трябва да работи на всяко устройство ESP8266, което може да използва I2C OLED. D-Duino е в по-голямата си част NodeMCU с добавянето на OLED.

Кодът може да бъде намерен

Ще трябва да имате инсталирани платки ESP8266 в Arduino IDE. Инструкции можете да намерите тук:

(най-лесният начин е с мениджъра на дъските)

Ще ви трябват и някои библиотеки - мисля, че всичко това сега може да се намери в мениджъра на библиотеката (но не съм 100% сигурен в това).

Необходими библиотеки: ArduinoJson.h

Adafruit_NeoPixel

WifiManager.h

TimeLib.h

esp8266-oled-ssd1306

(Не съм сигурен откъде взех TImeLib и може би е включен в Arduino IDE ??)

Най -простият начин да ги инсталирате е да използвате библиотечния мениджър. Ако не, следвайте инструкциите за всяка библиотека.

Стъпка 2: Скиците

Скиците
Скиците

В момента има две скици и три PHP скрипта, включени в хранилището на github.

DDuino_ISS_notification, което трябва да се използва с хардуера D-Duino отгоре.

И EricISSnotification, който използва предишния ми „Supervisor Eric“от проекта „People of Earth“на шоуто. (Повече за това по -късно)

И в двете скици близо до ред 30 (или някъде много близо до него) - Ще видите няколко променливи с плаващ знак, наречени mylat и mylon. Ще трябва да промените тези две линии с вашите географска ширина и дължина - ако не познавате вашите ширина и дължина, можете да използвате този уебсайт https://www.latlong.net Центърът на вашия град трябва да е наред. Не е задължително да съответства на вашата географска ширина или дължина. Скиците правят известно закръгляване и друга математика, за да излязат с приблизително разстояние до МКС в американските мили.

Вярвам, че това е единственото нещо, което трябва да се промени в скиците.

Математиката за изчисляване на разстоянието се основава на разстоянието на големия кръг между две точки, а официалното може да се намери тук-https://www.movable-type.co.uk/scripts/latlong.htm…

Този сайт предоставя много информация за това как да се изчисли разстоянието между две географски ширини и дължини, както и лагера. Ние не използваме никакви изчисления на лагери за това.

За да работи официалното, трябва да получим тета и да преобразуваме някаква степен в лъчиста, и обратно, излъчваща в степен. Тъй като Arduino не се справя толкова добре с математиката, трябва да му помогнем малко с преобразуванията.

void getDistance () {

плава тета, дист, мили;

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

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

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

мили = dist * 60 * 1.1515;

разстояние = мили;

}

float deg2rad (float n) {

поплавък радиан = (n * 71)/4068;

радиан за връщане;

}

float rad2deg (float n) {

степен на плаване = (n*4068)/71;

степен на връщане;

}

По -голямата част от математиката се извършва в близост до ред 127 - АКО искате различно разстояние (да речем КМ или морски мили)

можете да промените "miles = dist * 60 * 1.1515;" линия.

За KM това би било нещо като "мили = (dist*60*1.1515)*1.609344;"

За морски мили нещо като "мили = (dist*60*1.1515)*0.8684;"

Вероятно също ще искате да промените серийната линия за печат и линията на OLED дисплея, които казват мили, към новото си измерване.

Което е ред 86 и 96 в скицата на DDuino_ISS_notification.

Стъпка 3: Скицата на Ерик

Скицата на Ерик
Скицата на Ерик
Скицата на Ерик
Скицата на Ерик
Скицата на Ерик
Скицата на Ерик

Надзорникът Ерик е AI или извънземен от TBS TV People of Earth. Моля, вижте другия ми Instructable на моята конструкция.

Основното, от което се нуждаете за тази система за уведомяване, сте D1 Mini и щитът WS2812 - притежаването му в хубава кутия с хубав обектив го прави да изглежда - добре.

За пореден път всеки ESP8266 с пиксел WS2812 трябва да работи, тук наистина няма магия - Щитът WS2812 е свързан към D2 на D1 mini (което според мен е щифт 4 на платките NodeMCU и може би други платки ESP8266).

Към скицата:

Както по -горе, ще трябва да промените географската си ширина и дължина в скицата близо до линия 27. И както по -горе тази скица също изчислява разстоянието между до географска ширина и дължина. За разлика от горната скица, този единствен дисплей е с неопикселен светодиод WS2812.

Математиката е близо до ред 96, но в противен случай са същите като по -горе. Все още има сериен изход, ако искате да видите какво се случва. Тази скица прави само изчисления на местоположението и разстоянието на МКС - не прави прогнози за преминаване или колко хора са в космоса.

* Трябва да се отбележи, че разстоянието тук е в мили, може да се промени, ако желаете, но ще трябва да направите още няколко промени за вашите единици. *

Близка линия 116:

void setColor () {

if (разстояние = 1201) {colorDisplay (strip. Color (255, 0, 0), p);}

if (разстояние = 1151) {colorDisplay (strip. Color (255, 153, 0), p);} // ми изглежда по -жълто

if (разстояние = 951) {colorDisplay (strip. Color (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 мили - LED трябва да стане жълт - имате приличен шанс да установите контакт - все още не е страхотно, но поне е възможно в този момент (Жълтото ми изглежда по -зелено, отколкото жълто - така че нещо друго да работи На)

Под 950 мили светодиодът ще бъде твърд ЗЕЛЕН - и могат да се осъществят двупосочни контакти.

Тъй като МКС се отдалечава от светодиода, той ще премине от зелено в жълто в оранжево в червено и после накрая в ИЗКЛ.

Тук трябва да се отбележи, че всичко това се случва много бързо - повечето преминавания в моя район продължават под 10 минути, а нормалното използваемо време за контакт е под 5 минути.

Трябва също така да се отбележи, че МКС може да промени местоположението си и че API може или не може да се актуализира - така че дори и да имате зелена светлина - може да не чуете нищо.

** Управлението на любителското оборудване се извършва по желание и доброволно, и докато те се опитват да пуснат оборудването, има време, когато трябва да го изключат за захранване или поради това, което трябва да направят. Винаги е добра идея да проверите уебсайтовете на AMsat или ARISS **

Стъпка 4: Кодът на PHP

Кодът на PHP
Кодът на PHP

В хранилището на github включих моя PHP код от 2013 г.

Кодът е проектиран да работи от CLI (или командния ред). Измина известно време, откакто ги написах, но мисля, че единственото изискване беше да са активирани разширенията JSON.

Скриптите все още работят и ако искате да ги стартирате, не се колебайте да го направите!

За потребителите на Windows тук има информация за инсталиране на PHP

Не забравяйте да инсталирате CLI версията. Мисля, че докато инсталирате, можете да изберете кои разширения да включите.

Потребителите на Linux зависят от вашия дистрибутор - използвам дистрибуция, базирана на Ubuntu - и synaptic като мениджър на пакети.

Ще искате php7.0-common, php7.0-json, php7.0-cli, php7.0-curl

Не мисля, че съм използвал CURL с тях, така че може да нямате нужда от този. Останалото трябва да се намери в избрания от вас мениджър на пакети или на уебсайта

Два от скриптовете ще трябва да бъдат редактирани според вашата географска ширина и дължина - те не са много дълги и това, което трябва да се промени, е точно в горната част на скрипта. Те са iss-location.php и iss-pass-api.php

iss -location.php има останали стари обаждания с мигаща пръчка - не съм сигурен, че вече работят - но можете да видите, че променях светодиода по същия начин, по който го правя с моето „Известие на Ерик“. Не мисля, че създават проблеми, но може да искате да ги коментирате.

iss-pass-api.php използва времето на епохата и дава локално време на прогнозираните преминавания. Честно казано предпочитам PHP версията на този скрипт в сравнение с версията DDuino (която в момента прави само UTC прогнози)

Версията на PHP също е форматирана по -приятно за показване - но това наистина е незначително нещо.

Последният PHP скрипт е iss -people.php - и той ще покаже имената и на кои космически кораби се намират. Това е всичко, което прави. (И тази информация не се променя често)

Основите за стартиране на PHP скрипт от командния ред са:

$ php iss-people.php

PHP файловете са текстови файлове и могат да се отварят от всеки текстов редактор. Потребители на Windows Мисля, че съм ги запазил, така че да имат връщане както на линия, така и на каретка. АКО не https://www.editpadlite.com/ може да работи за тях.

Стъпка 5: Видеоклиповете и още информация за МКС и шунка

Image
Image

Получаване на лиценз за шунка в Съединените щати:

Не е в САЩ? Всяка държава има собствен набор от правила и ръководства за лицензи - проверете кой управлява вашите комуникации (Тук в САЩ това е Федералната комисия по комуникациите на FCC)

Изчислете разстоянието, лагера и още между точките на географската ширина и дължина.

Това би било много по -трудно да се направи без много полезните API от Open Notify

Как да видите космическата станция от земята.

Радиолюбителски спътник AMSAT

Информация на AMSAT за радио на МКС

Аматьорско радио ARISS на Международната космическа станция

Фен клуб на МКС - Честоти на МКС

Запис в Уикипедия на APRS

APRS.org

Стъпка 6: Последни мисли …

Това беше забавен проект, с много прост хардуер.

Има няколко неща, които бих искал да променя, но като цяло съм много доволен от резултатите.

Неща, които трябва да се променят:

1) Измислете начин да имате прогнози за преминаване в местно време, а не по UTC

2) Намерете по -добри цветни кодови номера за оранжево и жълто.

3) Актуализация за работа с ESP32 X-платка, с OLED и 4 неопиксела.

Ако намирате този или някой от моите проекти за полезен или приятен, моля, подкрепете ме.

Всичко, което получа, отива да купувам повече части и да правя повече/по -добри проекти.

www.patreon.com/kd8bxp

ko-fi.com/lfmiller

Препоръчано: