১। প্রোডাক্ট পরিচিতি
ESP8266 WiFi 4 Channel IoT Smart Switch একটি ইন্টারনেট কন্ট্রোল রিলে বোর্ড। অর্থাৎ ব্যবহারকারী ইন্টারনেটের মাধ্যমে এই বোর্ডের সাথে সংযুক্ত রিলে গুলোকে নিয়ন্ত্রণ করতে পারবেন। ESP8266 WiFi 4 Channel IoT Smart Switch এর কারেন্ট রেটিং অনুযায়ী লোড সংযোগ করে Mobile দিয়ে নিয়ন্ত্রণ করতে পারবেন।
Blynk এই App টি ডাউনলোড করে নিতে হবে। অতপর, রেজিস্ট্রেশন করতে হবে। রেজিস্ট্রেশন হলে App এর মধ্যে একটি প্রজেক্ট তৈরি করতে হবে। প্রজেক্ট তৈরি হলে মেইলে একটি authentication Token দেওয়া হবে। এই Token টি প্রোগ্রামের মধ্যে দিয়ে প্রোগ্রামটি NodeNCU তে আপলোড দিতে হবে।
যা যা রয়েছেঃ
- Supports Wifi Board: ESP8266 NodeMCU Lua WiFi with CP2012
- DHT11 Temperature and Humidity Sensor (Not Included)
- AC 220V Supported
- 4 Independently Controlled Relays
- Operating Voltage: 5V (From AC 220V / USB 5V)
- Power Indication: Red LED
- Relay Output Status: Blue LED CH1, CH2, CH3, CH4
- Each relay output capacity: 220VAC / 10A
- Three Terminal Output AC-DC Control (NO COM NC)
- Single Pole Double Throw Relay Output (SPDT)
- Relay current consumption at 5V is 72mA each when switched on
- Back EMF protection
- Mounting Holes: 2.65 Inch
ধাপ-১ঃ কম্পোনেন্ট সংগ্রহ
প্রয়োজনীয় কম্পোনেন্ট গুলো তালিকা থেকে সংগ্রহ করতে হবে।
ধাপ-২ঃ সার্কিট কানেকশন
Relay |
NodeMCU |
R1 (Relay-1) |
D5 |
R2 (Relay-2) |
D6 |
R3 (Relay-3) |
D7 |
R4 (Relay-4) |
D8 |
টেম্পারেচার দেখতে চাইলে DHT11 কানেক্টরের সাথে এই
সেন্সর মডিউলটি সংযোগ করতে হবে। সেই অনুপাতে প্রোগ্রাম করতে হবে।
Temperature Sensor |
NodeMCU |
DHT11 |
D4 |
ধাপ-৩ঃ প্রোগ্রামিং
ESP8266 WiFi 4 Channel IoT Smart Switch কে দুই ভাবে ব্যবহার করা যাবে।
১। ইন্টারনেটের মাধ্যমে
২। ইন্টারনেট ছাড়া (শুধুমাত্র রাউটারের রেঞ্জ অনুযায়ী)
১। ইন্টারনেটের মাধ্যমে নিয়ন্ত্রণ।
ইন্টারনেটের মাধ্যমে কন্ট্রোল করতে হলে এই প্রোগ্রামটি ব্যবহার করতে হবে। প্রোগ্রামে তিন যায়গায় পরিবর্তন করতে হবে। token, SSID ও Password এই তিনটি দিয়ে প্রোগ্রাম NodeMCU তে আপলোড করে দিতে হবে। token: Blynk এ রেজিস্ট্রেশন করে প্রজেক্ট তৈরির পর আপনাকে একটি auth token মেইল করে দিবে। SSID & Password: এটি আপনার রাউটারের নাম ও পাসওয়ার্ড।
একটি বিষয় লক্ষণীয় যে, যদি ইন্টারনেট না থাকে থাহলে এই ডিভাইস কে নিয়ন্ত্রণ করা যাবে না।
How to Install the ESP8266 Board in Arduino IDE
Open the preferences window from the Arduino IDE. Go to File > Preferences
Enter
http://arduino.esp8266.com/stable/package_esp8266com_index.json into the “Additional Board Manager URLs” field as shown in the figure below. Then, click the “
OK” button.
Open Boards manager. Go to
Tools > Board > Boards Manager…
Enter
esp8266 into the
filter your search… field as shown in the figure below. Then, click the “
Install” button.
ESP8266 Board Installation Complete. Then, click the “
Close” button.
How to Install Blynk Library in Arduino IDE
Open Manage Libraries… Go to Sketch > Include Library > Manage Libraries…
Enter
Blynk into the
filter your search… field as shown in the figure below. Then, click the “
Install” button.
Blynk Library Installation Complete. Then, click the “
Close” button.
Download the Adafruit_Sensor & DHT Library.
Adafruit_Sensor &
DHT
Add ZIP Library. Goto
Sketch > Include Library > Add .ZIP Library…
Now Select your library file DHT (it should be .ZIP), Then select your Adafruit_Sensor library file
Choose your ESP8266 board from
Tools > Board > NodeMCU 1.0 (ESP-12E Module)
Check your Com Port from
Device Manager.
Choose your Com Port from
Tools > Port > COM3
Now Click the
Upload
Done Uploading.
Code for Blynk App
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <DHT.h>
char auth[] = "token"; //Auth Token from Blynk Project
char ssid[] = "SSID"; //Router Name
char pass[] = "Password"; //Router Password
#define DHTPIN 2 // D4-GPIO 02 // What digital pin we're connected to
#define DHTTYPE DHT11 // DHT 11
DHT dht(DHTPIN, DHTTYPE);
BlynkTimer timer;
const int relay1 = 14; // D5-GPIO 14
const int relay2 = 12; // D6-GPIO 12
const int relay3 = 13; // D7-GPIO 13
const int relay4 = 15; // D8-GPIO 15
const int button1Pin = 5; // D1-GPIO 05
const int button2Pin = 4; // D2-GPIO 04
const int button3Pin = 0; // D3-GPIO 00
const int button4Pin = 10; // SD3-GPIO 10
int relay1State = LOW;
int relay2State = LOW;
int relay3State = LOW;
int relay4State = LOW;
int button1State = HIGH;
int button2State = HIGH;
int button3State = HIGH;
int button4State = HIGH;
void checkPhysicalButton();
// Every time we connect to the cloud...
BLYNK_CONNECTED() {
// Request the latest state from the server
Blynk.syncVirtual(V1);
Blynk.syncVirtual(V2);
Blynk.syncVirtual(V3);
Blynk.syncVirtual(V4);
}
//*********************************************
// When App button is pushed - switch the state
BLYNK_WRITE(V1) {
relay1State = param.asInt();
digitalWrite(relay1, relay1State);
}
// When App button is pushed - switch the state
BLYNK_WRITE(V2) {
relay2State = param.asInt();
digitalWrite(relay2, relay2State);
}
// When App button is pushed - switch the state
BLYNK_WRITE(V3) {
relay3State = param.asInt();
digitalWrite(relay3, relay3State);
}
// When App button is pushed - switch the state
BLYNK_WRITE(V4) {
relay4State = param.asInt();
digitalWrite(relay4, relay4State);
}
//*********************************************
// This function sends Arduino's up time every second to Virtual Pin (5).
// In the app, Widget's reading frequency should be set to PUSH. This means
// that you define how often to send data to Blynk App.
void sendSensor()
{
float h = dht.readHumidity();
float t = dht.readTemperature(); // or dht.readTemperature(true) for Fahrenheit
if (isnan(h) || isnan(t)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
// You can send any value at any time.
// Please don't send more that 10 values per second.
Blynk.virtualWrite(V5, h);
Blynk.virtualWrite(V6, t);
//button1
if (digitalRead(button1Pin) == LOW) {
// btnState is used to avoid sequential toggles
if (button1State != LOW) {
// Toggle LED state
relay1State = !relay1State;
digitalWrite(relay1, relay1State);
// Update Button Widget
Blynk.virtualWrite(V1, relay1State);
}
button1State = LOW;
} else {
button1State = HIGH;
}
//button2
if (digitalRead(button2Pin) == LOW) {
// btnState is used to avoid sequential toggles
if (button2State != LOW) {
// Toggle LED state
relay2State = !relay2State;
digitalWrite(relay2, relay2State);
// Update Button Widget
Blynk.virtualWrite(V2, relay2State);
}
button2State = LOW;
} else {
button2State = HIGH;
}
//button3
if (digitalRead(button3Pin) == LOW) {
// btnState is used to avoid sequential toggles
if (button3State != LOW) {
// Toggle LED state
relay3State = !relay3State;
digitalWrite(relay3, relay3State);
// Update Button Widget
Blynk.virtualWrite(V3, relay3State);
}
button3State = LOW;
} else {
button3State = HIGH;
}
//button4
if (digitalRead(button4Pin) == LOW) {
// btnState is used to avoid sequential toggles
if (button4State != LOW) {
// Toggle LED state
relay4State = !relay4State;
digitalWrite(relay4, relay4State);
// Update Button Widget
Blynk.virtualWrite(V4, relay4State);
}
button4State = LOW;
} else {
button4State = HIGH;
}
}
void setup()
{
// Debug console
Serial.begin(9600);
Blynk.begin(auth, ssid, pass);
pinMode(relay1, OUTPUT);
pinMode(relay2, OUTPUT);
pinMode(relay3, OUTPUT);
pinMode(relay4, OUTPUT);
pinMode(button1Pin, INPUT_PULLUP);
pinMode(button2Pin, INPUT_PULLUP);
pinMode(button3Pin, INPUT_PULLUP);
pinMode(button4Pin, INPUT_PULLUP);
digitalWrite(relay1, relay1State);
digitalWrite(relay2, relay2State);
digitalWrite(relay3, relay3State);
digitalWrite(relay4, relay4State);
dht.begin();
// Setup a function to be called every 100 ms
timer.setInterval(100L, sendSensor);
}
void loop()
{
Blynk.run();
timer.run();
}
সংযোগ প্রক্রিয়াঃ
- শুরুতেই Micro USB Cable দিয়ে ESP8266 WiFi 4 Channel IoT Smart Switch কে কম্পিউটারের সাথে কানেক্ট করতে হবে।
- অতপর, Arduino IDE ব্যবহার করে নিচে দেওয়া প্রোগ্রামটি আপলোড দিতে হবে।
- Blynk App এ গিয়ে প্রজেক্ট তৈরি করতে হবে। Blynk App দিয়ে নিয়ন্ত্রণ প্রক্রিয়াঃ
- লাইট-ফ্যান ইত্যাদি সংযোগ করুন।
- AC 220 INPUT কানেক্টরে পাওয়ার ক্যাবল ব্যবহার করে লাইন দিতে হবে।
সাবধানতাঃ ২২০ ভোল্ট নিয়ে পূর্বে কাজের অভিজ্ঞতা না থাকলে ESP8266 WiFi 4 Channel IoT Smart Switch টি ব্যবহার না করাই উচিৎ
ESP8266 WiFi 4 Channel IoT Smart Switch টি ৩”/৩” বক্স সাইজের উপযুক্ত। এই বক্সটি যে কোন ইলেকট্রিক্যাল দোকানে পাওয়া যায়।
আউটপুটঃ
প্রোডাক্ট ডেমো ভিডিও:]]>
my arduino does not work
Please mail with order ID to customerservice@techshopbd.com
এটা কি প্রোগ্রাম করা আছে না করতে হবে?
এটি প্রোগ্রাম করতে হবে। প্রোগ্রাম নিচে দেওয়া আছে।
Is it already programmed or need to programme?
You have to program this device.
When I am programming it should I have to connect 220V?
প্রোগ্রামিং এর সময় ২২০ ভোল্ট সংযোগ প্রয়োজন নেই।
Program er file ta koi hotel download korbo?
এটি ডাউনলোড করা যাবে না। কপি করে অথবা লিখে নিতে হবে।
Blynk code only for on/off relay. Ei coding er mane ta bujhai bolben?
এই কোড দ্বারা রিলে গুলোকে শুধুমাত্র অন/অফ করতে পারবেন। আলাদা করে সুইচ ও তাপ পরিমাপক সেন্সর ব্যবহার করতে পারবেন না, যা নিচের কোডের মধ্যে দেওয়া আছে।
শুধু AC 220v ইনপুট ভোল্টেজ দিলেই কি হবে? DC 5V অপারেটিং ভোল্টেজ দেওয়ার প্রয়োজন নেই?
প্রোগ্রাম আপলোড করার জন্য শুধু মাত্র মাইক্রো ইউএসবি ক্যবল ব্যবহার করলেই হবে, এই সময় ২২০ ভোল্ট দেওয়ার প্রয়োজন নেই। আপলোড শেষ হলে ২২০ ভোল্ট লাইনে দিলেই সম্পূর্ণ সিস্টেমে ৫ ভোল্ট পেয়ে যাবে আলাদা করে ৫ ভোল্ট দেওয়ার দরকার হবে না।
Can you give me this project circuit diagram? Please……
সার্কিটের কানেকশনের জন্য আপনি (ধাপ-২ঃ সার্কিট কানেকশন) ধাপ ২টি দেখতে হবে।
সব কিছুই ঠিক আছে কিন্তু Output দিচ্ছেনা, কেনো দিচ্ছেনা এটাও বুঝতে পারছিনা। আপনার সাথে contact করা যাবে?
সমস্যা হলে টেকশপের লাইভ চ্যাটে এসে কথা বলতে পারেন।
আমি আপনাদের কাছ থেকে ESP8266 WiFi 4 Channel IoT Smart switch একটি নিয়েছি কিন্তু সেটার AC ইনপুট 220v relay এর সাথে কানেক্ট করা নেই শুধু 5v অপারেটিং করতেছে । সুতরাং আমি এখন কি করবো?
আউটপুট কানেকশনের জন্য আপনি (ধাপ-২ঃ সার্কিট কানেকশন) ধাপ ২টি দেখতে হবে। রিলের সাথে সরাসরি ২২০ ভোল্ট কানেকশন থাকবে না। আপনি সার্কিট কানেকশন দেখলেই বুঝতে পারবেন।
Wifi module ta ki offline e use kora jabe & etar range ki barano jabe.?
ডিভাইসটি আসলে অন লাইন অফ লাইন বলে কিছু নেই। এটি সম্পূর্ণ কোডের উপর নির্ভর করে। আমাদের কোডটি শুধু মাত্র অনলাইনের জন্য লিখা। আপনি চাইলে অফ লাইন কোড লিখে এটি চালাতে পারবেন। অনলাইনের মাধ্যমে (ইন্টারনেট কানেকশন) যে কোন স্থান থেকে নিয়ন্ত্রণ করতে পারবেন। আপনার মোবাইলে ইন্টারনেট থাকার অর্থ হলো ডিভাইসটি চলবে আপনার নিয়ন্ত্রনে।
code ta ki firebase ar jonno kore dite parben ? apnader 2ta product ami nici
গতকাল আপনাদের সাইট থেকে আমি দুইটি ESP8266 4 channel IoT smart switch কিনেছি। আমি একটি লাইট জ্বালাতে চাই, তাহলে এর সার্কিট কনেকসান টা কি হবে আর এর কোড টা কি হবে ?
আপনাকে ধন্যবাদ। আপনি যেহেতু ব্লগে প্রশ্ন করেছেন, একটু লক্ষ করে দেখুন এই পেজে কোড এবং সার্কিট কানেকশন দেওয়া আছে। এই নিয়মে প্রোগ্রাম আপলোড এবং সার্কিট কানেকশন দিলেই আপনার ডিভাইস দুইটি কাজ করতে সক্ষম।
can you describe it why blynk app show “ESP 8266 Wasn’t on-line yet”?
Please Check the Token, SSID, Password and Internet activity.
Thank you bhaiya
sudhumatro app diye control hosse, button e kaj hosse na
আপনি যদি Code for Blynk App (ON/OFF Relay, DHT11 & Switch প্রোগ্রামটি ব্যবহার করে থাকেন, তাহলে Button ব্যবহার করতে হলে DHT11 Sensor কানেক্ট করতে হবে। অন্যথা কাজ করবে না।
Vai Ami Google assistant ki babe korbo.
Google Assistant ব্যবহার করতে হলে আলাদা করে প্রোগ্রাম লিখতে হবে।
Device টি USB power এ চলছে, কিন্তু AC 220v দিলে আর চলছে না।
এসি লাইন দেওয়ার পর পাওয়ার সুইচটি অন করুন। তবে এই অবস্থায় USB পাওয়ার খুলে নিতে হবে।
You have used ULN2003 driver IC for controlling relays ?
No. We used BJT.
Code for Blynk App (Only on/off Relay). ai code ta last line a error ache knowing ?? upload dewar time a ?
সম্ভব হলে যেই এররটি পাচ্ছেন, সেটি মেইল করুন। কোডটি পুনরায় চেক করে হার্ডওয়ারে আপলোড করা হয়েছে। কোন প্রকার এরর পরিলক্ষিত হয়নি।
ai bord a dth 11 er j port ta ache oilman a vcc, and and data pin knnta ? please help
সার্কিট ডায়াগ্রাম দেখুন, DHT11 এর পিনের নাম দেওয়া হয়েছে।
২২০ ভোল্ট ছাড়া এইটাকে পাওয়ার করা যাবে না?? ২২০ ভোল্ট দিয়ে পাওয়ার দেয়ার পর নরমাল ৫ভোল্ট এল ই ডি অথবা ডিসি মটর গুলো কি এই বোর্ড দিয়ে চালানো যাবে। একটা ডেমো প্রোজেক্ট করার জন্য.
৫ ভোল্ট দিয়ে পাওয়ার দিতে পারবেন। শুধুমাত্র বোর্ডটিকে পাওয়ার দেওয়ার জন্য ২২০ ভোল্ট ব্যবহার করা হয়েছে।
আমি এই বোর্ডে কি নরমাম ৫ ভোল্টের এল ই ডি ব্যবহার করতে পারবো। ২২০ভোল্ট সাপ্লাই না দিয়ে অন্য কোনো ভাবে ৫ থেকে ৯ ভোল্টের মধ্যে পাওয়ার করতে পারবো?
Micro USB Cable দিয়ে ৫ ভোল্ট দিতে পারবেন, অবশ্যই ৫ ভোল্ট । রিলের আউটপুটে আপনি এসি ডিসি দুই ধরনের লোডই নিয়ন্ত্রণ করতে পারবেন। এখানে এসি লোডের জন্য সার্কিট দেখানো হয়েছে।
বোর্ডে একটা 3 pin এর কানেক্টর এবং একটি 5-pin কানেক্টর লাগানোর জায়গা দেখছি। 3 pin er টা DHT11 sensor er জন্য। কিন্তু 5 pin er টা কিসের জন্য? এবং আমার ধারণা এই বোর্ডে আমি আমার তৈরি প্রোগ্রামলোড করতে পারি ,আমার ধারণা কি সঠিক?
প্যাকেজের সাথে চার সুইচ সম্বলিত একটি সুইচ মডিউল আছে এবং এদের পিন সংখ্যা ৫টি। এই সুইচ মডিউলটি কানেক্ট করার জন্য ৫ পিনের কানেক্টর রাখা হয়েছে। অন্যদিকে বোর্ডটিতে আলাদা করে প্রোগ্রাম তৈরি করেও আপলোড দেওয়া যাবে।
Can we arrange “by hand/manual” control & internet control by this system? Also I want to know this controller control with temperature/humidity base. Wait for your reply.
এই ডিভাইসকে চারটি সুইচের মাধ্যমে ম্যানুয়াল নিয়ন্ত্রণ সম্ভব, অন্যদিকে একই কাজ করা যাবে অ্যাপ দিয়ে। যদি DHT11 সেন্সর কানেক্ট করা হয়, তখন তাপমাত্রা ও আদ্রতা দেখা সম্ভব।
My device is working perfectly.
অসংখ্য ধন্যবাদ আপনার ডিভাইসের ফিডব্যাক জানানোর জন্য। সর্বদা ভালো থাকুন।
এটা দিয়ে কি পৃথিবীর যেকোনো প্রান্ত থেকে কন্ট্রোল করা যাবে ইন্টারনেটের মাধ্যমে
জি। এই জন্য ডিভাইসটিকে সর্বদা ইন্টারনেটের সাথে যুক্ত রাখতে হবে।