विषयसूची:

ESP8266 ESP-12E UART वायरलेस वाईफ़ाई शील्ड TTL कनवर्टर सीधी: 5 कदम
ESP8266 ESP-12E UART वायरलेस वाईफ़ाई शील्ड TTL कनवर्टर सीधी: 5 कदम

वीडियो: ESP8266 ESP-12E UART वायरलेस वाईफ़ाई शील्ड TTL कनवर्टर सीधी: 5 कदम

वीडियो: ESP8266 ESP-12E UART वायरलेस वाईफ़ाई शील्ड TTL कनवर्टर सीधी: 5 कदम
वीडियो: SMART HOME With Esp8266 Wifi Module 2024, जून
Anonim
ESP8266 ESP-12E UART वायरलेस वाईफ़ाई शील्ड TTL कनवर्टर सीधी
ESP8266 ESP-12E UART वायरलेस वाईफ़ाई शील्ड TTL कनवर्टर सीधी

इस गाइड का उद्देश्य उन लोगों की मदद करना है जिन्होंने ESP8266 ESP-12E UART वायरलेस वाईफ़ाई शील्ड TTL कन्वर्टर खरीदा है और यह नहीं जानते कि Arduino के साथ इसका उपयोग कैसे किया जाए।

प्रारंभ में, यह ट्यूटोरियल यहाँ ब्राज़ील में पुर्तगाली में लिखा गया था। मैंने इसे अंग्रेजी में लिखने की पूरी कोशिश की। इसलिए कुछ गलतियों के लिए मुझे क्षमा करें जो लिखित में हो सकती हैं।

इस निर्देश को इस प्रकार विभाजित किया गया था:

चरण 1: Arduino के लिए ESP8266 ESP-12E UART वायरलेस वाईफ़ाई शील्ड TTL कनवर्टर को जानना

चरण 2: Arduino के लिए ESP8266 ESP-12E UART वायरलेस वाईफ़ाई शील्ड TTL कनवर्टर पर फर्मवेयर अपग्रेड

चरण 3: शियाल्ड, शील्ड, मोर और मोर? फर्क पड़ता है क्या?

चरण 4: शील्ड मोर - RX / TX सीरियल कम्युनिकेशन को हल करना

चरण 5: Arduino के लिए ESP8266 ESP-12E UART वायरलेस वाईफ़ाई शील्ड TTL कनवर्टर के साथ वेब सर्वर

मेरा सुझाव है कि आप इस शील्ड के बारे में अधिक से अधिक जानने के लिए सभी चरणों को पढ़ें।

चरण 1: Arduino के लिए ESP8266 ESP-12E UART वायरलेस वाईफ़ाई शील्ड TTL कनवर्टर को जानना

ESP8266 ESP-12E UART वायरलेस वाईफ़ाई शील्ड TTL कन्वर्टर (शील्ड वाईफाई ESP8266) ESP8266 के माध्यम से Arduino को वाईफाई नेटवर्क से कनेक्ट करना आसान बनाता है। इसका उपयोग करते समय, एक ESP8266 को Arduino से जोड़ने के लिए कई घटकों और तारों के साथ एक सर्किट को माउंट करने के लिए अब आवश्यक नहीं है, बस बोर्ड को Arduino से संलग्न करें, ढाल ऑपरेटिंग मोड के अनुसार DIP स्विच पथ की स्थिति बनाएं और Arduino को प्रोग्राम करें वाईफाई नेटवर्क से कनेक्ट करें। इसके अलावा, बोर्ड का उपयोग Arduino के बिना किया जा सकता है, क्योंकि इसमें ESP-12E के सभी पिन-आउट उपलब्ध हैं।

ढाल में जानकारी है कि इसे वांगटोंग्ज़ नाम के व्यक्ति द्वारा बनाया गया था और जो इसके अधिकारों का मालिक है, वह है elecshop.ml। प्रारंभ में शील्ड के निर्माता ने इंडीगोगो (सामूहिक वित्त पोषण साइट) के माध्यम से अपनी परियोजना के लिए धन जुटाने की कोशिश की, लेकिन वह धन जुटाने में असफल रहा।

ESP8266 मॉडल ESP-12E की विशेषताएं:

- 32-बिट आरआईएससी आर्किटेक्चर- प्रोसेसर 80 मेगाहर्ट्ज / 160 मेगाहर्ट्ज- 32 एमबी फ्लैश मेमोरी- 64 केबी पर निर्देश के लिए काम कर सकता है- डेटा के लिए 96 केबी- मानक देशी वाईफाई 802.11 बी / जी / एन- एपी, स्टेशन या एपी + स्टेशन मोड में संचालित होता है- इसमें है 11 डिजिटल पिन- इसमें 10-बिट रिज़ॉल्यूशन वाला 1 एनालॉग पिन होता है- D0 को छोड़कर डिजिटल पिन में इंटरप्ट, PWM, I2C और एक वायर होता है- USB या WiFi (OTA) के माध्यम से प्रोग्राम करने योग्य - Arduino IDE के साथ संगत- मॉड्यूल और सेंसर के साथ संगत अरुडिनो में

नीचे आप इस शील्ड की मुख्य विशेषताएं पढ़ सकते हैं:

- Arduino Uno R3 का आकार और पिनिंग Arduino Uno, Mega 2560, Leonardo और डेरिवेटिव के साथ संगत है।- Arduino के छोटे संस्करण (उदाहरण के लिए नैनो और प्रो मिनी) संगत हैं, लेकिन कनेक्शन जंपर्स के माध्यम से किए जाने चाहिए।- Arduino वोल्टेज (5V) का उपयोग ढाल को शक्ति देने के लिए किया जाता है।- AMS1117 3.3V वोल्टेज नियामक है, इसलिए Arduino द्वारा आपूर्ति की गई 5V वोल्टेज बाहरी शक्ति की आवश्यकता के बिना ढाल को कम करने के लिए कम हो जाती है। इसमें अंतर्निहित तर्क स्तर कनवर्टर है, इसलिए Arduino TTL स्तर (5V) ESP8266 को नुकसान नहीं पहुंचाता है जो TTL 3.3V स्तर के साथ संचालित होता है। इसमें 4-तरफा DIP स्विच होता है जो बोर्ड के ऑपरेटिंग मोड को बदलने का काम करता है। उपलब्ध ऑपरेटिंग मोड: वाईफाई शील्ड के लिए Arduino / Arduino के माध्यम से AT कमांड भेजना / USB सीरियल बाहरी / स्टैंडअलोन कनवर्टर के माध्यम से फर्मवेयर अपग्रेड।- इसमें सांकेतिक एलईडी (PWR / DFU / AP / STA) हैं। - क्योंकि यह शील्ड प्रारूप में है, यह अन्य शील्ड और मॉड्यूल को सम्मिलित करने की अनुमति देता है।.- इसमें ESP8266 रीसेट करने के लिए ESP-RST बटन है।- Th e ESP8266 ADC पिन बोर्ड पर दो रूपों में उपलब्ध है, पहला 0 से 1V रीडिंग रेंज वाले पिन पर और दूसरा फॉर्म 0 से 3.3V रेंज में।

छवि में ढाल के मुख्य भाग हाइलाइट किए गए हैं:

छवि
छवि

ए (डिजिटल पिन): Arduino द्वारा उपयोग किए जाने वाले पिनों का क्रम।

बी (ESP8266 PINS): ESP8266-12E और उनके संबंधित पिन। प्लेट के पीछे पिनों का नामकरण होता है।

सी (बाहरी सीरियल यूएसबी एडाप्टर कनेक्शन): ईएसपी8266 के फर्मवेयर अपडेट या डिबगिंग के लिए बाहरी सीरियल यूएसबी एडाप्टर को जोड़ने के लिए पिन अनुक्रम का उपयोग किया जाता है।

डी (शील्ड रखरखाव पिन): एक तीन-पिन अनुक्रम केवल रखरखाव के रूप में पहचाना जाता है और यह सत्यापित करने के लिए उपयोग किया जाता है कि वोल्टेज नियामक वोल्टेज को सही ढंग से प्राप्त और आपूर्ति कर रहा है। इसे आपूर्ति स्रोत के रूप में उपयोग नहीं किया जाना चाहिए।

ई (ऑपरेटिंग मोड को संशोधित करने के लिए डीआईपी स्विच): ऑपरेटिंग मोड बदलने के लिए चार-तरफा डीआईपी स्विच।

CONTACT 1 (P1) और CONTACT 2 (P2): ESP8266 के RX (P1 द्वारा दर्शाया गया) और TX (P2 द्वारा दर्शाया गया) को Arduino D0 (RX) और D1 (TX) पिन से जोड़ने के लिए उपयोग किया जाता है। बंद स्थिति में P1 और P2 ESP8266 से Arduino TX और TX से ESP8266 से Arduino RX में RX कनेक्शन को अक्षम करते हैं।

संपर्क 3 (पी 3) और संपर्क 4 (पी 4): ईएसपी 8266 के लिए फर्मवेयर अपग्रेड मोड को सक्षम और अक्षम करने के लिए उपयोग किया जाता है। ESP8266 पर फर्मवेयर राइट / लोड को सक्षम करने के लिए, P3 और P4 को ON स्थिति में होना चाहिए। जब P4 चालू स्थिति में होता है, तो DFU एलईडी प्रकाश करेगा, यह दर्शाता है कि फर्मवेयर प्राप्त करने के लिए ESP8266 सक्षम है। फर्मवेयर अपडेट मोड को अक्षम करने के लिए और ESP8266 को सामान्य ऑपरेशन पर सेट करने के लिए, बस P3 और P4 को OFF पर सेट करें।

नोट: OFF स्थिति में सभी 4 संपर्क इंगित करते हैं कि ESP8266 Arduino के बगल में सामान्य मोड में काम कर रहा है।

एफ (ईएसपी8266 से एडी 8): ईएसपी8266 एडीसी के लिए पिन असाइनमेंट। एक पिन 0 से 1V की रेंज में काम कर रहा है और दूसरा पिन 0 से 3.3V की रेंज में काम कर रहा है। इन पिनों का उपयोग केवल ESP8266 अकेले (स्टैंडअलोन मोड) का उपयोग करते समय किया जाएगा।

G (ESP8266 RESET): ESP8266 रीसेट करने के लिए प्रयुक्त बटन। जब भी आप डीआईपी स्विच की स्थिति बदलते हैं, तो आपको ईएसपी-आरएसटी बटन अवश्य दबाना चाहिए।

एच (एनालॉग पिन और बिजली आपूर्ति): Arduino द्वारा उपयोग किए जाने वाले पिनों का क्रम।

इस शील्ड में डीआईपी स्विच के संपर्क पी1 और पी2 में एक ख़ासियत है और यह विशिष्टता, वास्तव में यह उन लोगों में एक बड़ा संदेह पैदा करती है जो ढाल का उपयोग करने की कोशिश करते हैं।

शील्ड के निर्माता के अनुसार, इसे Arduino से कनेक्ट करते समय केवल 2 पिन की आवश्यकता होगी। ये पिन D0 और D1 (क्रमशः Arduino का RX और TX) होंगे और इसके अलावा, शील्ड पर DIP स्विच के P1 और P2 संपर्क कनेक्शन के लिए ON स्थिति में होने चाहिए।

इस ढाल के बारे में मुझे मिले एकमात्र चीनी दस्तावेज़ में, बोर्ड के निर्माता कहते हैं:

P1 और P2 बिट एनकोडर हैं और यह निर्धारित करने के लिए उपयोग किए जाते हैं कि ESP8266 सीरियल Arduino D0 और D1 से जुड़ा है या नहीं।

दस्तावेज़ के दूसरे भाग में इसका उल्लेख है:

यह विस्तार बोर्ड Arduino सीरियल को व्यस्त रखता है, RX को ESP8266 से TX को Arduino से और TX को ESP8266 से Arduino RX से जोड़ता है।

Arduino के D0 (RX) और D1 (TX) पिन देशी सीरियल / USB संचार के अनुरूप हैं, इसलिए जब भी हम बोर्ड को कोड भेजते हैं या सीरियल मॉनिटर का उपयोग करते हैं तो ये पिन व्यस्त रहते हैं। इसलिए, यदि शील्ड के P1 और P2 संपर्क चालू स्थिति में हैं, तो ESP8266 Arduino D0 और D1 का उपयोग करेगा और कोड भेजना या सीरियल का उपयोग करना संभव नहीं होगा क्योंकि यह व्यस्त होगा। इसके अलावा, एटी कमांड को शील्ड में भेजने के लिए, यह आवश्यक है कि ESP8266 RX Arduino RX से जुड़ा हो और ESP8266 TX Arduino TX से जुड़ा हो। यह तभी होगा जब हम नीचे दी गई छवि में दिखाए गए अनुसार कनेक्शनों को उलट दें:

छवि
छवि

देखें कि मैंने ढाल के D0 और D1 संपर्कों को मोड़ दिया है, और Arduino D0 को ढाल के D1 और Arduino के D1 को ढाल के D0 से जोड़ा है। इस तरह से कनेक्शन का उपयोग करते समय (Arduino को एक कनेक्शन ब्रिज के रूप में इस्तेमाल किया जा रहा है), मैं ESP8266 को AT कमांड भेजने में सक्षम था और पुष्टि की कि मैंने पहले से ही क्या कल्पना की थी।

शील्ड के संचालन के मानक रूप के लिए आवश्यक है कि एक कोड (वेबसर्वर या फर्मवेयर, उदाहरण के लिए) को शील्ड में लोड किया जाए और देशी सीरियल के माध्यम से आने वाले डेटा को भेजने, प्राप्त करने और व्याख्या करने के लिए एक अन्य कोड Arduino में लोड किया जाए। संचार के इस रूप पर अधिक विवरण अगले चरणों में देखा जाएगा।

वैसे भी, शील्ड की यह विशेषता इसके संचालन में हस्तक्षेप नहीं करती है, क्योंकि हम आमतौर पर अन्य Arduino डिजिटल पिन पर एक सीरियल का अनुकरण करते हैं ताकि हमारे पास देशी सीरियल उपलब्ध हो सके। इसके अलावा, यदि एटी कमांड को शील्ड में भेजना आवश्यक है, तो हम इसे चार केबलों के माध्यम से अरुडिनो से जोड़ सकते हैं या एक सीरियल यूएसबी कनवर्टर का उपयोग कर सकते हैं।

अंत में, ढाल बहुत स्थिर थी और सर्किट की असेंबली को बहुत आसान बना दिया। मैंने Arduino Uno R3 और Mega 2560 R3 के साथ परीक्षण किया।

अगले चरण में आप सीखेंगे कि शील्ड फर्मवेयर को कैसे अपग्रेड/बदलें।

चरण 2: Arduino के लिए ESP8266 ESP-12E UART वायरलेस वाईफ़ाई शील्ड TTL कनवर्टर पर फर्मवेयर अपग्रेड

शील्ड को कंप्यूटर से कनेक्ट करने के लिए सीरियल यूएसबी कन्वर्टर का उपयोग करना आवश्यक है। यदि आपके पास एक पारंपरिक सीरियल USB कनवर्टर नहीं है, तो आप Arduino Uno R3 कनवर्टर को एक मध्यवर्ती के रूप में उपयोग कर सकते हैं। बाजार में सीरियल यूएसबी कन्वर्टर्स के कई मॉडल हैं, लेकिन इस ट्यूटोरियल के लिए मैंने PL2303HX TTL सीरियल यूएसबी कन्वर्टर एडेप्टर का इस्तेमाल किया।

शील्ड को अपग्रेड करने के लिए, इसका उपयोग करें:

ESP8266 फ्लैश डाउनलोड टूल्स

उपयोग किया जाने वाला फर्मवेयर है:

एआई-थिंकर_ईएसपी8266_DOUT_32Mbit_v1.5.4.1-एक एटी फर्मवेयर

एक बार जब आप प्रोग्राम और फर्मवेयर डाउनलोड कर लेते हैं, तो दोनों को अपने विंडोज के रूट (ड्राइव सी) में कॉपी कर लें।

अनज़िप flash_download_tools_v2.4_150924.rar और FLASH_DOWNLOAD_TOOLS_v2.4_150924 फोल्डर जनरेट हो जाएगा।

एक मध्यवर्ती के रूप में Arduino Uno R3 सीरियल USB कनवर्टर का उपयोग करना:

अगला कदम शील्ड को कंप्यूटर से जोड़ना है। यदि आपके पास एक मानक सीरियल यूएसबी कनवर्टर नहीं है, तो आप शील्ड और कंप्यूटर को पाटने के लिए Arduino Uno R3 का उपयोग कर सकते हैं। USB केबल के साथ Arduino Uno R3 के अलावा आपको निम्न की आवश्यकता होगी:

01 - ESP8266 ESP-12E UART वायरलेस वाईफ़ाई शील्ड TTL कनवर्टर04 - पुरुष-महिला जम्पर केबल्स

नोट: Arduino वायरिंग आरेख को माउंट करने से पहले, आपको यह सुनिश्चित करने के लिए बोर्ड पर एक रिक्त कोड लोड करना होगा कि सीरियल USB कनवर्टर का उपयोग नहीं किया जा रहा है। नीचे दिए गए कोड को अपने Arduino में लोड करें और आगे बढ़ें:

शून्य सेटअप () {// एक बार चलाने के लिए अपना सेटअप कोड यहां रखें: } शून्य लूप () {// अपना मुख्य कोड यहां रखें, बार-बार चलाने के लिए:}

छवि
छवि

नोट: Arduino को 3.3V शील्ड पिन संलग्न करते समय जागरूक रहें।

सीरियल टीटीएल यूएसबी कन्वर्टर एडेप्टर PL2303HX का उपयोग करना:

PL2303HX TTL सीरियल USB कन्वर्टर एडेप्टर के अलावा आपको निम्नलिखित मदों की आवश्यकता होगी:

01 - ESP8266 ESP-12E UART वायरलेस वाईफ़ाई शील्ड TTL कनवर्टर04 - पुरुष-महिला जम्पर केबल्स

छवि
छवि

नोट: PL2303 में 5V और 3V3 पावर है। 3V3 पावर का उपयोग करें और 5V पिन को अनदेखा करें।

उपरोक्त कनेक्शन योजनाओं में से एक बनाने के बाद, बस USB केबल (Arduino और कंप्यूटर से) या सीरियल USB कनवर्टर को कंप्यूटर से कनेक्ट करें।

फिर विंडोज़ में 'कंट्रोल पैनल', 'डिवाइस मैनेजर' पर जाएं और खुलने वाली विंडो में 'पोर्ट्स (कॉम और एलपीटी)' पर जाएं। आप कनेक्टेड डिवाइस और COM पोर्ट नंबर देख सकते हैं जिस पर इसे आवंटित किया गया था। एक प्रदर्शन के रूप में, मैंने कंप्यूटर पर Arduino और सीरियल USB कनवर्टर दोनों को जोड़ा और नीचे दी गई छवि में आप देख सकते हैं कि प्रबंधक में उपकरण कैसे दिखाई देते हैं:

छवि
छवि

यदि आप PL2303HX का उपयोग कर रहे हैं और इसे विंडोज द्वारा पहचाना नहीं जा रहा है, तो सीरियल टीटीएल यूएसबी कन्वर्टर PL2303HX - विंडोज 10 में इंस्टॉलेशन पोस्ट तक पहुंचें, देखें कि इसे कैसे हल किया जाए और फिर जारी रखने के लिए वापस आएं।

अब FLASH_DOWNLOAD_TOOLS_v2.4_150924 फ़ोल्डर में जाएं और ESP_DOWNLOAD_TOOL_V2.4.exe चलाएँ:

छवि
छवि

शील्ड पर, डीआईपी स्विच के पी3 और पी4 संपर्कों को चालू स्थिति में रखें और फिर कार्ड पर ईएसपी-आरएसटी बटन दबाएं ताकि शील्ड फर्मवेयर अपग्रेड मोड में प्रवेश करे:

छवि
छवि

प्रोग्राम के खुलने के साथ, 'SpiAutoSet' विकल्प को अनचेक करें, COM पोर्ट का चयन करें, 'BAUDRATE' 115200 का चयन करें, 'डाउनलोड पाथ कॉन्फिग' में चिह्नित किसी भी चेकबॉक्स को अनचेक करें, नीचे दिखाए गए अनुसार अन्य विकल्पों को कॉन्फ़िगर करें और 'START' पर क्लिक करें:

छवि
छवि

यदि ESP8266 वाईफाई शील्ड के साथ संचार ठीक है, तो आपको 'डिटेक्टेड इंफो', 'मैक एड्रेस' और 'सिंक' में जानकारी दिखाई देगी:

छवि
छवि

नोट: यदि प्रोग्राम 'FAIL' लौटाता है, तो जांचें कि क्या आपने सही COM पोर्ट का चयन किया है, जांचें कि क्या DIP स्विच की P3 और P4 कुंजियाँ चालू हैं, ESP-RST बटन पर क्लिक करें, STOP पर क्लिक करें और फिर से START पर क्लिक करें।

'डाउनलोड पाथ कॉन्फिग' में आपको 'ऐ-थिंकर_ईएसपी8266_DOUT_32Mbit_v1.5.4.1-ए एटी फर्मवेयर.बिन' डाउनलोड की गई फ़ाइल का चयन करना चाहिए। पहले फ़ील्ड के '…' पर क्लिक करें और खुलने वाली विंडो में उस फ़ोल्डर में नेविगेट करें जहां आपने फर्मवेयर रखा था और 'Ai-Thinker_ESP8266_DOUT_32Mbit_v1.5.4.1-a AT Firmware.bin' फ़ाइल का चयन करें। 'ADDR' फ़ील्ड में ऑफ़सेट 0x00000 भरें और समाप्त करने के लिए चेकबॉक्स को चेक करें। समाप्त होने पर, आपके पास नीचे दिखाए गए अनुसार सेटिंग्स होंगी:

छवि
छवि

अब प्रक्रिया शुरू करने के लिए START पर क्लिक करें:

नोट: यदि आप Arduino सीरियल USB कनवर्टर को शील्ड और कंप्यूटर के बीच एक मध्यवर्ती के रूप में उपयोग कर रहे हैं, तो START पर क्लिक करने से पहले शील्ड के ESP-RST बटन पर क्लिक करें। यदि आप एक पारंपरिक सीरियल USB कनवर्टर का उपयोग कर रहे हैं तो यह प्रक्रिया आवश्यक नहीं है।

छवि
छवि

फर्मवेयर अपग्रेड प्रक्रिया पूरी होने तक प्रतीक्षा करें (इस प्रक्रिया को पूरा होने में लगभग सात मिनट लगेंगे):

छवि
छवि

फर्मवेयर अपग्रेड प्रक्रिया को पूरा करने के बाद, ESP_DOWNLOAD_TOOL_V2.4 विंडो बंद करें, DIP स्विच के P3 और P4 संपर्कों को OFF स्थिति में लौटाएं और शील्ड पर ESP-RST बटन दबाएं ताकि यह फर्मवेयर अपग्रेड मोड से बाहर निकल सके।

अब Arduino IDE खोलें ताकि आप बोर्ड को यह सत्यापित करने के लिए एटी कमांड भेज सकें कि फर्मवेयर सही तरीके से अपडेट किया गया है और बोर्ड कमांड का जवाब दे रहा है।

आईडीई ओपन के साथ 'टूल्स' मेनू पर जाएं और फिर 'पोर्ट' विकल्प में COM पोर्ट चुनें। नीचे दी गई छवि में ध्यान दें कि मैंने COM7 पोर्ट का चयन किया है (आपका पोर्ट शायद अलग होगा):

छवि
छवि

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

'सीरियल मॉनिटर' खोलें और पाद लेख में जांचें कि क्या गति 115200 पर सेट है और यदि 'दोनों, एनएल और सीआर' का चयन किया गया है:

छवि
छवि

अब कमांड 'AT' (बिना उद्धरण के) टाइप करें और 'ENTER' दें या 'Send' पर क्लिक करें। यदि कनेक्शन काम कर रहा है तो आपको 'ओके' संदेश वापस करना होगा:

छवि
छवि

नोट: यदि कमांड भेजने से कोई प्रतिक्रिया प्राप्त नहीं होती है या एक यादृच्छिक वर्ण स्ट्रिंग प्राप्त होती है, तो सीरियल मॉनिटर की गति को 115200 से 9600 में बदलें और फिर से कमांड भेजें।

'सीरियल मॉनिटर' में 'एटी + जीएमआर' (बिना उद्धरण के) कमांड टाइप करें और 'एंटर' दें या 'सेंड' पर क्लिक करें। यदि आपको नीचे दिखाए गए अनुसार फ़ीडबैक प्राप्त होता है, तो आपका ESP8266 WiFi शील्ड सफलतापूर्वक अपडेट कर दिया गया है:

छवि
छवि

यदि आप 9600 शील्ड के साथ संचार बॉड्रेट को बदलना चाहते हैं, तो 'AT + UART_DEF = 9600, 8, 1, 0, 0' (बिना उद्धरण के) कमांड दर्ज करें और 'ENTER' दें या 'भेजें' पर क्लिक करें। यदि आपको नीचे दर्शाई गई जानकारी प्राप्त होती है, तो संचार की गति बदल गई है:

छवि
छवि

नोट: शील्ड बॉड्रेट बदलते समय, आपको मॉनिटर सीरियल फुटर में गति को 115200 से 9600 में भी बदलना चाहिए। फिर 'एटी' कमांड फिर से भेजें (बिना उद्धरण चिह्नों के) और 'एंटर' दबाएं या 'भेजें' पर क्लिक करें। यदि आप रिटर्न के रूप में 'ओके' प्राप्त करते हैं तो संचार काम कर रहा है।

यदि आप Arduino को WiFi असाइन करने के लिए शील्ड का उपयोग करना चाहते हैं, तो आदर्श संचार गति 9600 बॉड है।

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

चरण 3: शियाल्ड, शील्ड, मोर और मोर? फर्क पड़ता है क्या?

यदि यह ESP8266 ESP-12E UART वायरलेस वाईफ़ाई शील्ड TTL कन्वर्टर है, तो कम से कम तीन बोर्ड मिल सकते हैं जो स्पष्ट रूप से समान हैं, लेकिन वास्तव में इन बोर्डों में कुछ बिंदु हैं जो उन्हें अलग करते हैं, यहां तक कि काम करने के सवाल में भी। देशी धारावाहिक संचार के माध्यम से Arduino।

निम्नलिखित आप देख सकते हैं कि बोर्डों में क्या अंतर है और पता करें कि कौन सा आपका है।

शियाल्ड वाईफाई ESP8266:

छवि
छवि

ध्यान दें कि इस बोर्ड पर शील्ड शब्द "शियाल्ड" लिखा हुआ है और "मोर" शब्द में लोअर केस में "एम" है। मैंने लंबे समय तक जो परीक्षण किए, उनमें बोर्ड ने अपने कामकाज में कोई खामी नहीं दिखाई।

शील्ड वाईफाई ESP8266:

छवि
छवि

ध्यान दें कि इस बोर्ड पर शील्ड शब्द सही लिखा है और "मोर" शब्द में अपरकेस में "एम" है। संचालन के मामले में, यह बोर्ड उसी तरह से व्यवहार करता है जैसे कि शियाल्ड संस्करण, यानी बोर्ड दोषपूर्ण नहीं है।

तो आपका मतलब है कि पीसीबी सिल्क के मुद्दे पर शियाल्ड और शील्ड बोर्ड में केवल अंतर है?

हां, इन दोनों कार्डों में केवल दो शब्दों के लिखने के मामले में अंतर है। दोनों बोर्डों पर सर्किट समान है और दोनों Arduino या अकेले (स्टैंडअलोन मोड) के साथ पूरी तरह से काम करते हैं। यह देखते हुए कि Arduino में सही कोड लोड है और शील्ड में से एक सही फर्मवेयर के साथ भी है, Arduino को शील्ड संलग्न करने और USB केबल को जोड़ने के बाद, बस DIP स्विच के P1 और P2 संपर्कों को चालू स्थिति में रखें। और बोर्डों के बीच देशी धारावाहिक (पिन D0 और D1) के माध्यम से संचार किया जाएगा।

कुछ लोग कहते हैं कि इस शियाल्ड संस्करण में अस्थिर वायरलेस कनेक्शन है, लेकिन मैं जोर देकर कहता हूं कि कोई अस्थिरता नहीं है।

शील्ड वाईफाई ESP8266 (Moer):

छवि
छवि

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

यदि आपकी ढाल वह है जो मोर में लिखी गई है और आपको मूल धारावाहिक संचार के माध्यम से अपने Arduino के साथ इसका उपयोग करने में परेशानी हुई है, तो अगले चरण पर जाएं और समस्या को हल करने का तरीका जानें। यदि आपकी ढाल मोर नहीं है, तो चरण 5 पर जाएं।

चरण 4: शील्ड मोर - RX / TX सीरियल कम्युनिकेशन को हल करना

यदि यह बोर्ड (Moer) Arduino (DIP स्विच कॉन्टैक्ट्स OFF या ON के साथ) से जुड़ा है और उपयोगकर्ता Arduino पर एक कोड लोड करने का प्रयास करता है, तो IDE में एक त्रुटि संदेश दिखाई देगा क्योंकि लोड विफल हो जाएगा। यह ढाल निर्माण में प्रयुक्त एक घटक त्रुटि के कारण है।

सही निर्माण और संचालन वाली ढाल ने दो चैनल N MOSFETs को वेल्ड किया है और J1Y के रूप में पहचाने जाते हैं। J1Y ट्रांजिस्टर में से एक ESP8266 RX से जुड़ा है और दूसरा ESP8266 TX से जुड़ा है। नीचे दी गई छवि में आप हाइलाइट किए गए दो ट्रांजिस्टर देख सकते हैं:

छवि
छवि

यह J1Y ट्रांजिस्टर एक BSS138 है जिसका उद्देश्य 5V लॉजिक लेवल सर्किट को 3.3V लॉजिक लेवल सर्किट और इसके विपरीत संचार करने में सक्षम बनाना है। चूंकि ESP8266 का तर्क स्तर 3.3V है और Arduino का तार्किक स्तर 5V है, इसलिए ESP8266 के सही संचालन को सुनिश्चित करने के लिए तर्क स्तर कनवर्टर का उपयोग करना आवश्यक है।

ढाल मोर में, बोर्ड पर दो ट्रांजिस्टर J3Y के रूप में पहचाने जाते हैं। नीचे दी गई छवि में आप हाइलाइट किए गए दो ट्रांजिस्टर देख सकते हैं:

छवि
छवि

J3Y ट्रांजिस्टर एक S8050 NPN है और इस प्रकार का ट्रांजिस्टर आमतौर पर एम्पलीफायर सर्किट में उपयोग किया जाता है।मोर ढाल के निर्माण के समय किसी कारण से, उन्होंने तर्क स्तर J1Y के कनवर्टर के बजाय ट्रांजिस्टर J3Y का उपयोग किया।

इस तरह, ESP8266 के RX और TX पिन काम नहीं करेंगे जैसा उन्हें करना चाहिए और इसलिए शील्ड का Arduino के साथ कोई सीरियल संचार नहीं होगा। जैसा कि शील्ड मूल सीरियल (पिन D0 और D1) के माध्यम से Arduino के साथ संचार करती है, इसके साथ Arduino कोड लोडिंग (Arduino में) के साथ मिलकर कभी भी सफलतापूर्वक पूरा नहीं किया जाएगा, क्योंकि कुछ मामलों में हमेशा लगभग 2.8V होगा। RX और Arduino TX या निरंतर 0V, सभी गलत ट्रांजिस्टर के कारण।

इस सारी जानकारी के बाद, यह स्पष्ट है कि मोर ढाल के लिए एकमात्र समाधान J3Y ट्रांजिस्टर को J1Y ट्रांजिस्टर द्वारा बदलना है। इस प्रक्रिया के लिए आपको धैर्य की मोर ढाल के अतिरिक्त आवश्यकता होगी, और:

01 - सोल्डरिंग आयरन01 - टिन01 - संदंश या सुई सरौता01 - वेल्डिंग सॉकर02 - बीएसएस138 (जे1वाई)

BSS138 (J1Y) ट्रांजिस्टर का उपयोग 3.3V/5V लॉजिक लेवल कन्वर्टर में किया जाता है।

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

गर्म टांका लगाने वाले लोहे के साथ, ट्रांजिस्टर टर्मिनलों में से एक को गर्म करें और कुछ टिन डालें। दो ट्रांजिस्टर के प्रत्येक टर्मिनल के लिए यह प्रक्रिया करें। टर्मिनलों पर अतिरिक्त वेल्डिंग से ट्रांजिस्टर को निकालना आसान हो जाएगा:

छवि
छवि

अब चिमटी / सरौता लें, ट्रांजिस्टर को किनारों से पकड़ें, ट्रांजिस्टर के उस हिस्से को गर्म करें जिसमें केवल एक टर्मिनल है और ट्रांजिस्टर को ऊपर उठाएं ताकि सोल्डर से टर्मिनल ढीला हो जाए। अभी भी ट्रांजिस्टर को पकड़े हुए चिमटी / सरौता के साथ, टांका लगाने वाले लोहे की नोक को अन्य दो टर्मिनलों के खिलाफ रखने की कोशिश करें और ट्रांजिस्टर को बोर्ड से मुक्त करने के लिए इसे समाप्त करने के लिए मजबूर करें। दोनों ट्रांजिस्टर के लिए ऐसा करें और बहुत सावधान रहें:

छवि
छवि

शील्ड से दो J3Y IC को हटा दिया, बस J1Y IC को जगह पर रखें, इसे चिमटी / सरौता से पकड़ें, और ढाल के प्रत्येक छोर को गर्म करें ताकि टिन संपर्क में शामिल हो जाए। यदि संपर्क कम सोल्डर हैं, तो प्रत्येक को गर्म करें और अधिक टिन रखें। दोनों ट्रांजिस्टर के लिए ऐसा करें और बहुत सावधान रहें:

छवि
छवि

मरम्मत के बाद, इसकी ढाल जिसका पहले Arduino के साथ कोई सीधा संचार नहीं था, ने मूल धारावाहिक (पिन D0 और D1) के माध्यम से बोर्ड से संबंध बनाना शुरू कर दिया।

यह पुष्टि करने के लिए पहला परीक्षण है कि मरम्मत सफल रही है, शील्ड (सभी डीआईपी स्विच संपर्कों के साथ) को Arduino से जोड़ना है, USB केबल को बोर्ड और कंप्यूटर से कनेक्ट करना है, और Arduino में एक कोड लोड करने का प्रयास करना है। यदि सब कुछ ठीक है, तो कोड सफलतापूर्वक लोड हो जाएगा।

चरण 5: Arduino के लिए ESP8266 ESP-12E UART वायरलेस वाईफ़ाई शील्ड TTL कनवर्टर के साथ वेब सर्वर

इस चरण को जारी रखने के लिए प्राथमिक आवश्यकता के रूप में, आपको चरण 2 का पालन करना चाहिए था।

जैसा कि मैंने पहले उल्लेख किया है, मूल धारावाहिक (पिन D0 और D1) के माध्यम से Arduino के साथ ढाल का उपयोग करने के लिए, यह आवश्यक है कि एक कोड को ढाल में लोड किया जाए और Arduino को भेजने, प्राप्त करने और व्याख्या करने के लिए एक और कोड लोड किया जाए। देशी सीरियल के जरिए डेटा की तस्करी की गई। शील्ड में, हम एटी कमांड का फर्मवेयर लगा सकते हैं और Arduino को वाईफाई नेटवर्क से कनेक्ट करने और Arduino के इनपुट और आउटपुट को नियंत्रित करने के लिए कमांड को शील्ड में भेजने के लिए प्रोग्राम कर सकते हैं।

इस चरण में हम WiFiESP लाइब्रेरी का उपयोग करेंगे, क्योंकि इसमें पहले से ही ESP8266 (हमारे मामले में शील्ड वाईफाई ESP8266) को Arduino में एकीकृत करने और बोर्ड को WiFi असाइन करने के लिए सभी आवश्यक कार्य हैं। वाईफाईईएसपी लाइब्रेरी एटी कमांड भेजकर काम करती है, फिर राउटर के वायरलेस नेटवर्क कनेक्शन और वेब सर्वर से किए गए किसी भी अनुरोध के परिणामस्वरूप एटी कमांड को शील्ड में भेज दिया जाएगा।

वाईफाईईएसपी लाइब्रेरी के काम करने के लिए, एटी कमांड फर्मवेयर संस्करण कम से कम 0.25 या उच्चतर होना चाहिए। इसलिए यदि आप अपने शील्ड के एटी कमांड संस्करण को नहीं जानते हैं, तो बोर्ड को फर्मवेयर के साथ अपडेट करने के लिए चरण 2 पर जाएं जिसमें 1.2.0.0 का एटी कमांड संस्करण है और फिर जारी रखने के लिए वापस आएं।

शील्ड और अरुडिनो के साथ अपने परीक्षणों के दौरान मैंने एक चीज की पहचान की, क्योंकि उनके बीच संचार देशी धारावाहिक (पिन डी0 और डी 1) के माध्यम से होता है, यह आवश्यक हो जाता है कि धारावाहिक उनके बीच संचार के लिए विशेष उपयोग का हो। इसलिए, मैं Arduino IDE सीरियल मॉनिटर या सीरियल जानकारी प्रदर्शित करने वाले किसी अन्य प्रोग्राम पर जानकारी प्रिंट करने के लिए "Serial.print () / Serial.println ()" का उपयोग करने की अनुशंसा नहीं करता हूं।

डिफ़ॉल्ट रूप से, वाईफाईईएसपी लाइब्रेरी को Arduino और ESP8266 के बीच सीरियल त्रुटियों, चेतावनियों और अन्य संचार जानकारी प्रदर्शित करने के लिए कॉन्फ़िगर किया गया है। जैसा कि मैंने पहले उल्लेख किया है, धारावाहिक को Arduino और ढाल के बीच संचार के लिए जारी किया जाना चाहिए। इसलिए, मैंने पुस्तकालय से एक फ़ाइल संपादित की और धारावाहिक में सभी सूचनाओं के प्रदर्शन को अक्षम कर दिया। सीरियल मॉनिटर पर प्रदर्शित होने वाली एकमात्र जानकारी एटी कमांड है जिसे लाइब्रेरी वायरलेस नेटवर्क से कनेक्ट करने के लिए शील्ड को भेजता है या वेबसर्वर से किए गए अनुरोधों को निष्पादित करने के लिए एटी कमांड।

संशोधित WiFIESP पुस्तकालय डाउनलोड करें और इसे Arduino IDE में स्थापित करें:

वाईफ़ाई मोड

लाइब्रेरी इंस्टॉलेशन फ़ोल्डर में, बस "वाईफाईईएसपी-मास्टर / src / उपयोगिता" पथ तक पहुंचें और इसके अंदर "डीबग.एच" फ़ाइल है जिसे धारावाहिक पर जानकारी के प्रदर्शन को अक्षम करने के लिए संपादित किया गया था। नोटपैड ++ में फ़ाइल खोलना, उदाहरण के लिए, हमारे पास 25, 26, 27, 28, और 29 लाइनें हैं जो सीरियल मॉनिटर पर प्रदर्शित होने वाली जानकारी के प्रकार के लिए एक समान संख्या दिखाती हैं। ध्यान दें कि नंबर 0 सीरियल मॉनीटर पर सभी सूचनाओं के प्रदर्शन को अक्षम करता है। अंत में, लाइन 32 में मैंने "_ESPLOGLEVEL_" को मान 0 के साथ कॉन्फ़िगर किया:

छवि
छवि

यदि आप ESP8266 के साथ अन्य प्रोजेक्ट्स में WiFiESP लाइब्रेरी का उपयोग करना चाहते हैं और सीरियल मॉनिटर पर प्रदर्शित होने वाली जानकारी की आवश्यकता है, तो बस "_ESPLOGLEVEL_" को मान 3 (लाइब्रेरी का डिफ़ॉल्ट मान) पर सेट करें और फ़ाइल को सहेजें।

चूँकि आपके शील्ड में पहले से ही AT कमांड फर्मवेयर संस्करण 0.25 या उच्चतर है, तो चलिए जारी रखते हैं।

अपने Arduino (Uno, Mega, Leonardo या अन्य संस्करण जो शील्ड को संलग्न करने की अनुमति देता है) में ढाल संलग्न करें, सभी DIP स्विच संपर्कों को बंद स्थिति में रखें, पिन 13 और GND के बीच एक एलईडी कनेक्ट करें, और USB केबल को कनेक्ट करें Arduino और कंप्यूटर:

छवि
छवि

मैंने Arduino Mega 2560 का उपयोग किया, हालाँकि, अंतिम परिणाम वही होगा यदि आप किसी अन्य Arduino बोर्ड का उपयोग कर रहे हैं जो ढाल को युग्मित करने की अनुमति देता है।

लिंक से कोड डाउनलोड करें और इसे Arduino IDE में खोलें:

कोड वेब सर्वर

यदि आप Arduino लियोनार्डो का उपयोग कर रहे हैं, तो कोड की 19 और 20 पंक्तियों पर जाएं, और सीरियल शब्द को सीरियल 1 में बदलें, जैसा कि नीचे की छवि में दिखाया गया है:

छवि
छवि

कोड में आपको लाइन में अपने वाईफाई नेटवर्क का नाम दर्ज करना होगा char * ssid = "आपके वाईफ़ाई नेटवर्क का नाम";, पासवर्ड लाइन में दर्ज होना चाहिए char * पासवर्ड = "आपके वाईफ़ाई नेटवर्क का पासवर्ड"; और वाईफाई.कॉन्फिग लाइन पर (आईपीएड्रेस … आपको अपने वायरलेस नेटवर्क पर एक उपलब्ध आईपी पता दर्ज करना चाहिए क्योंकि यह कोड स्थिर आईपी का उपयोग करता है:

छवि
छवि

"टूल्स" मेनू में "बोर्ड" चुनें और अपने Arduino के मॉडल का चयन करें। अभी भी "टूल्स" मेनू में, "पोर्ट" विकल्प चुनें और COM पोर्ट की जांच करें जिसमें आपका Arduino आवंटित किया गया है।

Arduino को कोड भेजने के लिए बटन पर क्लिक करें और लोड होने की प्रतीक्षा करें।

Arduino पर कोड लोड करने के बाद, USB केबल को कार्ड से डिस्कनेक्ट करें, शील्ड के DIP स्विच के P1 और P2 संपर्कों को ON स्थिति में रखें और USB केबल को फिर से Arduino से कनेक्ट करें।

नोट: जब तक शील्ड के P1 और P2 संपर्क चालू स्थिति में हैं, तब तक आप Arduino को कोड नहीं भेज पाएंगे क्योंकि मूल सीरियल व्यस्त रहेगा। याद रखें कि हर बार जब आप स्विच डीआईपी स्विच की स्थिति बदलते हैं, तो ईएसपी-आरएसटी बटन दबाएं।

Arduino IDE सीरियल मॉनिटर को तुरंत खोलें:

छवि
छवि

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

ध्यान दें कि सीरियल मॉनीटर पर "AT + CIPSTA_CUR" कमांड वेबसर्वर से कनेक्ट होने के लिए IP पता दिखाता है और "AT + CWJAP_CUR" कमांड उस वायरलेस नेटवर्क का नाम और पासवर्ड दिखाता है जिसमें शील्ड जुड़ा हुआ है:

छवि
छवि

सीरियल मॉनिटर पर दिखाए गए आईपी एड्रेस को कॉपी करें, अपना इंटरनेट ब्राउजर खोलें, आईपी एड्रेस पेस्ट करें और एक्सेस करने के लिए ENTER दबाएं। नीचे दिए गए वेबपेज के समान एक वेबपेज लोड किया जाएगा:

छवि
छवि

वेब पेज में एक बटन होता है जो Arduino के पिन 13 से जुड़ी LED को चालू / बंद करने के लिए जिम्मेदार होगा। एलईडी चालू / बंद करने के लिए बटन दबाएं और देखें कि वर्तमान स्थिति पृष्ठ पर अपडेट हो गई है।

उदाहरण के लिए, आप स्मार्टफोन या टैबलेट के माध्यम से भी वेब पेज तक पहुंच सकते हैं।

अंतिम परिणाम के लिए नीचे दिया गया वीडियो देखें:

यह एक सरल अभ्यास था, क्योंकि इसका उद्देश्य यह दिखाना था कि Arduino के साथ ढाल का उपयोग करना कितना आसान है। इंटरनेट पर आपको मिलने वाली सभी परियोजनाएं जो Arduino को वाईफाई असाइन करने के लिए ESP8266 का उपयोग करती हैं, को इस वाईफाई शील्ड के साथ पुन: प्रस्तुत किया जा सकता है, अंतर यह है कि आपको प्लेटफॉर्म पर संचार करने के लिए प्रोटोबार्ड में वोल्टेज डिवाइडर माउंट करने की आवश्यकता नहीं होगी, और सरल में परियोजनाओं आपको बाहरी बिजली की आपूर्ति के साथ सर्किट को बिजली देने के बारे में चिंता करने की ज़रूरत नहीं होगी। इसके अलावा, आपकी परियोजना में बहुत अधिक सुखद सौंदर्य होगा।

अब जब आप जानते हैं कि वेब सर्वर से Arduino के साथ Shield WiFi ESP8266 को कैसे एकीकृत किया जाए, तो बस कोड को संशोधित करें और कुछ और विस्तृत प्रोजेक्ट लागू करें या अपना कोड विकसित करना शुरू करें।

एक बार फिर, अंग्रेजी में फेल होने के लिए खेद है।

यदि शील्ड के बारे में आपके कोई प्रश्न हैं, तो बस पूछें और मुझे जवाब देने में खुशी होगी।

सिफारिश की: