ডেনিস নুসিউ
দ্বারাসম্প্রতি, আমি AliExpress থেকে প্রায় $4 এর জন্য একটি NodeMCU কিনেছি। আমি এটি করার কারণ হল ESP8266 নিয়ে সমস্ত ঝামেলা কি তা খুঁজে বের করা।
NodeMCU একটি ওপেন সোর্স IoT প্ল্যাটফর্ম। এতে ফার্মওয়্যার রয়েছে যা Espressif সিস্টেমের ESP8266 Wi-Fi SoC-তে চলে এবং হার্ডওয়্যার যা ESP-12 মডিউলের উপর ভিত্তি করে।
সূত্র:ESP8266 ডেটাশিট
আরডুইনো ইউএনও-এর তুলনায়, CPU পাওয়ার এবং দামের ক্ষেত্রে আমার ESP8266 পুরোপুরি পার্কের বাইরে চলে যায়৷
ESP8266 Arduino এর চেয়ে 500% দ্রুত এবং 82% সস্তা। ESP8266 এর WiFi সংযোগও রয়েছে৷
আমি যখন ESP8266 এর জন্য Espressif ওয়েবসাইট পরিদর্শন করি তখন আমি খুব অবাক হয়েছিলাম। প্রচুর ডকুমেন্টেশন এবং সংস্থান রয়েছে যা আপনি ব্যবহার করতে পারেন। উদাহরণস্বরূপ, একটি Android অ্যাপ্লিকেশন রয়েছে যা আপনার ESP8266 কে আপনার WiFi এর সাথে সংযোগ করতে বলে৷ অ্যাপটি প্যাকেট হিসাবে SSID এবং পাসওয়ার্ড পাঠায়, ESP8266 তাদের স্নিফ করে এবং তারপর এটি আপনার ওয়াইফাইয়ের সাথে সংযুক্ত হয়। এটিকে বলা হয় SmartConfig, এবং এটি টেক্সাস ইন্সট্রুমেন্টস দ্বারা উদ্ভাবিত হয়েছিল।
এই নিবন্ধে, আমি আপনাকে Espressif RTOS SDK থেকে স্মার্ট কনফিগার উদাহরণ সেটআপ এবং চালানোর জন্য গাইড করব।
এখানে আপনার প্রয়োজন হবে:
- একটি আধুনিক কম্পিউটার।
- ESP12-E সহ একটি NodeMCU বোর্ড
- ভার্চুয়ালবক্স (https://www.virtualbox.org/wiki/Downloads)
- উবুন্টু সার্ভার LTS (https://www.ubuntu.com/download/server)
বিকাশের জন্য ভার্চুয়ালবক্স কনফিগার করা হচ্ছে
- ভার্চুয়ালবক্স ডাউনলোড করুন এবং উবুন্টু সার্ভার ইনস্টল করুন। এটি করা সহজ হওয়া উচিত, তবে আপনি যদি জানেন না কিভাবে, Google এটি বা এই গ্রাফিক ধাপে ধাপে নির্দেশিকাটি দেখুন। একটি ওএস ইনস্টল করা একটি চমৎকার দক্ষতা।
- নিশ্চিত করুন যে আপনি ভার্চুয়াল মেশিনের মধ্যে থেকে ইন্টারনেট অ্যাক্সেস করতে পারেন এবং DNS সার্ভার কনফিগার করতে পারেন:
মেশিনে রাইট ক্লিক করুন তারপর সেটিংস -> নেটওয়ার্ক
DNS সার্ভার কনফিগার করতে, এই উদাহরণটি দেখুন৷
৷
উদাহরণ:dns-nameservers 8.8.8.8 8.8.4.4 আপনি যদি Google পিং করতে পারেন, তাহলে আপনি যেতে পারবেন!
-
(ঐচ্ছিক) OpenSSH এবং Samba সার্ভার ইনস্টল করুন। এটি আপনার জীবনকে অনেক সহজ করে তুলবে।
-
(ঐচ্ছিক) পোর্ট ফরওয়ার্ডিং সক্ষম করুন। আপনার ভার্চুয়াল মেশিনে সরাসরি SSH করার জন্য, আপনাকে পোর্ট ফরওয়ার্ডিং সক্ষম করতে হবে। উদাহরণস্বরূপ, পোর্ট 2222 ম্যাপ করতে আপনার হোস্ট মেশিনে পোর্ট 22-এ আপনার ভার্চুয়াল মেশিনের .
পোর্ট ফরওয়ার্ডিং সক্ষম করুন:সেটিংস -> নেটওয়ার্ক -> পোর্ট ফরোয়া arding
আপনি যদি পোর্ট ফরওয়ার্ডিং সক্ষম করে থাকেন, তাহলে আপনি এখন আপনার হোস্ট মেশিন থেকে আপনার ভার্চুয়াল মেশিনে SSH করতে পারেন নীচের চিত্রের মতো৷
FIG1:ssh -p 2020 denis@localhost
দ্রষ্টব্য:আপনি যদি Windows এ থাকেন, তাহলে আপনার প্রয়োজন পুটি ভার্চুয়াল মেশিনে SSH করার জন্য।
- আপনার NodeMCU প্লাগ ইন করুন এবং নিম্নলিখিত কমান্ডটি চালান:
tail -f /var/log/kern.log
এটি আপনার কাছে প্রকাশ করবে যে ডিভাইসটিকে /dev/ttyUSB0 হিসাবে চিহ্নিত করা হয়েছে৷ যদি কিছু না ঘটে, তাহলে আপনাকে ভার্চুয়াল মেশিনে USB যোগ করতে হবে। ইউএসবি যোগ করার পরে, আপনার ডিভাইসটিকে আবার আনপ্লাগ করুন এবং প্লাগ ইন করুন৷
৷
USB যোগ করা হচ্ছে:সেটিংস -> পোর্ট -> 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 Development -
ওপেন SDK ক্লোন করুন:https://github.com/pfalcon/esp-open-sdk
git clone --recursive https://github.com/pfalcon/esp-open-sdk.git
- মেক চালান:
make
সতর্কতা:এই পদক্ষেপটি শেষ হতে একটু সময় লাগবে তাই দয়া করে ধৈর্য ধরুন৷৷ আমার ভার্চুয়াল মেশিনে এটি 50 মিনিটের পরে সম্পন্ন হয়েছে। আপনার ক্ষেত্রে এটি কম বা কম সময় লাগতে পারে, তবে আপনি চালানোর আগে নিশ্চিত করুন যে আপনি ইন্টারনেটের সাথে সংযুক্ত আছেন এবং DNS সঠিকভাবে কনফিগার করা হয়েছে . এটি চেক করার সর্বোত্তম উপায় হল Google বা অন্য কোনো সাইটে পিং চালানো যদি আপনার অঞ্চলে Google ব্লক করা থাকে।
সফল পিং কমান্ড:$ ping medium.com
আপনার পিং সফল হলে, আপনি জানালা ছোট করতে পারেন এবং আপনার প্রিয় টিভি শো এর একটি পর্ব দেখতে পারেন। প্রায় 40 মিনিট পরে ফিরে আসুন (তবে নিশ্চিত করুন যে আপনার কম্পিউটারটি ঘুমাতে যাচ্ছে না)।
SDK সফলভাবে তৈরি হওয়ার পরে, আপনি একটি বার্তা দেখতে পাবেন যা আপনাকে আপনার পথে কিছু রাখতে বলছে। এটি করতে, নিম্নলিখিতগুলি সম্পাদন করুন:
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 চিপid
- ক্লোন 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 ব্লিঙ্কিং দেখতে পাবেন না।
-
ফোন অ্যাপ্লিকেশন ব্যবহার করুন
-
অ্যান্ড্রয়েড অ্যাপ্লিকেশন
- আইফোন অ্যাপ্লিকেশন
আমার Android ডিভাইস থেকে স্ক্রিনশট
অ্যাপ্লিকেশনটি খুলুন, নিশ্চিত করুন যে আপনি একটি WiFi AP এর সাথে সংযুক্ত আছেন, আপনার পাসওয়ার্ড লিখুন এবং নিশ্চিত করুন টিপুন। কয়েক সেকেন্ড পরে ESP8266 আপনার AP এর সাথে সংযুক্ত হওয়া উচিত। এটাই। শেষ পর্যন্ত পৌঁছানোর জন্য অভিনন্দন!
আপনি যদি ESP8266-RTOS-SDK ব্যবহার করে আরও বিকাশ করতে চান, অনুগ্রহ করে অফিসিয়াল ওয়েবসাইটগুলিতে যান। আপনি সেখানে অনেক সম্পদ এবং ডকুমেন্টেশন পাবেন। এছাড়াও, অনুগ্রহ করে SDK ফোল্ডারে পাওয়া অন্যান্য উদাহরণগুলি দেখুন৷
৷আপনার সময় এই পড়ার জন্য আপনাকে অনেক ধন্যবাদ. আপনি যদি আমার সাথে যোগাযোগ করতে চান, আপনি টুইটারে তা করতে পারেন:MetonymyQT
সম্পদ
- ESP8266 ওভারভিউ
- ESP8266 সম্পদ
- FreeRTOS ওয়েবসাইট
বিনামূল্যে কোড শিখুন. freeCodeCamp-এর ওপেন সোর্স পাঠ্যক্রম 40,000-এরও বেশি লোককে ডেভেলপার হিসেবে চাকরি পেতে সাহায্য করেছে। শুরু করুন