Blog Archive

Arduino Indonesia. Gambar tema oleh Storman. Diberdayakan oleh Blogger.

Supported by Electronics 3 in 1

1. Jasa pencetakan PCB single layer dengan harga paling murah.

(Metode Pembuatan dengan Transfer Toner)
>PCB design sendiri (siap cetak) : Rp.150,-/Cm2
>PCB design dari kami : Rp.250,-/Cm2

(Metode Sablon Full Masking dan Silk Screen minimal pemesanan 100 Pcs)
>PCB design sendiri (siap cetak) : Rp.200,-/Cm2
>PCB design dari kami : Rp.250,-/Cm2

2. Jasa perancangan, perakitan, dan pembuatan trainer pembelajaran elektronika untuk SMK dan Mahasiswa.

3. Jasa perancangan, perakitan, dan pembuatan berbagai macam kontroller, sensor, aktuator, dan tranduser.
>Design Rangkaian / Sistem Elektronika
>Design Rangkaian / Sistem Instrumentasi
>Design Rangkaian / Sistem Kendali
>Kerjasama Riset (data atau peralatan)
>Kerjasama Produksi Produk-Produk KIT Elektronika
>Produksi Instrumentasi Elektronika

4. Jasa Pembuatan Proyek, Tugas Akhir, Tugas Laboratorium, PKM, Karya Ilmiah, SKRIPSI, dll

Like My Facebook

Popular Posts

Selasa, 21 Juli 2026

ESP32 Web Server dengan Login Username dan Password (HTTP Authentication)

Saat ESP32 digunakan sebagai web server, sering kali diperlukan mekanisme keamanan agar halaman web tidak dapat diakses oleh sembarang orang. Salah satu metode yang paling sederhana adalah menerapkan HTTP Authentication menggunakan username dan password. Pada tutorial ini, Anda akan mempelajari cara membuat Web Server ESP32 yang dilindungi dengan autentikasi login. Sebelum halaman web ditampilkan, browser akan meminta pengguna memasukkan username dan password. Hanya pengguna yang memiliki kredensial yang benar yang dapat mengakses halaman web yang disediakan oleh ESP32. Metode ini sangat cocok digunakan pada berbagai proyek Internet of Things (IoT), seperti sistem monitoring, kontrol perangkat elektronik, smart home, maupun aplikasi industri sederhana yang membutuhkan pembatasan akses.

Perangkat Keras yang Dibutuhkan

- ESP32 Dev Module ESP-WROOM-32 (38 Pin)

- Kabel USB (Micro USB)

 

Baca juga: ESP32 Modbus - Pengertian, Fungsi, dan Cara Kerja Protokol Modbus 

Kode Program ESP32 Web Server dengan Username dan Password

Kode program berikut akan membuat ESP32 berfungsi sebagai web server yang menggunakan HTTP Basic Authentication. Saat pengguna mengakses alamat IP ESP32 melalui browser, sistem akan meminta proses login terlebih dahulu sebelum halaman web dapat ditampilkan.


#include <DIYables_ESP32_WebServer.h>


// WiFi credentials

const char WIFI_SSID[] = "YOUR_WIFI_SSID";

const char WIFI_PASSWORD[] = "YOUR_WIFI_PASSWORD";


// Authentication credentials

const char* www_username = "admin";

const char* www_password = "esp32";


// Create web server instance

DIYables_ESP32_WebServer server;


// Main page handler

void handleRoot(WiFiClient& client, const String& method, const String& request, const QueryParams& params, const String& jsonData) {

  server.sendResponse(client, "<html><body><h1>Login Successful!</h1><p>You are now logged in.</p></body></html>");

}


void setup() {

  Serial.begin(9600);

  delay(1000);


  // Configure the main route

  server.addRoute("/", handleRoot);


  // Start server with WiFi connection (handles connection automatically)

  server.begin(WIFI_SSID, WIFI_PASSWORD);


  // Enable basic authentication

  server.enableAuthentication(www_username, www_password, "Esp32");


  Serial.print("IP Address: ");

  Serial.println(WiFi.localIP());

  Serial.println("Server ready with authentication enabled");

  Serial.print("Username: ");

  Serial.println(www_username);

  Serial.print("Password: ");

  Serial.println(www_password);

}


void loop() {

  // Handle all client requests (including authentication)

  server.handleClient();

}

 

Cara Mengunggah Program ke ESP32

Ikuti langkah-langkah berikut untuk menjalankan program pada ESP32:

1. Hubungkan ESP32 ke Komputer

Hubungkan papan ESP32 ke komputer menggunakan kabel Micro USB.

2. Buka Arduino IDE

Jalankan aplikasi Arduino IDE yang telah terpasang pada komputer.

3. Pilih Board dan Port

Pilih jenis board yang digunakan melalui menu:

Tools → Board → ESP32 Arduino → ESP32 Dev Module

Selanjutnya, pilih COM Port yang sesuai melalui menu:

Tools → Port

Pastikan port yang dipilih merupakan port tempat ESP32 terhubung.

4. Instal Library yang Dibutuhkan

Program ini menggunakan library DIYables ESP32 WebServer.

Untuk menginstalnya, lakukan langkah berikut.

- Buka Library Manager pada Arduino IDE.

- Ketik DIYables ESP32 WebServer pada kolom pencarian.

- Pilih library DIYables ESP32 WebServer yang dikembangkan oleh DIYables.

- Klik tombol Install.



5. Salin dan Buka Kode Program

Salin kode program yang telah disediakan, kemudian buka menggunakan Arduino IDE.

6. Ubah Konfigurasi WiFi

Sesuaikan parameter jaringan WiFi pada program dengan jaringan yang akan digunakan.

 

const char* ssid = "Nama_WiFi";

const char* password = "Password_WiFi";

 

Ganti nilai SSID dan password sesuai dengan jaringan WiFi Anda.

7. Upload Program

Klik tombol Upload pada Arduino IDE, kemudian tunggu hingga proses kompilasi dan pengunggahan selesai.

8. Buka Serial Monitor

Setelah proses upload berhasil, buka Serial Monitor. Pastikan baud rate yang digunakan sama dengan nilai yang terdapat pada fungsi:

 

Serial.begin(...);

 

9. Catat Alamat IP ESP32

Setelah ESP32 berhasil terhubung ke jaringan WiFi, alamat IP akan ditampilkan pada Serial Monitor. Contohnya seperti berikut: IP Address: 10.195.113.32

Alamat IP tersebut nantinya digunakan untuk mengakses web server melalui browser.

10. Akses Web Server

Buka browser pada komputer atau smartphone yang masih berada dalam jaringan WiFi yang sama dengan ESP32. Masukkan alamat IP yang muncul pada Serial Monitor ke bilah alamat browser. Sebagai contoh: http://10.195.113.32

Catatan: Jangan menggunakan alamat IP contoh di atas jika alamat IP ESP32 Anda berbeda. Selalu gunakan alamat IP yang ditampilkan oleh Serial Monitor.

11. Masukkan Username dan Password

Saat halaman diakses, browser akan menampilkan jendela autentikasi.



Masukkan username dan password yang telah ditentukan di dalam kode program. Pada contoh tutorial ini digunakan konfigurasi berikut:

- Username: admin

- Password: esp32

Jika data login benar, browser akan menampilkan halaman web yang dikirimkan oleh ESP32.


Cara Kerja HTTP Authentication pada ESP32

Fitur keamanan yang digunakan pada tutorial ini adalah HTTP Basic Authentication. Mekanisme ini memanfaatkan protokol HTTP untuk melakukan proses autentikasi sebelum browser memperoleh akses ke halaman web. Meskipun metode ini tergolong sederhana, HTTP Basic Authentication sudah cukup untuk banyak aplikasi IoT yang berjalan pada jaringan lokal (Local Area Network/LAN). Secara umum, proses autentikasi berlangsung sebagai berikut:

1. Browser Mengirim HTTP Request

Ketika pengguna pertama kali membuka alamat IP ESP32, browser akan mengirimkan HTTP Request tanpa menyertakan informasi username maupun password. Pada tahap ini, browser belum mengetahui bahwa halaman tersebut memerlukan autentikasi.

2. ESP32 Meminta Autentikasi

ESP32 menerima permintaan dari browser dan memeriksa apakah terdapat informasi autentikasi. Karena belum ada data login, ESP32 tidak langsung mengirimkan halaman web, melainkan mengembalikan respons HTTP 401 Unauthorized yang berisi informasi bahwa halaman membutuhkan autentikasi. Respons inilah yang memicu browser untuk meminta pengguna melakukan login.

3. Browser Menampilkan Kotak Login

Setelah menerima respons 401 Unauthorized, browser secara otomatis menampilkan dialog login yang berisi kolom:

- Username

- Password

Pengguna kemudian memasukkan kredensial yang dimiliki.

4. Browser Mengirim Kredensial ke ESP32

Setelah tombol OK atau Sign In ditekan, browser akan mengirimkan kembali HTTP Request. Perbedaannya, permintaan kali ini telah dilengkapi dengan informasi Authorization Header yang berisi username dan password.

5. ESP32 Memverifikasi Data Login

ESP32 membandingkan data autentikasi yang diterima dengan data yang telah ditentukan pada program.

Terdapat dua kemungkinan hasil.

- Jika username dan password benar, ESP32 mengirimkan halaman web yang diminta sehingga pengguna dapat mengakses isi web server.

- Jika username atau password salah, ESP32 kembali mengirimkan respons 401 Unauthorized, sehingga browser akan meminta pengguna memasukkan kredensial yang benar.

6. Browser Menyimpan Status Login Selama Sesi Berlangsung

Setelah autentikasi berhasil, sebagian besar browser akan menyimpan informasi login selama sesi browser masih aktif.

Akibatnya, pengguna tidak perlu memasukkan username dan password setiap kali membuka halaman yang sama. Permintaan login biasanya akan muncul kembali apabila:

- Browser ditutup.

- Sesi autentikasi berakhir.

- Cache autentikasi dihapus.

- Browser dimulai kembali (tergantung implementasi browser).

Keunggulan Menggunakan HTTP Authentication pada ESP32

Penerapan HTTP Basic Authentication pada ESP32 memiliki beberapa keuntungan, antara lain:

- Mudah diimplementasikan tanpa memerlukan sistem login yang kompleks.

- Mengurangi risiko akses oleh pengguna yang tidak berwenang pada web server ESP32.

- Didukung oleh hampir semua web browser modern tanpa memerlukan JavaScript atau halaman login tambahan.

- Sangat ringan, sehingga cocok dijalankan pada mikrokontroler seperti ESP32 yang memiliki sumber daya terbatas.

- Ideal untuk aplikasi IoT pada jaringan lokal, seperti sistem monitoring sensor, kontrol relay, smart home, maupun dashboard perangkat.

Catatan: HTTP Basic Authentication hanya memberikan autentikasi pengguna. Jika web server diakses melalui jaringan publik (internet), sebaiknya gunakan HTTPS (SSL/TLS) agar username dan password tidak dikirim dalam bentuk yang mudah disadap selama proses komunikasi.

 

Baca juga: ESP32 Web Server Multiple Pages - Membuat Web Server ESP32 dengan Banyak Halaman Web

 

 

 

Dalam praktik, hasil dan kendala yang ditemui bisa berbeda tergantung perangkat, konfigurasi, versi library, dan sistem yang digunakan.  

0 on: "ESP32 Web Server dengan Login Username dan Password (HTTP Authentication)"