#include <ESP8266WebServer.h> //memasukan library NodeMCU sebagai web server
#include <ESP8266WiFi.h> //memasukan library NodeMCU
#include <WiFiClient.h> //memasukan library NodeMCU sebagai client
ESP8266WebServer server(80); //menggunakan port 80
//Masukan nama wifi dan password yang akan dibuat
const char *ssid = "Mr.Leong"; //GANTI SESUAI KEINGINAN KALIAN
const char *password = "12345"; //GANTI SESUAI KEINGINAN KALIAN
#define LED D4 // PIN LED MERAH
#define RELAY D2 // PIN RELAY
#define LED_NYALA D3 // PIN LED HIJAU
int statusLED = LOW;
int statusRelay = LOW;
int status_hijau = HIGH;
//membuat fungsi untuk kondisi led built in
void handleMesinOn() {
statusLED = LOW; //Kondisi logika "LOW" membuat led nyala
statusRelay = HIGH;
status_hijau = HIGH;
digitalWrite(LED, statusLED);
digitalWrite(RELAY, statusRelay);
digitalWrite(LED_NYALA, status_hijau);
response();
}
void handleMesinOff() {
statusLED = HIGH; ////Kondisi logika "HIGH" membuat led nyala
statusRelay = LOW;
status_hijau = LOW;
digitalWrite(LED, statusLED);
digitalWrite(RELAY, statusRelay);
digitalWrite(LED_NYALA, status_hijau);
response();
}
void handleRoot() {
response();
}
const String HtmlHtml = "<html><head>"
"<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" /></head>";
const String HtmlHtmlClose = "</html>";
const String HtmlTitle = "<h1>Menyalakan Mesin Pompa Air</h1><br/>\n";
const String HtmlLedStateLow = "<big>Mesin Air <b>ON</b></big><br/>\n";
const String HtmlLedStateHigh = "<big>Mesin Air <b>OFF</b></big><br/>\n";
const String HtmlButtons =
"<a href=\"MesinOn\"><button style=\"display: block; width: 100%;\">ON</button></a><br/>"
"<a href=\"MesinOff\"><button style=\"display: block; width: 100%;\">OFF</button></a><br/>";
void response(){
String htmlRes = HtmlHtml + HtmlTitle;
if(statusLED == LOW){
htmlRes += HtmlLedStateLow;
}else{
htmlRes += HtmlLedStateHigh;
}
htmlRes += HtmlButtons;
htmlRes += HtmlHtmlClose;
server.send(200, "text/html", htmlRes);
}
void setup() {
delay(1000); //waktu tunda 1 detik
Serial.begin(9600);
Serial.println();
WiFi.softAP(ssid, password);
//bertindak sebagai access point dengan nama wifi dan pass diatas
IPAddress apip = WiFi.softAPIP(); //alamat IP
Serial.print("visit: \n");
Serial.println(apip); //menuliskan alamat IP yang bisa dikunjungi
server.on("/", handleRoot); //memanggil fungsi handleRoot()
server.on("/MesinOn", handleMesinOn);
server.on("/MesinOff", handleMesinOff);
server.begin(); //proses pemulaian menjadi server
Serial.println("HTTP server beginned");
pinMode(LED, OUTPUT);
pinMode(RELAY, OUTPUT);
pinMode(LED_NYALA, OUTPUT);
digitalWrite(LED, statusLED);
}
void loop() {
server.handleClient();
}
Loading
esp32-c3-rust-1
esp32-c3-rust-1