Სარჩევი:

მარტივი ISS შეტყობინებების სისტემა: 6 ნაბიჯი (სურათებით)
მარტივი ISS შეტყობინებების სისტემა: 6 ნაბიჯი (სურათებით)

ვიდეო: მარტივი ISS შეტყობინებების სისტემა: 6 ნაბიჯი (სურათებით)

ვიდეო: მარტივი ISS შეტყობინებების სისტემა: 6 ნაბიჯი (სურათებით)
ვიდეო: კახი კალაძე დატროლეს 😀🤣🤣 2024, ივლისი
Anonim
მარტივი ISS შეტყობინებების სისტემა
მარტივი ISS შეტყობინებების სისტემა
მარტივი ISS შეტყობინებების სისტემა
მარტივი ISS შეტყობინებების სისტემა

რა არის საერთაშორისო კოსმოსური სადგური და რატომ გსურთ პროგნოზირება სად არის?

პირველ კითხვაზე პასუხის გასაცემად, ჩვენ შეგვიძლია შევხედოთ NASA– ს ვებსაიტს. რაც მოკლედ არის:

საერთაშორისო კოსმოსური სადგური არის დიდი კოსმოსური ხომალდი. ის ბრუნავს დედამიწის გარშემო. ეს არის სახლი, სადაც ასტრონავტები ცხოვრობენ. კოსმოსური სადგური ასევე არის მეცნიერების ლაბორატორია. ბევრი ქვეყანა ერთად მუშაობდა მის ასაშენებლად. ისინი ასევე ერთად იყენებენ მის გამოყენებას. კოსმოსური სადგური მრავალი ნაწილისგან შედგება. ცალი ასტრონავტებმა კოსმოსში დააწყვეს. კოსმოსური სადგურის ორბიტა დედამიწიდან 220 კილომეტრის სიმაღლეზეა. NASA იყენებს სადგურს კოსმოსში ცხოვრებისა და მუშაობის შესახებ. ეს გაკვეთილები დაეხმარება ნასას კოსმოსის შესწავლაში.

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

მეორე კითხვაზე პასუხის გაცემა ცოტა რთულია - მაგრამ ვეცდები.

მე ვარ სამოყვარულო რადიოს ოპერატორი (ან ჰემის რადიო ოპერატორი) - ერთი რამ, რაც მე ყოველთვის მხიარულად მიმაჩნდა იყო დაბალი სიმძლავრის ხელის (5 ვატიანი ან ნაკლები) რადიოს გამოყენება და ორბიტაზე მომუშავე თანამგზავრებთან კომუნიკაცია. ISS– ს აქვს რადიო აღჭურვილობა.

ადრე ლომის დღეებში მე საკმაოდ ხშირად ვურთიერთობ თანამგზავრებთან, ვახდენ კონტაქტებს მხოლოდ რეზინის იხვის ანტენის საშუალებით - რისი გაკეთებაც ძალიან ძნელია. მე რამდენიმე კონტაქტი შევიტანე ISS– ში APRS– ის გამოყენებით (ავტომატური პაკეტების ანგარიშგების სისტემა) ეს იყო 2013 წელს - დიდი ხნის წინ, მას შემდეგ ძალიან არააქტიური ვიყავი. ეს არის ის, რისი დაბრუნებაც მინდოდა შენში.

2013 წელს დავწერე რამდენიმე PHP სკრიპტი ბრძანების ხაზისთვის, რომელიც მეუბნებოდა 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…

ეს არის ის, რაც მხოლოდ საჭიროა. რა თქმა უნდა, შეგიძლიათ გამოიყენოთ სხვა ტექნიკა - ეს უნდა იმუშაოს ნებისმიერ 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_ შენიშვნა, რომელიც უნდა იქნას გამოყენებული D-Duino ტექნიკით ზემოდან.

და EricISSnotification რომელიც იყენებს ჩემს წინა "ზედამხედველ ერიკს" შოუდან "დედამიწის ხალხი" პროექტიდან. (ამის შესახებ მოგვიანებით)

ორივე ესკიზში 30 სტრიქონის მახლობლად (ან სადღაც მართლაც ახლოს) - თქვენ იხილავთ რამდენიმე ცვალებად ცვლადს, სახელწოდებით მილატი და მილონი. თქვენ უნდა შეცვალოთ ეს ორი ხაზი თქვენი გრძედი და გრძედი - თუ არ იცით თქვენი ლათინური და ლონური, შეგიძლიათ გამოიყენოთ ეს ვებ გვერდი https://www.latlong.net თქვენი ქალაქის ცენტრი კარგად უნდა იყოს. ის არ უნდა ემთხვეოდეს თქვენს ზუსტ განედს ან განედს. ესკიზები აკეთებენ გარკვეულ დამრგვალებას და სხვა მათემატიკას, რათა მივიღოთ ISS- ის სავარაუდო მანძილი აშშ -ის მილი.

მე მჯერა, რომ ეს არის ერთადერთი, რაც უნდა შეიცვალოს ესკიზებში.

მანძილის გამოთვლის მათემატიკა ემყარება ორ წერტილს შორის დიდი წრის მანძილს, ხოლო ფორმალური შეგიძლიათ იხილოთ აქ-https://www.movable-type.co.uk/scripts/latlong.htm…

ეს საიტი გთავაზობთ უამრავ ინფორმაციას იმის შესახებ, თუ როგორ უნდა გამოვთვალოთ მანძილი ორ გრძედსა და გრძედს შორის, ასევე ტარებისას. ჩვენ არ ვიყენებთ რაიმე გამოთვლებს ამისათვის.

იმისათვის, რომ ფორმალმა იმუშაოს, ჩვენ გვჭირდება მივიღოთ თეტა და გადავაქციოთ რაღაც ხარისხი გასხივოსნებად, და პირიქით, რადიაციული ხარისხით. ვინაიდან არდუინო მათემატიკას კარგად არ აკეთებს, ჩვენ მას მცირედით უნდა დავეხმაროთ გარდაქმნებში.

void getDistance () {

float theta, dist, miles;

თეტა = მილონი - ისლონი;

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) {

float radian = (n * 71)/4068;

დაბრუნება რადიანი;

}

float rad2deg (float n) {

მცურავი ხარისხი = (n*4068)/71;

დაბრუნების ხარისხი;

}

მათემატიკის უმეტესი ნაწილი კეთდება 127 ხაზის მახლობლად - თუ გსურთ სხვა მანძილი (ვთქვათ კმ ან საზღვაო მილი)

თქვენ შეგიძლიათ შეცვალოთ "მილები = dist * 60 * 1.1515;" ხაზი.

კმ -ისთვის ეს იქნება რაღაც "მილი = (დისტანცია*60*1.1515)*1.609344;"

საზღვაო მილისთვის რაღაც "მილი = (დისტანცია*60*1.1515)*0.8684;"

თქვენ ალბათ ასევე გსურთ შეცვალოთ სერიული ბეჭდვის ხაზი და OLED ჩვენების ხაზი, რომელიც მიუთითებს მილის თქვენს ახალ გაზომვაზე.

რომელია სტრიქონი 86 და 96 DDuino_ISS_notification ესკიზში.

ნაბიჯი 3: ერიკ ესკიზი

ერიკ ესკიზი
ერიკ ესკიზი
ერიკ ესკიზი
ერიკ ესკიზი
ერიკ ესკიზი
ერიკ ესკიზი

ხელმძღვანელი ერიკი არის AI ან უცხოა TBS TV People of Earth, გთხოვთ ნახოთ ჩემი სხვა ინსტრუქცია ჩემს აღნაგობაზე.

ამ შეტყობინების სისტემისთვის ყველაზე მთავარი თქვენ ხართ D1 Mini და WS2812 ფარი - მისი ლამაზ ყუთში, რომელსაც აქვს ლამაზი ობიექტივი, გამოიყურება - კარგად.

კიდევ ერთხელ ვიმეორებ, ნებისმიერი ESP8266 WS2812 პიქსელით უნდა მუშაობდეს, აქ ჯადოქრობა ნამდვილად არ ხდება - WS2812 ფარი დაკავშირებულია D2 mini– ზე D2– თან (რაც მე მჯერა, რომ NodeMCU დაფებზე არის პინ 4, და შესაძლოა სხვა ESP8266 დაფებზე).

ესკიზისკენ:

როგორც ზემოთ, თქვენ უნდა შეცვალოთ გრძედი და გრძედი ესკიზში 27 ხაზის მახლობლად. და როგორც ეს ზემოთ, ესკიზი ასევე ითვლის მანძილს გრძედსა და გრძედებს შორის. ზემოაღნიშნული ესკიზისგან განსხვავებით, ეს ერთადერთი ჩვენება არის WS2812 Neopixel LED- ით.

მათემატიკა ახლოს არის 96 -ე ხაზთან, მაგრამ სხვაგვარად იგივეა რაც ზემოთ. ჯერ კიდევ არსებობს სერიული გამოშვება, თუ გსურთ ნახოთ რა ხდება. ეს ესკიზი მხოლოდ ISS ადგილმდებარეობისა და მანძილის გამოთვლებს აკეთებს - ის არ აკეთებს წინასწარმეტყველებებს ან რამდენი ადამიანია სივრცეში.

* უნდა აღინიშნოს, რომ მანძილი აქ არის მილი, ის შეიძლება შეიცვალოს თუ გსურთ, მაგრამ თქვენ დაგჭირდებათ კიდევ რამდენიმე ცვლილების შეტანა თქვენს ერთეულებში. *

სიახლოვეს 116:

void setColor () {

if (მანძილი = 1201) {colorDisplay (ზოლები. ფერი (255, 0, 0), p);}

if (მანძილი = 1151) {colorDisplay (strip. Color (255, 153, 0), p);} // ჩემთვის უფრო ყვითელი ჩანს

თუ (მანძილი = 951) {colorDisplay (ზოლები. ფერი (255, 255, 0), გვ);}} // ჩემთვის მწვანე/ყვითელია

if (მანძილი <= 950) {colorDisplay (ზოლები. ფერი (0, 255, 0), p);}

if (მანძილი> = 1351) {colorDisplay (ზოლები. ფერი (0, 0, 0), გვ);}

}

ერთეულები არის კილომეტრში და თუ თქვენ გჭირდებათ KM ან NM შეცვლა, თქვენ ასევე გსურთ შეცვალოთ ეს ხაზები.

რა ხდება აქ თქვენ, 1350 კილომეტრზე, ISS არის მხოლოდ ჰორიზონტზე და თქვენ შეგიძლიათ დაიწყოთ რადიოდან გადამცემების მოსმენა - ეს არ არის დიდი და ამ დროს კომუნიკაცია ნამდვილად ვერ მოხდება. LED ნათურა ხდება წითელი - ეს არის თავები ზემოთ - ISS ახლოვდება.

ხანმოკლე დროის შემდეგ, ან თუ ISS არის 1150 – დან 1200 კილომეტრამდე, LED გახდება ნარინჯისფერი - ეს მართლაც უფრო ყვითელი ჩანს, მაგრამ მისი მხარდაჭერა ნარინჯისფერია. - 1150 კილომეტრზე თქვენ უნდა დაიწყოთ კიდევ უფრო მეტი მოსმენა - ორმხრივი კომუნიკაცია ალბათ მაინც ვერ იქნება 5 ვტ HT– ზე.

950 და 1150 მილის მანძილზე - შუქდიოდური უნდა გახდეს ყვითელი - თქვენ გაქვთ ღირსეული კონტაქტის დამყარების შანსი - ჯერ კიდევ არ არის დიდი, მაგრამ ამ ეტაპზე ეს მაინც შესაძლებელია (ყვითელი მე უფრო მწვანე მეჩვენება ვიდრე ყვითელი - ასე რომ რაღაც სხვა ჩართული)

950 მილის მანძილზე LED იქნება მყარი მწვანე - და შესაძლებელია ორმხრივი კონტაქტების დამყარება.

როდესაც ISS შორდება შუქდიოდს, ის მწვანედან ყვითელზე გადადის ნარინჯისფერში წითელში და შემდეგ საბოლოოდ გამორთულია.

აქვე უნდა აღინიშნოს, რომ ეს ყველაფერი ძალიან სწრაფად ხდება - ჩემს მხარეში უმეტესობა 10 წუთზე მეტხანს გრძელდება და ნორმალური გამოსაყენებელი კონტაქტის დრო 5 წუთზე ნაკლებია.

ასევე უნდა აღინიშნოს, რომ ISS– ს შეუძლია შეცვალოს მისი ადგილმდებარეობა და რომ API შეიძლება განახლდეს ან არ იყოს განახლებული - მაშინაც კი, თუ თქვენ გაქვთ მწვანე შუქი - თქვენ შეიძლება ვერაფერი გაიგოთ.

** სამოყვარულო აღჭურვილობის გაშვება ასევე ხდება სურვილისამებრ და ნებაყოფლობით, ხოლო სანამ ისინი ცდილობენ აღჭურვილობის გაშვებას, არის დრო, როდესაც მათ უნდა გამორთონ ელექტროენერგიის გამო, ან იმის გამო, რაც მათ უნდა გააკეთონ. ყოველთვის კარგი იდეაა შეამოწმოთ AMsat ან ARISS ვებსაიტები **

ნაბიჯი 4: PHP კოდი

PHP კოდი
PHP კოდი

Github საცავში, მე შევიტანე ჩემი PHP კოდი 2013 წლიდან.

კოდი შეიქმნა CLI– დან (ან ბრძანების ხაზიდან) გასაშვებად. დიდი ხანი გავიდა მას შემდეგ რაც დავწერე, მაგრამ მე ვფიქრობ, რომ ერთადერთი მოთხოვნა იყო JSON გაფართოებების ჩართვა.

სკრიპტები ჯერ კიდევ მუშაობს და თუ გსურთ მათი გაშვება, მოგერიდებათ ამის გაკეთება!

Windows მომხმარებლებისთვის აქ არის ინფორმაცია PHP– ის დაყენების შესახებ

დარწმუნდით, რომ დააინსტალირეთ CLI ვერსია. ვფიქრობ, ინსტალაციისას შეგიძლიათ აირჩიოთ რომელი გაფართოებები ჩართოთ.

Linux მომხმარებლები დამოკიდებულია თქვენს დისტრიბუციაზე - მე ვიყენებ უბუნტუზე დაფუძნებულ დისტროს - და სინაფსურს, როგორც პაკეტის მენეჯერს.

თქვენ გინდათ php7.0-საერთო, 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 იყენებს ეპოქის დროს და აძლევს ადგილობრივ დროს პროგნოზირებულ გავლას. გულწრფელად გითხრათ, მე მირჩევნია ამ სკრიპტის PHP ვერსია DDuino ვერსიასთან შედარებით (რაც ახლა მხოლოდ UTC პროგნოზებს აკეთებს)

PHP ვერსია ასევე უფრო ლამაზია ჩვენებისთვის - მაგრამ ეს მართლაც უმნიშვნელო რამ არის.

საბოლოო PHP სკრიპტი არის iss -people.php - და ის აჩვენებს სახელებს და რომელ კოსმოსურ ხომალდზეა ისინი. სულ ეს არის. (და ეს ინფორმაცია ხშირად არ იცვლება)

ბრძანების სტრიქონიდან PHP სკრიპტის გაშვების საფუძვლებია:

$ php iss-people.php

PHP ფაილები არის ტექსტური ფაილები და მათი გახსნა შესაძლებელია ნებისმიერი ტექსტური რედაქტორის მიერ. Windows მომხმარებლები მე ვფიქრობ, რომ მე შევინახე ისინი, რათა მათ ჰქონდეთ როგორც ხაზის, ასევე ვაგონის დაბრუნება. თუ https://www.editpadlite.com/ არ მუშაობს მათთვის.

ნაბიჯი 5: ვიდეოები და სხვა ISS & Ham ინფორმაცია

Image
Image

ლომის ლიცენზიის მიღება გაერთიანებულ შტატში:

აშშ -ში არა? თითოეულ ქვეყანას აქვს საკუთარი წესები და ლიცენზიის სახელმძღვანელო - შეამოწმეთ ვინ მართავს თქვენს კომუნიკაციებს (აქ აშშ – ში ეს არის FCC ფედერალური კომუნიკაციების კომისია)

გამოთვალეთ მანძილი, ტარება და მეტი გრძედი და გრძედის წერტილებს შორის.

ამის გაკეთება ბევრად უფრო რთული იქნებოდა ღია Notify– ის ძალიან სასარგებლო API– ების გარეშე

როგორ დავინახოთ კოსმოსური სადგური მიწიდან.

რადიო სამოყვარულო თანამგზავრი AMSAT

AMSAT ინფორმაცია რადიოს შესახებ ISS– ზე

ARISS სამოყვარულო რადიო საერთაშორისო კოსმოსურ სადგურზე

ISS გულშემატკივართა კლუბი - ISS სიხშირეები

ვიკიპედიის ჩანაწერი APRS– ზე

APRS.org

ნაბიჯი 6: საბოლოო აზრები…

ეს იყო სახალისო პროექტი, ძალიან მარტივი ტექნიკით.

არის რამოდენიმე რამ, რისი შეცვლაც მსურს, მაგრამ საერთო ჯამში ძალიან კმაყოფილი ვარ შედეგებით.

ის, რაც უნდა შეიცვალოს:

1) გაარკვიეთ როგორ გაიაროთ პროგნოზები ადგილობრივ დროში და არა UTC

2) იპოვეთ უკეთესი ფერის კოდის ნომრები ნარინჯისფერსა და ყვითელზე.

3) განახლება ESP32 X დაფაზე მუშაობისთვის, OLED და 4 ნეოპიქსელით.

თუ მიგაჩნიათ ეს ან ჩემი რომელიმე პროექტი სასარგებლო ან სასიამოვნო გთხოვთ დამიჭიროთ მხარი.

რასაც მე ვიღებ, მიდის უფრო მეტი ნაწილის შესაძენად და მეტი/უკეთესი პროექტების გასაკეთებლად.

www.patreon.com/kd8bxp

ko-fi.com/lfmiller

გირჩევთ: