विषयसूची:

सरल आईएसएस अधिसूचना प्रणाली: 6 कदम (चित्रों के साथ)
सरल आईएसएस अधिसूचना प्रणाली: 6 कदम (चित्रों के साथ)

वीडियो: सरल आईएसएस अधिसूचना प्रणाली: 6 कदम (चित्रों के साथ)

वीडियो: सरल आईएसएस अधिसूचना प्रणाली: 6 कदम (चित्रों के साथ)
वीडियो: MAKING OF PENTAGON | How to Draw Pentagon ? (in Hindi) में पंचभुज बनाना सीखे । ENGINEERING DRAWING. 2024, नवंबर
Anonim
सरल आईएसएस अधिसूचना प्रणाली
सरल आईएसएस अधिसूचना प्रणाली
सरल आईएसएस अधिसूचना प्रणाली
सरल आईएसएस अधिसूचना प्रणाली

अंतर्राष्ट्रीय अंतरिक्ष स्टेशन क्या है और आप यह भविष्यवाणी क्यों करना चाहते हैं कि यह कहाँ है?

पहले प्रश्न का उत्तर देने के लिए हम उत्तर के लिए नासा की वेबसाइट देख सकते हैं। जो संक्षेप में है:

अंतर्राष्ट्रीय अंतरिक्ष स्टेशन एक बड़ा अंतरिक्ष यान है। यह पृथ्वी के चारों ओर परिक्रमा करता है। यह एक ऐसा घर है जहां अंतरिक्ष यात्री रहते हैं। अंतरिक्ष स्टेशन एक विज्ञान प्रयोगशाला भी है। इसे बनाने के लिए कई देशों ने मिलकर काम किया। वे इसे इस्तेमाल करने के लिए मिलकर काम भी करते हैं। अंतरिक्ष स्टेशन कई टुकड़ों से बना है। अंतरिक्ष यात्रियों द्वारा टुकड़ों को अंतरिक्ष में एक साथ रखा गया था। अंतरिक्ष स्टेशन की कक्षा पृथ्वी से लगभग 220 मील ऊपर है। अंतरिक्ष में रहने और काम करने के बारे में जानने के लिए नासा स्टेशन का उपयोग करता है। ये पाठ नासा को अंतरिक्ष का पता लगाने में मदद करेंगे।

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

दूसरे प्रश्न का उत्तर देना थोड़ा कठिन है - लेकिन मैं कोशिश करूँगा।

मैं एक शौकिया रेडियो ऑपरेटर (या हैम रेडियो ऑपरेटर) हूं - एक चीज जो मुझे हमेशा मजेदार लगती है, वह थी कम शक्ति वाले हाथ (5 वाट या उससे कम) रेडियो का उपयोग करना और उपग्रहों की परिक्रमा करना। ISS के पास रेडियो उपकरण हैं।

अपने हैम के दिनों में मैं उपग्रहों के साथ काफी कम संवाद करता था, यहां तक कि रबर डकी एंटीना के साथ कुछ संपर्क भी करता था - ऐसा कुछ करना बहुत मुश्किल था। मैंने APRS (स्वचालित पैकेट रिपोर्टिंग सिस्टम) का उपयोग करके ISS के साथ कुछ संपर्क बनाए, जो कि 2013 में था - बहुत समय पहले, मैं तब से बहुत निष्क्रिय रहा हूँ। यह कुछ ऐसा है जिसे मैं आप में वापस लाना चाहता हूं।

2013 में मैंने कमांड लाइन के लिए कुछ PHP स्क्रिप्ट लिखीं जो मुझे आईएसएस का स्थान बताएगी, और यह अनुमान लगाने में मदद करेगी कि यह कब सिर के ऊपर होगा। उस समय मैंने एक ब्लिंक स्टिक का इस्तेमाल किया था, और आईएसएस के पास आते ही इसका रंग बदल गया था। https://open-notify.org और उनके एपीआई पर काम के लिए धन्यवाद, इन्हें बनाना बहुत आसान था।

2018 - 5 साल बाद मैंने आखिरकार इन PHP को Arduino C में बदल दिया (वास्तव में यह करना बहुत आसान था।)

मेरी परियोजना एक डी-डुइनो का उपयोग करती है (जो वास्तव में बोर्ड पर एक OLED के साथ एक NodeMCU है), बस इतना ही है।

मैं अभी भी https://open-notify.org से उसी एपीआई का उपयोग कर रहा हूं

मैंने D1 मिनी और WS2812 शील्ड का उपयोग करने के लिए कुछ कोड भी लिखे हैं (उस पर अधिक के लिए मेरा पर्यवेक्षक एरिक प्रोजेक्ट देखें)।

चरण 1: सरल हार्डवेयर।

साधारण हार्डवेयर।
साधारण हार्डवेयर।

डी-डुइनो (नोडएमसीयू)

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

यही है, बस इतना ही जरूरी है। बेशक आप अन्य हार्डवेयर का उपयोग कर सकते हैं - यह किसी भी ESP8266 डिवाइस पर काम करना चाहिए जो I2C OLED का उपयोग कर सकता है। D-Duino OLED के अतिरिक्त एक NodeMCU के अधिकांश भाग के लिए है।

कोड पाया जा सकता है

आपको Arduino IDE में ESP8266 बोर्ड स्थापित करने की आवश्यकता होगी। निर्देश यहां देखे जा सकते हैं:

(सबसे आसान तरीका बोर्ड मैनेजर के पास है)

आपको कुछ पुस्तकालयों की भी आवश्यकता होगी - मुझे लगता है कि ये सभी अब पुस्तकालय प्रबंधक में मिल सकते हैं (लेकिन मैं इसके बारे में 100% निश्चित नहीं हूं)।

पुस्तकालयों की आवश्यकता: ArduinoJson.h

Adafruit_NeoPixel

WifiManager.h

TimeLib.h

esp8266-oled-ssd1306

(मुझे यकीन नहीं है कि मुझे TImeLib कहाँ से मिला है, और यह शायद Arduino IDE के साथ शामिल है ??)

इन्हें स्थापित करने का सबसे सरल तरीका पुस्तकालय प्रबंधक का उपयोग करना है। यदि नहीं तो प्रत्येक पुस्तकालय के निर्देशों का पालन करें।

चरण 2: रेखाचित्र

रेखाचित्र
रेखाचित्र

जीथब रिपॉजिटरी में वर्तमान में दो स्केच और तीन PHP स्क्रिप्ट शामिल हैं।

Dduino_ISS_notification जिसका उपयोग ऊपर से D-Duino हार्डवेयर के साथ किया जाना चाहिए।

और EricISSnotification जो "पृथ्वी के लोग" शो से मेरे पिछले "पर्यवेक्षक एरिक" का उपयोग करता है। (इस पर और बाद में)

दोनों रेखाचित्रों में लाइन 30 के पास (या कहीं वास्तव में इसके करीब) - आप कुछ फ्लोट वेरिएबल्स देखेंगे जिन्हें मायलाट और माइलॉन कहा जाता है। आपको इन दो पंक्तियों को अपने अक्षांश और देशांतर के साथ बदलना होगा - यदि आप अपने अक्षांश और देशांतर को नहीं जानते हैं तो आप इस वेबसाइट का उपयोग कर सकते हैं https://www.latlong.net आपके शहर का केंद्र ठीक होना चाहिए। यह आपके सटीक अक्षांश या देशांतर से मेल नहीं खाता है। स्केच कुछ गोल करते हैं, और अन्य गणित यूएस माइल्स में आईएसएस की अनुमानित दूरी के साथ आते हैं।

मेरा मानना है कि केवल यही एक चीज है जिसे स्केच में बदलने की जरूरत है।

दूरी की गणना के लिए गणित दो बिंदुओं के बीच महान-वृत्त की दूरी पर आधारित है, और औपचारिक यहां पाया जा सकता है -

यह साइट दो अक्षांशों और देशांतरों के बीच की दूरी की गणना करने के साथ-साथ असर के बारे में बहुत सारी जानकारी प्रदान करती है। हम इसके लिए किसी भी असर गणना का उपयोग नहीं कर रहे हैं।

औपचारिक रूप से काम करने के लिए हमें एक थीटा प्राप्त करने और कुछ डिग्री को रेडिएंट में बदलने की जरूरत है, और दूसरी तरफ, रेडिएंट को डिग्री में बदलने की। चूंकि Arduino गणित को इतनी अच्छी तरह से नहीं करता है, इसलिए हमें रूपांतरणों में इसकी थोड़ी मदद करनी होगी।

शून्य गेटडिस्टेंस () {

फ्लोट थीटा, जिला, मील;

थीटा = माइलोन - इस्लोन;

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

जिला = एकोस (जिला); जिला = rad2deg (जिला);

मील = जिला * 60 * 1.1515;

दूरी = मील;

}

फ्लोट deg2rad (फ्लोट एन) {

फ्लोट रेडियन = (एन * 71)/4068;

रेडियन वापसी;

}

फ्लोट rad2deg (फ्लोट एन) {

फ्लोट डिग्री = (एन * 4068)/71;

वापसी की डिग्री;

}

गणित का बड़ा हिस्सा लाइन 127 के पास किया जाता है - यदि आप एक अलग दूरी चाहते हैं (जैसे कि केएम या समुद्री मील)

आप "मील = डिस्ट * 60 * 1.1515;" बदल सकते हैं रेखा।

KM के लिए यह कुछ इस तरह होगा "मील = (dist*60*1.1515) *1.609344;"

समुद्री मील के लिए "मील = (dist*60*1.1515)*0.8684;"

आप शायद सीरियल प्रिंट लाइन और OLED डिस्प्ले लाइन को भी बदलना चाहेंगे जो आपके नए माप को मील कहती है।

जो Dduino_ISS_notification स्केच में लाइन 86 और 96 है।

चरण 3: एरिक स्केच

एरिक स्केच
एरिक स्केच
एरिक स्केच
एरिक स्केच
एरिक स्केच
एरिक स्केच

सुपरवाइजर एरिक एक एआई या एलियन है जो टीबीएस टीवी पीपल ऑफ अर्थ से है, कृपया मेरे निर्माण पर मेरे अन्य निर्देशयोग्य देखें।

इस सूचना प्रणाली के लिए आपको जो मूलभूत आवश्यकता है, वह है D1 मिनी और WS2812 शील्ड - इसे एक अच्छे लेंस के साथ एक अच्छे बॉक्स में रखने से यह अच्छा दिखता है।

एक बार फिर, WS2812 पिक्सेल के साथ किसी भी ESP8266 को काम करना चाहिए, यहाँ वास्तव में कोई जादू नहीं चल रहा है - WS2812 शील्ड D1 मिनी पर D2 से जुड़ा है (जो मेरा मानना है कि NodeMCU बोर्डों पर पिन 4 है, और शायद अन्य ESP8266 बोर्ड)।

स्केच के लिए:

ऊपर के रूप में आपको रेखा 27 के पास स्केच में अपना अक्षांश और देशांतर बदलना होगा। और ऊपर की तरह यह स्केच भी अक्षांश और देशांतर के बीच की दूरी की गणना करता है। उपरोक्त स्केच के विपरीत, यह एकमात्र डिस्प्ले WS2812 Neopixel LED के साथ है।

गणित लाइन 96 के करीब हैं, लेकिन अन्यथा ऊपर के समान ही हैं। यदि आप देखना चाहते हैं कि क्या हो रहा है तो अभी भी सीरियल आउटपुट है। यह स्केच केवल ISS स्थान और दूरी की गणना करता है - यह पास की भविष्यवाणी नहीं करता है या कितने लोग अंतरिक्ष में हैं।

* यह ध्यान दिया जाना चाहिए कि यहां की दूरी मीलों में है, यदि आप चाहें तो इसे बदला जा सकता है, लेकिन आपको अपनी इकाइयों के लिए कुछ और बदलाव करने होंगे। *

लाइन 116 के पास:

शून्य सेट रंग () {

अगर (दूरी =1201) {colorDisplay(strip. Color(255, 0, 0), p);}

अगर (दूरी = ११५१) {colorDisplay(strip. Color(255, 153, 0), p);}//मुझे अधिक पीला दिखता है

अगर (दूरी = 951) {colorDisplay(strip. Color(255, 255, 0), p);} // मुझे हरा/पीला दिखता है

अगर (दूरी <=950) {colorDisplay(strip. Color(0, 255, 0), p);}

अगर (दूरी> = १३५१) {colorDisplay(strip. Color(0, 0, 0), p);}

}

इकाइयाँ मीलों में हैं, और यदि आपको KM या NM में बदलने की आवश्यकता है, तो आप इन पंक्तियों को भी बदलना चाहेंगे।

