Phone Se Ghar Ke Appliances Ko Control Karein ESP8266 Device Se

Phone Se Ghar Ke Appliances Ko Control Karein ESP8266 Device Se

Aaj hum aapko dikhayenge kaise aap apne phone se apne ghar ke appliances ko control kar sakte hain, ek chhote se WiFi module, ESP8266, aur ThingSpeak platform ka use karke. Hum is example mein ek fan ko control karne ka tarika batayenge, lekin aap ise kisi bhi appliance ke liye customize kar sakte hain.



1. Zaroori Components

Is project ke liye humein kuch components chahiye honge:

  • ESP8266 WiFi Module buy link
  • Relay Module buy link
  • Breadboard aur Jumper Wires
  • Ek Fan ya Koi Bhi Appliance
  • ThingSpeak Account

2. Arduino IDE Setup

Sabse pehle aapko Arduino IDE setup karna hoga. Arduino IDE mein ESP8266 board ko install karne ke liye, aapko Additional Boards Manager URL mein ye link add karna hoga:

Full Video Avlable On My Youtube Channle  GET LINK

bash
http://arduino.esp8266.com/stable/package_esp8266com_index.json

Steps:

  1. Arduino IDE khol kar File > Preferences mein jayein.
  2. Additional Boards Manager URLs mein upar wala URL paste karein aur OK karein.
  3. Tools > Board > Boards Manager mein jayein, waha pe ESP8266 search karke install karein.

3. Code Explanation

Ab hum code likhne ja rahe hain jo ESP8266 module pe upload hoga.

Code:

cpp
#include <ThingSpeak.h> #include <ESP8266WiFi.h> // WiFi credentials const char* ssid = "YOUR_SSID"; const char* password = "YOUR_PASSWORD"; // ThingSpeak details unsigned long myChannelNumber = YOUR_CHANNEL_NUMBER; const char* myWriteAPIKey = "YOUR_WRITE_API_KEY"; WiFiClient client; const int relayPin = D1; // GPIO pin where the relay is connected unsigned long lastTime = 0; unsigned long timerDelay = 5000; // 5 seconds bool fanState = false; void setup() { Serial.begin(115200); pinMode(relayPin, OUTPUT); digitalWrite(relayPin, HIGH); // Start with relay off WiFi.begin(ssid, password); Serial.print("Connecting to WiFi"); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(" connected"); Serial.println("IP address: "); Serial.println(WiFi.localIP()); ThingSpeak.begin(client); } void loop() { unsigned long currentTime = millis(); if (WiFi.status() == WL_CONNECTED) { if (currentTime - lastTime > timerDelay) { long fanStatus = ThingSpeak.readLongField(myChannelNumber, 1, myWriteAPIKey); Serial.print("Read fanStatus: "); Serial.println(fanStatus); if (fanStatus == 1 && !fanState) { fanState = true; digitalWrite(relayPin, LOW); // Turn on the fan Serial.println("Fan is ON"); } else if (fanStatus == 0 && fanState) { fanState = false; digitalWrite(relayPin, HIGH); // Turn off the fan Serial.println("Fan is OFF"); } else { Serial.print("Fan status unchanged: "); Serial.println(fanStatus); } lastTime = currentTime; } } else { if (fanState) { digitalWrite(relayPin, LOW); // Ensure fan remains on } else { digitalWrite(relayPin, HIGH); // Ensure fan remains off } } }

Code Explanation:

  1. Libraries: Hum ThingSpeak.h aur ESP8266WiFi.h libraries ko include karte hain.
  2. WiFi Credentials: ssid aur password mein aap apne WiFi network ka naam aur password dalenge.
  3. ThingSpeak Details: myChannelNumber aur myWriteAPIKey ko apne ThingSpeak channel ke hisaab se replace karein.
  4. Pin Configuration: relayPin pe relay connected hai.
  5. WiFi Connection: setup() function mein WiFi se connect karte hain.
  6. Loop: loop() function mein ThingSpeak se fan ka status read karke relay ko control karte hain.

Aap is code ko aur Arduino IDE setup ke files is Google Drive link se download kar sakte hain. File ko download karne ke baad extract karke, aapko sari coding aur Additional Boards Manager URL mil jayenge.

4. HTML Webpage for Control

Ab hum ek simple HTML webpage banayenge jisse hum ThingSpeak API ko call karke fan ko control kar sakte hain.

HTML Code:

html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Fan Control</title> <style> body { font-family: Arial, sans-serif; text-align: center; background-color: #f0f0f0; padding: 20px; } .button { padding: 10px 20px; margin: 10px; font-size: 16px; color: #fff; background-color: #007BFF; border: none; border-radius: 5px; cursor: pointer; transition: background-color 0.3s; } .button:hover { background-color: #0056b3; } .button-off { background-color: #DC3545; } .button-off:hover { background-color: #c82333; } #fan { width: 200px; height: 200px; background: url('fan.png') no-repeat center center; background-size: contain; margin: 20px auto; } #status { font-size: 18px; font-weight: bold; margin-top: 20px; } .highlight-green { color: green; animation: blink-green 1s infinite; } .highlight-red { color: red; animation: blink-red 1s infinite; } @keyframes blink-green { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } } @keyframes blink-red { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } } </style> </head> <body> <div id="fan"></div> <button class="button" onclick="toggleFan('on')">Fan On</button> <button class="button button-off" onclick="toggleFan('off')">Fan Off</button> <div id="status">Your fan is now <span class="highlight-red">off</span></div> <script> function toggleFan(state) { const statusElement = document.getElementById('status'); let url = ''; if (state === 'on') { url = 'https://api.thingspeak.com/update?api_key=YOUR_API_KEY&field1=1'; statusElement.innerHTML = '<span class="highlight-green">Your fan is now on</span>'; } else { url = 'https://api.thingspeak.com/update?api_key=YOUR_API_KEY&field1=0'; statusElement.innerHTML = '<span class="highlight-red">Your fan is now off</span>'; } window.open(url, '_blank'); } </script> </body> </html>

HTML Explanation:

  1. HTML Structure: Simple structure jisme buttons aur status message hai.
  2. CSS Styles: Buttons aur status message ke liye styling.
  3. JavaScript: toggleFan function jo ThingSpeak API ko call karke fan on/off karta hai.

3. Wiring Connections

Wiring setup bahut hi simple hai. Aapko sirf kuch connections follow karne hain:

Components:

  1. ESP8266:

    • VCC: 3.3V power supply
    • GND: Ground
    • GPIO D1: Relay module signal pin (IN)
  2. Relay Module:

    • VCC: 3.3V power supply (same as ESP8266)
    • GND: Ground (same as ESP8266)
    • IN: GPIO D1 (ESP8266 ka pin D1 se connect karein)
    • Common (COM): Appliance power source
    • Normally Open (NO): Appliance power input

Detailed Connections:

  1. ESP8266 to Relay Module:

    • ESP8266 ka VCC pin ko relay module ke VCC pin se connect karein.
    • ESP8266 ka GND pin ko relay module ke GND pin se connect karein.
    • ESP8266 ka GPIO D1 pin ko relay module ke IN pin se connect karein.
  2. Relay Module to Appliance:

    • Relay module ke COM pin ko appliance ke power source se connect karein.
    • Relay module ke NO pin ko appliance ke power input se connect karein.

Diagram:

mathematica

ESP8266 Relay Module ________ ____________ | | | | | VCC ---- VCC | IN ------ D1 (GPIO) | GND ---- GND | COM ----- Appliance Power Source | D1 --------------| NO ------ Appliance Power Input |________| |____________|

Conclusion

Is tarah se, aap apne ghar ke appliances ko phone se control kar sakte hain ESP8266 aur ThingSpeak ka use karke. Yeh project aapko IoT (Internet of Things) ka ek basic understanding dega aur aap isse apne hisaab se customize kar sakte hain.

Agar aapko yeh tutorial pasand aaya ho, toh comment karein aur apne experiences share karein. Happy hacking!

Post a Comment

0 Comments