ESP32-CAM Web Camera Server dengan Live Streaming dan Face Detection

ESP32-CAM merupakan salah satu papan mikrokontroler berbasis ESP32 yang dilengkapi dengan kamera dan konektivitas Wi-Fi. Dengan bantuan contoh program CameraWebServer yang tersedia pada Arduino IDE, ESP32-CAM dapat diubah menjadi sebuah web camera server yang mampu melakukan live streaming video serta deteksi wajah (Face Detection) secara real-time melalui browser. Pada artikel ini, kita akan membahas langkah demi langkah cara membuat ESP32-CAM Web Camera Server dengan Live Streaming dan Face Detection, mulai dari persiapan perangkat, konfigurasi Arduino IDE, proses upload program, hingga cara mengakses tampilan kamera melalui browser.

Apa Itu ESP32-CAM Web Camera Server?

ESP32-CAM Web Camera Server adalah sebuah sistem yang memungkinkan ESP32-CAM berfungsi sebagai server web yang menyediakan akses video secara langsung melalui jaringan Wi-Fi. Setelah program dijalankan, ESP32-CAM akan terhubung ke jaringan Wi-Fi, membuat server web internal, menampilkan halaman kontrol kamera, mengirimkan video secara real-time ke browser, serta menyediakan fitur Face Recognition dan Face Detection. Dengan fitur ini, ESP32-CAM dapat digunakan sebagai kamera pemantau sederhana, CCTV mini berbasis Wi-Fi, sistem monitoring ruangan, dan dasar pengembangan sistem computer vision berbasis ESP32.

Perangkat yang Dibutuhkan

- ESP32-CAM AI-Thinker dengan kamera OV3660 atau OV2640.

- ESP32-CAM-MB USB Programmer.

- Kabel USB Type-C atau Micro USB (sesuai modul yang digunakan).

- Komputer atau laptop.

- Jaringan Wi-Fi 2.4 GHz.

- Arduino IDE.    

Instalasi Board ESP32 pada Arduino IDE

Sebelum mengunggah program, board ESP32 harus ditambahkan terlebih dahulu ke Arduino IDE.

1. Buka Arduino IDE.

2. Masuk ke menu File → Preferences.

3. Pada bagian Additional Boards Manager URLs, tambahkan URL berikut:

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

4. Klik OK untuk menyimpan pengaturan.

5. Selanjutnya buka menu Tools → Board → Boards Manager.

6. Pada kolom pencarian, ketik "esp32"

7. Pilih paket esp32 by Espressif Systems.

8. Klik Install untuk memulai proses instalasi.

9. Tunggu hingga proses instalasi selesai.

10. Setelah instalasi berhasil, board ESP32 sudah dapat dipilih melalui menu "Tools → Board → ESP32 Arduino".

Dengan langkah-langkah di atas, Arduino IDE siap digunakan untuk mengunggah program ke board ESP32.

Membuka Contoh Program CameraWebServer

Setelah board ESP32 berhasil terinstal, langkah berikutnya adalah membuka contoh program CameraWebServer yang sudah tersedia di Arduino IDE.

1. Buka menu File.

2. Pilih Examples.

3. Cari dan pilih folder ESP32.

4. Buka folder Camera.

5. Klik CameraWebServer.

6. Arduino IDE akan secara otomatis membuka sketch CameraWebServer dan siap untuk dikonfigurasi sesuai kebutuhan.

Mengatur Tipe Kamera yang Digunakan

Pada file program yang terbuka, cari bagian berikut:

 

//#define CAMERA_MODEL_WROVER_KIT

//#define CAMERA_MODEL_ESP_EYE

//#define CAMERA_MODEL_M5STACK_PSRAM

//#define CAMERA_MODEL_M5STACK_V2_PSRAM

//#define CAMERA_MODEL_M5STACK_WIDE

//#define CAMERA_MODEL_M5STACK_ESP32CAM

//#define CAMERA_MODEL_M5STACK_UNITCAM

#define CAMERA_MODEL_AI_THINKER


Pastikan hanya baris berikut yang aktif:

 

#define CAMERA_MODEL_AI_THINKER


Karena sebagian besar modul ESP32-CAM menggunakan konfigurasi AI Thinker.

Mengatur Nama Wi-Fi dan Password

Cari bagian berikut:

 

const char* ssid = "YOUR-SSID";

const char* password = "YOUR-PASSWORD";


Ganti dengan data Wi-Fi yang digunakan.

Contoh:

 

const char* ssid = "RumahSaya";

const char* password = "12345678";


Memilih Board ESP32-CAM

Setelah instalasi board ESP32 selesai, lakukan konfigurasi board yang akan digunakan pada Arduino IDE.

1. Buka menu Tools → Board

2. Pilih board AI Thinker ESP32-CAM

3. Setelah board dipilih, sesuaikan beberapa parameter pada menu Tools sebagai berikut:

- PSRAM : Enabled

- Partition Scheme : Huge APP

- Flash Frequency : 40 MHz

- Upload Speed : 115200

4. Pastikan seluruh pengaturan telah sesuai sebelum melanjutkan ke proses upload program.

5. Setelah konfigurasi selesai, ESP32-CAM siap digunakan untuk menjalankan sketch CameraWebServer maupun proyek lainnya yang menggunakan kamera.

Mengunggah Program ke ESP32-CAM

Setelah konfigurasi program selesai dilakukan, langkah berikutnya adalah mengunggah sketch ke modul ESP32-CAM.

1. Hubungkan ESP32-CAM-MB ke komputer menggunakan kabel USB.

2. Tunggu hingga sistem mendeteksi perangkat dan membuat port komunikasi baru.

3. Pada Arduino IDE, buka menu Tools → Port

4. Pilih port COM yang sesuai dengan ESP32-CAM yang terhubung.

5. Pastikan board yang digunakan sudah sesuai dengan tipe ESP32-CAM yang dipilih sebelumnya.

6. Klik tombol Upload (ikon panah ke kanan) untuk memulai proses unggah program.

7. Tunggu hingga proses kompilasi dan upload selesai. Proses ini biasanya memerlukan waktu beberapa detik hingga satu menit.

8. Jika upload berhasil, pada jendela output Arduino IDE akan muncul pesan seperti berikut:

Hard resetting via RTS pin...

9. Pesan tersebut menandakan bahwa program telah berhasil diunggah dan ESP32-CAM akan melakukan restart secara otomatis untuk menjalankan program yang baru.

Melihat Alamat IP ESP32-CAM

Setelah proses upload program ke ESP32-CAM berhasil dilakukan, langkah berikutnya adalah mengetahui alamat IP yang digunakan untuk mengakses kamera melalui browser.

1. Buka Serial Monitor pada Arduino IDE.

2. Atur nilai baud rate menjadi 115200

3. Tekan tombol RST (Reset) pada modul ESP32-CAM untuk menjalankan ulang program.

4. Tunggu beberapa saat hingga ESP32-CAM terhubung ke jaringan Wi-Fi.

5. Perhatikan informasi yang muncul pada Serial Monitor. Jika koneksi berhasil, akan tampil pesan seperti berikut:

   WiFi connected

   Camera Ready! Use 'http://10.132.114.80' to connect 

 


6. Salin atau catat alamat IP yang ditampilkan oleh ESP32-CAM.

7. Buka browser pada komputer atau smartphone yang berada pada jaringan Wi-Fi yang sama, lalu masukkan alamat IP tersebut ke bilah alamat browser, misalnya: http://10.132.114.80

8. Tekan Enter untuk membuka halaman web CameraWebServer dan mulai mengakses kamera ESP32-CAM.

 

Membuka Halaman Web Camera Server

Setelah ESP32-CAM berhasil terhubung ke jaringan Wi-Fi, Anda dapat mengakses antarmuka kamera melalui browser.

1. Pastikan komputer atau smartphone terhubung ke jaringan Wi-Fi yang sama dengan ESP32-CAM.

2. Buka browser seperti Google Chrome, Mozilla Firefox, atau browser lainnya.

3. Perhatikan alamat IP yang ditampilkan pada Serial Monitor di Arduino IDE.

4. Ketikkan alamat IP tersebut pada bilah alamat browser, misalnya: http://10.132.114.80

5. Tekan Enter untuk membuka halaman web ESP32-CAM.

6. Setelah halaman berhasil dimuat, Anda akan melihat antarmuka CameraWebServer yang berisi berbagai fitur dan pengaturan kamera.

7. Beberapa pengaturan yang tersedia antara lain:

- Resolusi kamera (Resolution)

- Tingkat kecerahan (Brightness)

- Tingkat kontras (Contrast)

- Saturasi warna (Saturation)

- Deteksi wajah (Face Detection)

- Pengenalan wajah (Face Recognition)

- Streaming video (Start Stream)

8. Klik Start Stream untuk mulai menampilkan video secara real-time dari kamera ESP32-CAM ke browser.

 

Menampilkan Live Streaming Video

Untuk memulai streaming video:

1. Buka halaman CameraWebServer.

2. Klik tombol Start Stream. 

ESP32-CAM akan mulai mengirimkan video secara real-time ke browser. Video yang tampil berasal langsung dari kamera OV3660 yang terpasang pada modul.

 

Mengaktifkan Face Detection

Salah satu fitur menarik dari CameraWebServer adalah kemampuan mendeteksi wajah secara otomatis.

Untuk mengaktifkannya:

1. Aktifkan opsi Face Detection

 


2. Arahkan kamera ke wajah seseorang

Jika wajah terdeteksi, sistem akan menampilkan kotak pembatas (bounding box) pada area wajah. Fitur ini berjalan langsung pada ESP32 tanpa memerlukan komputer tambahan.

 

Mengaktifkan Face Recognition

Selain mendeteksi wajah, ESP32-CAM juga dapat mengenali wajah yang telah didaftarkan.

Langkah-langkahnya:

1. Aktifkan Face Detection

2. Aktifkan Face Recognition

3. Klik Enroll Face

 


4. Hadapkan wajah ke kamera

5. Tunggu hingga proses pendaftaran selesai 

Setelah berhasil didaftarkan, ESP32-CAM dapat mengenali wajah yang sama ketika muncul kembali di depan kamera.

Kode Program Lengkap

Berikut adalah bagian utama konfigurasi yang perlu diubah pada sketch CameraWebServer:

 

#include "esp_camera.h"

#include <WiFi.h>


const char* ssid = "RumahSaya";

const char* password = "12345678";


#define CAMERA_MODEL_AI_THINKER


#include "camera_pins.h"


void startCameraServer();


void setup() {

  Serial.begin(115200);


  camera_config_t config;


  config.ledc_channel = LEDC_CHANNEL_0;

  config.ledc_timer = LEDC_TIMER_0;

  config.pin_d0 = Y2_GPIO_NUM;

  config.pin_d1 = Y3_GPIO_NUM;

  config.pin_d2 = Y4_GPIO_NUM;

  config.pin_d3 = Y5_GPIO_NUM;

  config.pin_d4 = Y6_GPIO_NUM;

  config.pin_d5 = Y7_GPIO_NUM;

  config.pin_d6 = Y8_GPIO_NUM;

  config.pin_d7 = Y9_GPIO_NUM;

  config.pin_xclk = XCLK_GPIO_NUM;

  config.pin_pclk = PCLK_GPIO_NUM;

  config.pin_vsync = VSYNC_GPIO_NUM;

  config.pin_href = HREF_GPIO_NUM;

  config.pin_sscb_sda = SIOD_GPIO_NUM;

  config.pin_sscb_scl = SIOC_GPIO_NUM;

  config.pin_pwdn = PWDN_GPIO_NUM;

  config.pin_reset = RESET_GPIO_NUM;


  esp_camera_init(&config);


  WiFi.begin(ssid, password);


  while (WiFi.status() != WL_CONNECTED) {

    delay(500);

    Serial.print(".");

  }


  Serial.println("");

  Serial.println("WiFi connected");


  startCameraServer();


  Serial.print("Camera Ready! Use 'http://");

  Serial.print(WiFi.localIP());

  Serial.println("' to connect");

}


void loop() {

  delay(10000);

}


Catatan: Untuk penggunaan sebenarnya, lebih mudah menggunakan sketch CameraWebServer bawaan Arduino IDE tanpa mengubah struktur program utama. Anda hanya perlu mengganti nama Wi-Fi dan password.

Cara Kerja Sistem

1. Nyalakan modul ESP32-CAM yang telah diprogram dengan sketch CameraWebServer.

2. ESP32-CAM akan mencoba terhubung ke jaringan Wi-Fi menggunakan SSID dan password yang telah dikonfigurasi.

3. Setelah berhasil terhubung, ESP32-CAM menjalankan web server internal secara otomatis.

4. Alamat IP Address yang diperoleh dari jaringan Wi-Fi akan ditampilkan pada Serial Monitor.

5. Pengguna membuka browser pada komputer atau smartphone, kemudian mengakses alamat IP tersebut.

6. Halaman web ESP32-CAM akan muncul dan menyediakan fitur untuk menampilkan video dari kamera.

7. Saat fitur streaming dijalankan, ESP32-CAM mengirimkan gambar atau video secara real-time ke browser.

8. Jika fitur Face Detection diaktifkan, sistem akan menganalisis setiap frame gambar dan mendeteksi wajah yang tertangkap oleh kamera.


Kelebihan ESP32-CAM Web Camera Server

- Biaya pembuatan sangat murah.

- Tidak membutuhkan Raspberry Pi.

- Mendukung koneksi Wi-Fi.

- Streaming video secara real-time.

- Memiliki fitur Face Detection bawaan.

- Dapat diakses melalui komputer maupun smartphone.

- Cocok untuk pembelajaran IoT dan Computer Vision.

 

Baca juga: ESP32-CAM dengan OpenCV untuk Deteksi dan Pelacakan Objek Secara Real-Time


Posting Komentar

0 Komentar