Penjelasan

Pada proyek kali ini kita akan membahas mengenai Internet of Things (IoT) menggunakan webserver dengan ESP8266.

Untuk kalian yang aplikasi Arduino belum di install library ESP8266, bisa membaca artikel berikut.

Skematik Rangkaian

Skematik Rangkaian

Komponen

  • NodeMCU
  • Resistor 220 Ohm atau bebas maksimal 1k Ohm

Program

#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <ESP8266mDNS.h>

#ifndef STASSID
#define STASSID "NAMA-WIFI-KALIAN"
#define STAPSK  "PASSWORD-WIFI-KALIAN"
#endif

const char* ssid = STASSID;
const char* password = STAPSK;

ESP8266WebServer server(80);

const int led = D7;

void handleRoot() {
  digitalWrite(led, 1);
  server.send(200, "text/plain", "hello from esp8266!");
  digitalWrite(led, 0);
}

void handleNotFound() {
  digitalWrite(led, 1);
  String message = "File Not Found\n\n";
  message += "URI: ";
  message += server.uri();
  message += "\nMethod: ";
  message += (server.method() == HTTP_GET) ? "GET" : "POST";
  message += "\nArguments: ";
  message += server.args();
  message += "\n";
  for (uint8_t i = 0; i < server.args(); i++) {
    message += " " + server.argName(i) + "" + server.arg(i) + "\n";
  }
  server.send(404, "text/plain", message);
  digitalWrite(led, 0);
}

void setup(void) {
  pinMode(led, OUTPUT);
  digitalWrite(led, 0);
  Serial.begin(115200);
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);
  Serial.println("");

  // Wait for connection
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.print("Connected to ");
  Serial.println(ssid);
  Serial.print("IP address: ");
  Serial.println(WiFi.localIP());

  if (MDNS.begin("esp8266")) {
    Serial.println("MDNS responder started");
  }

  server.on("/", handleRoot);

  server.on("/ledon", []() {
    server.send(200, "text/plain", "LED ON");
    digitalWrite(led,HIGH);
  });

  server.on("/ledoff", []() {
    server.send(200, "text/plain", "LED OFF");
    digitalWrite(led,LOW);
  });

  server.onNotFound(handleNotFound);

  server.begin();
  Serial.println("HTTP server started");
}

void loop(void) {
  server.handleClient();
  MDNS.update();
}

Setelah itu buka Serial Monitor untuk melihat IP Address dari NodeMCU.
Serial Monitor

Lalu copy IP Address ke browser kesayangan kalian dan enter.

Maka akan muncul tampilan seperti di bawah ini.
Webserver

Jika ingin menyalakan LED, kita tambahkan /ledon
Webserver

Lalu perhatikan rangkaian yang telah kalian buat, LED akan menyala.

Untuk mematikan LED, kita dapat mengetikan /ledoff
Webserver

Maka LED pada rangkaian akan mati.

Silahkan cek rangkaian dan program yang telah kalian buat jika LED tidak menyala ataupun mati saat dilakukan cara di atas.

Sekian dan terima kasih. Semoga dapat membantu.

Jangan lupa untuk share ke teman - teman kalian dan tulis komentar kalian di bawah.