विषयसूची:

ESP8266 डिवाइस के साथ कंप्यूटर को दूरस्थ रूप से बंद या पुनरारंभ करें: 10 कदम (चित्रों के साथ)
ESP8266 डिवाइस के साथ कंप्यूटर को दूरस्थ रूप से बंद या पुनरारंभ करें: 10 कदम (चित्रों के साथ)

वीडियो: ESP8266 डिवाइस के साथ कंप्यूटर को दूरस्थ रूप से बंद या पुनरारंभ करें: 10 कदम (चित्रों के साथ)

वीडियो: ESP8266 डिवाइस के साथ कंप्यूटर को दूरस्थ रूप से बंद या पुनरारंभ करें: 10 कदम (चित्रों के साथ)
वीडियो: 8 खौफ़नाक और रहस्यमयी वीडियोस जिन्हें हर कोई नहीं देख सकता , हिम्मत है तो इस विडियो को पूरा जरुर देखे 2024, जुलाई
Anonim
Image
Image

यहां स्पष्ट होने के लिए, हम आपका कंप्यूटर बंद कर रहे हैं, किसी और का कंप्यूटर नहीं।

कथा कुछ इस प्रकार है:

फेसबुक पर मेरे एक दोस्त ने मुझे मैसेज किया और कहा कि उसके पास एक दर्जन कंप्यूटर हैं जो गणित का एक गुच्छा चला रहे हैं, लेकिन हर सुबह 3 बजे वे लॉक हो जाते हैं। चूंकि कंप्यूटर 30 मिनट की दूरी पर हैं, इसलिए कंप्यूटर को पावर-साइकिल करने के लिए दो शहरों (हम साउथ डकोटा में रहते हैं) को पार करना एक बहुत बड़ा उपद्रव है। उसने पूछा, क्या मैं उसके लिए एक IoT डिवाइस बना सकता हूं जो उसे अपने आरामदायक बिस्तर के आराम से आपत्तिजनक कंप्यूटर को पुनरारंभ करने की अनुमति देगा?

एक चुनौती से कभी नहीं चूकने के लिए, मैं उसके लिए कुछ करने के लिए तैयार हो गया। यही वह प्रोजेक्ट है।

दो बिट-शिफ्ट पंजीकृत, एक ESP8266 ESP01, मुट्ठी भर एलईडी और कुछ होममेड ऑप्टोइसोलेटर्स का उपयोग करते हुए, यदि आप ईबे पर चीन से पुर्जे खरीदते हैं तो पूरी परियोजना की लागत लगभग $ 5 है। शायद अमेज़न से $20।

यह बहुत जटिल सोल्डरिंग के साथ एक जटिल निर्माण है। मेरे स्क्रू-अप और री-सोल्डरिंग की गिनती नहीं करते हुए, मुझे इसे बनाने में 20 घंटे का बेहतर हिस्सा लगा, लेकिन यह अद्भुत निकला और पूरी तरह से काम किया।

चलो शुरू करें।

चरण 1: प्रोटोटाइप बोर्ड

प्रोटोटाइप बोर्ड
प्रोटोटाइप बोर्ड
प्रोटोटाइप बोर्ड
प्रोटोटाइप बोर्ड

हमेशा एक प्रोटोटाइप ब्रेडबोर्ड के साथ सभी प्रोजेक्ट शुरू करें। यह निर्धारित करने का सबसे अच्छा तरीका है कि क्या आपके पास सभी घटक हैं और उम्मीद के मुताबिक काम करते हैं। यह परियोजना थोड़ी जटिल है, इसलिए मैं आगे बढ़ने से पहले इसे ब्रेडबोर्ड पर बनाने की अत्यधिक अनुशंसा करता हूं।

आपको जिन भागों की आवश्यकता होगी वे हैं:

  • एक ESP8266 ESP01 (हालाँकि कोई भी ESP8266 डिवाइस काम करेगा)
  • दो 8-बिट शिफ्ट रजिस्टर, मैंने 74HC595N का उपयोग किया
  • 16 एल ई डी, मैंने स्ट्रॉ हैट सफेद एल ई डी का उपयोग किया जो 3.3V पर संचालित होता है। यदि आप दूसरों का उपयोग करते हैं, तो आपको प्रतिरोधों की आवश्यकता हो सकती है।
  • तीन 3k3-ओमपुलडाउन प्रतिरोधक
  • जम्पर तार और एक ब्रेडबोर्ड

आपको कम से कम एक ऑप्टोइसोलेटर बनाने की भी आवश्यकता होगी। मैंने ब्लैक सिकुड़ ट्यूबिंग, एक चमकदार सफेद एलईडी, एक 220-ओम रेसिस्टर और एक फोटोरेसिस्टर का इस्तेमाल किया। 220-ओम रोकनेवाला को एलईडी के कैथोड से मिलाएं और फिर एलईडी और फोटोरेसिस्टर को एक दूसरे के सामने सिकुड़ते ट्यूबिंग के अंदर सील कर दें। लेकिन हम बाद के चरण में उन तक पहुंचेंगे।

अगले चरण में दिए गए वायरिंग आरेख का पालन करें। वायरिंग काफी सीधी है।

क्योंकि ESP8266 3.3V पर काम करता है, सुनिश्चित करें कि आप इसे उचित रूप से पावर देते हैं।

चरण 2: विल-सीएडी का उपयोग कर स्कीमा

विल-सीएडी का उपयोग कर स्कीमा
विल-सीएडी का उपयोग कर स्कीमा

योजनाबद्ध बहुत सीधा है। हम 8-बिट शिफ्ट रजिस्टर के मानक वायर-अप का पालन कर रहे हैं। चूंकि मैं दो 8-बिट शिफ्ट रजिस्टर का उपयोग कर रहा हूं, इसलिए उन्हें अपनी 'घड़ी' और 'कुंडी' पिन पर एक साथ जंजीर से बांधना होगा।

क्योंकि ESP01 में केवल दो GPIO पिन हैं, हमें आउटपुट के रूप में TX और RX का पुन: उपयोग करने की आवश्यकता है, जो हमारे उद्देश्यों के लिए ठीक काम करता है। यदि आप अधिक नियंत्रण चाहते हैं तो आप दो से अधिक GPIO पिन वाले ESP-12 या किसी अन्य संस्करण का उपयोग कर सकते हैं। लेकिन यह परियोजना की लागत में एक और $ 2 जोड़ देगा - जो सिर्फ पागल-बात है।

हमें अपने 8-बिट शिफ्ट रजिस्टर और ESP01 पिन को बूट पर ऊंचा रखने की आवश्यकता है, ताकि वे अजीब चीजें न करें या प्रोग्राम मोड में न जाएं। मैंने तीन 3k3 प्रतिरोधों का उपयोग किया, बड़े या छोटे मान भी काम करेंगे। यह मान ESP01 पर वैकल्पिक पिन का लाभ उठाने के बारे में बात करने वाले गाइडों से लिया गया था।

ESP01 (ESP8266)

  • TX घड़ी पिन 3k3 पुलअप
  • RX कुंडी पिन 3k3 पुलअप
  • 00 सीरियल डेटा 3k3 पुलअप
  • 02 फ्लोटिंग

8-बिट शिफ्ट रजिस्टर (74HC595H)

  • वीसीसी 3.3V
  • OE 3.3V (यह सक्षम पिन है)
  • जीएनडी जीएनडी
  • CLR GND (यह क्लियर पिन को क्लियर होने से रोकता है)
  • और एल ई डी, जो जमीन पर जाते हैं।

चरण 3: ESP8266 कोड

ESP8266 कोड
ESP8266 कोड

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

"रैक-रिबूट" परियोजना:

github.com/bluemonkeydev/arduino-projects/…

"सेंसरबेस" वर्ग यहां उपलब्ध है। यदि आप मेरे कोड का "उपयोग" करना चाहते हैं तो यह आवश्यक है:

github.com/bluemonkeydev/arduino-projects/…

ध्यान देने योग्य कुछ बातें हैं। कोड बहुत अच्छी तरह से प्रलेखित है।

  1. मैं बहुत आलसी डेवलपर हूं, इसलिए मैंने सभी पुन: प्रयोज्य ESP8266 कोड को "SensorBase" नामक एक वर्ग में डाल दिया। आप इसे जीथब पर भी, ऊपर दिए गए लिंक पर पा सकते हैं।
  2. आपको अपने MQTT ब्रोकर के सर्वर, उपयोगकर्ता नाम, पासवर्ड और पोर्ट में टाइप करना होगा। जब हम CloudMQTT सेवा बनाते हैं तो उन्हें थोड़ा और नीचे पाया जा सकता है।
  3. आपको मेरे विषय सिंटैक्स प्रारूप का पालन करने की आवश्यकता नहीं है। हालांकि, मैं इसका पालन करने की सलाह दूंगा।
  4. इस कोड के बारे में कुछ भी चालाक नहीं है। यह बहुत व्यावहारिक है।

चरण 4: परफ़बोर्ड लेआउट

परफ़बोर्ड लेआउट
परफ़बोर्ड लेआउट

यह प्रोजेक्ट एक मिनी-डेटासेंटर पर स्थापित किया जाएगा, इसलिए मैंने अंतिम डिज़ाइन के लिए केवल परफ़ बोर्ड का उपयोग करने का निर्णय लिया। परफ़बोर्ड इस तरह की परियोजनाओं के लिए बहुत अच्छा काम करता है और कस्टम ग्राफ़ पेपर के एक टुकड़े का उपयोग करके लेआउट करना आसान है। यहां आप मेरा लेआउट देखेंगे। बेशक, आप इसे अलग तरीके से करना चुन सकते हैं।

मेरे प्रोजेक्ट को दो 8-बिट शिफ्ट रजिस्टर की जरूरत थी, इसलिए मैंने बीच में उनकी स्थिति के साथ शुरुआत की। मुझे पता था कि ऑप्टोइसोलेटर्स के लिए मेरे कनेक्टर अभी के लिए साधारण महिला हेडर होंगे, भले ही यह एक आदर्श समाधान नहीं है।

मुझे एल ई डी पसंद है, और इसके लिए प्रत्येक ऑप्टोइसोलेटर सर्किट के लिए एक एलईडी की आवश्यकता होती है। मुझे पता था कि अगर मैं सीधे बोर्ड पर तुरंत प्रतिक्रिया प्राप्त कर सकता हूं तो परीक्षण चरण असीम रूप से आसान होगा, लेकिन मुझे यह भी पता था कि उन एल ई डी से सोल्डर को भारी दर्द होगा। और वे थे। मेरे पास 5 मिमी एलईडी से छोटा कुछ भी नहीं था, इसलिए मुझे उन्हें डगमगाना पड़ा। मेरे अंतिम डिज़ाइन ने कैथोड का एक ज़िग-ज़ैग पैटर्न बनाया क्योंकि मैं जमीन के तारों पर एनोड नहीं चलाना चाहता था। यह एक अच्छा डिजाइन साबित हुआ। एलईडी तार 8-बिट शिफ्ट रजिस्टर के ऊपर जुड़ते हैं और बोर्ड के शीर्ष पर सरलता के लिए परिरक्षित तारों के साथ चलते हैं।

शक्ति के लिए, मैं इसे किसी एक कंप्यूटर से सीधे संचालित करने के लिए एक पुराने USB केबल से चलाना चाहता था। यह ठीक काम करेगा क्योंकि यूएसबी पोर्ट आमतौर पर कंप्यूटर बंद होने पर भी संचालित होते हैं। मैंने बिजली को 3.3V तक कम करने के लिए LM317 रैखिक वोल्टेज नियामक का उपयोग किया। 3.3V रेगुलेटर ने भी काम किया होगा, लेकिन मेरे पास एक नहीं था।

बहुत सारे तारों को पार करने से बचने के लिए, मैंने कुछ तारों को परफेक्ट बोर्ड के ऊपर की तरफ चलाया, जिससे मैं बचने की कोशिश करता हूँ। ध्यान रखें कि थ्रू-होल प्रवाहकीय होते हैं, इसलिए शॉर्ट्स से बचने के लिए परिरक्षित तारों का उपयोग करें। बोर्ड के शीर्ष पर होने वाले कनेक्शन मेरे आरेख पर धराशायी रेखाओं में दिखाए जाते हैं।

चरण 5: मिलाप बोर्ड

टांका लगाने वाला बोर्ड
टांका लगाने वाला बोर्ड

मेरा अंतिम टांका लगाने वाला बोर्ड वास्तव में अच्छा निकला। जैसा कि अपेक्षित था, बिना किसी शॉर्ट्स के सही ढंग से टांका लगाने के लिए शीर्ष पर लगे एल ई डी ने बहुत काम किया। आपके द्वारा एलईडी और हेडर को मिलाप करने के बाद, अपने मल्टीमीटर का उपयोग करके यह निर्धारित करने के लिए कि क्या आपके पास कोई शॉर्ट्स है। अभी पता लगाना सबसे अच्छा है।

एल ई डी के अलावा, बाकी सब कुछ बहुत अच्छा चला गया। मुझे कुछ कनेक्शन फिर से करने पड़े, लेकिन कुछ रोगियों के साथ, कुछ डिबगिंग, और थोड़ा री-सोल्डरिंग, सब कुछ ठीक काम करेगा।

आप इस फोटो से देखेंगे कि मैंने ऑप्टोइसोलेटर्स को भी जोड़ दिया है, जिसमें मैंने 8-वायर कैट -5 केबल का इस्तेमाल किया है। इसका कारण यह है कि यह सुपर सस्ता है, विभाजित करना आसान है, और अगले चरण में उन ऑप्टोइसोलेटर्स के बारे में अच्छी तरह से चिह्नित है।

चरण 6: ऑप्टोइसोलेटर बनाना

ऑप्टोइसोलेटर बनाना
ऑप्टोइसोलेटर बनाना

बेशक, आपको अपने स्वयं के ऑप्टोइसोलेटर बनाने की आवश्यकता नहीं है। पेनीज़ के लिए कई व्यावसायिक संस्करण उपलब्ध हैं और वे बेहतर ढंग से काम करेंगे क्योंकि वे बिना किसी प्रतिरोध के सीधे कंप्यूटर की बिजली लाइनों को चलाएंगे। लेकिन, मेरे पास कोई ऑप्टोइसोलेटर नहीं था, इसलिए मुझे एक एलईडी, रेसिस्टर और फोटोरेसिस्टर का उपयोग करके मेरा बनाना पड़ा।

यह पुष्टि करने के बाद कि ब्लैक सिकुड़ ट्यूबिंग की एक आस्तीन के भीतर, मेरे मीटर से कम के साथ "ऑफ" प्रतिरोध पढ़ सकता है और "ऑन" प्रतिरोध कुछ हज़ार ओम था, मैंने एक पुराने मदरबोर्ड पर अंतिम परीक्षण किया। इसने मेरे लिए पूरी तरह से काम किया। मुझे संदेह है कि कुछ कंप्यूटर कम या ज्यादा संवेदनशील हो सकते हैं, लेकिन जिन मदरबोर्ड पर मैंने परीक्षण किया है, इस कॉन्फ़िगरेशन ने ठीक काम किया है।

आप फोटोरेसिस्टर में अधिकतम प्रकाश प्राप्त करने के लिए वास्तव में चमकदार सफेद एलईडी का उपयोग करना चाहेंगे। मैंने कई विकल्पों की कोशिश नहीं की, लेकिन चमकदार सफेद एलईडी और 220-ओम रोकनेवाला निश्चित रूप से अच्छी तरह से काम करता है।

चरण 7: CloudMQTT सेटअप

क्लाउडएमक्यूटीटी सेटअप
क्लाउडएमक्यूटीटी सेटअप
क्लाउडएमक्यूटीटी सेटअप
क्लाउडएमक्यूटीटी सेटअप
क्लाउडएमक्यूटीटी सेटअप
क्लाउडएमक्यूटीटी सेटअप

कोई भी MQTT सेवा, या Blynk जैसी समान IoT सेवा काम करेगी, लेकिन मैं इस प्रोजेक्ट के लिए CloudMQTT का उपयोग करना चुनता हूं। मैंने अतीत में कई परियोजनाओं के लिए CloudeMQTT का उपयोग किया है, और चूंकि यह परियोजना किसी मित्र को सौंपी जाएगी, इसलिए एक नया खाता बनाना समझ में आता है जिसे स्थानांतरित भी किया जा सकता है।

CloudMQTT खाता बनाएं और फिर एक नया "उदाहरण" बनाएं, "प्यारा बिल्ली" आकार चुनें क्योंकि हम इसे केवल नियंत्रण के लिए उपयोग करते हैं, कोई लॉगिंग नहीं। CloudMQTT आपको एक सर्वर नाम, उपयोगकर्ता नाम, पासवर्ड और पोर्ट नंबर प्रदान करेगा। (ध्यान दें कि पोर्ट नंबर मानक MQTT पोर्ट नहीं है)। इन सभी मानों को संबंधित स्थानों में अपने ESP8266 कोड में स्थानांतरित करें, यह सुनिश्चित करते हुए कि मामला सही है। (गंभीरता से, मानों को कॉपी/पेस्ट करें)

आप CloudMQTT पर "वेबसोकेट UI" पैनल का उपयोग अपने डिवाइस के कनेक्शन, बटन पुश, और विषम परिदृश्य में देखने के लिए कर सकते हैं कि आपको एक त्रुटि, एक त्रुटि संदेश मिलता है।

Android MQTT क्लाइंट को भी कॉन्फ़िगर करते समय आपको इन सेटिंग्स की आवश्यकता होगी, इसलिए यदि आवश्यक हो तो मानों को नोट करें। उम्मीद है, आपका पासवर्ड आपके फोन पर टाइप करने के लिए बहुत जटिल नहीं है। आप इसे CloudMQTT में सेट नहीं कर सकते।

चरण 8: एमक्यूटीटी एंड्रॉइड क्लाइंट

एमक्यूटीटी एंड्रॉइड क्लाइंट
एमक्यूटीटी एंड्रॉइड क्लाइंट
एमक्यूटीटी एंड्रॉइड क्लाइंट
एमक्यूटीटी एंड्रॉइड क्लाइंट
एमक्यूटीटी एंड्रॉइड क्लाइंट
एमक्यूटीटी एंड्रॉइड क्लाइंट
एमक्यूटीटी एंड्रॉइड क्लाइंट
एमक्यूटीटी एंड्रॉइड क्लाइंट

कोई भी Android (या iPhone) MQTT क्लाइंट काम करेगा, लेकिन मुझे MQTT डैश पसंद है। MQTT डैश का उपयोग करना आसान है, बहुत प्रतिक्रियाशील है, और इसमें वे सभी विकल्प हैं जिनकी आपको आवश्यकता होगी।

एक बार स्थापित होने के बाद, एक MQTT सर्वर सेट करें, सर्वर, पोर्ट, उपयोगकर्ता नाम और पासवर्ड को अपने उदाहरण के मानों के साथ पॉप्युलेट करें, न कि CloudMQTT में आपकी लॉगिन जानकारी। आप किसी भी क्लाइंट नाम का उपयोग कर सकते हैं जो आप चाहते हैं।

यदि आपने सब कुछ सही टाइप किया है, तो यह स्वचालित रूप से आपके MQTT सर्वर से जुड़ जाएगा और आपको एक खाली स्क्रीन दिखाएगा क्योंकि आपने अभी तक कोई बटन, टेक्स्ट या संदेश सेट नहीं किया है। रिक्त स्क्रीन पर, आपको ऊपरी दाएं कोने में एक "+" दिखाई देता है, उस पर क्लिक करें और फिर "चुनें/बटन" चुनें। हम प्रति कंप्यूटर एक " Select/Button " जोड़ेंगे, इसलिए 8 या 16 या उससे कम।

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

प्रत्येक कंप्यूटर उस विषय का उपयोग करेगा जो आपके कोड में निर्दिष्ट मानों से मेल खाता है। यदि आप मेरी परंपराओं का पालन करते हैं, तो वे "क्लस्टर/रैक-01/कंप्यूटर/01" होंगे। हमारे कोड से मेल खाने के लिए "चालू" और "बंद" मानों को बदलना सबसे अच्छा होगा। "0" और "1" के बजाय, क्रमशः "चालू" और "बंद" मानों का उपयोग करें। मैं क्यूओएस (1) का उपयोग करने की भी सिफारिश करूंगा क्योंकि हम सर्वर से पुष्टि की उम्मीद करेंगे।

एक जोड़ने के बाद, आप एक गुच्छा बनाने के लिए "क्लोन" विकल्प को लंबे समय तक दबा सकते हैं और उसका उपयोग कर सकते हैं, फिर उनका नाम और विषय बदल सकते हैं।

