Anda di halaman 1dari 13

LAPORAN

LABORATORIUM SCADA
PENGENALAN ESP8266 DAN KENDALI LED
MENGGUNAKAN WEB

Disusun oleh :
1. Bagus Bintang Febianda EK-3B NIM 3.32.16.1.05
2. Ivan Feisal Ardiansyah EK-3B NIM 3.32.16.1.13

Dosen Pengampu
Bagus Yunanto ST., MT.

PROGRAM STUDI TEKNIK ELEKTRONIKA


JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI SEMARANG
2019

No. Percobaan :1
Judul Percobaan : PENGENALAN ESP8266 DAN KENDALI LED
MENGGUNAKAN WEB

1. Dasar Teori

ESP8266

ESP8266 merupakan modul wifi yang berfungsi sebagai perangkat


tambahan mikrokontroler seperti Arduino agar dapat terhubung langsung
dengan wifi dan membuat koneksi TCP/IP.

Modul ini membutuhkan daya sekitar 3.3v dengan memiliki tiga mode wifi
yaitu Station, Access Point dan Both (Keduanya). Modul ini juga
dilengkapi dengan prosesor, memori dan GPIO dimana jumlah pin
bergantung dengan jenis ESP8266 yang kita gunakan. Sehingga modul ini
bisa berdiri sendiri tanpa menggunakan mikrokontroler apapun karena
sudah memiliki perlengkapan layaknya mikrokontroler.

Firmware default yang digunakan oleh perangkat ini menggunakan AT


Command, selain itu ada beberapa Firmware SDK yang digunakan oleh
perangkat ini berbasis opensource yang diantaranya adalah sebagai
berikut:

1. NodeMCU dengan menggunakan basic programming lua


2. MicroPython dengan menggunakan basic programming python
3. AT Command dengan menggunakan perintah perintah AT command

Untuk pemrogramannya sendiri kita bisa menggunakan ESPlorer untuk


Firmware berbasis NodeMCU dan menggunakan putty sebagai terminal
control untuk AT Command.

Selain itu kita bisa memprogram perangkat ini menggunakan Arduino


IDE. Dengan menambahkan library ESP8266 pada board manager kita
dapat dengan mudah memprogram dengan basic program arduino.

Ditambah lagi dengan harga yang cukup terjangkau, kamu dapat membuat
berbagai projek dengan modul ini. Maka dari itu banyak orang yang
menggunakannya modul ini untuk membuat projek Internet of Thinking
(IoT).
2. Alat dan Bahan
1. Module NodeMCU ESP8266
2. Led 5mm
3. Project Board
4. Kabel Jumper

3. Hasil Praktikum
3.1 Program
#include <ESP8266WiFi.h>

const char* ssid = "Rahasia";


const char* password = "sholawatsek";

int ledPin = 13; // GPIO13


int ledPin1 = 12; // GPIO13
int ledPin2= 14; // GPIO13
WiFiServer server(80);

void setup() {
Serial.begin(115200);
delay(10);

pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, LOW);
pinMode(ledPin1, OUTPUT);
digitalWrite(ledPin1, LOW);
pinMode(ledPin2, OUTPUT);
digitalWrite(ledPin2, LOW);

// Connect to WiFi network


Serial.println();
Serial.println();
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");

// Start the server


server.begin();
Serial.println("Server started");

// Print the IP address


Serial.print("Use this URL to connect: ");
Serial.print("http://");
Serial.print(WiFi.localIP());
Serial.println("/");

void loop() {
// Check if a client has connected
WiFiClient client = server.available();
if (!client) {
return;
}
// Wait until the client sends some data
Serial.println("new client");
while(!client.available()){
delay(1);
}

// Read the first line of the request


String request = client.readStringUntil('\r');
Serial.println(request);
client.flush();

// Match the request

int value = LOW;


int value1 = LOW;
int value2 = LOW;

if (request.indexOf("/LED=ON") != -1) {
digitalWrite(ledPin, HIGH);
value = HIGH;
}
if (request.indexOf("/LED=OFF") != -1) {
digitalWrite(ledPin, LOW);
value = LOW;
}

if (request.indexOf("/LED1=ON") != -1) {
digitalWrite(ledPin1, HIGH);
value1 = HIGH;
}
if (request.indexOf("/LED1=OFF") != -1) {
digitalWrite(ledPin1, LOW);
value1 = LOW;
}

if (request.indexOf("/LED2=ON") != -1) {
digitalWrite(ledPin2, HIGH);
value2 = HIGH;
}
if (request.indexOf("/LED2=OFF") != -1) {
digitalWrite(ledPin2, LOW);
value2 = LOW;
}

// Set ledPin according to the request


//digitalWrite(ledPin, value);

// Return the response


client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println(""); // do not forget this one
client.println("<!DOCTYPE HTML>");
client.println("<html>");

client.println("<center>");
client.print("Kondisi: ");

if(value == HIGH) {
client.print("LED 1 ON");
} else {
client.print("LED 1 Off");
}
client.println("<br><br>");
client.println("<a href=\"/LED=ON\"\"><button>Turn On
</button></a>");
client.println("<a href=\"/LED=OFF\"\"><button>Turn Off
</button></a><br />");

client.print("Kondisi: ");
if(value1 == HIGH) {
client.print("LED 2 ON");
} else {
client.print("LED 2 Off");
}
client.println("<br><br>");
client.println("<a href=\"/LED1=ON\"\"><button>Turn On1
</button></a>");
client.println("<a href=\"/LED1=OFF\"\"><button>Turn Off1
</button></a><br />");

client.print("Kondisi: ");
if(value2 == HIGH) {
client.print("LED 3 ON");
} else {
client.print("LED 3 Off");
}
client.println("<br><br>");
client.println("<a href=\"/LED2=ON\"\"><button>Turn On2
</button></a>");
client.println("<a href=\"/LED2=OFF\"\"><button>Turn Off2
</button></a><br />");
client.println("</html>");
delay(1);
Serial.println("Client disonnected");
Serial.println("");

3.2 Gambar Rangkaian

3.3 Screenshoot WEB


3.4 Foto praktikum
4. Kesimpulan
Dari peraktikum yang telah dilakukan dapat disimpulkan bahwa:
1. Module NodeMCU ESP8266 dapat diprogram menggunakan Arduino
IDE
2. Tampilan WEB didapatkan dengan memasukkan IP yang didapat dari
program dan dapat dilihat pada serial monitor
3. Nyala dan padam LED dapat diatur mealui WEB
DAFTAR PUSTAKA

https://www.warriornux.com/pengertian-modul-wifi-esp8266/

Anda mungkin juga menyukai