Агуулгын хүснэгт:

ОУСС -ийн энгийн мэдэгдлийн систем: 6 алхам (зурагтай)
ОУСС -ийн энгийн мэдэгдлийн систем: 6 алхам (зурагтай)

Видео: ОУСС -ийн энгийн мэдэгдлийн систем: 6 алхам (зурагтай)

Видео: ОУСС -ийн энгийн мэдэгдлийн систем: 6 алхам (зурагтай)
Видео: Rise and Fall of the Uyghur Empire (745-840) | Historical Turkic States 2024, Арваннэгдүгээр
Anonim
ISS -ийн энгийн мэдэгдлийн систем
ISS -ийн энгийн мэдэгдлийн систем
ISS -ийн энгийн мэдэгдлийн систем
ISS -ийн энгийн мэдэгдлийн систем

Олон улсын сансрын станц гэж юу вэ, та яагаад хаана байгааг урьдчилан таамаглахыг хүсч байна вэ?

Эхний асуултанд хариулахын тулд НАСА -гийн вэбсайтаас хариулт авах боломжтой. Товчхондоо бол:

Олон улсын сансрын станц бол том сансрын хөлөг юм. Энэ нь дэлхийг тойрон эргэлддэг. Энэ бол сансрын нисгэгчдийн амьдардаг гэр бөгөөд сансрын станц нь шинжлэх ухааны лаборатори юм. Үүнийг бүтээхээр олон орон хамтран ажилласан. Тэд мөн үүнийг ашиглахын тулд хамтран ажилладаг бөгөөд сансрын станцыг олон хэсгээс бүтээжээ. Эдгээр хэсгүүдийг сансрын нисгэгчид сансарт нийлүүлжээ. Сансрын станцын тойрог зам нь дэлхийгээс 220 миль орчим өндөрт оршдог. НАСА станцыг ашиглан сансарт ажиллаж, амьдрах талаар суралцдаг. Эдгээр хичээлүүд нь НАСА -д сансар огторгуйг судлахад туслах болно.

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 юм), үүнд л хангалттай.

Би https://open-notify.org дээрх ижил API-г ашиглаж байна

Би бас 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 техник хангамжид ашиглах ёстой.

Мөн ErixISSnotification нь "Дэлхийн хүмүүс" шоу нэвтрүүлгээс миний өмнөх "хянагч Эрик" -ийг ашигладаг. (Энэ тухай дараа дэлгэрэнгүй үзэх болно)

30 -р шугамын ойролцоо ноорогуудын аль алинд нь (эсвэл үнэхээр ойролцоо хаа нэгтээ) - Та mylat ба mylon нэртэй хэд хэдэн хөвөгч хувьсагчийг харах болно. Та эдгээр хоёр мөрийг Өргөрөг ба Уртраараа өөрчлөх шаардлагатай болно. Хэрэв та Lat, Lon хэлээ мэдэхгүй бол энэ вэбсайтыг ашиглаж болно 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: Эрик ноорог

Эрик Скетч
Эрик Скетч
Эрик Скетч
Эрик Скетч
Эрик Скетч
Эрик Скетч

Удирдагч Эрик бол хиймэл оюун ухаан эсвэл TBS телевизийн дэлхийн хүмүүс юм. Миний бүтээсэн бусад зааварчилгааг үзнэ үү.

Энэхүү мэдэгдлийн системд танд хэрэгтэй хамгийн энгийн зүйл бол D1 Mini ба WS2812 бамбай юм. Сайхан линзтэй хайрцганд хийх нь үнэхээр сайхан харагдаж байна.

Дахин хэлэхэд WS2812 пиксел бүхий ямар ч ESP8266 ажиллах ёстой, энд ямар ч ид шид байхгүй - WS2812 бамбай нь D1 мини дээр D2 -тэй холбогдсон байна (энэ нь NodeMCU самбар дээрх 4 -р зүү, магадгүй бусад ESP8266 самбар байж магадгүй гэж бодож байна).

Ноорог руу:

Дээр дурдсанчлан 27 -р шугамын ойролцоо зургийн өргөрөг, уртраг өөрчлөх шаардлагатай болно. Дээрх зургийн нэгэн адил өргөрөг ба уртрагийн хоорондох зайг тооцоолно. Дээрх зургаас ялгаатай нь энэхүү цорын ганц дэлгэц нь WS2812 Neopixel LED -тэй.

Математик нь 96 -р шугамын ойролцоо боловч өөрөөр бол дээрхтэй ижил байна. Хэрэв та юу болж байгааг харахыг хүсч байвал цуваа гаралт байсаар байна. Энэхүү ноорог нь зөвхөн ОУСС -ийн байршил, зайн тооцоог хийдэг - энэ нь дамжуулалтын урьдчилсан таамаглал, огторгуйд хичнээн хүн байгааг тооцдоггүй.

* Энд байгаа зай нь Майлд байгаа гэдгийг анхаарах хэрэгтэй, хэрэв та хүсвэл үүнийг өөрчилж болно, гэхдээ та нэгжүүддээ хэд хэдэн өөрчлөлт оруулах шаардлагатай болно. *

116 шугамын ойролцоо:

хүчингүй setColor () {

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

if (distance = 1151) {colorDisplay (strip. Color (255, 153, 0), p);} // надад илүү шар харагдаж байна

if (distance = 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 милийн зайд ОУСС нь яг л тэнгэрийн хаяанд байгаа бөгөөд та радио дамжуулагчаас дөнгөж сонсож эхэлж болно - энэ тийм ч сайн биш бөгөөд энэ үед харилцаа холбоо үнэхээр боломжгүй юм. LED нь улаан болж, ОУСС ойртож байна.

Хэсэг хугацааны дараа, эсвэл ОУСС нь 1150 -аас 1200 милийн хооронд байвал LED нь улбар шар өнгөтэй болно. - 1150 милийн зайд та арай илүү сонсож эхлэх хэрэгтэй - 5 ваттын HT дээр хоёр талын харилцаа холбоо боломжгүй хэвээр байх болно.

950 -аас 1150 милийн хооронд - LED нь шар өнгөтэй байх ёстой - танд холбоо барих зохистой боломж байна, гэхдээ тийм ч сайн биш, гэхдээ энэ нь наад зах нь боломжтой юм (Шар нь шараас илүү ногоон харагддаг тул өөр зүйл хийх хэрэгтэй. асаалттай)

950 милийн зайд LED нь хатуу НОГООН байх бөгөөд хоёр талын холбоо барих боломжтой.

ОУСС нь LED -ээс холдох тусам Ногооноос Шар хүртэл Улбар шараас Улаан хүртэл, дараа нь OFF болгоно.

Энд тэмдэглэх хэрэгтэй, энэ бүхэн маш хурдан явагддаг - миний бүсийн ихэнх дамжуулалт 10 минутаас хэтрэхгүй, ашиглах боломжтой холбоо барих хугацаа 5 минутаас бага байдаг.

ОУСС нь түүний байршлыг өөрчилж чаддаг бөгөөд API шинэчлэгдэх эсвэл шинэчлэгддэггүй байж болзошгүй тул ногоон гэрэл асаалттай байсан ч та юу ч сонсохгүй байж магадгүй гэдгийг анхаарах хэрэгтэй.

** Сонирхогчдын төхөөрөмжийг ажиллуулах нь сайн дурын үндсэн дээр хийгддэг бөгөөд тоног төхөөрөмжийг ажиллуулахыг оролдож байх хооронд цахилгаан хангамж, эсвэл хийх ёстой зүйлээсээ болж унтрах шаардлагатай болдог. AMsat эсвэл ARISS вэбсайтуудыг шалгах нь үргэлж сайн санаа юм **

Алхам 4: PHP код

PHP код
PHP код

Github репозиторт би 2013 оны PHP кодоо оруулсан болно.

Код нь CLI (эсвэл Тушаалын мөр) -ээс ажиллахаар хийгдсэн. Би эдгээрийг бичээд багагүй хугацаа өнгөрч байгаа боловч цорын ганц шаардлага бол JSON өргөтгөлүүдийг идэвхжүүлэх явдал байсан гэж бодож байна.

Скриптүүд ажилласаар байгаа бөгөөд хэрэв та тэдгээрийг ажиллуулахыг хүсч байвал үүнийг чөлөөтэй хийгээрэй!

Windows хэрэглэгчдийн хувьд энд PHP суулгах тухай мэдээлэл байна

CLI хувилбарыг суулгахаа мартуузай. Суулгаж байхдаа аль өргөтгөлийг асаахаа сонгох боломжтой гэж би бодож байна.

Линукс хэрэглэгчид таны түгээлтээс хамаардаг - Би 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: Видео бичлэгүүд ба ОУСС ба Хэмийн талаархи бусад мэдээлэл

Image
Image

АНУ-д Хэмний лиценз авах:

АНУ -д биш үү? Улс орон бүр өөрийн гэсэн дүрэм журам, лицензийн гарын авлагатай байдаг - таны харилцаа холбоог хэн удирдаж байгааг шалгаарай (АНУ -д энэ бол Холбооны холбооны холбооны холбооны комисс юм).

Өргөрөг ба уртрагийн цэгүүдийн хоорондох зай, холхивч ба бусад зүйлийг тооцоолох.

Нээлттэй мэдэгдлийн маш хэрэгтэй API -ийг ашиглах нь үүнийг хийхэд илүү хэцүү байх болно

Сансрын станцыг газраас хэрхэн харах вэ.

AMSAT радио сонирхогчдын хиймэл дагуул

ОУСС -ийн радио дээрх AMSAT мэдээлэл

Олон улсын сансрын станц дахь ARISS сонирхогчдын радио

ОУСС -ийн фен клуб - ОУСС -ийн давтамж

APRS дээрх Википедиа оруулга

APRS.org

Алхам 6: Эцсийн бодол …

Энэ бол маш энгийн тоног төхөөрөмжтэй, хөгжилтэй төсөл байв.

Миний өөрчлөхийг хүсч буй хэд хэдэн зүйл байгаа боловч ерөнхийдөө би үр дүнд маш их баяртай байна.

Өөрчлөх шаардлагатай зүйлүүд:

1) UTC бус орон нутгийн цагаар урьдчилан таамаглах арга замыг хайж олох

2) Улбар шар, шар өнгийн илүү сайн өнгөний кодын дугаарыг олоорой.

3) ESP32 X самбар, OLED болон 4 неопикселтэй ажиллахаар шинэчлэх.

Хэрэв танд энэ эсвэл миний хэрэгжүүлж буй төслүүдийн аль нэг нь хэрэгтэй эсвэл тааламжтай санагдаж байвал намайг дэмжээрэй.

Надад олдсон бүх зүйл илүү их эд анги худалдаж авах, илүү сайн/сайн төслүүдийг хэрэгжүүлэхэд зориулагдсан болно.

www.patreon.com/kd8bxp

ko-fi.com/lfmiller

Зөвлөмж болгож буй: