Translate

NodeMCU ESP8266 WIFI 12E Control Led Menggunakan Webserver dan ARDUINO IDE

NodeMCU ESP8266 WIFI 12E Control Led Menggunakan Webserver dan ARDUINO IDE


           Pada kesempatan yang berbahagia kali ini saya akan menjelaskan mengenai bagaimana cara mengakses NodeMCU ESP8266 WIFI 12E dengan menggunakan software Arduino IDE untuk mengontrol ON-OFF LED, memang pada contoh hanya menggunakan LED tapi untuk aplikasinya bisa diganti dengan menggunakan device lain seperti Relay atau Optocoupler sehingga bisa mengendalikan tegangan AC maupun DC dengan arus besar, aplikasi alat ini bisa digunakan untuk kendali lampu rumah didalam smart home, kendali pintu otomatis dan lainnya. untuk lebih jelasnya berikut adalah skema dan programnya.



a. NodeMCU ESP8266 WIFI 12E





b. Router WIFI





c. Program Arduino IDE

 #include <ESP8266WiFi.h>

const char* ssid = "EVERCOSS ROUTER";
const char* password = "12345";

int ledPin = D0; // GPIO13
WiFiServer server(80);

void setup() {
  Serial.begin(115200);
  delay(10);

  pinMode(ledPin, OUTPUT);
  digitalWrite(ledPin, LOW);

  // Connect to WiFi network
  Serial.println();
  Serial.println();
  Serial.print("Connecting to ");
  Serial.println(ssid);

  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("WiFi connected");

  // Start the server
  server.begin();
  Serial.println("Server started");

  // Print the IP address
  Serial.print("Use this URL to connect: ");
  Serial.print("http://");
  Serial.print(WiFi.localIP());
  Serial.println("/");

}

void loop() {
  // Check if a client has connected
  WiFiClient client = server.available();
  if (!client) {
    return;
  }

  // Wait until the client sends some data
  Serial.println("new client");
  while(!client.available()){
    delay(1);
  }

  // Read the first line of the request
  String request = client.readStringUntil('\r');
  Serial.println(request);
  client.flush();

  // Match the request

  int value = LOW;
  if (request.indexOf("/LED=ON") != -1)  {
    digitalWrite(ledPin, LOW);
    value = HIGH;
  }
  if (request.indexOf("/LED=OFF") != -1)  {
    digitalWrite(ledPin, HIGH);
    value = LOW;
  }

// Set ledPin according to the request
//digitalWrite(ledPin, value);

  // Return the response
  client.println("HTTP/1.1 200 OK");
  client.println("Content-Type: text/html");
  client.println(""); //  do not forget this one
  client.println("<!DOCTYPE HTML>");
  client.println("<html>");

  client.print("Led pin is now: ");

  if(value == HIGH) {
    client.print("On");
  } else {
    client.print("Off");
  }
  client.println("<br><br>");
  client.println("<a href=\"/LED=ON\"\"><button>Turn On </button></a>");
  client.println("<a href=\"/LED=OFF\"\"><button>Turn Off </button></a><br />"); 
  client.println("</html>");

  delay(1);
  Serial.println("Client disonnected");
  Serial.println("");

}




d. Gambar Hasilnya






e. VIDEO HASILNYA









No comments:

Post a Comment