यहाँ क्या हो रहा है, १३५० मील की दूरी पर, ISS बस क्षितिज पर है और आप बस रेडियो से ट्रांसपोंडर सुनना शुरू कर सकते हैं - यह बहुत अच्छा नहीं है, और इस बिंदु पर संचार वास्तव में नहीं हो सकता है। एलईडी लाल हो जाती है - यह एक सिर ऊपर है - आईएसएस करीब हो रहा है।

थोड़े समय के बाद, या यदि आईएसएस 1150 और 1200 मील के बीच है, तो एलईडी नारंगी हो जाएगी - यह वास्तव में अधिक पीला दिखता है लेकिन यह नारंगी होने का समर्थन है। - ११५० मील की दूरी पर आपको कुछ और सुनना शुरू करना चाहिए - दो तरह से संचार शायद अभी भी 5 वाट एचटी पर संभव नहीं होगा।

950 और 1150 मील के बीच - एलईडी को पीला होना चाहिए - आपके पास संपर्क बनाने का एक अच्छा मौका है - फिर भी बहुत अच्छा नहीं है, लेकिन इस बिंदु पर यह कम से कम संभव है (पीला मुझे पीले रंग की तुलना में अधिक हरा दिखता है - इसलिए काम करने के लिए कुछ और है पर)

950 मील के नीचे एलईडी एक ठोस हरा होगा - और दो तरह से संपर्क किया जा सकता है।

जैसे ही आईएसएस एलईडी से दूर जाता है, हरे से पीले से नारंगी से लाल और फिर अंत में बंद हो जाएगा।

यह यहां ध्यान दिया जाना चाहिए, यह सब बहुत जल्दी होता है - मेरे क्षेत्र में अधिकांश पास 10 मिनट से कम समय तक चलते हैं, और सामान्य उपयोग योग्य संपर्क समय 5 मिनट से कम है।

यह भी ध्यान दिया जाना चाहिए कि आईएसएस अपना स्थान बदल सकता है, और एपीआई अपडेट हो भी सकता है और नहीं भी - इसलिए भले ही आपके पास हरी बत्ती हो - आपको कुछ भी सुनाई नहीं दे सकता है।

** शौकिया उपकरण चलाना वैकल्पिक और स्वैच्छिक भी किया जाता है, और जब वे उपकरण चलाने की कोशिश करते हैं तो ऐसे समय होते हैं जब उन्हें बिजली के लिए इसे बंद करना पड़ता है, या उन्हें क्या करना होता है। AMsat या ARISS वेबसाइटों की जाँच करना हमेशा एक अच्छा विचार है **

चरण 4: PHP कोड

पीएचपी कोड
पीएचपी कोड

जीथब रिपॉजिटरी में, मैंने 2013 से अपना PHP कोड शामिल किया है।

कोड को CLI (या कमांड लाइन) से चलाने के लिए डिज़ाइन किया गया था। मुझे ये लिखे हुए कुछ समय हो गया है, लेकिन मुझे लगता है कि JSON एक्सटेंशन को सक्षम करने की एकमात्र आवश्यकता थी।

स्क्रिप्ट अभी भी काम करती हैं, और यदि आप उन्हें चलाना चाहते हैं तो बेझिझक ऐसा करें!

विंडोज उपयोगकर्ताओं के लिए यहां PHP https://windows.php.net/ स्थापित करने के बारे में जानकारी है

सीएलआई संस्करण स्थापित करना सुनिश्चित करें। मुझे लगता है कि जैसे ही आप इंस्टॉल करते हैं आप चुन सकते हैं कि कौन से एक्सटेंशन चालू करना है।

लिनक्स उपयोगकर्ता आपके डिस्ट्रो पर निर्भर करते हैं - मैं अपने पैकेज मैनेजर के रूप में उबंटू आधारित डिस्ट्रो - और सिनैप्टिक का उपयोग करता हूं।

आप चाहते हैं php7.0-common, php7.0-json, php7.0-cli, php7.0-curl

मुझे नहीं लगता कि मैंने इनके साथ कर्ल का इस्तेमाल किया है, इसलिए आपको इसकी आवश्यकता नहीं हो सकती है। बाकी आपकी पसंद के पैकेज मैनेजर में या https://php.net वेबसाइट पर पाया जाना चाहिए।

दो लिपियों को आपके अक्षांश और देशांतर के साथ संपादित करने की आवश्यकता होगी - वे बहुत लंबी नहीं हैं, और जो बदलने की आवश्यकता है वह स्क्रिप्ट के शीर्ष पर है। वे iss-location.php और iss-pass-api.php. हैं

iss-location.php में मेरे पुराने ब्लिंक स्टिक कॉल बचे हैं - मुझे यकीन नहीं है कि वे अब और काम करेंगे - लेकिन आप देख सकते हैं कि मैं एलईडी को उसी तरह बदल रहा था जैसे मैं अपने "एरिक नोटिफिकेशन" के साथ करता हूं। मुझे नहीं लगता कि वे कोई समस्या पैदा कर रहे हैं, लेकिन आप उन पर टिप्पणी करना चाहेंगे।

iss-pass-api.php युग के समय का उपयोग करता है और अनुमानित पास का स्थानीय समय देता है। पूरी ईमानदारी से मैं डीडीयूनो संस्करण की तुलना में इस स्क्रिप्ट के PHP संस्करण को पसंद करता हूं (जो अभी केवल यूटीसी भविष्यवाणियां करता है)

PHP संस्करण भी प्रदर्शन के लिए अच्छा बनाया गया है - लेकिन यह वास्तव में एक छोटी सी बात है।

अंतिम PHP स्क्रिप्ट iss-people.php है - और यह नाम प्रदर्शित करेगी और वे किस अंतरिक्ष यान पर हैं। इतना ही करता है। (और यह जानकारी अक्सर नहीं बदलती)

कमांड लाइन से PHP स्क्रिप्ट चलाने की मूल बातें हैं:

$ php iss-people.php

PHP फाइलें टेक्स्ट फाइलें हैं, और किसी भी टेक्स्ट एडिटर द्वारा खोली जा सकती हैं। विंडोज उपयोगकर्ता मुझे लगता है कि मैंने इन्हें सहेजा है ताकि उनके पास लाइन और कैरिज रिटर्न दोनों हों। यदि नहीं तो https://www.editpadlite.com/ उनके लिए काम कर सकता है।

चरण 5: वीडियो और अधिक आईएसएस और हैम जानकारी

Image
Image

संयुक्त राज्य में हैम लाइसेंस प्राप्त करना:

यू.एस. में नहीं? प्रत्येक देश में नियमों और लाइसेंस गाइडों का अपना सेट होता है - यह जांचें कि आपके संचार को कौन नियंत्रित करता है (यहां यू.एस. में एफसीसी फेडरल कम्युनिकेशंस कमिशन है)

अक्षांश और देशांतर बिंदुओं के बीच दूरी, असर और अधिक की गणना करें।

ओपन नोटिफिकेशन से बहुत उपयोगी एपीआई के बिना इसे बनाना बहुत कठिन होता

स्पेस स्टेशन को जमीन से कैसे देखें।

AMSAT रेडियो शौकिया उपग्रह

ISS. पर रेडियो पर AMSAT सूचना

अंतर्राष्ट्रीय अंतरिक्ष स्टेशन पर ARISS एमेच्योर रेडियो

आईएसएस फैन क्लब - आईएसएस फ्रीक्वेंसीज

APRS पर विकिपीडिया प्रविष्टि

APRS.org

चरण 6: अंतिम विचार …

यह बहुत ही सरल हार्डवेयर के साथ एक मजेदार परियोजना थी।

कुछ चीजें हैं जिन्हें मैं बदलना चाहता हूं, लेकिन कुल मिलाकर मैं परिणामों से बहुत खुश हूं।

चीजें जिन्हें बदलने की जरूरत है:

1) स्थानीय समय में भविष्यवाणियों को पारित करने का एक तरीका समझें, न कि यूटीसी

2) नारंगी और पीले रंग के लिए बेहतर रंग कोड खोजें।

3) OLED और 4 Neopixels के साथ ESP32 X-बोर्ड के साथ काम करने के लिए अपडेट करें।

अगर आपको यह या मेरी कोई परियोजना उपयोगी या मनोरंजक लगती है तो कृपया मेरा समर्थन करें।

मुझे जो कुछ भी मिलता है वह अधिक भागों को खरीदने और अधिक/बेहतर प्रोजेक्ट बनाने के लिए जाता है।

www.patreon.com/kd8bxp

ko-fi.com/lfmiller

सिफारिश की: