KOMPONEN :
WIRING :
PROGRAM/KODING :
/*
Bismillahirrahmanirrahim, Assalamualaikum
Allahumma sholli ‘ala Muhammad wa ‘ala ali Muhammad
Tutorial IOT Web server by IOTkece
*/
#include
const char* ssid = "Rumahku Surgaku";
const char* password = "Bismillah#1";
WiFiServer server(80);
String header;
String Lamp1State = "off";
String Lamp2State = "off";
const int Lamp1 = 26;
const int Lamp2 = 27;
unsigned long currentTime = millis();
unsigned long previousTime = 0;
const long timeoutTime = 2000;
void setup() {
Serial.begin(115200);
pinMode(Lamp1, OUTPUT);
pinMode(Lamp2, OUTPUT);
digitalWrite(Lamp1, LOW);
digitalWrite(Lamp2, LOW);
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.");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
server.begin();
}
void loop(){
WiFiClient client = server.available();
if (client) {
currentTime = millis();
previousTime = currentTime;
Serial.println("New Client.");
String currentLine = "";
while (client.connected() && currentTime - previousTime <= timeoutTime) {
currentTime = millis();
if (client.available()) {
char c = client.read();
Serial.write(c);
header += c;
if (c == '\n') {
if (currentLine.length() == 0) {
client.println("HTTP/1.1 200 OK");
client.println("Content-type:text/html");
client.println("Connection: close");
client.println();
if (header.indexOf("GET /26/on") >= 0) {
Serial.println("GPIO 26 on");
Lamp1State = "on";
digitalWrite(Lamp1, HIGH);
} else if (header.indexOf("GET /26/off") >= 0) {
Serial.println("GPIO 26 off");
Lamp1State = "off";
digitalWrite(Lamp1, LOW);
} else if (header.indexOf("GET /27/on") >= 0) {
Serial.println("GPIO 27 on");
Lamp2State = "on";
digitalWrite(Lamp2, HIGH);
} else if (header.indexOf("GET /27/off") >= 0) {
Serial.println("GPIO 27 off");
Lamp2State = "off";
digitalWrite(Lamp2, LOW);
}
client.println("");
client.println("");
client.println("");
client.println("");
client.println("
ESP32 IOT Web Server Control Lamp
");
client.println("
Lamp 1 – Current Condition ” + Lamp1State + “
");
if (Lamp1State=="off") {
client.println("
");
} else {
client.println("
");
}
client.println("
Lamp 2 – Current Condition ” + Lamp2State + “
");
if (Lamp2State=="off") {
client.println("
");
} else {
client.println("
");
}
client.println("");
client.println();
break;
} else {
currentLine = "";
}
} else if (c != '\r') {
currentLine += c;
}
}
}
header = "";
client.stop();
Serial.println("Client disconnected.");
Serial.println("");
}
}
CARA MENAMBAHKAN BOARD ESP32 :
Isikan link berikut pada kolom tersebut https://dl.espressif.com/dl/package_esp32_index.json lalu Klik Ok
SETELAH UPLOAD KODING : Setelah selesai buka Serial Monitor dengan Ctrl + Shift + M atau Klik Ikon Serial Monitor
setting Baud Rate ke 115200 sesuai dengan program diatas
Setelah disetting maka ketikan IP Addres pada Serial Monitor ke Browser Sobat, jika tidak muncul maka Restart Board sobat dengan menekan tombol EN sesaat
Tinggalkan Komentar