প্রকৌশলী ESP8266 NodeMCU উন্নয়ন বোর্ড
ইন্টারনেট অফ থিংস (IoT) প্রযুক্তির বিশ্বে একটি প্রবণতাপূর্ণ ক্ষেত্র হয়েছে। এটা আমাদের কাজ করার পদ্ধতি পরিবর্তন করেছে। ভৌত বস্তু এবং ডিজিটাল বিশ্ব এখন আগের চেয়ে বেশি সংযুক্ত। এটি মাথায় রেখে, Espressif Systems (একটি সাংহাই-ভিত্তিক সেমিকন্ডাক্টর কোম্পানি) একটি আরাধ্য, কামড়-আকারের ওয়াইফাই-সক্ষম মাইক্রোকন্ট্রোলার – ESP8266, অবিশ্বাস্য মূল্যে প্রকাশ করেছে! $3-এর কম দামে, এটি বিশ্বের যেকোনো স্থান থেকে জিনিসগুলিকে নিরীক্ষণ ও নিয়ন্ত্রণ করতে পারে - যে কোনো IoT প্রকল্পের জন্য উপযুক্ত।
ডেভেলপমেন্ট বোর্ড ESP-12E মডিউল সজ্জিত করে যাতে ESP8266 চিপ রয়েছে যাতে রয়েছে Tensilica Xtensa® 32-bit LX106 RISC মাইক্রোপ্রসেসর যা 80 থেকে 160 MHz সামঞ্জস্যযোগ্য ক্লক ফ্রিকোয়েন্সিতে কাজ করে এবং RTOS সমর্থন করে।
ESP-12E চিপ
- Tensilica Xtensa® 32-বিট LX106
- 80 থেকে 160 MHz ক্লক ফ্রিকোয়েন্সি।
- 128kB অভ্যন্তরীণ RAM
- 4MB বাহ্যিক ফ্ল্যাশ
- 802.11b/g/n Wi-Fi ট্রান্সসিভার
এছাড়াও 128 কেবি র্যাম এবং 4 এমবি ফ্ল্যাশ মেমরি (প্রোগ্রাম এবং ডেটা স্টোরেজের জন্য) বড় স্ট্রিংগুলির সাথে মানিয়ে নিতে যথেষ্ট web পৃষ্ঠা, JSON/XML ডেটা, এবং আমরা যা কিছু আজকাল IoT ডিভাইসে নিক্ষেপ করি। ESP8266 ইন্টিগ্রেট করে 802.11b/g/n HT40 Wi-Fi ট্রান্সসিভার, তাই এটি শুধুমাত্র একটি WiFi নেটওয়ার্কের সাথে সংযোগ করতে পারে না এবং ইন্টারনেটের সাথে ইন্টারঅ্যাক্ট করতে পারে না, কিন্তু এটি তার নিজস্ব একটি নেটওয়ার্কও সেট আপ করতে পারে, যা অন্য ডিভাইসগুলিকে সরাসরি সংযোগ করতে দেয় এটা এটি ESP8266 NodeMCU কে আরও বহুমুখী করে তোলে।
পাওয়ার রিকোয়ারমেন্ট
অপারেটিং ভলিউম হিসাবেtagESP8266 এর e রেঞ্জ 3V থেকে 3.6V, বোর্ডটি একটি LDO ভলিউমের সাথে আসেtagই রেগুলেটর ভলিউম রাখাtage 3.3V এ স্থির। এটি নির্ভরযোগ্যভাবে 600mA পর্যন্ত সরবরাহ করতে পারে, যা RF ট্রান্সমিশনের সময় ESP8266 যতটা 80mA টানে তখন যথেষ্ট হওয়া উচিত। নিয়ন্ত্রকের আউটপুটও বোর্ডের একপাশে ভাঙা হয় এবং 3V3 হিসাবে লেবেল করা হয়। এই পিনটি বাহ্যিক উপাদানগুলিতে শক্তি সরবরাহ করতে ব্যবহার করা যেতে পারে।
পাওয়ার রিকোয়ারমেন্ট
- অপারেটিং ভলিউমtage: 2.5V থেকে 3.6V
- অন-বোর্ড 3.3V 600mA রেগুলেটর
- 80mA অপারেটিং বর্তমান
- স্লিপ মোডের সময় 20 μA
ESP8266 NodeMCU-তে পাওয়ার অন-বোর্ড মাইক্রোবি ইউএসবি সংযোগকারীর মাধ্যমে সরবরাহ করা হয়। বিকল্পভাবে, যদি আপনার একটি নিয়ন্ত্রিত 5V ভলিউম থাকেtagই উত্স, ভিআইএন পিনটি সরাসরি ESP8266 এবং এর পেরিফেরিয়াল সরবরাহ করতে ব্যবহার করা যেতে পারে।
সতর্কতা: যোগাযোগের জন্য ESP8266-এর একটি 3.3V পাওয়ার সাপ্লাই এবং 3.3V লজিক স্তর প্রয়োজন। GPIO পিন 5V-সহনশীল নয়! আপনি যদি 5V (বা উচ্চতর) উপাদানগুলির সাথে বোর্ডকে ইন্টারফেস করতে চান তবে আপনাকে কিছু স্তরের স্থানান্তর করতে হবে।
পেরিফেরাল এবং I/O
ESP8266 NodeMCU-তে ডেভেলপমেন্ট বোর্ডের উভয় পাশে পিন হেডারে মোট 17টি GPIO পিন রয়েছে। এই পিনগুলি সমস্ত ধরণের পেরিফেরাল দায়িত্বগুলিতে বরাদ্দ করা যেতে পারে, যার মধ্যে রয়েছে:
- ADC চ্যানেল - একটি 10-বিট ADC চ্যানেল।
- UART ইন্টারফেস - UART ইন্টারফেস সিরিয়ালি কোড লোড করতে ব্যবহৃত হয়।
- পিডব্লিউএম আউটপুট - এলইডি ম্লান করা বা মোটর নিয়ন্ত্রণ করার জন্য পিডব্লিউএম পিন।
- SPI, I2C এবং I2S ইন্টারফেস - SPI এবং I2C ইন্টারফেস সব ধরণের সেন্সর এবং পেরিফেরালগুলিকে সংযুক্ত করতে।
- I2S ইন্টারফেস - আপনি যদি আপনার প্রকল্পে শব্দ যোগ করতে চান তাহলে I2S ইন্টারফেস।
মাল্টিপ্লেক্সড I/Os
- 1টি এডিসি চ্যানেল
- 2 UART ইন্টারফেস
- 4 PWM আউটপুট
- SPI, I2C এবং I2S ইন্টারফেস
ESP8266 এর পিন মাল্টিপ্লেক্সিং বৈশিষ্ট্যের জন্য ধন্যবাদ (একটি GPIO পিনে একাধিক পেরিফেরাল মাল্টিপ্লেক্স করা হয়েছে)। মানে একটি একক GPIO পিন PWM/UART/SPI হিসাবে কাজ করতে পারে।
অন-বোর্ড সুইচ এবং LED ইন্ডিকেটর
ESP8266 NodeMCU-তে দুটি বোতাম রয়েছে। উপরের বাম কোণায় অবস্থিত RST হিসাবে চিহ্নিত একটি রিসেট বোতাম, অবশ্যই ESP8266 চিপ রিসেট করতে ব্যবহৃত হয়। নিচের বাম কোণে অন্য ফ্ল্যাশ বোতামটি ফার্মওয়্যার আপগ্রেড করার সময় ব্যবহৃত ডাউনলোড বোতাম।
সুইচ এবং সূচক
- RST - ESP8266 চিপ রিসেট করুন
- ফ্ল্যাশ - নতুন প্রোগ্রাম ডাউনলোড করুন
- নীল LED - ব্যবহারকারী প্রোগ্রামেবল
বোর্ডে একটি LED সূচকও রয়েছে যা ব্যবহারকারীর প্রোগ্রামেবল এবং বোর্ডের D0 পিনের সাথে সংযুক্ত।
সিরিয়াল কমিউনিকেশন
বোর্ডে সিলিকন ল্যাবস থেকে CP2102 USB-to-UART ব্রিজ কন্ট্রোলার রয়েছে, যা USB সংকেতকে সিরিয়ালে রূপান্তর করে এবং আপনার কম্পিউটারকে ESP8266 চিপের সাথে প্রোগ্রাম এবং যোগাযোগ করতে দেয়৷
সিরিয়াল কমিউনিকেশন
- CP2102 USB-to-UART রূপান্তরকারী
- 4.5 Mbps যোগাযোগ গতি
- প্রবাহ নিয়ন্ত্রণ সমর্থন
আপনার পিসিতে CP2102 ড্রাইভারের একটি পুরানো সংস্করণ ইনস্টল থাকলে, আমরা এখনই আপগ্রেড করার পরামর্শ দিই।
CP2102 ড্রাইভার আপগ্রেড করার জন্য লিঙ্ক - https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers
ESP8266 NodeMCU পিনআউট
ESP8266 NodeMCU এর মোট 30টি পিন রয়েছে যা এটিকে বাইরের বিশ্বের সাথে ইন্টারফেস করে। সংযোগগুলি নিম্নরূপ:
সরলতার জন্য, আমরা অনুরূপ কার্যকারিতা সহ পিনের গ্রুপ তৈরি করব।
পাওয়ার পিন চারটি পাওয়ার পিন রয়েছে যেমন। একটি VIN পিন এবং তিনটি 3.3V পিন। ভিআইএন পিনটি সরাসরি ESP8266 এবং এর পেরিফেরিয়াল সরবরাহ করতে ব্যবহার করা যেতে পারে, যদি আপনার একটি নিয়ন্ত্রিত 5V ভলিউম থাকেtage উৎস. 3.3V পিনগুলি একটি অন-বোর্ড ভলিউমের আউটপুটtageনিয়ন্ত্রক. এই পিনগুলি বাহ্যিক উপাদানগুলিতে শক্তি সরবরাহ করতে ব্যবহার করা যেতে পারে।
GND হল ESP8266 NodeMCU ডেভেলপমেন্ট বোর্ডের একটি গ্রাউন্ড পিন। I2C পিনগুলি আপনার প্রকল্পে সমস্ত ধরণের I2C সেন্সর এবং পেরিফেরালগুলিকে হুক আপ করতে ব্যবহৃত হয়। I2C মাস্টার এবং I2C স্লেভ উভয়ই সমর্থিত। I2C ইন্টারফেসের কার্যকারিতা প্রোগ্রামগতভাবে উপলব্ধি করা যেতে পারে, এবং ঘড়ির ফ্রিকোয়েন্সি সর্বাধিক 100 kHz হয়। এটা উল্লেখ করা উচিত যে I2C ঘড়ির ফ্রিকোয়েন্সি স্লেভ ডিভাইসের ধীরতম ঘড়ি ফ্রিকোয়েন্সি থেকে বেশি হওয়া উচিত।
GPIO পিন ESP8266 NodeMCU-তে 17টি GPIO পিন রয়েছে যা I2C, I2S, UART, PWM, IR রিমোট কন্ট্রোল, LED লাইট এবং বোতামের মতো বিভিন্ন ফাংশনে বরাদ্দ করা যেতে পারে। প্রতিটি ডিজিটাল সক্ষম GPIO অভ্যন্তরীণ পুল-আপ বা পুল-ডাউনে কনফিগার করা যেতে পারে বা উচ্চ প্রতিবন্ধকতায় সেট করা যেতে পারে। যখন একটি ইনপুট হিসাবে কনফিগার করা হয়, তখন এটিকে এজ-ট্রিগার বা লেভেল-ট্রিগারে সেট করা যেতে পারে যাতে CPU বিঘ্ন তৈরি হয়।
এডিসি চ্যানেল NodeMCU একটি 10-বিট নির্ভুল SAR ADC সহ এমবেড করা হয়েছে৷ দুটি ফাংশন এডিসি ব্যবহার করে প্রয়োগ করা যেতে পারে যেমন। টেস্টিং পাওয়ার সাপ্লাই ভলিউমtagVDD3P3 পিন এবং টেস্টিং ইনপুট ভলিউমের etagTOUT পিনের e. যাইহোক, তারা একই সময়ে বাস্তবায়ন করা যাবে না।
UART পিন ESP8266 NodeMCU এর 2টি UART ইন্টারফেস রয়েছে, যেমন UART0 এবং UART1, যা অ্যাসিঙ্ক্রোনাস যোগাযোগ (RS232 এবং RS485) প্রদান করে এবং 4.5 Mbps পর্যন্ত যোগাযোগ করতে পারে। যোগাযোগের জন্য UART0 (TXD0, RXD0, RST0 এবং CTS0 পিন) ব্যবহার করা যেতে পারে। এটি তরল নিয়ন্ত্রণ সমর্থন করে। যাইহোক, UART1 (TXD1 পিন) বৈশিষ্ট্য শুধুমাত্র ডেটা ট্রান্সমিট সিগন্যাল তাই, এটি সাধারণত লগ মুদ্রণের জন্য ব্যবহৃত হয়।
SPI পিন ESP8266 স্লেভ এবং মাস্টার মোডে দুটি SPIs (SPI এবং HSPI) বৈশিষ্ট্যযুক্ত। এই SPIগুলি নিম্নলিখিত সাধারণ-উদ্দেশ্য SPI বৈশিষ্ট্যগুলিকেও সমর্থন করে:
- SPI ফরম্যাট ট্রান্সফারের 4 টাইমিং মোড
- 80 MHz পর্যন্ত এবং 80 MHz এর বিভক্ত ঘড়ি
- 64-বাইট ফিফো পর্যন্ত
SDIO পিন ESP8266 বৈশিষ্ট্যগুলি সিকিউর ডিজিটাল ইনপুট/আউটপুট ইন্টারফেস (SDIO) যা সরাসরি SD কার্ড ইন্টারফেস করতে ব্যবহৃত হয়। 4-বিট 25 MHz SDIO v1.1 এবং 4-bit 50 MHz SDIO v2.0 সমর্থিত।
PWM পিন বোর্ডে পালস উইথ মডুলেশন (PWM) এর 4টি চ্যানেল রয়েছে। PWM আউটপুট প্রোগ্রামগতভাবে প্রয়োগ করা যেতে পারে এবং ডিজিটাল মোটর এবং LED চালানোর জন্য ব্যবহার করা যেতে পারে। PWM ফ্রিকোয়েন্সি পরিসীমা 1000 μs থেকে 10000 μs, অর্থাৎ, 100 Hz এবং 1 kHz এর মধ্যে সামঞ্জস্যযোগ্য।
কন্ট্রোল পিন ESP8266 নিয়ন্ত্রণ করতে ব্যবহৃত হয়। এই পিনের মধ্যে রয়েছে চিপ এনাবল পিন (EN), রিসেট পিন (RST) এবং WAKE পিন।
- EN পিন - ESP8266 চিপটি সক্রিয় হয় যখন EN পিনটি উঁচুতে টানা হয়। কম টানা হলে চিপটি সর্বনিম্ন শক্তিতে কাজ করে।
- RST পিন - RST পিন ESP8266 চিপ রিসেট করতে ব্যবহৃত হয়।
- WAKE pin - গভীর ঘুম থেকে চিপকে জাগানোর জন্য ওয়েক পিন ব্যবহার করা হয়।
ESP8266 ডেভেলপমেন্ট প্ল্যাটফর্ম
এখন, আসুন আকর্ষণীয় জিনিসগুলিতে যাওয়া যাক! ESP8266 প্রোগ্রাম করার জন্য সজ্জিত করা যেতে পারে এমন বিভিন্ন উন্নয়ন প্ল্যাটফর্ম রয়েছে। আপনি Espruino – JavaScript SDK এবং ফার্মওয়্যারের সাথে ঘনিষ্ঠভাবে Node.js অনুকরণ করতে পারেন, অথবা Mongoose OS – IoT ডিভাইসের জন্য একটি অপারেটিং সিস্টেম ব্যবহার করতে পারেন (Espressif Systems এবং Google Cloud IoT দ্বারা প্রস্তাবিত প্ল্যাটফর্ম) অথবা Espressif দ্বারা প্রদত্ত একটি সফ্টওয়্যার ডেভেলপমেন্ট কিট (SDK) ব্যবহার করতে পারেন অথবা WiKiPedia-এ তালিকাভুক্ত প্ল্যাটফর্মগুলির একটি। সৌভাগ্যবশত, আশ্চর্যজনক ESP8266 সম্প্রদায় একটি Arduino অ্যাড-অন তৈরি করে IDE নির্বাচনকে আরও এক ধাপ এগিয়ে নিয়ে গেছে। আপনি যদি সবেমাত্র ESP8266 প্রোগ্রামিং শুরু করেন, তাহলে এই পরিবেশটিই আমরা শুরু করার পরামর্শ দিই, এবং এই টিউটোরিয়ালে আমরা নথিভুক্ত করব।
আরডুইনোর জন্য এই ESP8266 অ্যাড-অনটি ইভান গ্রোখোটকভ এবং বাকি ESP8266 সম্প্রদায়ের আশ্চর্যজনক কাজের উপর ভিত্তি করে। আরও তথ্যের জন্য ESP8266 Arduino GitHub সংগ্রহস্থল দেখুন।
উইন্ডোজ ওএসে ESP8266 কোর ইনস্টল করা হচ্ছে
চলুন ESP8266 Arduino core ইন্সটল করে এগিয়ে যাই। প্রথম জিনিসটি হল আপনার পিসিতে সর্বশেষ Arduino IDE (Arduino 1.6.4 বা উচ্চতর) ইনস্টল করা। এটি না থাকলে, আমরা এখনই আপগ্রেড করার পরামর্শ দিই।
Arduino IDE-এর জন্য লিঙ্ক https://www.arduino.cc/en/software
শুরু করার জন্য, আমাদের একটি কাস্টম সহ বোর্ড ম্যানেজার আপডেট করতে হবে URL. Arduino IDE খুলুন এবং যান File > পছন্দসমূহ। তারপর, নীচে অনুলিপি URL অতিরিক্ত বোর্ড ম্যানেজার মধ্যে URLs টেক্সট বক্স উইন্ডোর নীচে অবস্থিত: http://arduino.esp8266.com/stable/package_esp8266com_index.json
ঠিক আছে হিট. তারপর টুলস > বোর্ড > বোর্ড ম্যানেজার-এ গিয়ে বোর্ড ম্যানেজারে যান। স্ট্যান্ডার্ড Arduino বোর্ড ছাড়াও কয়েকটি নতুন এন্ট্রি থাকা উচিত। esp8266 লিখে আপনার অনুসন্ধান ফিল্টার করুন। সেই এন্ট্রিতে ক্লিক করুন এবং ইনস্টল নির্বাচন করুন।
ESP8266-এর জন্য বোর্ডের সংজ্ঞা এবং সরঞ্জামগুলিতে একটি সম্পূর্ণ নতুন সেট gcc, g++ এবং অন্যান্য যুক্তিসঙ্গতভাবে বড়, সংকলিত বাইনারি অন্তর্ভুক্ত রয়েছে, তাই এটি ডাউনলোড এবং ইনস্টল করতে কয়েক মিনিট সময় নিতে পারে (আর্কাইভ করা file হয় ~110MB)। ইনস্টলেশন শেষ হয়ে গেলে, এন্ট্রির পাশে একটি ছোট ইনস্টল করা পাঠ্য উপস্থিত হবে। আপনি এখন বোর্ড ম্যানেজার বন্ধ করতে পারেন
আরডুইনো প্রাক্তনample: পলক
ESP8266 Arduino core এবং NodeMCU সঠিকভাবে সেট আপ করা হয়েছে তা নিশ্চিত করতে, আমরা সব থেকে সহজ স্কেচ আপলোড করব – The Blink! আমরা এই পরীক্ষার জন্য অন-বোর্ড LED ব্যবহার করব। এই টিউটোরিয়ালে আগেই উল্লেখ করা হয়েছে, বোর্ডের D0 পিন অন-বোর্ড ব্লু এলইডির সাথে সংযুক্ত এবং ব্যবহারকারীর প্রোগ্রামেবল। নিখুঁত! আমরা স্কেচ আপলোড করার এবং LED দিয়ে খেলার আগে, আমাদের নিশ্চিত করতে হবে যে Arduino IDE-তে বোর্ডটি সঠিকভাবে নির্বাচন করা হয়েছে। Arduino IDE খুলুন এবং আপনার Arduino IDE > টুলস > বোর্ড মেনুর অধীনে NodeMCU 0.9 (ESP-12 মডিউল) বিকল্প নির্বাচন করুন।
এখন, মাইক্রো-বি ইউএসবি কেবলের মাধ্যমে আপনার কম্পিউটারে আপনার ESP8266 NodeMCU প্লাগ করুন। একবার বোর্ড প্লাগ ইন করা হলে, এটি একটি অনন্য COM পোর্ট বরাদ্দ করা উচিত। উইন্ডোজ মেশিনে, এটি COM# এর মতো কিছু হবে এবং Mac/Linux কম্পিউটারে এটি /dev/tty.usbserial-XXXXXX আকারে আসবে। Arduino IDE > টুলস > পোর্ট মেনুর অধীনে এই সিরিয়াল পোর্টটি নির্বাচন করুন। এছাড়াও আপলোড গতি নির্বাচন করুন: 115200
সতর্কতা: বোর্ড নির্বাচন, COM পোর্ট নির্বাচন এবং আপলোড গতি নির্বাচন করার জন্য আরও মনোযোগ দেওয়া দরকার। নতুন স্কেচ আপলোড করার সময় আপনি espcomm_upload_mem ত্রুটি পেতে পারেন, যদি তা করতে ব্যর্থ হন।
একবার আপনি সম্পন্ন হলে, প্রাক্তন চেষ্টা করুনampলে স্কেচ নীচে.
অকার্যকর সেটআপ()
{pinMode(D0, OUTPUT);}অকার্যকর লুপ()
{digitalWrite(D0, HIGH);
বিলম্ব (500);
ডিজিটালরাইট (D0, নিম্ন);
বিলম্ব (500);
কোড আপলোড হয়ে গেলে, LED জ্বলতে শুরু করবে। স্কেচ চালানো শুরু করতে আপনার ESP8266 পেতে RST বোতামে ট্যাপ করতে হতে পারে।
দলিল/সম্পদ
![]() |
প্রকৌশলী ESP8266 NodeMCU উন্নয়ন বোর্ড [পিডিএফ] নির্দেশনা ESP8266 NodeMCU ডেভেলপমেন্ট বোর্ড, ESP8266, NodeMCU ডেভেলপমেন্ট বোর্ড |