विषयसूची:

Arduino UNO का उपयोग करके ESP8266 (ESP-01) मॉड्यूल पर फर्मवेयर को पुनर्स्थापित या अपग्रेड करें: 7 चरण
Arduino UNO का उपयोग करके ESP8266 (ESP-01) मॉड्यूल पर फर्मवेयर को पुनर्स्थापित या अपग्रेड करें: 7 चरण

वीडियो: Arduino UNO का उपयोग करके ESP8266 (ESP-01) मॉड्यूल पर फर्मवेयर को पुनर्स्थापित या अपग्रेड करें: 7 चरण

वीडियो: Arduino UNO का उपयोग करके ESP8266 (ESP-01) मॉड्यूल पर फर्मवेयर को पुनर्स्थापित या अपग्रेड करें: 7 चरण
वीडियो: How to Program ESP01 WiFi Module | Arduino IDE | DIY 2024, नवंबर
Anonim
Arduino UNO का उपयोग करके ESP8266 (ESP-01) मॉड्यूल पर फर्मवेयर को पुनर्स्थापित या अपग्रेड करें
Arduino UNO का उपयोग करके ESP8266 (ESP-01) मॉड्यूल पर फर्मवेयर को पुनर्स्थापित या अपग्रेड करें
Arduino UNO का उपयोग करके ESP8266 (ESP-01) मॉड्यूल पर फर्मवेयर को पुनर्स्थापित या अपग्रेड करें
Arduino UNO का उपयोग करके ESP8266 (ESP-01) मॉड्यूल पर फर्मवेयर को पुनर्स्थापित या अपग्रेड करें
Arduino UNO का उपयोग करके ESP8266 (ESP-01) मॉड्यूल पर फर्मवेयर को पुनर्स्थापित या अपग्रेड करें
Arduino UNO का उपयोग करके ESP8266 (ESP-01) मॉड्यूल पर फर्मवेयर को पुनर्स्थापित या अपग्रेड करें
Arduino UNO का उपयोग करके ESP8266 (ESP-01) मॉड्यूल पर फर्मवेयर को पुनर्स्थापित या अपग्रेड करें
Arduino UNO का उपयोग करके ESP8266 (ESP-01) मॉड्यूल पर फर्मवेयर को पुनर्स्थापित या अपग्रेड करें

ESP-01 मॉड्यूल जिसका मैंने उपयोग किया था, मूल रूप से पुराने AI थिंकर फर्मवेयर के साथ आया था, जो इसकी क्षमताओं को सीमित करता है क्योंकि कई उपयोगी AT कमांड समर्थित नहीं हैं।

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

एटी+आईपीआर=9600

इसने ESP-01 मॉड्यूल को रोक दिया। किसी भी एटी कमांड ने अब काम नहीं किया, जिसने मुझे और अधिक शोध करने के लिए प्रेरित किया और कई घंटों के बाद, मुझे अंततः अपने ईएसपी -01 को पुनर्स्थापित करने और नवीनतम संगत फर्मवेयर स्थापित करने का एक तरीका मिला। इसलिए, मैंने फैसला किया कि यह पूरी प्रक्रिया को साझा करने लायक है।

सावधानी: अपने अनुभव के आधार पर, मैं अत्यधिक सलाह दूंगा कि आप अपने बॉड दर को बदलने के लिए AT+IPR कमांड का उपयोग न करें क्योंकि इसकी सबसे अधिक संभावना है कि आपको अपने फर्मवेयर को फिर से फ्लैश करना होगा। हालांकि, अलग-अलग फ्लैश आकार और फ़ैक्टरी फ़र्मवेयर संस्करण के साथ ईएसपी -01 मॉड्यूल के कई अलग-अलग प्रकार हैं, इसलिए आपका अनुभव भिन्न हो सकता है।

ESP-01 मॉड्यूल 5 V-अनुरूप नहीं है और इसे पावर देने के लिए 3.3 V की आवश्यकता होती है, लेकिन तर्क स्तर पर ठीक से काम करने के लिए भी। कंप्यूटर के साथ संचार करने के लिए, मॉड्यूल को अतिरिक्त रूप से एक यूएसबी से सीरियल कनवर्टर की आवश्यकता होती है। इसलिए, एक वोल्टेज कनवर्टर और एक यूएसबी टू सीरियल एडॉप्टर का उपयोग करने के बजाय, मैंने एक सरल समाधान चुनने का फैसला किया। चूंकि मेरे पास पहले से ही एक Arduino UNO है, इसलिए मैंने बाद वाले का उपयोग ESP-01 मॉड्यूल को पावर देने और ESP-01 और कंप्यूटर के बीच संचार स्थापित करने के लिए किया, जो प्रभावी रूप से एक सीरियल ब्रिज के रूप में काम कर रहा था।

आपूर्ति

  1. ईएसपी-01 मॉड्यूल
  2. Arduino UNO (USB केबल के साथ)
  3. जम्पर ड्यूपॉन्ट तार
  4. ब्रेड बोर्ड

चरण 1: तार कनेक्शन

तार कनेक्शन
तार कनेक्शन
तार कनेक्शन
तार कनेक्शन
तार कनेक्शन
तार कनेक्शन

Arduino UNO और ESP-01 मॉड्यूल के साथ वायर कनेक्शन को जम्पर केबल और ब्रेडबोर्ड का उपयोग करके आसानी से बनाया जा सकता है। Arduino डेवलपमेंट बोर्ड और ESP मॉड्यूल के बीच संबंध तालिका में वर्णित हैं। इस मामले में RX और TX कनेक्शन उलट नहीं हैं, क्योंकि संचार Arduino और ESP मॉड्यूल के बीच नहीं बल्कि ESP और कंप्यूटर के बीच हो रहा है। तो, इस मामले में, Arduino UNO बोर्ड को इसके ऑन-बोर्ड USB से सीरियल कनवर्टर के माध्यम से एक सीरियल ब्रिज के रूप में उपयोग किया जाता है।

Arduino बोर्ड और ESP मॉड्यूल के बीच RX पिन कनेक्शन एक वोल्टेज विभक्त के माध्यम से बनाया जाना चाहिए, क्योंकि ESP-01 3.3 V तर्क स्तर पर संचालित होता है और Arduino UNO से 5 V तर्क स्तर प्राप्त करने से ESP मॉड्यूल को नुकसान हो सकता है। जैसा कि चित्र में दिखाया गया है, आप केवल 2 प्रतिरोधों का उपयोग करके एक साधारण 3.3 V वोल्टेज विभक्त का निर्माण कर सकते हैं। वैकल्पिक रूप से, आप तर्क स्तर कनवर्टर का उपयोग कर सकते हैं।

सावधानी: अपने सेटअप के लिए, मैंने सीधे RX पिन को तार दिया (उचित नहीं!) और सब कुछ काम कर गया, लेकिन यदि आप तर्क स्तर के रूपांतरण को छोड़ने का निर्णय लेते हैं, तो अपने जोखिम पर आगे बढ़ें!

एक सामान्य ग्राउंड कनेक्शन स्थापित करने के लिए, Arduino UNO ग्राउंड पिन ESP मॉड्यूल ग्राउंड पिन से जुड़ा है।

Arduino UNO का उपयोग सीधे ESP मॉड्यूल के VCC पिन को 3.3 V पावर प्रदान करने के लिए किया जाता है। जम्पर वायर का उपयोग करके 3.3 V पिन को ब्रेडबोर्ड से कनेक्ट करें, क्योंकि 3.3 V का उपयोग न केवल ESP के VCC पिन के लिए बल्कि ESP के CH_PD पिन को ESP चिप को सक्षम करने के लिए भी किया जाएगा।

Arduino UNO पर RESET पिन Arduino के माध्यम से अपलोड किए गए किसी भी कोड को बायपास करने के लिए ग्राउंड से जुड़ा है ताकि कोड को कंप्यूटर से ESP-01 को भेजा जा सके।

तालिका आंकड़ा फर्मवेयर फ्लैशिंग के लिए कनेक्शन का पूरा सेट दिखाता है लेकिन इस स्तर पर, ईएसपी के रीसेट और जीपीआईओ_0 पिन को कनेक्ट न करें क्योंकि हम केवल अगले चरण में फर्मवेयर जानकारी पढ़ेंगे।

चरण 2: फर्मवेयर संस्करण की जाँच करें

फर्मवेयर संस्करण की जाँच करें
फर्मवेयर संस्करण की जाँच करें

Arduino IDE सीरियल मॉनिटर में अपना ESP-01 फर्मवेयर संस्करण खोजने के लिए, टाइप करें:

एटी+जीएमआर

नोट: सभी AT कमांड को बिना स्पेस के अपरकेस में टाइप करना होगा।

