लेखक: डेनिस नुटिउ
हाल ही में, मैंने AliExpress से लगभग $4 में एक NodeMCU खरीदा। मैंने ऐसा इसलिए किया ताकि मुझे पता चल सके कि ESP8266 के साथ क्या हंगामा है।
NodeMCU एक ओपन सोर्स IoT प्लेटफॉर्म है। इसमें फर्मवेयर शामिल है जो Espressif Systems के ESP8266 वाई-फाई SoC पर चलता है, और हार्डवेयर जो ESP-12 मॉड्यूल पर आधारित है।
स्रोत: ESP8266 डेटाशीट
Arduino UNO की तुलना में, मेरा ESP8266 CPU पावर और कीमत के मामले में इसे पूरी तरह से मात देता है।
ESP8266 Arduino की तुलना में 500% तेज़ और 82% सस्ता है। ESP8266 में वाईफाई कनेक्टिविटी भी है।
जब मैंने ESP8266 के लिए Espressif वेबसाइट देखी तो मुझे बहुत आश्चर्य हुआ। वहां बहुत सारी डॉक्यूमेंटेशन और संसाधन हैं जिनका आप उपयोग कर सकते हैं। उदाहरण के लिए, एक एंड्रॉइड एप्लिकेशन है जो आपके ESP8266 को आपके वाईफाई से कनेक्ट करने के लिए कहता है। ऐप SSID और पासवर्ड को पैकेट्स के रूप में भेजता है, ESP8266 उन्हें सूंघता है, और फिर यह आपके वाईफाई से कनेक्ट होता है। इसे SmartConfig कहा जाता है, और इसका आविष्कार Texas Instruments द्वारा किया गया था।
इस लेख में, मैं आपको Espressif RTOS SDK से Smart Config उदाहरण को सेटअप और चलाने के लिए मार्गदर्शन करूंगा।
आपको जिन चीजों की आवश्यकता होगी:
- एक आधुनिक कंप्यूटर।
- ESP12-E के साथ एक NodeMCU बोर्ड
- VirtualBox (https://www.virtualbox.org/wiki/Downloads)
- Ubuntu Server LTS (https://www.ubuntu.com/download/server)
डेवलपमेंट के लिए VirtualBox कॉन्फ़िगर करना
- VirtualBox डाउनलोड करें और Ubuntu Server इंस्टॉल करें। यह करना आसान होना चाहिए, लेकिन यदि आप नहीं जानते कि कैसे, तो इसे गूगल करें या इस चरण-दर-चरण ग्राफिक गाइड को देखें। OS इंस्टॉल करना एक अच्छा कौशल है। (टिप: जब VirtualBox आपको डिस्क चुनने के लिए कहे, तो इसे डायनामिकली एलोकेटेड बनाएं और कम से कम 50GB आकार का। यह आपको आगे चलकर कुछ सिरदर्द से बचाएगा।)
- सुनिश्चित करें कि आप वर्चुअल मशीन के अंदर से इंटरनेट एक्सेस कर सकते हैं और DNS सर्वर कॉन्फ़िगर करें:
मशीन पर राइट क्लिक करें फिर Settings -> Network
DNS सर्वर कॉन्फ़िगर करने के लिए, इस उदाहरण को देखें।
उदाहरण: dns-nameservers 8.8.8.8 8.8.4.4 यदि आप गूगल पिंग कर सकते हैं, तो आप जाने के लिए अच्छे हैं!
(वैकल्पिक) OpenSSH और Samba सर्वर इंस्टॉल करें। यह आपका जीवन बहुत आसान बना देगा।
(वैकल्पिक) पोर्ट फ़ॉरवर्डिंग सक्षम करें। अपने वर्चुअल मशीन में सीधे SSH करने के लिए, आपको पोर्ट फ़ॉरवर्डिंग सक्षम करने की आवश्यकता है। उदाहरण के लिए, अपने होस्ट मशीन पर पोर्ट 2222 को अपने वर्चुअल मशीन के पोर्ट 22 पर मैप करने के लिए।
पोर्ट फ़ॉरवर्डिंग सक्षम करें: Settings -> Network -> Port Forwarding
यदि आपने पोर्ट फ़ॉरवर्डिंग सक्षम किया है, तो अब आप अपने होस्ट मशीन से अपने वर्चुअल मशीन में SSH कर सकते हैं जैसा कि नीचे दिए गए चित्र में दिखाया गया है।
FIG1: ssh -p 2020 denis@localhost
नोट: यदि आप विंडोज पर हैं, तो वर्चुअल मशीन में SSH करने के लिए आपको Putty की आवश्यकता होगी।
- अपना NodeMCU प्लग इन करें और निम्न कमांड निष्पादित करें:
tail -f /var/log/kern.log
इससे आपको पता चलना चाहिए कि डिवाइस को /dev/ttyUSB0 के रूप में पहचाना गया है। यदि कुछ नहीं होता है, तो आपको USB को वर्चुअल मशीन में जोड़ना होगा। USB जोड़ने के बाद, अपने डिवाइस को अनप्लग और फिर से प्लग इन करें।
USB जोड़ना: Settings -> Ports -> USB
यदि आप इस बिंदु पर पहुंच गए हैं और सब कुछ काम कर रहा है, बधाई हो! आप अब SDK को कंपाइल करने और SmartConfig उदाहरण चलाने के लिए तैयार हैं। आप मुझे https://twitter.com/metonymyqt पर ट्वीट भी कर सकते हैं
SDK कंपाइल करना और बोर्ड फ्लैश करना
- आवश्यक पैकेज इंस्टॉल करें (नीचे दिखाए अनुसार)। यह जानकारी SDK के readme.md पर भी उपलब्ध है।
sudo apt-get install make unrar-free autoconf automake libtool gcc g++ gperf flex bison texinfo gawk ncurses-dev libexpat-dev python-dev python python-serial sed git unzip bash help2man wget bzip2 libtool-bin
एक नया फोल्डर बनाएं और उसमें नेविगेट करें:
mkdir Development && cd DevelopmentOpen SDK क्लोन करें: https://github.com/pfalcon/esp-open-sdk
git clone --recursive https://github.com/pfalcon/esp-open-sdk.git
- make चलाएं:
make
चेतावनी: इस चरण को समाप्त होने में कुछ समय लगेगा इसलिए कृपया धैर्य रखें। मेरी वर्चुअल मशीन पर यह 50 मिनट के बाद पूरा हुआ। आपके लिए यह अधिक या कम समय ले सकता है, लेकिन इससे पहले कि आप make चलाएं, सुनिश्चित करें कि आप इंटरनेट से जुड़े हुए हैं और DNS सही ढंग से कॉन्फ़िगर किया गया है। इसकी जांच करने का सबसे अच्छा तरीका गूगल या किसी अन्य साइट पर पिंग निष्पादित करना है यदि गूगल आपके क्षेत्र में ब्लॉक है।
सफल पिंग कमांड: $ ping medium.com
यदि आपका पिंग सफल है, तो आप विंडोज़ को मिनिमाइज़ कर सकते हैं और अपने पसंदीदा टीवी शो का एक एपिसोड देख सकते हैं। लगभग 40 मिनट बाद वापस आएं (लेकिन सुनिश्चित करें कि आपका कंप्यूटर स्लीप मोड में न जाए)।
SDK सफलतापूर्वक बन जाने के बाद, आपको अपने PATH में कुछ डालने के लिए कहा जाएगा। ऐसा करने के लिए, निम्नलिखित निष्पादित करें:
echo 'export PATH=/home/denis/Development/esp-open-sdk/xtensa-lx106-elf/bin:$PATH' >> ~/.profile
कमांड स्ट्रिंग को ~/.profile फ़ाइल में जोड़ देगा। अब कृपया निम्न कमांड चलाएं:
xtensa-lx106-elf-gcc --version
यदि कमांड सफलतापूर्वक निष्पादित होता है, तो आप जाने के लिए अच्छे हैं!
- अपने बोर्ड का परीक्षण करें
अपना NodeMCU प्लग इन करें और यह सत्यापित करने के लिए lsusb चलाएं कि आपका डिवाइस कनेक्टेड है। उसके बाद, esptool.py chip_id चलाएं। आपको अब बोर्ड की चिप आईडी देखनी चाहिए।
_esptool.py chipid
- ESP8266_RTOS_SDK क्लोन करें
git clone https://github.com/espressif/ESP8266_RTOS_SDK.git
- नीचे दिए गए कमांड का उपयोग करके SDK पथ और SDK/BIN पथ एक्सपोर्ट करें।
echo 'export SDK_PATH=/home/denis/Development/ESP8266_RTOS_SDK' >> ~/.profile
echo 'export BIN_PATH=/home/denis/Development/ESP8266_RTOS_SDK/bin' >> ~/.profile
- SmartConfig उदाहरण कंपाइल करें
cd /home/denis/Development/ESP8266_RTOS_SDK/examples/smart_config/
chmod +x ./gen_misc.sh
./gen_misc.sh
अब डिफ़ॉल्ट मानों को स्वीकार करें जब तक आपसे SPI_SIZE_MAP के लिए नहीं पूछा जाता। यह वह जगह है जहां आप 4 चुनते हैं क्योंकि NodeMCU में 32Mbit का फ्लैश आकार है और यह 4MB में अनुवाद करता है। _आप SPISPEED 3=80Mhz भी चुन सकते हैं
आपको ऐसा कुछ दिखाई देगा:
!!!SDK_PATH: /home/denis/Development/ESP8266_RTOS_SDKBIN_PATH: /home/denis/Development/ESP8266_RTOS_SDK/bin
No boot needed.Generate eagle.flash.bin and eagle.irom0text.bin successully in BIN_PATHeagle.flash.bin — — — →0x00000eagle.irom0text.bin — →0x20000!!!
- बोर्ड फ्लैश करें
cd $BIN_PATH
esptool.py erase_flash
esptool.py write_flash 0x00000 $BIN_PATH/eagle.flash.bin 0x20000 $BIN_PATH/eagle.irom0text.bin 0x3FC000 $BIN_PATH/esp_init_data_default.bin
अब, यदि आप बोर्ड को रीसेट करते हैं, तो आपको कोई LED ब्लिंकिंग नहीं दिखनी चाहिए।
फोन एप्लिकेशन का उपयोग करें
एंड्रॉइड एप्लिकेशन
- आईफोन एप्लिकेशन
मेरे एंड्रॉइड डिवाइस से स्क्रीनशॉट
एप्लिकेशन खोलें, सुनिश्चित करें कि आप एक वाईफाई AP से जुड़े हैं, अपना पासवर्ड दर्ज करें, और कन्फर्म दबाएं। कुछ सेकंड के बाद ESP8266 को आपके AP से कनेक्ट होना चाहिए। बस। अंत तक पहुंचने के लिए बधाई!
यदि आप ESP8266-RTOS-SDK का उपयोग करके अधिक विकसित करना चाहते हैं, तो कृपया आधिकारिक वेबसाइटों पर जाएं। आपको वहां बहुत सारे संसाधन और डॉक्यूमेंटेशन मिलेंगे। साथ ही, कृपया SDK फोल्डर में पाए जाने वाले अन्य उदाहरणों को देखें।
आपका समय पढ़ने के लिए बहुत बहुत धन्यवाद। यदि आप मुझसे संपर्क करना चाहते हैं, तो आप ट्विटर पर कर सकते हैं: MetonymyQT
संसाधन
- ESP8266 अवलोकन
- ESP8266 संसाधन
- FreeRTOS वेबसाइट
नि:शुल्क कोडिंग सीखें। freeCodeCamp के ओपन सोर्स पाठ्यक्रम ने 40,000 से अधिक लोगों को डेवलपर्स के रूप में नौकरी पाने में मदद की है। शुरू करें