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 dituju, kemudian HTTP request akan di kirimkan ke web server lalu di proses. Setelah itu web server mengirimkan HTTP Respon ke browser dan memprosesnya menjadi halaman situs web. Salah satu contoh pengaplikasian web server yaitu d igunakan untuk mengontrol perangkat IoT seperti kontrol LED web server.
1. Skema Rangkaian
Gambar rangkaian Kontrol LED
2. Alat / Bahan
- NodeMCU ESP8266 : 1 buah
- Breadboard : 1 buah
- LED : 3 buah
[/membership]
3. Sketch Program
Belajar elektronika step by step dengan bantuan tangga belajar? Regitrasi dulu dan dapatkan konsultasi dari kami!
/* 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 += "<h1> Web Control LED ESP8266</h1>"; webpage += "<p>LED 1 : "; webpage += "<a href=\"LED1ON\"\"><button>ON</button></a><a href=\"LED1OFF\"\"><button>OFF</button></a></p><br>"; webpage += "<p>LED 2 : "; webpage += "<a href=\"LED2ON\"\"><button>ON</button></a><a href=\"LED2OFF\"\"><button>OFF</button></a></p><br>"; webpage += "<p>LED 3 : "; webpage += "<a href=\"LED3ON\"\"><button>ON</button></a><a href=\"LED3OFF\"\"><button>OFF</button></a></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 untuk kontrol LED
Gambar terminal serial
Masukkan IP tersebut ke web browser, kemudian akan muncul tampilan kontrol LED seperti ini :
Baca Juga : Mengapa Harus Ikut Bootcamp IoT di Indobot Academy
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.