यहाँ मेरे ESP-01 के लिए सीरियल आउटपुट है (आपका ESP मॉड्यूल बिल्कुल वैसी जानकारी नहीं दिखा सकता है जैसा कि यह विशिष्ट मॉडल और रिलीज़ की तारीख पर निर्भर करता है):

एटी+जीएमआर

एटी संस्करण: 0.25.0.0 (जून 5 2015 16:27:16) एसडीके संस्करण: 1.1.1 एआई-थिंकर टेक्नोलॉजी कंपनी लिमिटेड जून 23 2015 23:23:50 ठीक है

अब, नवीनतम आधिकारिक एस्प्रेसिफ ESP8266EX फर्मवेयर में अपग्रेड करने के लिए, इसकी वेबसाइट के संसाधन अनुभाग पर जाएं:

नोट: उपलब्ध फर्मवेयर की सूची सभी आपके ESP-01 मॉडल के अनुकूल नहीं हो सकती है। अधिक जानकारी के लिए इस ट्यूटोरियल के अंत में समस्या निवारण अनुभाग देखें।

चरण 3: सेटअप तैयार करना: फर्मवेयर फ्लैशिंग से पहले

सेटअप तैयार करना: फर्मवेयर फ्लैशिंग से पहले
सेटअप तैयार करना: फर्मवेयर फ्लैशिंग से पहले

अब, हम ESP-01 फर्मवेयर फ्लैशिंग प्रक्रिया के लिए Arduino UNO तैयार करेंगे।

सुनिश्चित करें कि Arduino RESET तार ग्राउंड से डिस्कनेक्ट हो गया है। इसके अलावा, Arduino UNO से TX और RX तारों को ESP-01 मॉड्यूल से डिस्कनेक्ट करने की आवश्यकता है।

Arduino IDE खोलें और शीर्ष मेनू से, फ़ाइल > उदाहरण > 01 पर जाएं। मूल बातें > बेयरमिनिमम। स्केच को Arduino UNO पर अपलोड करें। यह खाली स्केच यह सुनिश्चित करेगा कि ईएसपी मॉड्यूल के साथ कोई संचार हस्तक्षेप न हो।

UNO और ESP-01 के बीच RX और TX केबल को फिर से कनेक्ट करें। साथ ही, UNO के RESET पिन को ग्राउंड से कनेक्ट करें।

CH_PD या CH_EN पिन 'चिप पावर-डाउन' या 'चिप सक्षम' के लिए खड़ा है और इसे ESP चिप को सक्षम करने के लिए उच्च खींचने या 3.3 V से कनेक्ट करने की आवश्यकता है।

निम्नलिखित ESP पिन के लिए दो अतिरिक्त जम्पर केबल की आवश्यकता है: GPIO_0 और RESET।

GPIO_2 का उपयोग नहीं किया जाता है और डिस्कनेक्ट कर दिया जाता है।

ESP-01 को प्रोग्रामिंग मोड में सेट करने की आवश्यकता है ताकि उस पर कोड अपलोड किया जा सके। लेकिन ESP-01 में इसे सीधे प्राप्त करने के लिए आवश्यक ऑन-बोर्ड अतिरिक्त हार्डवेयर नहीं है, इसलिए इसे सभी को अलग से कनेक्ट करने की आवश्यकता है। अपने स्वयं के उपयोग के लिए, मैंने स्विच का उपयोग करने की जहमत नहीं उठाई, बल्कि इसके बजाय ESP-01 मॉड्यूल के GPIO_0 और RESET पिन से जुड़े दो पुरुष-महिला जम्पर केबल का उपयोग किया और उन्हें Arduino UNO के ग्राउंड से ब्रेडबोर्ड के सामान्य ग्राउंड पिन में प्लग किया।

फ्लैशिंग प्रक्रिया शुरू करने से पहले, GPIO_0 प्रोग्रामिंग मोड को सक्षम करने के लिए पूरी फ्लैशिंग प्रक्रिया के लिए ग्राउंड से जुड़ा है।

RESET पिन एक सेकंड के लिए ग्राउंड से जुड़ा होता है और फिर हटा दिया जाता है। यह नए फर्मवेयर को अपलोड करने की अनुमति देता है।

चरण 4: फ्लैशिंग टूल और फर्मवेयर डाउनलोड करें

फ्लैशिंग टूल और फर्मवेयर डाउनलोड करें
फ्लैशिंग टूल और फर्मवेयर डाउनलोड करें

इस्तेमाल किया गया फर्मवेयर एस्प्रेसिफ से है जो ईएसपी 8266 चिप का मूल निर्माता है।

आधिकारिक टूल और एटी फर्मवेयर फाइलों तक पहुंचने के लिए यहां जाएं:

'टूल्स' टैब के तहत, फ्लैश डाउनलोड टूल्स (ESP8266 और ESP32) डाउनलोड करें, वर्तमान में नवीनतम V3.6.8.0 है।

'एटी' टैब के अंतर्गत, नवीनतम संगत एटी फर्मवेयर डाउनलोड करें, जो मेरे ईएसपी-01 मॉडल के लिए ईएसपी8266 एटी बिन वी1.6.2 है। यह ESP-01 मॉडल पर निर्भर करता है क्योंकि इसमें विभिन्न फ्लैश मेमोरी आकार हो सकते हैं। फ्लैश डाउनलोड टूल प्रोग्राम के डिटेक्टेड इंफो सेक्शन में आपको इसके बारे में अधिक जानकारी फ्लैशिंग प्रक्रिया शुरू करने के लिए START पर क्लिक करने के बाद मिलेगी। इसलिए, यदि आप सुनिश्चित नहीं हैं कि फ्लैश आकार या कौन सी फर्मवेयर फाइलों का चयन करना है, तो अपने ईएसपी मॉड्यूल के बारे में सही जानकारी प्राप्त करने के लिए बस प्रोग्राम चलाएं।

फ्लैश करने के बाद, आप ईएसपी -01 के साथ परीक्षण और काम करने के लिए एटी कमांड का उपयोग कर सकते हैं। आधिकारिक ESP8266 एटी निर्देश सेट डाउनलोड करें:

चरण 5: चमकती प्रक्रिया

चमकती प्रक्रिया
चमकती प्रक्रिया
चमकती प्रक्रिया
चमकती प्रक्रिया
चमकती प्रक्रिया
चमकती प्रक्रिया
चमकती प्रक्रिया
चमकती प्रक्रिया

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

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

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

सही हेक्स कोड या पते खोजने के लिए, आधिकारिक एटी निर्देश सेट दस्तावेज़ देखें। मैंने तालिका का एक स्क्रीनशॉट संलग्न किया है जिसका उपयोग मैंने अपने ईएसपी मॉड्यूल को चमकाने के लिए किया था।

फिर, बस START बटन दबाएं और देखें कि क्या जादू होता है। बटन टेक्स्ट सिंक दिखाएगा और पता लगाया गया जानकारी अनुभाग आपके ईएसपी मॉड्यूल के विनिर्देशों को प्रदर्शित करेगा। फिर, टेक्स्ट डाउनलोड दिखाएगा और प्रगति बार सक्रिय हो जाएगा क्योंकि फर्मवेयर फाइलें ईएसपी फ्लैश मेमोरी में अपलोड की जाती हैं। फर्मवेयर फ्लैशिंग प्रक्रिया पूरी होने के बाद, आप देखेंगे: FINISH।

फ्लैश डाउनलोड टूल्स प्रोग्राम को बंद करें। Arduino IDE सीरियल मॉनिटर को अपने नियंत्रण में लेने की अनुमति देने के लिए सीरियल पोर्ट को मुक्त करने के लिए यह आवश्यक है।

ESP GPIO_0 पिन को ग्राउंड कनेक्शन से डिस्कनेक्ट करें। यह प्रोग्रामिंग मोड को अक्षम कर देगा।

1 सेकंड के लिए रीसेट को ग्राउंड से कनेक्ट करें और फिर डिस्कनेक्ट करें। यह मॉड्यूल को रीसेट कर देगा।

Arduino IDE खोलें। शीर्ष मेनू से, टूल्स > पोर्ट > सही COM पोर्ट चुनें। सीरियल मॉनिटर खोलें और "एनएल और सीआर दोनों" चुनें और 115200 की बॉड दर चुनें जो कि डिफ़ॉल्ट है।

प्रकार:

पर

यदि चमकती प्रक्रिया सही ढंग से चली, तो प्रतिक्रिया होगी:

ठीक है

अपना नया फर्मवेयर सत्यापित करने के लिए, टाइप करें:

एटी+जीएमआर

यहाँ मेरे ESP-01 के लिए सीरियल मॉनिटर आउटपुट है:

एटी+जीएमआर

एटी संस्करण: 1.6.2.0 (अप्रैल 13 2018 11:10:59) एसडीके संस्करण: 2.2.1 (6ab97e9) संकलन समय: 7 जून 2018 19:34:26 बिन संस्करण (वरूम 02): 1.6.2 ठीक है

चरण 6: बॉड दर को स्थायी रूप से बदलें

बॉड दर को स्थायी रूप से बदलें
बॉड दर को स्थायी रूप से बदलें

यह हिस्सा वैकल्पिक है। डिफ़ॉल्ट बॉड दर 115200 है, लेकिन यदि आप इसे किसी अन्य बॉड गति में बदलना चाहते हैं, तो आप बस Arduino सीरियल मॉनिटर में निम्न कमांड टाइप कर सकते हैं।

उदाहरण के लिए, यदि आप 9600 बॉड रेट / 8 डेटा बिट्स / 1 स्टॉप बिट्स / नो पैरिटी बिट / नो फ्लो कंट्रोल में बदलना चाहते हैं।

में टाइप करें:

एटी+UART_DEF=9600, 8, 1, 0, 0

प्रतिक्रिया होनी चाहिए:

ठीक है

ऊपर दिया गया आदेश बॉड दर को स्थायी रूप से 9600 में बदल देता है लेकिन आप किसी भी मानक बॉड गति को चुन सकते हैं।

चरण 7: समस्या निवारण

समस्या निवारण
समस्या निवारण
समस्या निवारण
समस्या निवारण

यदि फर्मवेयर के सफल फ्लैशिंग के बाद कोई विसंगतियां हैं, उदाहरण के लिए, सीरियल मॉनिटर में, 115200 की डिफ़ॉल्ट बॉड दर का चयन करने के बाद और टाइप करें: एटी लेकिन कोई प्रतिक्रिया नहीं दिखाई देती है या यदि आप एटी + जीएमआर टाइप करते हैं और कुछ अन्य प्राप्त करते हैं फर्मवेयर संस्करण की जानकारी के अलावा अन्य प्रकार की जानकारी, तो हो सकता है कि आपने गलत फर्मवेयर फ्लैश किया हो। उस स्थिति में, फ्लैश डाउनलोड टूल्स प्रोग्राम में, जब आप फर्मवेयर फ्लैशिंग प्रक्रिया शुरू करने के लिए START बटन दबाते हैं, तो स्थिति हरा बटन SYNC पढ़ता है और यही वह चरण है जहां ESP मॉड्यूल जानकारी निकाली जाती है और DETECTED INFO के तहत उपलब्ध कराई जाती है। फ्लैश करने के लिए सही फर्मवेयर और सही फाइलों को निर्धारित करने के लिए यह जानकारी महत्वपूर्ण है।

मेरे ESP-01 मॉड्यूल के लिए निम्नलिखित है:

फ्लैश विक्रेता:

ई0एच: एन/ए फ्लैश डिविड:4014एच क्वाड;8एमबिट क्रिस्टल:26 मेगाहर्ट्ज

आपकी पता की गई जानकारी ESP-01 मॉडल पर निर्भर करेगी। लेकिन यह आपको सही फ़्लैश आकार निकालने की अनुमति देगा। मेरे ईएसपी में, यह 8 एमबी है जो 1 एमबी के बराबर है। तो, इसका मतलब है कि मुझे फर्मवेयर फाइलों में से 512 केबी + 512 केबी चुनना चाहिए। और इसका मतलब यह भी है कि फर्मवेयर 1.7.0 या 1.7.1 मेरे ईएसपी मॉड्यूल के लिए ठीक से काम नहीं करेगा, जिसकी पुष्टि मैंने इन फर्मवेयर और परीक्षण को फ्लैश करके भी की है। साथ ही, आधिकारिक एस्प्रेसिफ संसाधन वेबसाइट पर 1.7.0 और 1.7.1 फर्मवेयर के विवरण में, निम्नलिखित जानकारी सूचीबद्ध है: "एटी बिन फ़ाइल के आकार द्वारा सीमित, केवल `1024+1024 फ्लैश मैप` द्वारा समर्थित है चूक जाना।" 1024+1024 का मतलब है कि यह 2048 केबी या 2 एमबी के कुल फ्लैश आकार वाले ईएसपी मॉड्यूल के लिए है।

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

सिफारिश की: