NodeMCU ESP8266 - Smart Device Controller सेटअप गाइड
अपने WiFi का नाम और पासवर्ड डालें:
const char* ssid = "YourWiFiName";const char* password = "YourPassword";
अपना API Key बदलें (Register करने के बाद मिलेगा):
unique_key=YOUR_UNIQUE_KEY
जिस GPIO pin पर relay लगी है, वो नंबर डालें:
"pin": 5 // D1 के लिए GPIO5
Arduino IDE से कोड अपलोड करें:
GPIO Pins कैसे चुनें:
इमेज में दिख रहे GPIO नंबर का इस्तेमाल करें, D नंबर का नहीं!
जैसे: D1 = GPIO5, D2 = GPIO4, D5 = GPIO14
| Board Pin | GPIO | Use For |
|---|---|---|
| D0 | GPIO16 | ⚠️ Avoid (no interrupt) |
| D1 | GPIO5 | ✅ Best for Relay |
| D2 | GPIO4 | ✅ Best for Relay |
| D3 | GPIO0 | ⚠️ Boot fails if LOW |
| D4 | GPIO2 | ⚠️ Boot fails if LOW |
| D5 | GPIO14 | ✅ Best for Relay |
| D6 | GPIO12 | ✅ Best for Relay |
| D7 | GPIO13 | ✅ Best for Relay |
| D8 | GPIO15 | ⚠️ Pull-down needed |
Recommended Pins:
GPIO5 (D1), GPIO4 (D2), GPIO14 (D5), GPIO12 (D6), GPIO13 (D7)
NodeMCU → Relay Module:
https://smart.gupchupwala.com/api.php?unique_key=XXXXXXXXXXX
// ⚡ Smart Device Controller - NodeMCU Code
// 🔧 अपलोड करने से पहले ये बदलें:
// 📶 WiFi Name, Password, और unique_key
#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>
#include <WiFiClientSecure.h>
#include <ArduinoJson.h>
// ===== यहाँ बदलें =====
const char* ssid = "YourWiFiName"; // अपना WiFi नाम डालें
const char* password = "YourPassword"; // अपना WiFi पासवर्ड डालें
const char* apiUrl = "https://smart.gupchupwala.com/api.php?unique_key=YOUR_UNIQUE_KEY"; // अपना Unique Key डालें
// =====================
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
Serial.print("Connecting to WiFi");
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("\n✅ WiFi Connected!");
}
void loop() {
if (WiFi.status() == WL_CONNECTED) {
WiFiClientSecure client;
client.setInsecure(); // SSL check disable (self-signed allowed)
HTTPClient https;
if (https.begin(client, apiUrl)) {
int httpCode = https.GET();
if (httpCode == HTTP_CODE_OK) {
String payload = https.getString();
Serial.println("📩 API Response:");
Serial.println(payload);
// JSON पार्स करने के लिए बड़ा buffer
DynamicJsonDocument doc(4096);
DeserializationError error = deserializeJson(doc, payload);
if (error) {
Serial.print("❌ JSON Parse Error: ");
Serial.println(error.c_str());
https.end();
delay(5000);
return;
}
// Devices array check करें
if (doc["devices"].size() > 0) {
for (JsonObject dev : doc["devices"].as<JsonArray>()) {
const char* name = dev["name"] | "Unknown";
const char* state = dev["state"] | "OFF";
int pin = dev["pin"] | -1;
if (pin >= 0) {
pinMode(pin, OUTPUT);
if (strcmp(state, "ON") == 0) {
digitalWrite(pin, LOW); // Relay module के लिए LOW = ON
} else {
digitalWrite(pin, HIGH); // Relay module के लिए HIGH = OFF
}
Serial.printf("💡 Device: %s | Pin: %d | State: %s\n", name, pin, state);
}
}
} else {
Serial.println("⚠️ No devices found in response.");
}
} else {
Serial.printf("❌ HTTP Error: %d\n", httpCode);
}
https.end();
} else {
Serial.println("❌ HTTPS Connection Failed!");
}
} else {
Serial.println("⚠️ WiFi Disconnected! Reconnecting...");
WiFi.begin(ssid, password);
}
delay(10000); // हर 10 सेकंड में API call करेगा
}
दुनिया में कहीं से भी अपने Devices को कंट्रोल करें
SSL सिक्योरिटी के साथ सेफ कम्युनिकेशन
हर 10 सेकंड में अपडेट, फटाफट रिस्पॉन्स
एक साथ कई Devices को कंट्रोल करें