काफी आसान।

चरण 9: Wifi. पर अपना ESP8266 प्राप्त करना

Wifi. पर अपना ESP8266 प्राप्त करना
Wifi. पर अपना ESP8266 प्राप्त करना

ESP8266 Wifi प्रबंधक मॉड्यूल का उपयोग करके, हमारे डिवाइस को Wifi पर प्राप्त करना एक हवा है। यदि आपने मेरी सेंसरबेस कक्षा का उपयोग किया है, तो यह पहले से ही अंतर्निहित है। यदि नहीं, तो Wifi प्रबंधक के पृष्ठ पर दिए गए निर्देशों का पालन करें।

Wifi प्रबंधक बूट पर आपके SSID से कनेक्ट करने का प्रयास करेगा, जो ऐसा नहीं कर सकता क्योंकि आपने इसे कभी भी अपना SSID नहीं बताया है, इसलिए यह स्वचालित रूप से एक्सेस पॉइंट मोड (या AP मोड) में चला जाएगा और आपके SSID के लिए पूछने वाला एक साधारण वेब पेज पेश करेगा। & पासवर्ड। अपने फ़ोन या लैपटॉप का उपयोग करते हुए, नए उपलब्ध वायरलेस नेटवर्क को SSID नाम "ESP_xxxxxx" से कनेक्ट करें, जहां "xxxxxx" कुछ यादृच्छिक (वास्तव में यादृच्छिक नहीं) अनुक्रम है। (पूरे निर्देश वाईफाई प्रबंधक पृष्ठ पर पाए जा सकते हैं।)

एक बार कनेक्ट होने के बाद, अपना वेब ब्राउज़र लाएं और इसे 192.168.4.1 पर इंगित करें, अपना एसएसआईडी और पासवर्ड टाइप करें, और सहेजें पर क्लिक करें।

अब आप इंटरनेट पर हैं, और आपके IoT डिवाइस में "I" भाग काम कर रहा है!

चरण 10: अंतिम कनेक्शन और परीक्षण

अंतिम कनेक्शन और परीक्षण
अंतिम कनेक्शन और परीक्षण

सब कुछ कर दिया।

सब कुछ जोड़ने के लिए, अपने कंप्यूटर के पावर बटन केबल का पता लगाएं जहां वह मदरबोर्ड से मिलता है। आपको हेडर की दो पंक्तियों को तारों और कनेक्टर्स के एक गुच्छा के साथ देखना चाहिए। आमतौर पर, उन्हें बहुत अच्छी तरह से लेबल किया जाता है। अपने स्विच को अनप्लग करें और ऑप्टोइसोलेटर प्लग को प्लग करें। मैंने अपने ऊपर कुछ "ड्यूपॉन्ट" प्लग लगाए, इसलिए उन्होंने पावर केबल की तरह ही प्लग इन किया। इस छोर पर ध्रुवीयता कोई मायने नहीं रखती है, लेकिन सुनिश्चित करें कि आपके पास दूसरे छोर की ध्रुवता सही है - वह जो आपके कस्टम बोर्ड पर जा रहा है।

और यह पूरी तरह से काम करता है। MQTT डैश क्लाइंट (या समान टूल) का उपयोग करके, आप अपने कंप्यूटर को दूरस्थ रूप से पावर दे सकते हैं।

अपने ऐप पर संबंधित चेक बटन दबाएं, और एक बार जब ऐप एमक्यूटीटी सर्वर से "ऑफ" संदेश के साथ वापस सुनता है, तो बटन वापस अनियंत्रित में बदल जाएगा।

यह बिना किसी समस्या के कुछ हफ्तों से चल रहा है। हमने देखा कि कंप्यूटर पर बटन को कम खींचने के लिए समय की अवधि को बढ़ाने की आवश्यकता है। हम 1 पूर्ण सेकंड के साथ समाप्त हुए। इस मान को MQTT सर्वर के माध्यम से एक सेटटेबल मान के रूप में उजागर किया जा सकता है, या आप अपनी इच्छा के आधार पर मान को हार्डवायर कर सकते हैं।

शुभकामनाएँ, और मुझे बताएं कि आपका परिणाम कैसा रहा।

सिफारिश की: