- ESP8266 क्या है?
- वाईफ़ाई सिद्धांत की मूल बातें:
- ESP8266 के साथ प्रोग्रामिंग के प्रकार:
- कार्यक्रम ESP8266 मॉड्यूल के लिए हार्डवेयर:
- सामग्री की आवश्यकता:
- सर्किट स्पष्टीकरण:
- ईएसपी 8266 का निर्माण बोर्ड बोर्ड:
इंटरनेट ऑफ थिंग्स और होम ऑटोमेशन वास्तव में हाल के दिनों में एक सम्मोहित विषय रहा है। अपने दम पर कुछ बनाना जो वर्ल्ड वाइड वेब से संवाद कर सकता है और दुनिया में कहीं से भी पहुँचा जा सकता है, वास्तव में अच्छा लगता है ना?
लेकिन रुकें!!! यह भी जटिल लगता है ???….
तो यह मेरे लिए था, मुझे लगा कि इंटरनेट बनाने के लिए चीजों को बनाने में बहुत समय और कौशल लगेगा। नहीं, मैं पूरी तरह से गलत था, एस्प्रेसिफ सिस्टम्स से ईएसपी 8266 नामक इस शानदार मॉड्यूल के लिए धन्यवाद । अब, आप इस मॉड्यूल की मदद से IoT प्रोजेक्ट्स के लिए अपने दरवाजे आसानी से खोल सकते हैं। यह कम लागत, छोटे आकार का मॉड्यूल चमत्कार कर सकता है और वास्तव में सरल और उपयोग में आसान है, बशर्ते हम सही चरणों का पालन करें।
इस ट्यूटोरियल का उद्देश्य आपको इस ESP8266-01 मॉड्यूल से परिचित कराना है और इसके साथ शुरुआत करने में आपकी सहायता करना है। शायद, आप पहले से ही अपने मॉड्यूल को ले आए हैं और इसका उपयोग करने की कोशिश करते हुए फंस गए हैं। फिर, आप अकेले चिंता नहीं करते हैं, कई लोगों को मॉड्यूल के साथ शुरू करना बहुत मुश्किल लगता है क्योंकि इस मॉड्यूल के लिए कोई उचित मार्गदर्शन या प्रलेखन नहीं है। इस ट्यूटोरियल को बनाने का यही कारण है। यहां दिए गए निर्देशों का पालन करें और आप कुछ ही समय में अपने ESP8266-01 मॉड्यूल को प्राप्त करने और चलाने में सक्षम होना चाहिए, यहां हम ESP8266 को प्रोग्राम करने के लिए TTL सीरियल एडेप्टर मॉड्यूल के लिए FTDI USB का उपयोग करेंगे । ट्यूटोरियल के अंत में विस्तृत वीडियो देखें ।
विषय में आने से पहले ESP8266-01 मॉड्यूल के बारे में कुछ मूल बातें शामिल करने देता है।
ESP8266 क्या है?
ज्यादातर लोग ESP8266 को WIFI मॉड्यूल कहते हैं, लेकिन यह वास्तव में एक माइक्रोकंट्रोलर है। ESP8266 एस्प्रेसिफ सिस्टम्स द्वारा विकसित माइक्रोकंट्रोलर का नाम है जो शंघाई से बाहर स्थित एक कंपनी है। इस माइक्रोकंट्रोलर में वाईफ़ाई संबंधित गतिविधियों को करने की क्षमता होती है इसलिए इसे व्यापक रूप से एक वाईफ़ाई मॉड्यूल के रूप में उपयोग किया जाता है ।
ESP8266-01 से लेकर ESP8266-12 तक कई प्रकार के ESP8266 मॉड्यूल उपलब्ध हैं। ट्यूटोरियल में जो हम उपयोग कर रहे हैं वह ESP8266-01 है क्योंकि यह सबसे सस्ता है और आसानी से उपलब्ध है। हालांकि सभी ईएसपी मॉड्यूल में केवल एक प्रकार का ईएसपी प्रोसेसर होता है, जो भिन्न होता है वह केवल ब्रेकआउट बार्ड का उपयोग किया जाता है। ESP8266-01 के ब्रेकआउट बोर्ड में केवल 2 GPIO पिन होंगे जबकि अन्य बोर्डों में यह अधिक होगा।
मॉड्यूल का पूरा विनिर्देश नीचे दी गई तालिका में दिया गया है
वोल्टेज |
3.3 |
वर्तमान खपत |
10uA-170mA |
चमकती के दौरान अधिकतम वर्तमान खपत |
800mA |
फ्लैश मेमोरी |
16MB (512K सामान्य) |
प्रोसेसर |
Tensilica L106 32 बिट |
प्रोसेसर की गति |
80-160 मेगाहर्ट्ज |
राम |
32K + 80K |
जीपीआईओ |
17 (लेकिन अधिकांश बहुविकल्पी हैं) |
एनॉलॉग से डिजिटल परिवर्तित करने वाला उपकरण |
1 (10-बिट) |
अधिकतम टीसीपी कनेक्शन |
५ |
ठीक है कुछ चीजें जो आपको विनिर्देश के बारे में आश्चर्यचकित कर सकती थीं, वह यह है कि, YES ESP8266 मॉड्यूल एक ADC कन्वर्टर के साथ आता है और यह आपके डिवाइस को चमकाने के दौरान 0.8A की बहुत अधिक मात्रा का उपभोग करता है।
इसके अलावा हमारे विभिन्न ESP8266 आधारित दिलचस्प IoT प्रोजेक्ट्स की जाँच करें।
वाईफ़ाई सिद्धांत की मूल बातें:
ट्रांसफर कंट्रोल प्रोटोकॉल (टीसीपी), इंटरनेट प्रोटोकॉल (आईपी), यूजर डेटाग्राम प्रोटोकॉल (यूडीपी), एक्सेस प्वाइंट (एपी), स्टेशन (स्टेशन), सर्विस सेट आइडेंटिफायर (एसएसआईडी), एप्लीकेशन प्रोग्रामिंग इंटरफेस (एपीआई), वेबसर्वर…। ।
क्या उपरोक्त सभी शब्द आपके लिए मायने रखते हैं?
अगर हाँ। फिर, बिंगो आप इस हिस्से को कूद सकते हैं और अगले भाग में जा सकते हैं।
यदि नही। फिर आपको उन कई बिजली के छात्रों में से एक होना चाहिए, जिन्होंने इन सभी शब्दों को ठीक वैसे ही निहारा जैसे मैंने तब किया था जब मुझे पहली बार इन सभी सामानों से परिचित कराया गया था। इसलिए, आइए हम इन सभी शर्तों को जल्दी से पूरा करें क्योंकि केवल तब हम आईओटी की दुनिया में अपना प्रवेश कर सकते हैं।
ट्रांसफर कंट्रोल प्रोटोकॉल (टीसीपी):
हम में से अधिकांश को पता होगा कि इसका क्या मतलब है। हां, ये नियमों का एक सेट है जिसके आधार पर इंटरनेट काम करता है। चूंकि ESP8266 में वाईफ़ाई कनेक्शन स्थापित करने की क्षमता है। उच्च स्तर पर वाई-फाई वायरलेस लिंक पर टीसीपी / आईपी कनेक्शन में भाग लेने की क्षमता है। आप टीसीपी / आईपी प्रोटोकॉल या यूडीपी प्रोटोकॉल पर काम करने के लिए अपना ईएसपी बना सकते हैं।
उपयोगकर्ता डेटाग्राम प्रोटोकॉल (UDP):
यूडीपी भी एक अन्य प्रकार का इंटरनेट प्रोटोकॉल है। इस प्रकार का संचार टीसीपी की तुलना में तेज है लेकिन यह कम सटीक है। कारण यह है कि टीसीपी अपने संचार के दौरान एक पावती का उपयोग करता है लेकिन यूडीपी नहीं करता है। टीसीपी का उपयोग ज्यादातर नेटवर्क में किया जाता है, जहां आवश्यकता उच्च विश्वसनीयता होती है। यूडीपी का उपयोग उन स्थानों पर किया जाता है जहां गति की विश्वसनीयता की तुलना में उच्च प्राथमिकता है। उदाहरण के लिए, वीडियो कॉन्फ्रेंसिंग में यूडीपी का उपयोग किया जाता है, क्योंकि वहां पर भी यदि कुछ पिक्सेल को प्रेषित नहीं किया जाता है तो यह वीडियो की गुणवत्ता को प्रभावित नहीं करेगा लेकिन गति बहुत महत्वपूर्ण है।
ज्यादातर ESP8266 परियोजनाएं और कोड टीसीपी / आईपी के आसपास काम करते हैं, यूडीपी कम से कम परेशान होगा।
एक्सेस प्वाइंट (एपी) और स्टेशन (एसटीए):
एक बार जब आप ईएसपी मॉड्यूल के साथ काम करना शुरू कर देते हैं, तो आप अक्सर इन दो शब्दों के पार आ जाते हैं। आपको बता दें कि आप और आपका दोस्त आपके स्मार्ट फोन पर इंटरनेट सर्फ करना चाहते हैं, लेकिन जब से उनके पास एक सक्रिय इंटरनेट कनेक्शन नहीं है, तो आप अपने हॉटस्पॉट को चालू करने का निर्णय लेते हैं और आपका दोस्त इससे जुड़ जाता है। यहां आपका फोन जो इंटरनेट कनेक्शन को सोर्स कर रहा है, वह एक्सेस प्वाइंट (AP) है और आपके दोस्त का फोन जो इंटरनेट इस्तेमाल कर रहा है, उसे स्टेशन (STA) कहा जाता है।
ESP8266 मॉड्यूल को तीन मोड, AP मोड, STA मोड या STA और AP मोड (संयुक्त) दोनों में उपयोग किया जा सकता है।
सेवा सेट पहचानकर्ता (SSID):
यह काफी सरल शब्द है। लगभग हम सभी ने WIFI का उपयोग किया है। वाई-फाई नेटवर्क का नाम इसका एसएसआईडी है। जब हमारे पास कनेक्ट करने के लिए स्टेशन के लिए कई एक्सेस पॉइंट होते हैं, तो स्टेशन को पता होना चाहिए कि उसे किस एक्सेस प्वाइंट से कनेक्ट होना चाहिए, इसलिए प्रत्येक एक्सेस प्वाइंट (एपी) को एक पहचान दी जाती है जिसे एसएसआईडी कहा जाता है।
अनुप्रयोग प्रोग्रामिंग इंटरफ़ेस (API):
इसे सरल बनाने के लिए एपीआई एक संदेशवाहक है जो आपके अनुरोधों में लेता है, इसे संसाधित करता है और आपके सिस्टम को वांछित परिणाम देता है। इंटरनेट पर हम जो भी गतिविधियाँ करते हैं, उनमें से अधिकांश एपीआई का उपयोग करते हैं, जैसे कि जब आप एक फ्लाइट बुक करते हैं, तो ऑनलाइन खरीदारी करते हैं आदि। प्रत्येक वेबसाइट आपको एक एपीआई से जोड़ती है, जहां काम का कुछ हिस्सा जैसे साइन अप करना, भुगतान करना आदि आपके लिए किया जाता है। वहाँ।
ESP8266 इंटरनेट की दुनिया से बात करने के लिए एपीआई का उपयोग करता है। उदाहरण के लिए यदि यह समय, जलवायु, या जो कुछ भी चाहिए वह एपीआई के रूप में संबंधित वेबसाइट पर जानना चाहिए। वह वेबसाइट अनुरोध प्राप्त करेगी और वांछित परिणाम हमारे ईएसपी मॉड्यूल को वापस देगी।
वेब सर्वर:
एक वेब सर्वर एक वेबसाइट की सामग्री को प्रदर्शित करने के लिए जिम्मेदार है। उस विशेष वेबसाइट की सभी सामग्री को उसके वेब सर्वर में लोड कर दिया जाएगा। समर्पित कंप्यूटर हैं जिनका काम केवल वेब सर्वर के रूप में कार्य करना है। हम वेब सर्वर के रूप में काम करने के लिए अपने ESP8266 को भी प्रोग्राम कर सकते हैं, और दुनिया में कहीं से भी इसे कनेक्ट कर सकते हैं।
ठीक है, यह हमारे लिए आरंभ करने के लिए पर्याप्त है। अब, हार्डवेयर पर अपना हाथ डालते हैं ।
ESP8266 के साथ प्रोग्रामिंग के प्रकार:
आपके ESP8266 मॉड्यूल के साथ काम करने के दो तरीके हैं। यह ट्यूटोरियल आपको दोनों के साथ आरंभ करने में मदद करेगा। एक तरीका एटी कमांड का उपयोग करके है। दूसरा तरीका Arduino IDE का उपयोग करके है । आइए हम समझते हैं कि इसका क्या अर्थ है।
कारखाने से भेजे गए सभी ईएसपी 8266 मॉड्यूल में एक डिफ़ॉल्ट फ़र्मवेयर (एसडीके + एपीआई) होगा। यह फर्मवेयर आपको ATP कमांड के माध्यम से ESP8266 मॉड्यूल को प्रोग्राम करने में मदद करेगा।
दूसरा तरीका है Arduino IDE (बोर्ड की आवश्यकता नहीं) और इसके पुस्तकालयों का उपयोग करके सीधे ESP8266 मॉड्यूल की प्रोग्रामिंग करना। सभी परियोजनाएं दोनों तरीकों से की जा सकती हैं। लेकिन, यदि आप अपने ESP8266 प्रोग्रामिंग के लिए Arduino IDE का उपयोग करना शुरू करते हैं, तो आप एटी कमांड का उपयोग करने में सक्षम नहीं हो सकते हैं क्योंकि डिफ़ॉल्ट एसडीके दूषित हो सकता है। उस स्थिति में आपको डिफ़ॉल्ट सेटिंग्स के साथ अपने ईएसपी को फ्लैश करना होगा। हम इसे दूसरे ट्यूटोरियल में कवर करेंगे।
कार्यक्रम ESP8266 मॉड्यूल के लिए हार्डवेयर:
ESP8266 एक 8 टर्मिनल मॉड्यूल है। उसी में से पिन नीचे दिखाया गया है।
दुर्भाग्य से, यह मॉड्यूल ब्रेडबोर्ड के अनुकूल नहीं है और इसलिए हम इसे सीधे अपने ब्रेडबोर्ड पर माउंट नहीं कर सकते हैं। इसके अलावा Arduino के विपरीत यह एक सीरियल ड्राइवर को यूएसबी में निर्मित नहीं है; इसलिए हमें इसके साथ संचार करने के लिए "FTDI USB से TTL सीरियल एडेप्टर मॉड्यूल" का उपयोग करना होगा । सुनिश्चित करें कि FTDI बोर्ड 3.3V पर भी काम कर सकता है; इस ट्यूटोरियल में हम जो प्रयोग कर रहे हैं, वह नीचे दिखाया गया है।
अब, जैसा कि हम जानते हैं कि हमें 3.3V के साथ ESP8266 को शक्ति प्रदान करनी चाहिए। लेकिन वर्तमान खपत 0.8 ए है, इसलिए यह हमारे एफटीडीआई ब्रेकआउट बोर्ड से संचालित होने के कारण अपेक्षित रूप से काम नहीं कर सकता है। इसलिए हमें अपना खुद का पावरिंग सर्किट बनाना होगा। यहां हमने पॉवरिंग उद्देश्य के लिए LM317 का उपयोग किया है; पूरा हार्डवेयर बनाने के लिए विवरण बाद में दिए गए हैं।
सामग्री की आवश्यकता:
- परफ़ेक्ट बोर्ड
- ESP8266-01
- FTDI ब्रेकआउट बोर्ड
- LM317
- 0.1uf संधारित्र
- 10uf संधारित्र
- बैरल जैक
- बर्गस्टिक पुरुष और महिला
- बटन दबाओ
- तारों को जोड़ना
- बोर्ड को पावर देने के लिए 12V एडॉप्टर।
सर्किट स्पष्टीकरण:
बोर्ड के स्कैमेटिक्स को नीचे दिखाया गया है
कुछ लोगों ने आपके ईएसपी को सीधे आपके एफडीडीआई से प्राप्त करने की कोशिश की होगी और इसे काम कर रहे हैं, लेकिन निम्नलिखित कुछ अतिरिक्त घटकों के साथ अपने बोर्ड का निर्माण करने के कारण हैं:
- ईएसपी मॉड्यूल के लिए केवल कुछ एफटीडीआई बोर्ड ही पर्याप्त करंट लगा सकते हैं। कुछ ईएसपी मॉड्यूल चमकती के दौरान अन्य की तुलना में उच्च धारा का उपभोग कर सकते हैं। इसलिए अपने स्वयं के पावर स्रोत को रखना हमेशा सुरक्षित होता है, और ब्रेडबोर्ड के बजाय डॉट बोर्ड पर पावरिंग सर्किट को एकीकृत करना आसान होगा।
- कोड अपलोड करने से पहले हमें हमेशा ईएसपी मॉड्यूल को रीसेट करना चाहिए, अपने स्वयं के बोर्ड का निर्माण करने से हमें आसानी से मॉड्यूल को रीसेट करने में मदद मिलेगी। हमने ESP8266 को रीसेट करने के लिए पुश बटन का उपयोग किया है ।
- GPIO0 पिन को ग्राउंड करना पड़ता है जब Arduino का उपयोग करके प्रोग्रामिंग की जाती है और AT कमांड का उपयोग करते समय इसे स्वतंत्र छोड़ दिया जाना चाहिए, यदि हम अपना बोर्ड बनाते हैं तो इसे आसानी से टॉगल किया जा सकता है। हमने AT कमांड मोड और Arduino IDE प्रोग्रामिंग मोड के बीच स्विच करने के लिए एक जम्पर का उपयोग किया है ।
- सभी प्रोग्रामिंग सीरियल संचार का उपयोग करके की जाती है , यदि आप ब्रेडबोर्ड का उपयोग करते हैं तो कुछ ढीले टर्मिनल आधे रास्ते में त्रुटि का कारण बन सकते हैं और हमें फिर से काम करने के लिए मॉड्यूल को फ्लैश करने के लिए मजबूर कर सकते हैं।
कहा जा रहा है कि आप एक ब्रेडबोर्ड का उपयोग करने और मॉड्यूल की प्रोग्रामिंग के लिए अपना खुद का बोर्ड बनाने के बीच चयन कर सकते हैं। यदि आप अभी भी ब्रेडबोर्ड का उपयोग करना चाहते हैं, तो ऊपर दिखाया गया समान सर्किट आपके ब्रेडबोर्ड का उपयोग करके बनाया जा सकता है। केवल उपस्थिति भिन्न होगी, इस ट्यूटोरियल में अन्य सभी निर्देश समान होंगे।
ईएसपी 8266 का निर्माण बोर्ड बोर्ड:
इसलिए यहां हम ESP8266 मॉड्यूल को प्रोग्राम करने के लिए बोर्ड का निर्माण कर रहे हैं, जो ESP8266 को पावर देने के लिए अपना पावर सर्किट है।
जैसा कि हमारे मॉड्यूल को इसे प्रोग्रामिंग करते समय लगभग 800mA की आवश्यकता होगी। इसलिए हमने LM317 वेरिएबल वोल्टेज रेगुलेटर का उपयोग करके अपने खुद के पावर मॉड्यूल का निर्माण किया है क्योंकि LM317 का सोर्स करंट लगभग 1.2A है। LM317 का इनपुट वोल्टेज 12V होगा जो 12V 2A वॉल माउंट एडाप्टर का उपयोग करके दिया जाएगा। LM317 के आउटपुट को 220V और 360ohm के प्रतिरोधों का उपयोग करके लगातार 3.3V के लिए विनियमित किया जाएगा। LM317 के बारे में अधिक जानने के लिए LM317 का उपयोग करके हमारे बैटरी चार्जर सर्किट की भी जाँच करें।
LM317 के आउटपुट वोल्टेज की गणना करने के सूत्र नीचे दिए गए हैं:
Vout = 1.25 * (1+ (R2 / R1))
जहां, R1 220ohm है और R2 360ohms है।
ESP8266 मॉड्यूल नीचे दी गई तालिका में दिखाए गए पिन के अनुसार जुड़ा हुआ है।
पिन नं। |
ईएसपी पिन नाम |
से जुड़ा |
1 |
भूमि |
FTDI मॉड्यूल का ग्राउंड |
२ |
GPIO2 |
भविष्य के उपयोग के लिए खाली या जुड़ा हुआ है और स्टिक से जुड़ा हुआ है |
३ |
जीपीआईओ ० |
प्रोग्रामिंग मोड के बीच टॉगल स्विच करें |
४ |
आरएक्स |
एफटीडीआई मॉड्यूल का टीएक्स |
५ |
टेक्सास |
एफटीडीआई मॉड्यूल का आरएक्स |
६ |
CH_PH |
LM317 से 3.3V |
। |
रीसेट |
मॉड्यूल रीसेट करने के लिए पुशबटन |
। |
Vcc |
LM317 से 3.3V |
AT कमांड मोड और Arduino प्रोग्रामिंग मोड के बीच आसानी से टॉगल करने के लिए मैंने एक स्विच (जम्पर) रखा है जो Arduino IDE का उपयोग करते समय GPIO 0 को जमीन पर खींच लेगा और AT कमांड का उपयोग करते समय इसे तैरता छोड़ देगा।
एक पुश बटन है जिसे दबाने पर ESP मॉड्यूल रीसेट हो जाएगा । यह बस ESB मॉड्यूल के आरएसटी पिन को पुशबटन के माध्यम से जमीनी रेल से जोड़कर किया जाता है। हर बार हमारे ESP मॉड्यूल को प्रोग्राम करने से पहले हमें इसे रीसेट कर देना चाहिए।
एक बार जब आप सर्किट को इकट्ठा कर लेते हैं तो इसे नीचे कुछ इस तरह देखना चाहिए।
मैंने एक परफ़ेक्ट बोर्ड का उपयोग किया है, लेकिन यदि आप रुचि रखते हैं (जैसा कि ऊपर चर्चा की गई है) आप ब्रेडबोर्ड का उपयोग भी कर सकते हैं। पूरा निर्माण और स्पष्टीकरण नीचे दिए गए वीडियो में दिखाया गया है ।
एक बार कनेक्शन के साथ किया। ईएसपी और एफटीडीआई बोर्ड के बिना बोर्ड को पावर करें और जांचें कि क्या हमें ईएसपी मॉड्यूल स्थिति के वीसीसी और ग्राउंड टर्मिनलों पर 3.3V ठीक से मिलता है। अब सुनिश्चित करें कि आपका FTDI बोर्ड 3.3V मोड में है और अपने FTDI और ESP मॉड्यूल को अपने बोर्ड से कनेक्ट करें।
अपने एडॉप्टर पर पावर करें और इसे अपने बोर्ड से कनेक्ट करें, ईएसपी मॉड्यूल को लाल रंग के साथ हल्का होना चाहिए।
फिर अपने FTDI बोर्ड को मिनी-USB से USB केबल का उपयोग करके अपने कंप्यूटर से कनेक्ट करें और अपने कंप्यूटर पर डिवाइस मैनेजर पर नेविगेट करें और आपको अपने COM पोर्ट से जुड़ा FTDI बोर्ड ढूंढना चाहिए, जैसा कि नीचे दिखाया गया है:
अब समय हमारे ESP8266 मॉड्यूल प्रोग्रामिंग पर हमारे हाथ पाने के लिए। आप AT-आदेशों का उपयोग करके और फिर Arduino IDE का उपयोग करके आगे बढ़ सकते हैं। हमारे अन्य ESP8266 आधारित परियोजनाओं की जाँच करना न भूलें ।