Мазмуну:
- 1 -кадам: Жөнөкөй жабдык
- 2 -кадам: Эскиздер
- 3 -кадам: Эрик эскизи
- 4 -кадам: PHP коду
- 5 -кадам: Видеолор жана ISS & Ham маалыматы
- 6 -кадам: Акыркы ойлор…
Video: Жөнөкөй ISS кабарлоо системасы: 6 кадам (сүрөттөр менен)
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:42
Эл аралык космостук станция деген эмне жана ал эмне үчүн алдын ала айткыңыз келет?
Биринчи суроого жооп берүү үчүн биз НАСАнын вебсайтына жооп издей алабыз. Кыскасы бул:
Эл аралык космос станциясы - чоң космос кемеси. Ал Жердин айланасында айланып жүрөт. Бул космонавттар жашаган үй. Космостук станция ошондой эле илимий лаборатория. Аны куруу үчүн көптөгөн өлкөлөр чогуу иштешкен. Космостук станция көптөгөн бөлүктөрдөн турат. Бул бөлүктөрдү космонавттар космосто бириктиришкен. Космос станциясынын орбитасы Жерден 220 чакырымдай бийиктикте. НАСА станцияны космосто жашоо жана иштөө жөнүндө билүү үчүн колдонот. Бул сабактар НАСАга космосту изилдөөгө жардам берет.
www.nasa.gov/audience/forstudents/k-4/stor…
Экинчи суроого жооп берүү бир аз татаалыраак - Бирок мен аракет кылам.
Мен ышкыбоз радио операторумун (же Хам радиосунун операторумун) - дайыма кубанычтуу болгон нерсе - колу аз кубаттуулуктагы (5 ватт же андан аз) радиону колдонуу жана спутниктер менен байланышуу. МКСтин бортунда радиоаппаратура бар.
Менин ветчина күндөрүмдүн башында мен спутниктер менен бир аз баарлашчумун, атүгүл резина өрдөк антеннасы менен байланышып турчумун. Мен ISS менен APRSтин жардамы менен бир нече байланыштарды түздүм (автоматтык пакеттик отчеттуулук системасы) Бул 2013 -жылы болгон - көп убакыт мурун, мен ошондон бери абдан активдүү эмесмин. Мен сизге кайра кайрылгым келген нерсе.
2013 -жылы мен буйрук сабы үчүн PHSтин бир нече сценарийлерин жаздым, алар мага ISSтин жайгашкан жерин айтып беришет жана анын качан бүтөрүн алдын ала айтууга жардам берет. Ошол учурда мен жаркылдаган таякчаны колдондум жана ISS жакындаган сайын анын өңүн өзгөртүп койдум. Http://open-notify.org жана анын APIсиндеги иштин аркасында буларды жасоо абдан оңой болду.
2018 - 5 жылдан кийин мен акыры PHPти Arduino Cге айландырдым (чындыгында муну кылуу оңой эле.)
Менин долбоорумда D-Duino колдонулат (бул чынында NodeMCU бортунда OLED бар), мунун баары бар.
Мен дагы эле ошол эле 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 -кадам: Эскиздер
Учурда эки эскиз жана үч PHP скрипти github репозиторийине киргизилген.
DDuino_ISS_notification, жогорудан D-Duino жабдуулары менен колдонулушу керек.
Жана EricISSnotification "Жердин адамдары" долбоорунун мурунку "Жетекчиси Эрикти" колдонот. (Бул тууралуу кийинчерээк)
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);
миль = дист * 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 TV People of Earth планетасынын келгини, менин башка инструкциямды караңыз.
Бул билдирүү тутумуна эң керектүү сиз D1 Mini жана WS2812 калканысыз - аны жакшы линзасы бар жакшы кутуга салып коюу аны жакшы кылат.
Дагы бир жолу, WS2812 пиксели бар каалаган ESP8266 иштеши керек, чынында бул жерде эч кандай сыйкырчылык жок - WS2812 калканы D2 мини D2ге туташкан (менимче, бул NodeMCU такталарында 4 -пин, балким башка ESP8266 такталары).
Эскизге:
Жогоруда айтылгандай, сиз 27 -линиянын жанындагы эскизде кеңдикти жана узундукту өзгөртүшүңүз керек болот. Жана жогоруда көрсөтүлгөндөй, бул эскиз ошондой эле кеңдик менен узундуктун ортосундагы аралыкты эсептейт. Жогорудагы эскизден айырмаланып, бул бир гана дисплей WS2812 Neopixel LED менен.
Математика 96 -сапка жакын, бирок башкача айтканда жогорудагыдай. Эгер эмне болуп жатканын көргүңүз келсе, дагы эле сериялык чыгаруу бар. Бул Эскиз ISSтин жайгашуусун жана аралыкты эсептөөнү гана жүргүзөт - ал өтмө божомолдорду же космосто канча адам бар экенин аткарбайт.
* Бул жердеги аралык Майлзда экенин белгилей кетүү керек, эгер кааласаңыз аны өзгөртсө болот, бирок сиз бирдиктериңиз үчүн дагы бир нече өзгөртүүлөрдү киргизишиңиз керек болот. *
116 -линиянын жанында:
жараксыз setColor () {
if (расстояние = 1201) {colorDisplay (strip. Color (255, 0, 0), б);}
if (distance = 1151) {colorDisplay (strip. Color (255, 153, 0), p);} // мага көбүрөөк сары көрүнөт
if (distance = 951) {colorDisplay (strip. Color (255, 255, 0), p);} // жашыл/сары окшойт мага
эгер (аралык <= 950) {colorDisplay (strip. Color (0, 255, 0), p);}
if (расстояние = = 1351) {colorDisplay (strip. Color (0, 0, 0), б);}
}
Бирдиктер миляда, эгерде сиз KM же NMге өтүшүңүз керек болсо, анда сиз дагы бул линияларды өзгөрткүңүз келет.
Бул жерде эмне болуп жатат, 1350 мильде, ISS жөн эле горизонтто жана сиз жөн эле радиодон транспондерлорду уга баштайсыз - бул анча деле жакшы эмес, жана бул учурда байланыш чындап эле болушу мүмкүн эмес. LED КЫЗЫЛ бурулат - бул баш көтөрүү - ЭКС жакындап келе жатат.
Кыска убакыттан кийин, же ISS 1150дөн 1200 милге чейин болсо, LED кызгылт сары түскө боёлот - бул чындыгында сары түскө окшош, бирок кызгылт сары түстү колдойт. - 1150 мильде сиз дагы бир аз угууну башташыңыз керек - 5 ватттык HTде эки тараптуу байланыш мүмкүн эмес.
950ден 1150 милге чейин - Светодиод сары түскө айланышы керек - сизде байланыш түзүүгө жакшы мүмкүнчүлүк бар - дагы деле жакшы эмес, бирок бул учурда жок дегенде мүмкүн (Сары мага сарыга караганда жашылыраак көрүнөт - иштей турган башка нерсе) боюнча)
950 милдин астында LED катуу Жашыл болот - жана эки тараптуу байланыштарды түзсө болот.
ISS LEDден алыстап баратканда, жашылдан сарыга чейин кызгылт сарыга чейин, акырында ӨЧҮКкө өтөт.
Бул жерде белгилей кетүү керек, мунун баары абдан тез болот - менин аймагымдагы көпчүлүк ашуулар 10 мүнөткө чейин созулат, ал эми кадимкидей колдонуу убактысы 5 мүнөткө жетпейт.
ISS анын жайгашкан жерин өзгөртө аларын жана API жаңыртылышы же жаңыртылбашы мүмкүн экенин белгилей кетүү керек - андыктан жашыл жарык болсо дагы - сиз эч нерсе укпашыңыз мүмкүн.
** ышкыбоздук жабдууларды иштетүү дагы ыктыярдуу жана ыктыярдуу түрдө жүргүзүлөт, жана алар жабдууларды иштетүүгө аракет кылып жатканда, алар аны өчүрүүгө, же эмне кылыш керектигине байланыштуу убакыт бар. AMsat же ARISS вебсайттарын текшерүү ар дайым жакшы идея **
4 -кадам: PHP коду
Github репозиторийине мен 2013 -жылдан бери PHP кодумду киргиздим.
Код 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 менин эски көз ирмемдик чалууларымда калды - булар иштебей турганына ишенбейм - бирок сиз менин "Эрик эскертмемди" жасагандай эле LEDди өзгөрткөнүмдү көрө аласыз. Менимче, алар эч кандай көйгөй жаратып жаткан жок, бирок сиз аларды комментарий кылгыңыз келиши мүмкүн.
iss-pass-api.php доордун убактысын колдонот жана болжолдонгон ашуулардын жергиликтүү убактысын берет. Чынын айтсам, мен DDuino версиясына салыштырмалуу бул скрипттин PHP версиясын жактырам (азыр UTC божомолдорун гана аткарат)
PHP версиясы дагы көргөзүү үчүн жакшы түзүлгөн - бирок бул чындыгында кичинекей нерсе.
PHPдин акыркы сценарийи iss -people.php - жана аттары жана кайсы космостук кемеде экенин көрсөтөт. Мунун баары ушунда. (Жана бул маалымат көп учурда өзгөрбөйт)
Буйрук сабынан PHP скриптин иштетүүнүн негиздери:
$ php iss-people.php
PHP файлдары тексттик файлдар болуп саналат жана аларды каалаган текст редактору ача алат. Windows колдонуучулары мен муну сактадым деп ойлойм, ошондуктан алар линияны да, каретканы да кайтарышат. Болбосо https://www.editpadlite.com/ алар үчүн иштеши мүмкүн.
5 -кадам: Видеолор жана ISS & Ham маалыматы
Кошмо Штаттарда Хам лицензиясын алуу:
АКШда эмеспи? Ар бир мамлекеттин өзүнүн эрежелери жана лицензия көрсөтмөлөрү бар - байланыштарыңызды ким башкарарын текшериңиз (Бул жерде АКШда FCC Федералдык Байланыш Комиссиясы)
Узундук жана узундук чекиттеринин ортосундагы аралыкты, подшипникти жана башкаларды эсептөө.
Бул Open Notify'дин абдан пайдалуу APIлерин колдонуу менен бир топ кыйын болмок
Космостук станцияны жерден кантип көрүүгө болот.
AMSAT радио сүйүүчүлөр спутниги
ISS боюнча радио боюнча AMSAT маалыматы
Эл аралык космос станциясындагы АРИС сүйүүчүлөр радиосу
ISS Fan Club - ISS Frequencies
APRS боюнча Википедияга кирүү
APRS.org
6 -кадам: Акыркы ойлор…
Бул абдан жөнөкөй жабдыктар менен кызыктуу долбоор болду.
Мен өзгөрткүм келген бир нече нерсе бар, бирок жалпысынан мен жыйынтыгына абдан кубанычтамын.
Өзгөртүү керек болгон нерселер:
1) UTC эмес, жергиликтүү убакытта алдын ала божомолдорго ээ болуунун жолун табыңыз
2) Кызгылт сары жана сары түстөр үчүн жакшы түстүү коддорду табыңыз.
3) OLED жана 4 Neopixels менен ESP32 X-board менен иштөө үчүн жаңыртуу.
Эгерде сиз бул же менин долбоорлорумдун бирин пайдалуу же жагымдуу деп тапсаңыз, мени колдоп коюңуз.
Мен алган нерсенин баары көбүрөөк тетиктерди сатып алууга жана көбүрөөк/жакшы долбоорлорду жасоого кетет.
www.patreon.com/kd8bxp
ko-fi.com/lfmiller
Сунушталууда:
Батарея менен иштеген офис. Күн системасы Чыгыш/Батыш Күн панелдери жана шамал турбинасы менен: 11 кадам (Сүрөттөр менен)
Батарея менен иштеген офис. Күн системасы Чыгыш/Батыш Күн панелдери жана шамал турбинасы менен которулат: Долбоор: 200 чарчы фут офис батарея менен иштеши керек. Офис ошондой эле бул система үчүн зарыл болгон бардык контроллерлерди, батареяларды жана компоненттерди камтышы керек. Күн жана шамал энергиясы батареяларды заряддайт. Кичине гана көйгөй бар
Жөнөкөй Kicker статусу жана ээлөө системасы Slack Integration менен: 12 кадам (сүрөттөр менен)
Жөнөкөй Kicker статусу жана ээлөө системасы Slack Integration менен: Мен иштеген компанияда тепкич столу бар. Компания көп кабаттарды ээлейт жана кээ бир кызматкерлер үчүн столго жетүү үчүн 3 мүнөткө чейин убакыт талап кылынат жана … стол мурунтан эле бош экенин түшүнүшөт
IoT негизиндеги кир жуучу жайлар жөнүндө кабарлоо системасы: 18 кадам
IoTге негизделген кир жуучу жайдын эскертме тутуму: HiThis үйрөткүч IOT негизиндеги кир жуучу жайдын кабарлоо системасын кантип куруу керектиги боюнча этап -этабы менен берет. Бул жерде демо үчүн биз эки тартма жана бир кир жуучу баштык алдык. Сезет
Жөнөкөй кадамдар жана сүрөттөр менен компьютерди кантип ажыратуу керек: 13 кадам (сүрөттөр менен)
Жөнөкөй кадамдар жана сүрөттөр менен компьютерди кантип ажыратуу керек: Бул компьютерди кантип ажыратуу керектиги жөнүндө көрсөтмө. Негизги компоненттердин көбү модулдук жана оңой эле алынып салынат. Ошентсе да, бул боюнча уюштуруу маанилүү. Бул сизди бөлүктөрдү жоготпоого, ошондой эле кайра чогултууга жардам берет
Sigfox менен Dead Man Alert менен байк байкоо системасы: 7 кадам (сүрөттөр менен)
Sigfox менен Dead Man Alert менен байк байкоо системасы: байкоо функциялары бар байк айдоочулар үчүн коопсуздук системасы. Кырсык болгон учурда GPS позициясы менен сигнал жөнөтүлөт. Велосипед тебүүчүлөрдүн коопсуздугу сөзсүз түрдө талап кылынат, жол велосипединде же тоо велосипединде авариялар болуп, мүмкүн болушунча тез арада