Setelah berhasil membuat web server sederhana, kini saatnya menambahkan interaksi nyata: mengendalikan LED menggunakan tombol di halaman web. Ini adalah salah satu langkah dasar dalam membangun sistem IoT (Internet of Things).
Bahan dan Peralatan
- 1x ESP8266 (NodeMCU, Wemos D1 Mini, atau ESP-01)
- 1x LED Builtin NodeMCU
- Breadboard dan jumper kabel
- Arduino IDE
Contoh Kode: Web Server dengan Tombol Kontrol LED
#include "ESP8266WiFi.h"
const char* ssid = "Nama_WiFi";
const char* password = "Password_WiFi";
WiFiServer server(80);
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
digitalWrite(LED_BUILTIN, LOW);
Serial.begin(115200);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.print("IP Address: ");
Serial.println(WiFi.localIP());
server.begin();
}
void loop() {
WiFiClient client = server.available();
if (!client) return;
while (!client.available()) {
delay(1);
}
String request = client.readStringUntil('\r');
client.flush();
if (request.indexOf("/LED=ON") != -1) {
digitalWrite(LED_BUILTIN, LOW);
} else if (request.indexOf("/LED=OFF") != -1) {
digitalWrite(LED_BUILTIN, HIGH);
}
String html = "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n";
html += "<!DOCTYPE html><html><head><title>Kendali LED</title></head><body>";
html += "<h1>Kendali LED dengan ESP8266</h1>";
html += "<p><a href=\"/LED=ON\"><button>LED ON</button></a></p>";
html += "<p><a href=\"/LED=OFF\"><button>LED OFF</button></a></p>";
html += "</body></html>";
client.print(html);
}
Penjelasan Singkat
server(80)
→ Membuka server HTTP di port 80./LED=ON
dan/LED=OFF
→ URL untuk kontrol LED.client.print(html)
→ Menampilkan halaman HTML dengan tombol.
Cara Mengakses
- Upload kode ke board ESP8266.
- Buka Serial Monitor untuk melihat IP.
- Ketik IP tersebut di browser.
- Klik tombol untuk mengontrol LED!
Tampilan Serial Monitor
EmoticonEmoticon
Note: Only a member of this blog may post a comment.