विषयसूची:

ESP8266 12X मॉड्यूल प्रोग्रामिंग के 3 सरल तरीके: 5 चरण (चित्रों के साथ)
ESP8266 12X मॉड्यूल प्रोग्रामिंग के 3 सरल तरीके: 5 चरण (चित्रों के साथ)

वीडियो: ESP8266 12X मॉड्यूल प्रोग्रामिंग के 3 सरल तरीके: 5 चरण (चित्रों के साथ)

वीडियो: ESP8266 12X मॉड्यूल प्रोग्रामिंग के 3 सरल तरीके: 5 चरण (चित्रों के साथ)
वीडियो: 3 Simple ways of programming an ESP-12 Module 2024, नवंबर
Anonim
ESP8266 12X मॉड्यूल प्रोग्रामिंग के 3 सरल तरीके
ESP8266 12X मॉड्यूल प्रोग्रामिंग के 3 सरल तरीके

यदि आप ESP8266 माइक्रो कंट्रोलर से परिचित नहीं हैं, तो मुझे वास्तव में लगता है कि आप चूक गए हैं! ये चीजें अविश्वसनीय हैं: वे सस्ते, शक्तिशाली हैं और सभी के सर्वश्रेष्ठ में अंतर्निहित वाईफाई है! ESP8266 ने अधिक पारंपरिक Arduino बोर्डों के लिए एक वाईफाई ऐड ऑन बोर्ड के रूप में अपनी यात्रा शुरू की, लेकिन कुछ ही समय बाद, समुदाय को उनकी शक्ति का एहसास हुआ और अतिरिक्त समर्थन मिला। सीधे Arduino IDE के साथ प्रोग्राम करने में सक्षम होने के लिए।

इन दिनों यदि आप अपने प्रोजेक्ट के लिए ESP8266 का उपयोग करना चाह रहे हैं, तो मैं Wemos D1 Mini* ($2.50) या Adafruit Feather Huzzah जैसे विकास बोर्ड का उपयोग करने की सलाह दूंगा। इन बोर्डों में सभी उपयोगी पिन टूट गए हैं, उनके माइक्रो यूएसबी कनेक्टर के माध्यम से आसानी से प्रोग्राम करने योग्य हैं और 3.3V नियामक में निर्मित हैं। लेकिन क्या होगा यदि आप एक कस्टम पीसीबी के साथ एक परियोजना में एक ईएसपी 8266 का उपयोग करना चाहते हैं? ESP12 मॉड्यूल का उपयोग करने का सबसे आसान तरीका है, और इस निर्देश में मैं आपको उन्हें प्रोग्रामिंग करने के कुछ सरल तरीके दिखाऊंगा। * = संबद्ध लिंक

चरण 1: वीडियो देखें

यदि आप इसे देखना चाहते हैं, तो निर्देशयोग्य में निहित सभी जानकारी के साथ एक वीडियो है। मेरे चैनल पर मैं ESP8266s के साथ बहुत काम करता हूं, इसलिए मेरा चैनल सामान्य रूप से यह जांचने लायक हो सकता है कि क्या उस तरह की सामग्री में आपकी रुचि है!

चरण 2: पूर्व-चरण: ESP8266 की प्रोग्रामिंग के लिए सेटअप

Image
Image

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

अगर वीडियो वास्तव में आपकी चीज नहीं हैं, तो बेकी के शानदार IoT क्लास का पाठ 2 देखें, यह आपकी जरूरत की हर चीज को भी खत्म कर देता है।

इससे पहले कि आप अगले भाग पर जाएँ, आपको एक ESP8266 पर एक साधारण स्केच अपलोड करने में सक्षम होना चाहिए (जैसे कि वीडियो और बैकी के पाठ दोनों में उल्लिखित ब्लिंक उदाहरण)

चरण 3: विधि 1: "मेंढक" पिन प्रोग्रामर

विधि 1
विधि 1

ESP12 मॉड्यूल को प्रोग्राम करने का यह शायद सबसे आसान तरीका है। आप मूल रूप से केवल बोर्ड में मॉड्यूल को पॉप करते हैं और फिर यह बिल्कुल पहले बताए गए विकास बोर्डों में से एक जैसा व्यवहार करता है। प्रोग्रामिंग करते समय मैंने बोर्ड ड्रॉप डाउन से Wemos D1 मिनी बोर्ड का चयन किया। इस पद्धति में डाउनसाइड्स हैं:

  • यदि आप केवल कुछ बोर्ड बना रहे हैं तो प्रोग्रामर थोड़ा महंगा है।
  • बोर्डों को आपके पीसीबी में मिलाप करने से पहले केवल इस तरह से प्रोग्राम किया जा सकता है

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

  • एलीएक्सप्रेस पॉप-इन ईएसपी मॉड्यूल प्रोग्रामर*
  • फ्रेड का मेंढक पिन ईएसपी मॉड्यूल प्रोग्रामर

* = संबद्ध लिंक

चरण 4: विधि 2: मूल रूप से किसी भी USB से सीरियल कन्वर्टर का उपयोग करना

विधि 2: मूल रूप से किसी भी USB से सीरियल कन्वर्टर का उपयोग करना
विधि 2: मूल रूप से किसी भी USB से सीरियल कन्वर्टर का उपयोग करना
विधि 2: मूल रूप से किसी भी USB से सीरियल कन्वर्टर का उपयोग करना
विधि 2: मूल रूप से किसी भी USB से सीरियल कन्वर्टर का उपयोग करना
विधि 2: मूल रूप से किसी भी USB से सीरियल कन्वर्टर का उपयोग करना
विधि 2: मूल रूप से किसी भी USB से सीरियल कन्वर्टर का उपयोग करना

अगली विधि के लिए हम मैन्युअल रूप से ESP मॉड्यूल को प्रोग्रामिंग मोड में डालने जा रहे हैं और फिर ESP8266 को प्रोग्राम करने के लिए मूल रूप से किसी भी USB से सीरियल कन्वर्टर का उपयोग करते हैं, यहाँ तक कि यह PL2303 एक * जिसकी लागत 50c वितरित कार्य है!

सामान्य ऑपरेशन:

प्रोग्रामिंग शुरू करने से पहले हमें सबसे पहले यह देखना होगा कि ESP8266 को चलाने के लिए किन बाहरी घटकों की आवश्यकता है। सामान्य ऑपरेशन के लिए एक ESP-12 मॉड्यूल को निम्नलिखित की आवश्यकता होती है

  • EN, RST और GPIO 0 को 10K रोकनेवाला का उपयोग करके उच्च खींचने की आवश्यकता है
  • GPIO 15 को 10K रोकनेवाला का उपयोग करके जमीन पर खींचने की जरूरत है
  • 3.3V बिजली की आपूर्ति लगभग 250mA करंट में सक्षम है (VCC और GND के बीच एक कैप की सिफारिश की जाती है)

उपरोक्त कॉन्फ़िगरेशन के साथ ESP8266 चालू होने पर सामान्य ऑपरेटिंग मोड में होगा, इसलिए यह आपके द्वारा प्रोग्राम किए गए किसी भी स्केच को चलाएगा। आप ESP-12 मॉड्यूल* के लिए ब्रेकआउट बोर्ड खरीद सकते हैं जो विभिन्न सेटअपों के परीक्षण के लिए वास्तव में उपयोगी हैं। मॉड्यूल में EN और GPIO 15 पिन के लिए प्रतिरोधक सेटअप है, इसलिए आपको अभी भी RST और GPIO 0 के लिए पुल-अप रोकनेवाला जोड़ने की आवश्यकता होगी,

प्रोग्रामिंग मोड सक्षम करना:

इसे प्रोग्रामिंग मोड में लाने के लिए, ईएसपी शुरू होने पर जीपीआईओ 0 को कम खींचने की जरूरत है। ऐसा करने का सबसे आसान तरीका GPIO 0 और RST पिन में बटन जोड़ना है जो दबाए जाने पर जमीन से जुड़ते हैं। फिर फ्लैश मोड को सक्षम करने के लिए, आप बस

  • GPIO 0 बटन दबाए रखें
  • आरएसटी बटन दबाएं
  • फिर दोनों बटनों को छोड़ दें

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

USB से सीरियल एडॉप्टर के साथ प्रोग्रामिंग:

प्रोग्राम मोड को सक्षम करना केवल आधी लड़ाई है, अब हमें वास्तव में मॉड्यूल को प्रोग्राम करने की आवश्यकता है। अधिकांश USB से सीरियल एडेप्टर ESP8266 को पर्याप्त करंट प्रदान नहीं कर सकते हैं, इसलिए यह अनुशंसा की जाती है कि आप बाहरी 3.3V स्रोत का उपयोग करके ESP8266 को पावर दें।

प्रोग्रामर को वायर करने के लिए आपको निम्नलिखित पिन कनेक्ट करने की आवश्यकता है (ऊपर की छवि में भी दिखाया गया है):

  • प्रोग्रामर के TX को ESP8266 के RX से कनेक्ट करें (टाइपो नहीं, कनेक्शन उलट दिए गए हैं)
  • प्रोग्रामर के RX को ESP8266 के TX से कनेक्ट करें
  • प्रोग्रामर के ग्राउंड को ESP8266 के ग्राउंड से कनेक्ट करें

अपना स्केच अपलोड करने के लिए, निम्न चरणों का पालन करें:

  • अपने सीरियल एडॉप्टर का पोर्ट नंबर चुनें (टूल्स-> पोर्ट)
  • ऊपर बताए अनुसार अपने ESP8266 पर प्रोग्रामिंग मोड सक्षम करें
  • अपलोड बटन पर क्लिक करें। (यदि यह विफल हो जाता है तो अपनी वायरिंग को दोबारा जांचें और अपने बोर्ड को फिर से प्रोग्रामिंग मोड में आराम करने का प्रयास करें)
  • अपलोड समाप्त होने पर रीसेट बटन पर क्लिक करें

इस पद्धति का उपयोग करते हुए अपलोड करते समय मेरे द्वारा उपयोग की जाने वाली बोर्ड सेटिंग्स यहां दी गई हैं:

  • बोर्ड: जेनेरिक ESP8266 मॉड्यूल
  • फ्लैश मोड: डीआईओ
  • फ्लैश का आकार: 4M (3M Spiffs)
  • रीसेट विधि: सीके
  • फ्लैश फ्रीक्वेंसी: 40 मेगाहर्ट्ज
  • अपलोड स्पीड: ११५२००

ध्यान देने वाली आखिरी बात यह है कि एक सामान्य ESP8266 मॉड्यूल पॉइंट टू पिन 1 के लिए LED_BUILIN डिफिनिशन है, लेकिन एक ESP12 मॉड्यूल का बिल्ट इन एलईडी पिन 2 से जुड़ा है (यह एक FYI के रूप में भी सक्रिय कम है)। इसलिए यदि आप ब्लिंक स्केच का परीक्षण कर रहे हैं तो आपको LED_BUILTIN. के बजाय नंबर 2 का उपयोग करना होगा

* = संबद्ध लिंक

चरण 5: विधि 3: NodeMCU का उपयोग करके ऑटो रीसेटिंग प्रोग्रामर

विधि 3: NodeMCU का उपयोग करके ऑटो रीसेटिंग प्रोग्रामर
विधि 3: NodeMCU का उपयोग करके ऑटो रीसेटिंग प्रोग्रामर
विधि 3: NodeMCU का उपयोग करके ऑटो रीसेटिंग प्रोग्रामर
विधि 3: NodeMCU का उपयोग करके ऑटो रीसेटिंग प्रोग्रामर

यदि आपने किसी ईएसपी विकास बोर्ड का उपयोग किया है तो आपने देखा होगा कि मूल रूप से उन सभी को बटनों का उपयोग करके प्रोग्रामिंग मोड को मैन्युअल रूप से सक्षम करने की आवश्यकता नहीं है, तो वे ऐसा कैसे करते हैं?

अधिकांश USB से सीरियल चिप्स में अतिरिक्त पिन होते हैं जो अपलोड प्रक्रिया के विभिन्न चरणों में आउटपुट संकेत देते हैं और कुछ बाहरी सर्किटरी के उपयोग से GPIO 0 के निम्न और आवश्यक रीसेट को ट्रिगर करना संभव है। RuiMoteiro के पास FTDI बोर्ड और ESP8266 का उपयोग करके इस विषय पर एक निर्देश है।

लेकिन मुझे लगता है कि इसके लिए एक आसान तरीका है, और इससे भी बेहतर यह है कि एक अच्छा मौका है कि आपके पास पहले से ही वह सब कुछ है जो आपको करने की ज़रूरत है! आप प्रोग्रामर के रूप में एक NodeMCU जैसे ESP8266 विकास बोर्ड का उपयोग कर सकते हैं*।

NodeMCU का उपयोग करने का क्या फायदा है?

एक प्रोग्रामर के रूप में NodeMCU का उपयोग करने के मुख्य लाभ निम्नलिखित हैं:

  • आप NodeMCU के 3V पिन से सीधे ESP8266 को पावर दे सकते हैं
  • प्रोग्रामिंग मोड के ऑटो-रीसेटिंग/सक्षम करने को संभालेगा
  • लगभग $ 2.50 की लागत वितरित की गई (और दूसरों की प्रोग्रामिंग न करने पर नियमित देव बोर्ड के रूप में उपयोग की जा सकती है!)

आप किसी भी देव बोर्ड के साथ इसी दृष्टिकोण का उपयोग कर सकते हैं जो ESP8266 के चिप सक्षम पिन को उजागर करता है।

यह कैसे काम करता है?

मुझे इसका विचार मीका कुर्केला नामक एक YouTuber से मिला, अपने वीडियो में वह ESP-01 मॉड्यूल को प्रोग्राम करने के लिए NodeMCU का उपयोग कर रहा था, लेकिन हम ESP12 मॉड्यूल के लिए उसी विचार का उपयोग कर सकते हैं।

मूल रूप से हम EN पिन को कम करके NodeMCU पर ESP8266 को निष्क्रिय करने जा रहे हैं, यह NodeMCU पर ESP8266 मॉड्यूल को बूट होने से रोकेगा। फिर हम NodeMCU बोर्ड के सभी संबंधित पिनों को अपने बाहरी ESP8266 से जोड़ने जा रहे हैं।

इसे तार-तार करना

इसे वायर करने के लिए, आपको मानक ESP8266 वायरिंग की आवश्यकता होगी जैसा कि पिछले चरण में दिखाया गया है और फिर निम्नलिखित कनेक्शन जोड़ने के लिए (ऊपर की छवि में भी दिखाया गया है):

  • NodeMCU के 3V को ESP8266 के VCC से कनेक्ट करें
  • GND को GND. से कनेक्ट करें
  • NodeMCU के TX को ESP8266 के TX से कनेक्ट करें (यह पिछले चरण से अलग है)
  • NodeMCU के RX को ESP8266 के RX से कनेक्ट करें
  • NodeMCU के D3 को ESP8266 के GPIO 0 से कनेक्ट करें (D3 ESP8266 का GPIO 0 है)
  • NodeMCU के RST को ESP8266 के RST से कनेक्ट करें
  • NodeMCU के EN को GND. से कनेक्ट करें

एक स्केच अपलोड करना

एक बार जब आपके पास ESP8266 वायर्ड हो जाए, तो आपको निम्नलिखित कार्य करने होंगे:

  • NodeMCU के पोर्ट नंबर का चयन करें (टूल्स-> पोर्ट)
  • बोर्ड प्रकार का चयन करें "नोडएमसीयू 1.0 (ईएसपी12-ई मॉड्यूल)"
  • अपलोड पर क्लिक करें

और बस! यह स्वचालित रूप से प्रोग्रामिंग मोड को सक्षम कर देगा और अपलोडिंग समाप्त होने पर स्वचालित रूप से रीसेट हो जाएगा, इसलिए यह स्केच को निष्पादित करना शुरू कर देगा।

अपने बोर्ड के डिजाइनों में इसका उपयोग करना

अपने बोर्ड डिजाइनों में इस पद्धति का उपयोग करने के लिए, आपको बस निम्नलिखित पिनों को तोड़ना होगा:

  • ज़मीन
  • जीपीआईओ 0
  • वीसीसी
  • टेक्सास
  • आरएक्स
  • आरएसटी

और जब आप अपने बोर्डों को प्रोग्राम करना चाहते हैं, तो इसे ऊपर के रूप में तार दें।

उम्मीद है कि आपको यह निर्देश उपयोगी लगा होगा, यदि आपके कोई प्रश्न हैं तो कृपया बेझिझक पूछें!

* = संबद्ध लिंक

सिफारिश की: