NodeMCU ESP8266 এর পরিচিতি
NodeMCU এর পূর্ন রূপ হচ্ছে Node Micro Controller Unite. যাতে মাইক্রো কন্ট্রোলারের মতোই প্রোগ্রাম করা যায়। আলাদা কোনো মাইক্রোলার বোর্ড প্রয়োজন হয় না। এ বোর্ডে রয়েছে WiFi মডিউল চিপসেট যার মডেল হচ্ছে ESP8266.
এটি ছোট একটি বোর্ড যা আমরা IOT Project, WiFi Home Automation, WiFi Robot এবং Internet Load Controlling প্রজেক্টে ব্যাবহার করতে পারি।
NodeMCU ESP8266 এর পিনআউট দেখে নেইঃ
সার্কিটে যা রয়েছেঃ
1. Support WiFi Board
2. AC 220 V Supported
3. 4 Independently Controlled Relays
4. Operating voltage 5V
5. Power indication Red LED
6. Each relay output capacity 220V AC/ 10 A
7. Three Terminal Output AC-DC control
8. Single Pole Double Throw Relay Output
9. Relay Current consumption at 5V is 72mA each when switched on
10. Back EMF protection
11. Mounting Holes 2.65 Inch.
Micro USB Cable ১ টি।
Blynk App Setup, Registration and configuration
Blynk App এর মাধ্যমে ডিভাইসটিকে আমরা ক্লাউড সার্ভারের সাথে কানেক্ট করতে পারি ও নিয়ন্ত্রন করতে পারি। আমরা Google Play Store থেকে Blynk App টি ইন্সটল করতে পারি।
Blynk App সাই আপ করি এবং ওপেন করি। New Project এ ক্লিক করি। Project Name বক্সে জেক্ট এর নাম দেই এবং NodeMCU হার্ডওয়্যার সিলেক্ট করে Ok ক্লিক করি। + এ ক্লিক করে একটি বাটন নেই। বাটনে ক্লিক করে বাটনটি কনফিগার করি। এ প্রজেক্টে চারটি রিলে যথাক্রমে Relay 1, Relay 2, Relay 3 এবং Relay 4 ব্যাবহার করা হয়েছে এবং রিলগুলো যথাক্রমে D5, D6, D7 এবং D8 এর সাথে সংযোগ করা হয়েছে। প্রথম বক্সে “Relay 1” নাম দেই। Pin এ ক্লিক করে Digital থেকে D5 পিন সিলেক্ট করি (সার্কিটে রিলে যে পিনের সাথে কানেক্ট করা হবে সেই পিন সিলেক্ট করতে হবে)। বাটন টাইপ সুইচ সিলেক্ট করি। একই ভাবে চারটি রিলে বাটন কনফিগারেশন করি।
Arduino Software Installation
আমরা ইন্টারনেট লোড কন্ট্রোল প্রজেক্টে প্রোগ্রাম রচনা করার জন্য Arduino IDE ব্যাবহার করব। এই ধাপ করতে অবশ্যই ইন্টারনেট কানেকশন করতে হবে।
এপ্লিকেশনটিতে ডাবল ক্লিক করে ইন্সটল করার ধাপসমূহ অনুসরন করি-
Arduino সফ্টওয়ারটি ওপেন করি Click File> Preferences ক্লিক করি এবং Additional Boards Manager URLs এ নিচের URL পেস্ট করি।
এখন Tools> Board: “Arduino/Genuino Uno”> Board Manager… এ ক্লিক করি এবং Board Manager এ সার্চ বক্সে “esp8266” লিখে সার্চ করি এবং ESP8266 বোর্ড ইনস্টল করি এবং Close বাটনে ক্লিক করি।
আমরা যেহেতু Blynk App অপারেট করব সেহেতু Arduino IDE তে Blynk Library ইম্পোর্ট করতে হবে। Library ইম্পোর্ট করতে হলে আমাদের যেতে হবে Sketch> Include Library> Manage Libraries এখন সার্চ বক্সে “Blynk” লিখে সার্চ করি এবং Blynk Library Install করে Close এ ক্লিক করি।
এখন DHT and Adafruit Library ইন্সটল করব। প্রথমে DHT and Adafruit Library ফাইল এই লিঙ্ক থেকে ডাউনলোড করে নেই।
DHT and Adafruit_Sensor Library ইন্সটল করতে আমাদের যেতে হবে Sketch> Include Library> Add .ZIP Library… প্রথমে DHT এবং পরে Adafruit_Sensor এড করি।
এখন ESP8266 বোর্ড চোজ করতে হবে Tools> Board: “Arduino/Genuino Uno”> Select NodeMCU 1.0 (ESP-12E Module)
এখন NodeMCU বোর্ডটি পিসির সাথে USB ক্যাবল দ্বারা কানেক্ট করি। My Computer এ ক্লিক করেDevice Manager এ গিয়েCOM Port চেক করি। এবং Arduino সফ্টওয়্যারে COM Port সিলেক্ট করি Tools> Port> Select Com Port
প্রোগ্রাম রচনা, কম্পাইল ও আপলোড
Arduino IDE আমরা এখন প্রোগ্রাম লিখব Blynk App কনফিগারেশন করায় Blynk থেকে আসা ২য় ই-মেইল টি চেক করি এবং প্রোগ্রাম লিঙ্ক থেকে প্রোগ্রামটি কপি করি। Arduino IDE তে প্রোগ্রামটি পেস্ট করি।
প্রোগ্রামটি হচ্ছে:
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
charauth[] = “YourAuthToken”;
// Your WiFi credentials.
// Set password to “” for open networks.
charssid[] = “YourNetworkName”;
charpass[] = “YourPassword”;
void setup()
{
// Debug console
Serial.begin(9600);
Blynk.begin(auth, ssid, pass);
// You can also specify server:
//Blynk.begin(auth, ssid, pass, “blynk-cloud.com”, 80);
//Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8080);
}
void loop()
{
Blynk.run();
// You can inject your own code or combine it with other sketches.
// Check other examples on how to communicate with Blynk. Remember
// to avoid delay() function!
}
Blynk থেকে আসা ২য় ই-মেইল টি চেক করি এবং Auth Token কপি করি এবং প্রোগ্রামে YourAuthToken এর জায়গায় ডাবল কোটেশনের মধ্যে পেস্ট করি।
[বিঃ দ্রঃ অবশ্যই ই-মেইল থেকে আসা Auth Token টি ব্যাবহার করতে হবে অন্যথায় ডিভাইসটি কাজ করবে না]
YourNetworkName এর জায়গায় ডাবল কোটেশনের মধ্যে WiFi Name লিখি এবং YourPassword জায়গায় ডাবল কোটেশনের মধ্যে Password লিখি।
(যদি মোবাইলের WiFi Hotspot ব্যাবহার করে ডিভাইসে ইন্টারনেট সংযোগ দিই তাহলে মোবাইলের Hotspot এবং Password লিখতে হবে। এখন প্রোগ্রামটি কম্পাইল করতে হবে কম্পাইল করার পর কোনো প্রকার Error না থাকলে প্রোগ্রামটি আপলোড করতে হবে। কম্পাইল Error দেথালে বুঝতে হবে প্রোগ্রামে কোথাও ভুল হয়েছে। ভুল হলে তা সংশোধন করতে হবে। প্রোগ্রাম কম্পাইল এবং আপলোড করার প্রক্রিয়া দেথে নেই।
NodeMCU ESP8266 এর মাধ্যমে লোড কন্ট্রোল
এখন NodeMCU ESP8266 এর মাধ্যমে লোড কন্ট্রেল করেত হলে এতে WiFi অথবা Mobile Hotspot এর মাধ্যমে ইন্টারনেট সংযোগ দিতে হবে। মোবাইলের ডাটা কনোকশন চালু করে করতে হবে। Blynk App এ লগিন করি এবং বটনের মাধ্যমে লোড কন্ট্রোল করি।