विषयसूची:

ESP8266 पर MicroPython के साथ शुरुआत करना: 10 कदम (चित्रों के साथ)
ESP8266 पर MicroPython के साथ शुरुआत करना: 10 कदम (चित्रों के साथ)

वीडियो: ESP8266 पर MicroPython के साथ शुरुआत करना: 10 कदम (चित्रों के साथ)

वीडियो: ESP8266 पर MicroPython के साथ शुरुआत करना: 10 कदम (चित्रों के साथ)
वीडियो: Easy to use than Arduino | Getting Started with Micropython on ESP32 | Micropython series EP1 2024, नवंबर
Anonim
ESP8266 पर माइक्रोपायथन के साथ शुरुआत करना
ESP8266 पर माइक्रोपायथन के साथ शुरुआत करना

क्या आप C/C++ प्रोग्रामिंग भाषा के साथ Arduino IDE का उपयोग करने वाली सामान्य विधि के बजाय ESP8266-आधारित बोर्डों को प्रोग्राम करने का एक अलग तरीका चाहते हैं?

इस ट्यूटोरियल में हम सीखेंगे कि MicroPython का उपयोग करके ESP8266 बोर्ड को किसे कॉन्फ़िगर और नियंत्रित करना है।

निर्माण समय: 60 मिनट कठिनाई: रेटिंग: आसान

चरण 1: माइक्रोपायथन क्या है?

MicorPython कई प्रोग्रामिंग भाषाओं में से एक है जिसका उपयोग हम ESP8266 मॉड्यूल को प्रोग्राम करने के लिए कर सकते हैं। यह पायथन 3 प्रोग्रामिंग भाषा का एक दुबला और तेज़ संस्करण है और पारंपरिक प्रोग्रामिंग भाषाओं जैसे सी और सी ++ पर इसके कई फायदे हैं।

MicroPython को यथासंभव सामान्य पायथन के साथ संगत होने के लिए डिज़ाइन किया गया है। इसमें एक पूर्ण पायथन कंपाइलर और रनटाइम है, और एक इंटरैक्टिव प्रॉम्प्ट प्रदान करता है जिसे आरईपीएल (रीड-एवल-प्रिंट लूप) के रूप में जाना जाता है।

MicorPython को कुछ अलग-अलग प्रकार के माइक्रोकंट्रोलर्स का समर्थन करने के लिए डिज़ाइन किया गया है। लेकिन इस ट्यूटोरियल के लिए मैं सिर्फ एक मॉडल के साथ काम करने जा रहा हूं: ESP8266-आधारित बोर्ड (NodeMCU)। ध्यान दें कि कुछ अलग-अलग बोर्ड हैं जिन्हें आप एक ही चिप से खरीद सकते हैं।

पढ़ना और संसाधन:

माइक्रोपायथन

नोडएमसीयू

चरण 2: आवश्यकताएँ

आवश्यकताएं
आवश्यकताएं
आवश्यकताएं
आवश्यकताएं
आवश्यकताएं
आवश्यकताएं
आवश्यकताएं
आवश्यकताएं

इस ट्यूटोरियल का अनुसरण करने में सक्षम होने के लिए आपको केवल पायथन के साथ बुनियादी कोडिंग अनुभव की आवश्यकता है। आपको माइक्रोकंट्रोलर, इलेक्ट्रॉनिक्स, या यहां तक कि माइक्रोपायथन के किसी भी पिछले ज्ञान की आवश्यकता नहीं है।

आपको एक मुफ्त यूएसबी पोर्ट के साथ एक विंडोज, मैक या लिनक्स कंप्यूटर की भी आवश्यकता होगी, क्योंकि आप इसे प्रोग्राम करने के लिए अपने कंप्यूटर से एक माइक्रोकंट्रोलर कनेक्ट करेंगे।

आवश्यक भाग:

1 x NodeMCU (या अन्य ESP8266 आधारित बोर्ड)

1 एक्स लाल 5 मिमी एलईडी

1 x 220Ω 1/4W रोकनेवाला

1 x 10KΩ रोटरी पोटेंशियोमीटर

1 एक्स ब्रेडबोर्ड

1 एक्स यूएसबी से माइक्रोयूएसबी केबल

जम्पर तार।

चरण 3: ESP8266 आधारित बोर्ड क्यों?

ESP8266 आधारित बोर्ड क्यों?
ESP8266 आधारित बोर्ड क्यों?

MicroPython का उपयोग करके आप अपने ESP8266 का अधिकतम लाभ उठा सकते हैं। इसके अलावा, ESP8266 मॉड्यूल सबसे अच्छे प्लेटफार्मों में से एक है, जिस पर माइक्रोपायथन का उपयोग करना सीखना है। ऐसा इसलिए है क्योंकि ESP8266 सरल GPIO पिन नियंत्रण कार्यों के साथ-साथ वायरलेस कार्यक्षमता प्रदान करता है, जिससे आप MicroPython प्रोग्रामिंग भाषा के सभी पहलुओं का परीक्षण कर सकते हैं।

ESP8266 चिप ओपन सोर्स डेवलपमेंट इंडस्ट्री में लोकप्रिय है। विभिन्न निर्माताओं के कई विकास बोर्ड हैं जो ESP8266 चिप का उपयोग करते हैं। MicroPython को एक सामान्य पोर्ट प्रदान करने के लिए डिज़ाइन किया गया है जो उन अधिकांश बोर्डों पर चल सकता है, यथासंभव कुछ सीमाओं के साथ। पोर्ट Adafruit Feather HUZZAH बोर्ड पर आधारित है अन्य ESP8266 बोर्डों का उपयोग करते समय, सुनिश्चित करें कि आप उनके योजनाबद्ध और डेटाशीट की जाँच करें ताकि आप उनके और Adafruit Feather HUZZAH बोर्ड के बीच के अंतरों की पहचान कर सकें। इस तरह, आप अपने कोड में अंतर को समायोजित कर सकते हैं।

पढ़ना और संसाधन:

ईएसपी8266

Adafruit पंख HUZZAH

चरण 4: अपना कंप्यूटर सेट करना

अपना कंप्यूटर सेट करना
अपना कंप्यूटर सेट करना
अपना कंप्यूटर सेट करना
अपना कंप्यूटर सेट करना
अपना कंप्यूटर सेट करना
अपना कंप्यूटर सेट करना
अपना कंप्यूटर सेट करना
अपना कंप्यूटर सेट करना

अपने ESP8266 बोर्ड को प्रोग्राम करने के लिए MicroPython का उपयोग करने से पहले आपको कई चीजें सेट करनी होंगी। हम इस चरण में सेटअप प्रक्रिया से गुजरेंगे। इस तरह आप जानेंगे कि MicroPython के साथ उपयोग किए जाने वाले ESP8266 बोर्ड को कैसे कॉन्फ़िगर किया जाए।

तैयार हो रहे

इस चरण से चरण 6 तक आपको केवल आपका ESP8266 और एक USB केबल चाहिए। अपने ESP8266 बोर्ड को अपने कंप्यूटर से कनेक्ट करें।

यह कैसे करना है…

STEP1: डिवाइस ड्राइवर स्थापित करें

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

www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers।

चरण 2: पायथन स्थापित करें

ESP8266 के साथ संचार करने के लिए आप जिन उपकरणों का उपयोग करने जा रहे हैं, वे Python में लिखे गए हैं, इसलिए आपको अपने कंप्यूटर पर Python को स्थापित करने की आवश्यकता है।

यदि आपका ऑपरेटिंग सिस्टम प्री-पैकेज्ड पायथन प्रदान नहीं करता है, तो आप किसी भी समर्थित ऑपरेटिंग सिस्टम के लिए आधिकारिक बिल्ड डाउनलोड करने के लिए https://python.org पर जा सकते हैं।

