Kembali ke Katalog Modul
MODUL 09 DEEP DIVE

Protokol HTTP & Embedded Web Server ESP32

MODUL 09 (SPESIALIS IOT): PROTOKOL HTTP & EMBEDDED WEB SERVER


๐Ÿ“Œ META MODUL & PRASYARAT

  • Bidang Spesialisasi: Web Protocols & Embedded HTTP Servers.
  • Target Pembaca: Pembelajar yang sudah menguasai Konektivitas WiFi (Modul 08).
  • Learning Outcome:
  • Memahami arsitektur Request-Response pada protokol HTTP (Hypertext Transfer Protocol).
  • Mampu membuat Embedded Web Server di dalam ESP32 untuk kontrol sakelar relay via browser HP.
  • Mampu menggunakan metode HTTP GET dan HTTP POST dari ESP32.
  • Memahami struktur HTTP Status Code (200 OK, 404 Not Found, 500 Internal Error).
  • Estimasi Waktu Belajar: 120 Menit.
  • Tingkat Kesulitan: ๐ŸŸข Pemula - Menengah (Level 9 / 40).
  • Prasyarat: Modul 08 (Konektivitas WiFi ESP32).

๐Ÿ“š GLOSARIUM & DAFTAR ISTILAH BARU

IstilahDefinisi SederhanaAnalogi
HTTP RequestPesan permintaan yang dikirim oleh Klien (Browser/ESP32) ke Server.Pelanggan memesan makanan di restoran ke pelayan.
HTTP ResponsePesan balasan beserta isi data yang dikirim oleh Server kembali ke Klien.Pelayan menyajikan makanan yang dipesan ke meja pelanggan.
HTTP GETMetode HTTP untuk meminta/mengambil data dari server tanpa mengubah data.Membaca daftar menu makanan.
HTTP POSTMetode HTTP untuk mengunggah/mengirimkan data baru ke server.Mengirimkan formulir pesanan ke dapur.
HTTP 200 OKKode status yang menandakan permintaan berhasil diproses sempurna.Pesanan makanan berhasil disajikan.

9. HTTP Protocol & Embedded Web Server ESP32

๐Ÿง  ARSITEKTUR HTTP EMBEDDED WEB SERVER ESP32

=======================================================================
ALUR KERJA EMBEDDED WEB SERVER ESP32 & CLIENT HP
=======================================================================

[ SMARTPHONE / BROWSER ] [ ESP32 WEB SERVER ]
(IP: 192.168.1.50) (IP: 192.168.1.105)
โ”‚ โ”‚
โ”œโ”€โ”€โ”€ HTTP GET http://192.168.1.105/relay/on โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บโ”‚
โ”‚ โ”‚ (Nyalakan Relay GPIO 4)
โ”‚โ—„โ”€โ”€ HTTP 200 OK (HTML: "Relay Berhasil ON") โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ โ”‚
โ”œโ”€โ”€โ”€ HTTP GET http://192.168.1.105/status โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บโ”‚
โ”‚ โ”‚ (Membaca Sensor DHT22)
โ”‚โ—„โ”€โ”€ HTTP 200 OK (JSON: {"temp":28.5}) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค

โšก CHEAT SHEET KODE EMBEDDED WEB SERVER ESP32

#include <WiFi.h>
#include <WebServer.h>

WebServer server(80); // Jalankan server pada Port 80
const int RELAY_PIN = 4;

void handleRoot() {
String html = "<html><body><h1>ESP32 IoT Controller</h1>";
html += "<p><a href='/on'><button style='font-size:20px;'>NYALAKAN RELAY</button></a></p>";
html += "<p><a href='/off'><button style='font-size:20px;'>MATIKAN RELAY</button></a></p>";
html += "</body></html>";
server.send(200, "text/html", html);
}

void handleOn() {
digitalWrite(RELAY_PIN, LOW); // Active Low
server.send(200, "text/plain", "Status Relay: ON");
}

void handleOff() {
digitalWrite(RELAY_PIN, HIGH);
server.send(200, "text/plain", "Status Relay: OFF");
}

void setup() {
pinMode(RELAY_PIN, OUTPUT);
digitalWrite(RELAY_PIN, HIGH);
WiFi.begin("WiFi_SSID", "Password123");
while (WiFi.status() != WL_CONNECTED) { delay(500); }

server.on("/", handleRoot);
server.on("/on", handleOn);
server.on("/off", handleOff);
server.begin();
}

void loop() {
server.handleClient(); // Proses permintaan masuk dari HP/Browser
}



Latihan & Quiz Evaluasi Modul

Progres Quiz: 0 / 2 Soal
SOAL #1
Kode status HTTP manakah yang mengindikasikan bahwa halaman web tidak ditemukan (*Not Found*)?
SOAL #2
Metode HTTP manakah yang paling aman dan tepat digunakan untuk mengirimkan data sensor sensitif atau formulir akun ke server?

Kunci Jawaban & Pembahasan

Kunci Jawaban: 1. c. 404 Not Found, 2. b. POST.


Apakah Anda siap lanjut ke Modul 10: REST API & Parsing Data JSON pada ESP32?