इस ट्यूटोरियल में हम सीखते हैं कि ईएसपी 8266 के प्रसिद्ध वाईफाई मॉड्यूल का उपयोग करके तस्वीर माइक्रोकंट्रोलर से ई-मेल कैसे भेजें । यह ट्यूटोरियल प्रोग्रामिंग के लिए PIC16F877A IC और MPLABX और XC8 कंपाइलर का उपयोग करता है।
इस ट्यूटोरियल के अंत में आप किसी भी सामान्य ई-मेल आईडी जैसे जीमेल, याहू आदि से किसी अन्य ई-मेल आईडी पर ई-मेल भेज सकेंगे। इसलिए यह ट्यूटोरियल मानता है कि आपको ESP8266-01 मॉड्यूल और PIC माइक्रोकंट्रोलर पर कुछ बुनियादी ज्ञान है। यदि नहीं, तो निम्न ट्यूटोरियल आपकी मदद करेंगे
- ESP8266 के साथ आरंभ करना
- PIC के साथ InterPacing ESP8266
तो चलिए शुरू करते हैं…
आपके साथ ई-मेल आईडी तैयार हो रही है:
एक बार जब आपने तय कर लिया कि आप किस मेल आईडी पर ईमेल भेजना चाहते हैं, तो नीचे दिए चरणों का पालन करें
चरण 1: https://www.smtp2go.com/ पर जाएं और एक नए उपयोगकर्ता के रूप में साइन अप करें। अपना नाम, ई-मेल पता और अपनी ई-मेल आईडी का पासवर्ड डालें जिससे आप मेल भेजना चाहते हैं।
यह ट्यूटोरियल मेल आईडी: aswinthcd @ gmail.com और पासवर्ड: circuitdigest का उपयोग करता है।
चरण 2: साइन अप पर क्लिक करें और आपको अपनी दर्ज की गई मेल आईडी पर एक सत्यापन मेल भेजा जाएगा। इस मामले में यह aswinthcd @ gmail.com है। मेल खोलें और "सक्रिय खाता" पर क्लिक करें
चरण 3: यदि आप पिछले पासवर्ड दर्ज करते हैं, तो यह फिर से पासवर्ड मांग सकता है। इस मामले में यह 'सर्किटडिगेस्ट' है। फिर आपको SMPT2GO वेबसाइट पर लॉग इन किया जाएगा। अब यह है कि आपका ई-मेल पता ESP8266 मॉड्यूल का उपयोग करके मेल भेजने के लिए तैयार है।
चरण 4: अंतिम चरण इस वेबसाइट https://www.base64encode.org/ का उपयोग करके ई-मेल आईडी और पासवर्ड को आधार 64 प्रारूप में संलग्न करना है। हम अपने PIC प्रोग्राम में इसका उपयोग करने जा रहे हैं
इस मामले में एन्कोडेड मान नीचे दी गई तालिका में दिखाए जाएंगे।
पैरामीटर |
सामान्य प्रारूप |
बेस 64 में एनकोडेड |
मेल आईडी |
aswinthcd @ gmail.com |
YXN3aW50aGNkQGdtYWlsLmNvbQ == |
कुंजिका |
सर्किटडिजस्ट |
Y2lyY3VpdGRpZ2VzdA == |
आपके हार्डवेयर तैयार हो रहे हैं:
परियोजना का पूरा योजनाबद्ध नीचे दिखाया गया है।
डीबगिंग उद्देश्य के लिए एलसीडी डिस्प्ले का उपयोग यहां किया जाता है। इससे जुड़ना आपके लिए अनिवार्य नहीं है। एलसीडी डिस्प्ले के बिना भी प्रोग्राम ठीक चलेगा। यदि आप इस ट्यूटोरियल में जाने वाले स्कीमैटिक्स के बारे में अधिक जानना चाहते हैं। (ESP के साथ Interfacing PIC)।
आप बस इस सर्किट को ब्रेडबोर्ड पर इकट्ठा कर सकते हैं और फिर प्रोग्रामिंग के साथ आगे बढ़ सकते हैं।
ई-मेल भेजने के लिए अपने PIC को प्रोग्रामिंग:
आदेश करने के लिए ESP8266 से एक ई-मेल भेजने के एटी आदेश के अनुक्रम ईएसपी मॉड्यूल के लिए भेजा जाना है। ESP8266 से ई-मेल भेजने के लिए निम्नलिखित चरणों का पालन करना होगा।
- मॉड्यूल को एपी + एसटीए (एक्सेस प्वाइंट और स्टेशन) मोड में सेट करें
- इंटरनेट कनेक्शन प्राप्त करने के लिए एक एक्सेस प्वाइंट से कनेक्ट करें
- कई कनेक्शन सक्षम करें
- किसी भी विशिष्ट पोर्ट पर एक सर्वर शुरू करें
- SMPT2GO वेबसाइट के साथ एक टीसीपी कनेक्शन स्थापित करें
- वेबसाइट के लॉगइन सेक्शन में नेविगेट करें
- बेस 64 प्रारूप में ई-मेल आईडी और पासवर्ड दर्ज करें
- मेल आईडी से दर्ज करें
- मेल आईडी दर्ज करें
- मेल का विषय दर्ज करें
- मेल का मुख्य भाग दर्ज करें
- मेल के अंत को इंगित करें
- मेल भेजें
- टीसीपी कनेक्शन से बाहर निकलें
यह थोड़ी लंबी और थकाऊ प्रक्रिया है लेकिन चिंता न करें। मैंने हेडर फ़ाइल बनाकर प्रक्रिया को सरल बना दिया है और आप इसे सीधे कुछ कार्यों को कॉल करके (नीचे समझाया गया) उपयोग कर सकते हैं जो इस कार्य को बहुत आसान बनाता है। हेडर फ़ाइल के साथ पूरा कोड यहाँ से डाउनलोड किया जा सकता है।
नोट: यदि आप एक नई परियोजना में कोड का उपयोग कर रहे हैं, तो सुनिश्चित करें कि आप हेडर फ़ाइल डाउनलोड करें और इसे अपने प्रोजेक्ट में जोड़ें।
मैंने नीचे दिए गए कोड के कुछ महत्वपूर्ण भागों की व्याख्या की है, अन्य भाग स्वयं व्याख्यात्मक हैं। लेकिन अगर आपको कोई संदेह है तो टिप्पणी अनुभाग का उपयोग करने के लिए स्वतंत्र महसूस करें।
/ * जांचें कि क्या ESP_PIC संचार सफल है * / do {Lcd_Set_Cursor (1,1); Lcd_Print_String ("ईएसपी नहीं मिला"); } जबकि (; esp8266_isStarted ()); // तब तक प्रतीक्षा करें जब तक ईएसपी वापस "ओके" Lcd_Set_Cursor (1,1) न भेजें; Lcd_Print_String ("ईएसपी जुड़ा हुआ है"); __delay_ms (1500); Lcd_Clear (); / * हाँ ईएसपी संचार सफल -प्राप्त * /
कोड का यह हिस्सा यह जांचने के लिए उपयोग किया जाता है कि क्या PIC और ESP8266 के बीच एक उचित संचार स्थापित है। केवल तभी, दोनों USART के माध्यम से डेटा भेज और प्राप्त कर सकते हैं, कार्यक्रम अगले चरण पर आगे बढ़ेगा।
esp8266_mode (3);
यह फ़ंक्शन ESP8266 को मोड 3 में सेट करेगा। मतलब है कि मॉड्यूल अब एक्सेस प्वाइंट के रूप में और सर्वर के रूप में भी कार्य कर सकता है।
esp8266_connect ("BPAS होम", "क्रैकसून");
इस फ़ंक्शन का उपयोग आपके ESP8266 मॉड्यूल को आपके Wifi राउटर से जोड़ने के लिए किया जाता है। इस स्थिति में "BPAS होम" मेरे Wifi सिग्नल का नाम है और "cracksun" मेरा पासवर्ड है। आपको अपने स्वयं के वाईफाई सिग्नल विवरण का उपयोग करना होगा।
_esp8266_enale_MUX (); // कई कनेक्शन सक्षम करें _esp8266_create_server (); // पोर्ट 80 पर एक सर्वर बनाएं
ये दो फ़ंक्शन कई कनेक्शन को सक्षम करने और पोर्ट 80 पर एक सर्वर बनाने के लिए उपयोग किए जाते हैं।
_esp8266_connect_SMPT2GO ();
अब, इस फ़ंक्शन का उपयोग करके हम SMPT2GO के साथ एक टीसीपी कनेक्शन स्थापित कर सकते हैं। एक बार कनेक्शन स्थापित होने के बाद यह फ़ंक्शन वेबसाइट के लॉगिन पृष्ठ पर भी चला जाता है।
_esp8266_login_mail ("YXN3aW50aGNkQGdtYWlsLmNvbQ ==", "Y2lyY3VpdGRpZ2Vzdn ==");
आधार 64 प्रारूप में अपनी ईमेल आईडी और पासवर्ड दर्ज करने के लिए इस फ़ंक्शन का उपयोग करें। जैसा कि आप देख सकते हैं कि ये एन्कोडेड मूल्य समान हैं जो ऊपर दी गई तालिका में दिखाए गए हैं। आपके ई-मेल आईडी और पासवर्ड के आधार पर आपके एन्कोड किए गए मान अलग-अलग होंगे।
_esp8266_mail_sendID ("aswinthcd @ gmail.com");
इस फ़ंक्शन का उपयोग प्रेषक आईडी के नाम को परिभाषित करने के लिए किया जाता है। इस ट्यूटोरियल में मैं अपनी जीमेल आईडी aswinthcd @ gmail.com का उपयोग करके मेल भेज रहा हूं इसलिए मैंने इसे एक पैरामीटर के रूप में पारित किया है।
_esp8266_mail_recID ("mailtoaswinth @ gmail.com");
इस फ़ंक्शन का उपयोग रिसीवर आईडी के नाम को परिभाषित करने के लिए किया जाता है। मैं अपने मेल अपने दूसरे जीमेल खाते में भेजना चाहूंगा, इसलिए मैंने mailtoasiwnth @ gmail.com के रूप में पैरामीटर पास किया है। आप अपनी इच्छित मेल आईडी का उपयोग कर सकते हैं
_esp8266_start_mail ();
यह फ़ंक्शन SMPT2GO सर्वर को निर्देश देता है कि हम मेल के विषय और बॉडी में फीड करने जा रहे हैं और इसे उसी के लिए तैयार करते हैं।
_esp8266_mail_subject ("ईएसपी 8266 से मेल");
आप मेल के विषय को परिभाषित करने के लिए इस फ़ंक्शन का उपयोग कर सकते हैं। एक उदाहरण के रूप में मैंने मेल के विषय के रूप में "ईएसपी 8266 से मेल" का उपयोग किया है।
_esp8266_mail_body ("परीक्षण सफलता -CircuitDigest");
विषय दर्ज करने के बाद आप इस फ़ंक्शन का उपयोग करके मेल के शरीर में प्रवेश कर सकते हैं। एक उदाहरण के रूप में मैंने अपने मेल के मुख्य भाग के रूप में "परीक्षण सफलता-सर्किलडिजस्ट" निर्धारित किया है।
_esp8266_End_mail ();
अब जब हमने मेल के विषय और निकाय में प्रवेश कर लिया है तो हमें SMPT2GO सर्वर को निर्देश देना होगा कि हम मेल में विवरण जोड़ने के साथ कर रहे हैं। यह फ़ंक्शन का उपयोग करके किया जा सकता है
_esp8266_End_mail ();
_esp8266_disconnect_SMPT2GO ();
अंत में मेल भेजने के बाद, हमें SMPT2GO सर्वर के साथ टीसीपी कनेक्शन को समाप्त करना होगा। यह उपरोक्त फ़ंक्शन का उपयोग करके किया जाता है।
काम कर रहे:
एक बार जब आप अपने हार्डवेयर और प्रोग्राम के साथ किया जाता है। बस आप PIC MCU में कोड डंप। फिर अपने सर्किट को चालू करें। यदि सब कुछ अपेक्षा के अनुसार हो जाता है, तो आपके एलसीडी को प्रक्रिया की स्थिति प्रदर्शित करनी चाहिए और अंत में "मेल भेजा गया" कहकर समाप्त करना चाहिए जैसा कि नीचे दिए गए वीडियो में दिखाया गया है। आपका हार्डवेयर कुछ इस तरह दिख सकता है।
एक बार जब एलसीडी दिखाता है कि मेल भेजा गया है, तो भेजे गए मेल के लिए अपने इनबॉक्स और स्पैम फ़ोल्डर की जांच करें। आपको नीचे दिखाए गए अनुसार मेल प्राप्त होना चाहिए।
वह यह है कि अब आप एक सेंसर डेटा को पढ़कर और उन्हें अपनी मेल आईडी पर भेजकर अपनी स्वयं की आईओटी परियोजनाएं बना सकते हैं। मेल के माध्यम से अलर्ट ट्रिगर करके अपने घर या ऑटोमोबाइल के लिए एक सुरक्षा चेतावनी प्रणाली बनाएं।
यदि आपको कोई संदेह है या बीच में अटक जाते हैं तो कृपया टिप्पणी अनुभाग का उपयोग करें और मुझे आपकी मदद करने में खुशी होगी।