STEP3: esptool और rshell स्थापित करें

दो पैकेज स्थापित करें जो पाइप का उपयोग करके आपके बोर्ड को प्रबंधित करने में आपकी सहायता करेंगे। ऐसा करने के लिए अपना टर्मिनल खोलें और चलाएं

पाइप स्थापित esptool rshell

चरण 4: माइक्रोपायथन डाउनलोड करें

निम्न लिंक से नवीनतम माइक्रोपायथन फर्मवेयर.बिन डाउनलोड करें:

जिस समय मैं इसे लिख रहा हूं, वर्तमान संस्करण 1.11 है, और फर्मवेयर फ़ाइल को esp8266-20190529-v1.11.bin कहा जाता है।

जब तक आप ऐसा करते हैं, तब तक आपको एक नई रिलीज़ मिल सकती है।

चरण 5: Esptool.py के साथ फ्लैशिंग माइक्रोपायथन

Esptool.py. के साथ फ्लैशिंग माइक्रोपायथन
Esptool.py. के साथ फ्लैशिंग माइक्रोपायथन
Esptool.py. के साथ फ्लैशिंग माइक्रोपायथन
Esptool.py. के साथ फ्लैशिंग माइक्रोपायथन

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

जहाँ आपने.bin फ़ाइल रखी है वहाँ जाएँ। फ्लैश मिटाने के लिए esptool.py का प्रयोग करें।

लिनक्स के लिए:

esptool.py --port /dev/ttyUSB0 मिटा_फ्लैश

विंडोज के लिए:

esptool.py --पोर्ट COM3 इरेज़_फ्लैश

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

अब जब बोर्ड पूरी तरह से मिटा दिया गया है, तो आप माइक्रोपायथन बिल्ड को फ्लैश कर सकते हैं जिसे आपने अभी डाउनलोड किया है। यह esptool.py कमांड के साथ भी किया जाता है:

esptool.py --port /dev/ttyUSB0 --baud 460800 write_flash 0 esp8266-20190529-v1.11.bin

यह कमांड MicroPython.bin फाइल के कंटेंट को बोर्ड को एड्रेस 0 पर लिखने वाला है।

सुनिश्चित करें कि आपने कमांड (esp82688-2019-080529-v1.11.bin) में फर्मवेयर.bin फ़ाइल का नाम आपके द्वारा डाउनलोड किए गए फर्मवेयर के नाम में बदल दिया है।

एक बार फर्मवेयर आपके ईएसपी 8266 बोर्ड पर सफलतापूर्वक स्थापित हो जाने के बाद, आप वायर्ड कनेक्शन (यूएआरटी सीरियल पोर्ट) या विचार वाईफाई के माध्यम से अपने बोर्ड पर आरईपीएल तक पहुंच सकते हैं।

चरण 6: रुपये के साथ माइक्रोपायथन आरईपीएल का उपयोग करना

रुपयेशेल के साथ माइक्रोपायथन आरईपीएल का उपयोग करना
रुपयेशेल के साथ माइक्रोपायथन आरईपीएल का उपयोग करना
रुपयेशेल के साथ माइक्रोपायथन आरईपीएल का उपयोग करना
रुपयेशेल के साथ माइक्रोपायथन आरईपीएल का उपयोग करना

अब आप अपने ESP8266 बोर्ड पर MicroPython शुरू करने के लिए तैयार हैं।

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

अपने बोर्ड से जुड़ने और आरईपीएल सत्र खोलने के लिए, निम्न आदेश दर्ज करें:

रशेल --पोर्ट

यह कमांड आपको rshell प्रांप्ट में लाएगा। ऊपर फोटो देखें।

यदि आप विंडोज़ पर इस ट्यूटोरियल का अनुसरण कर रहे हैं, तो ध्यान दें कि विंडोज़ पर चलते समय rshell में समस्याओं का इतिहास है।

तो उस प्रकार को ठीक करने के लिए:

आरशेल -ए --पोर्ट COM3

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

आरईपीएल

यह सुनिश्चित करने के लिए कि सब कुछ काम कर रहा है, एक साधारण पायथन वाक्य टाइप करें:

प्रिंट ("हैलो वर्ल्ड")

चरण 7: माइक्रोपायथन का उपयोग करके पिन को नियंत्रित करना

MicroPython का उपयोग करके पिन को नियंत्रित करना
MicroPython का उपयोग करके पिन को नियंत्रित करना
MicroPython का उपयोग करके पिन को नियंत्रित करना
MicroPython का उपयोग करके पिन को नियंत्रित करना

इस चरण में, हम सीखेंगे कि माइक्रोपायथन के साथ ESP8266 पिन को कैसे नियंत्रित किया जाए। ऐसा करने के लिए हम एक सेटअप के साथ आएंगे जहां हम एक ईएसपी 8266 बोर्ड जीपीआईओ पिन से जुड़े एलईडी की स्थिति को बदल देंगे। यह आपको यह समझने में मदद करेगा कि माइक्रोपायथन का उपयोग करके डिजिटल आउटपुट को कैसे नियंत्रित किया जाए।

तैयार हो रहे

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

1 एक्स नोडएमसीयू

1 एक्स लाल 5 मिमी एलईडी

1 एक्स 220 प्रतिरोधी

1 एक्स ब्रेडबोर्ड

जम्पर तार

बिल्ड

ब्रेडबोर्ड पर एलईडी लगाकर शुरुआत करें। 220 रोकनेवाला के एक छोर को एलईडी के सकारात्मक पैर से कनेक्ट करें (एक एलईडी का सकारात्मक पैर आमतौर पर दो पैरों में से एक लंबा होता है)। ESP8266 बोर्ड के D1 को पिन करने के लिए रोकनेवाला के दूसरे छोर को कनेक्ट करें। फिर LED के नेगेटिव लेग को ESP8266 बोर्ड के GND पिन से कनेक्ट करें। कनेक्शन जैसा कि ऊपर चित्र में दिखाया गया है।

एक बार सेटअप पूरा हो जाने पर, USB केबल के माध्यम से ESP8266 बोर्ड को अपने कंप्यूटर से कनेक्ट करें।

यह कैसे करना है…

अपने आरईपीएल में निम्नलिखित कोड टाइप करें:

# हर 1 सेकंड में एलईडी ब्लिंक करें

डीईएफ़ ब्लिंक (पिन = 5, समय = 1) # डिफ़ॉल्ट पिन द्वारा ब्लिंक फ़ंक्शन = 5, समय = 1 एस आयात मशीन # मशीन मॉड्यूल पिन कॉन्फ़िगरेशन और मोड को समय से आयात करता है नींद # कुछ देरी के लिए आयात नींद एलईडी = मशीन। पिन (led_pin, machine. PIN. OUT) # LED को OUTPUT के रूप में कॉन्फ़िगर करें जबकि True: # हमेशा के लिए LED.value (1) # LED को हाई स्लीप (समय) पर सेट करें # डिफ़ॉल्ट रूप से 1 सेकंड प्रतीक्षा करें LED.value (0) # LED सेट करें कम नींद के लिए (समय) # डिफ़ॉल्ट रूप से 1 सेकंड प्रतीक्षा करें

इस कोड का परीक्षण करने के लिए अपने RPEL सत्र में ब्लिंक () टाइप करें। यह प्रत्येक 1 सेकंड में GPIO5 से जुड़ी एलईडी को झपकाएगा।

आप कॉल करके पिन और/या समय बदल सकते हैं:

पलक (पिन =, समय =)

रनिंग कोड से बाहर निकलने के लिए ctrl+c दबाएं।

आप ESP8266 से जुड़े इनपुट को पढ़ने के लिए MicroPython का उपयोग कर सकते हैं। यह कैसे करना है, यह जानने के लिए अगले चरण पर आगे बढ़ें।

अगर आप फंस गए हैं तो वीडियो देखें।

चरण 8: एलईडी को फीका करना

एलईडी लुप्त होती
एलईडी लुप्त होती
एलईडी लुप्त होती
एलईडी लुप्त होती

इस चरण में, हम सीखेंगे कि रोटरी पोटेंशियोमीटर का उपयोग करके एलईडी की चमक को कैसे समायोजित किया जाए। हम पल्स चौड़ाई मॉड्यूलेशन (पीडब्लूएम) नामक तकनीक का उपयोग करेंगे, यह हमें 256 सेटिंग्स तक एलईडी को मंद करने की अनुमति देता है।

सूचना: GPIO16 (D0) को छोड़कर ESP8266 के सभी पिनों को PWM पिन के रूप में उपयोग किया जा सकता है।

तैयार हो रहे:

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

1 एक्स नोडएमसीयू

1 एक्स लाल 5 मिमी एलईडी

1 x 50 KΩ रोटरी पोटेंशियोमीटर।

1 एक्स ब्रेडबोर्ड

जम्पर तार

बिल्ड

कनेक्शन ऊपर दिए गए आरेख में दिखाया गया है: एक बार सेटअप पूरा हो जाने के बाद, USB केबल के माध्यम से ESP8266 बोर्ड को अपने कंप्यूटर से कनेक्ट करें।

यह कैसे करना है…

अपने आरईपीएल में निम्नलिखित कोड टाइप करें:

# पोटेंशियोमीटर से डेटा पढ़कर हर 0.5 पर एलईडी को फीका करना

समय से इम्पोर्ट मशीन इंपोर्ट स्लीप लेड_पिन = 5 # एलईडी पिन पॉट = मशीन। एडीसी (0) # एडीसी0 पिन एलईडी = मशीन। पिन (एलईडी_पिन) # एलईडी ऑब्जेक्ट बनाएं LED_pwm = मशीन। PWM (LED, freq = 500) # LED_pwm बनाएं ऑब्जेक्ट और सेट फ़्रीक्वेंसी 500Hz जबकि True: LED_pwm.duty(POT.read()) # पॉट से वैल्यू प्राप्त करें और इसे ड्यूटी साइकल स्लीप (0.5) पर सेट करें # 0.5 प्रतीक्षा करें

यह पोटेंशियोमीटर के मान को बदलकर GPIO 5 से जुड़ी एलईडी की चमक को बदल देगा।

रनिंग कोड से बाहर निकलने के लिए ctrl+c दबाएं।

अगर आप फंस गए हैं तो वीडियो देखें।

चरण 9: यहाँ से कहाँ जाएँ?

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

अब हम सेंसर से डेटा पढ़ सकते हैं और इसे क्लाउड पर भेज सकते हैं, हम एक HTTP सर्वर भी बना सकते हैं जहाँ आप हमारे डेटा को एक साधारण वेबपेज आदि में प्रिंट कर सकते हैं …

इससे हमें इंटरनेट ऑफ थिंग्स (IoT) के बारे में कई जानकारी मिलती है।

चरण 10: निष्कर्ष

ये लो! आगे बढ़ो और माइक्रोपायथन की दुनिया को जीतो।

यदि आपका कोई प्रश्न है, तो निश्चित रूप से आप एक टिप्पणी छोड़ सकते हैं।

मेरे कार्यों के बारे में अधिक देखने के लिए कृपया मेरे YouTube चैनल पर जाएँ:

माययूट्यूब

माय गिटहब

Linkedin

इस निर्देशयोग्य ^^ को पढ़ने के लिए धन्यवाद और आपका दिन शुभ हो।

फिर मिलेंगे।

अहमद नूइरा।

सिफारिश की: