Kontrol LED dengan WebServer dan NodeMCU

Indobot Academy

Robot Mulai Menyerang Industri Musik !, Mereka sudah membuat Album sendiri !
Membuat Kontrol LED WebServer NodeMCU ESP8266

Web Server merupakan layanan yang berfungsi sebagai penerima permintaan yang di kirimkan melalui browser, kemudian memberikan tanggapan permintaan dalam bentuk halaman situs web (webpage) atau lebih umumnya dalam dokumen HTML. Saat mengambil halaman website, browser akan mengirimkan permintaan ke alamat server yang di tuju, kemudian HTTP request akan di kirimkan ke web server lalu diproses. Setelah itu web server mengirimkan HTTP Respon ke browser dan memprosesnya menjadi halaman situs web. Salah satu contoh pengaplikasian web server yaitu di gunakan untuk mengontrol perangkat IoT seperti kontrol LED web server.

[lwptoc numeration=”none” title=”Daftar Isi”]

Kontrol LED WebServer NodeMCU ESP8266

NodeMCU ESP8266 adalah board elektronik yang memiliki kemampuan sebagai mikrokontroler sekaligus memiliki koneksi internet melalui jaringan wireless yang memungkinkannya di jadikan board monitoring dalam berbagai proyek IoT

1. Skema Rangkaian

"rangkaian

Gambar rangkaian Kontrol LED

2. Alat / Bahan

  • NodeMCU ESP8266  : 1 buah
  • Breadboard                : 1 buah
  • LED                            : 3 buah

Baca Juga Tutorial Mengendalikan Nyala Lampu dengan Telegram

3. Sketch Program

 

/*
    Program Kontrol LED Web Server
    dibuat oleh Indobot
*/
#include <ESP8266WiFi.h>  //Pendeklarasian Library
#include <ESP8266WebServer.h>

#define LED1 16  // Pemilihan Pin D0
#define LED2 5    // Pemilihan Pin D1
#define LED3 4    // Pemilihan Pin D2

const char* ssid = "Indobot";       // Nama SSID AP/Hotspot
const char* password = "123456789";    // Password Wifi

ESP8266WebServer server(80);      //Menyatakan Webserver pada port 80
String webpage;

void setup() {  //Pengaturan Pin
  Serial.begin(115200);
  delay(10);
  pinMode(LED1, OUTPUT);
  pinMode(LED2, OUTPUT);
  pinMode(LED3, OUTPUT);

  // Connect ke WiFi
  Serial.println();
  Serial.print("Configuring access point...");

  // Mengatur WiFi 
  WiFi.mode(WIFI_AP);                      // Mode Station
  WiFi.begin(ssid, password);               // Mencocokan SSID dan Password

  // Print status Connect 
  Serial.println("IP address: ");
  Serial.println(WiFi.softAPIP());

  // Isi dari Webpage 
  webpage += "Web Control LED ESP8266</h1>";
  webpage += "<wp-p>LED 1 : ";
  webpage += "<a href=\"LED1ON\"\"><button>ON</button></a><a href=\"LED1OFF\"\"><button>OFF</button></a></wp-p><wp-br>";
  webpage += "<wp-p>LED 2 : ";
  webpage += "<a href=\"LED2ON\"\"><button>ON</button></a><a href=\"LED2OFF\"\"><button>OFF</button></a></wp-p><wp-br>";
  webpage += "<wp-p>LED 3 : ";
  webpage += "<a href=\"LED3ON\"\"><button>ON</button></a><a href=\"LED3OFF\"\"><button>OFF</button></a></wp-p>";

  // Membuat file webpage 
  server.on("/", []() {
    server.send(200, "text/html", webpage);
  });

  // Bagian ini untuk merespon perintah yang masuk 
  server.on("/LED1ON", []() {
    server.send(200, "text/html", webpage);
    digitalWrite(LED1, HIGH);
    delay(1000);
  });
  server.on("/LED2ON", []() {
    server.send(200, "text/html", webpage);
    digitalWrite(LED2, HIGH);
    delay(1000);
  });
  server.on("/LED3ON", []() {
    server.send(200, "text/html", webpage);
    digitalWrite(LED3, HIGH);
    delay(1000);
  });
  server.on("/LED1OFF", []() {
    server.send(200, "text/html", webpage);
    digitalWrite(LED1, LOW);
    delay(1000);
  });
  server.on("/LED2OFF", []() {
    server.send(200, "text/html", webpage);
    digitalWrite(LED2, LOW);
    delay(1000);
  });
  server.on("/LED3OFF", []() {
    server.send(200, "text/html", webpage);
    digitalWrite(LED3, LOW);
    delay(1000);
  });

  server.begin();
  Serial.println("Server dijalankan");
}

void loop() {  //Perulangan Program
  server.handleClient();
}

Cek terminal serial untuk mendapatkan IP

"konfigurasi

Gambar terminal serial

Masukkan IP tersebut ke web browser, kemudian akan muncul tampilan kontrol LED seperti ini :

kontrol led web server dengan nodeMCU esp8266

Kesimpulan :

Dalam project ini NodeMCU ESP8266 berfungsi sebagai sebuah web server yang di gunakan untuk mengontrol LED. Cara kerjanya dengan memanfaatkan NodeMCU sebagai web server, kita dapat memanggil sebuah halaman webpage yang bisa di gunakan untuk menghidupkan dan mematikan  LED yang kita pilih.

Jangan lupa tetap upgrade skill kamu di Indobot Academy. Kamu bisa mendapatkan berbagai tutorial project. Selanjutnya tutorial bisa kamu terapkan di dalam kehidupan sehari-hari. Tak hanya itu, Indobot sudah menyediakan semua source coding yang di butuhkan. Sehingga kamu hanya cukup membuka satu website saja. Oleh karena itu penting untuk mempelajari hal itu.

kursus belajar elektronika dasar dan arduino

Mau belajar elektronika dasar? Arduino? atau Internet of Things? Ikuti kursus online Indobot Academy!

Ingin Tahu Program Kami Lebih Lanjut?

Silahkan isi Formulir Dibawah Ini untuk Diskusi dengan Tim Indobot Academy.

Baca Juga

Bagikan:

Tinggalkan komentar

whatsapp whatsapp