Tentang ESP32-CAM
ESP32-CAM adalah modul kamera berukuran kecil yang diluncurkan oleh Ai-Thinker Co., Ltd., yang dapat beroperasi secara mandiri sebagai sistem terkecil, dengan dimensi 27 × 40,5 × 4,5 mm dan arus minimum dalam mode tidur dalam sebesar 6 mA.
Fitur ESP32 CAM
- Antarmuka Kamera (Hingga 24 MP)
- Konektivitas Wi-Fi & Bluetooth
- Prosesor dual-core ESP32-D0WDQ6
- 520KB SRAM
- Memori Flash 4MB
- Modul Kamera OV2640 2MP
- Mendukung format JPEG & BMP
- Antarmuka USB Tipe-C
- Konektor Baterai LiPo
- CPU 32-bit, hingga 240 MHz
- Transceiver Wi-Fi 802.11b/g/n HT40 terintegrasi
- Bluetooth dual-mode terintegrasi (klasik dan BLE)
- Antena PCB terintegrasi
- PSRAM 8 MB terintegrasi
- Kamera terintegrasi
- Konektor eksternal untuk kamera
- 5 x GPIO yang dapat diprogram
- 2 x UART, 2 x SPI, I2C, I2S, IRDA, PWM, GPIO
Konfigurasi Pin ESP32 CAM

ESP32-CAM memiliki tiga pin GND dan dua pin untuk catu daya: 3,3V atau 5V.
GPIO 1 dan GPIO 3 adalah pin serial. Anda memerlukan pin-pin ini untuk mengunggah kode ke papan Anda. Selain itu, GPIO 0 memainkan peran penting karena menentukan apakah ESP32 berada dalam mode berkedip atau tidak. Ketika GPIO 0 terhubung ke GND, ESP32 berada dalam mode berkedip.
Pin-pin berikut terhubung secara internal ke pembaca kartu microSD:
GPIO 14: CLK
GPIO 15: CMD
GPIO 2: Data 0
GPIO 4: Data 1 (juga terhubung ke LED onboard)
GPIO 12: Data 2
GPIO 13: Data 3
Pengembangan Proyek Kamera ESP32
Pengaturan lingkungan
Perangkat keras
- Modul ESP32-CAM
- Kamera OV2640
- Papan USB ke port serial (USB-TTL)
- kabel Dupont
- Catu daya 5V 2A
Modul ESP32-CAM diberi daya secara terpisah, U0TXD, U0RXD, dan GND dihubungkan ke papan port serial dan terhubung ke komputer, sedangkan kamera dihubungkan ke modul melalui kabel.
Sebelum pemrograman, GPIO0 pada modul ESP32-CAM perlu di-ground dan direset. Setelah pemrograman selesai, GPIO0 dinonaktifkan dan direset untuk masuk ke mode kerja.
Lingkungan sistem
ESP32 dapat dikembangkan di berbagai sistem. Berikut ini adalah pengenalan mengenai lingkungan pengembangan pada versi desktop Ubuntu (versi yang digunakan adalah Ubuntu 18.04.3).
Siapkan server unduhan
Buka "Perangkat Lunak & Pembaruan", klik kotak drop-down "Unduh dari" pada tab "Perangkat Lunak Ubuntu", pilih "Lainnya…", cari "Tiongkok" dan pilih server mana pun, klik "Pilih Server", lalu masukkan kata sandi untuk mengonfirmasi. Setelah jendela tersebut ditutup, akan muncul permintaan untuk memperbarui informasi; klik "Muat Ulang" untuk memperbarui.

Instal perangkat lunak
sudo apt-get purge vim-common
sudo apt-get install vim
sudo apt install git
Instal lingkungan yang bergantung
sudo apt-get install git wget flex bison gperf python python-pip python-setuptools python-serial python-click python-cryptography python-future python-pyparsing python-pyelftools cmake ninja-build ccache libffi-dev libssl-dev
Kode proyek dan lingkungan pengembangan
ambil barang
Unduh proyek dan submodul secara bersamaan:
git clone --recurse-submodules https://github.com/Ai-Thinker-Open/Ai-Thinker-Open_ESP32-CAMERA_LAN.git
Jika proses pull terputus, Anda perlu masuk ke direktori proyek untuk menarik submodul lagi:
cd Ai-Thinker-Open_ESP32-CAMERA_LAN/
git submodule update --init --recursive
Kerangka Kerja Pengembangan
Setelah proyek diunduh, Anda akan melihat bahwa terdapat direktori esp-idf di dalam direktori proyek. esp-idf (Espressif IoT Development Framework) adalah kerangka kerja pengembangan esp. Lingkungan pengembangan proyek ini dibangun menggunakan esp-idf. Versi idf yang digunakan dalam proyek ini adalah esp-idf-v4.0.
Tentukan jalur IDF_PATH
Edit berkas konfigurasi .bashrc:
cd esp-idf/
vim ~/.bashrc
Gunakan perintah vim untuk membuka .bashrc, gunakan keyboard untuk memindahkan kursor ke akhir berkas, tekan a untuk masuk, tekan Enter di akhir untuk pindah ke baris kosong, dan masukkan konten yang sesuai sesuai format berikut untuk mengatur variabel IDF_PATH:
# export IDF_PATH=<esp-idf absolute path>, the example is as follows
export IDF_PATH=/home/user/Desktop/esp32/Ai-Thinker-Open_ESP32-CAMERA_LAN/esp-idf
Setelah input selesai, tekan esc untuk membatalkan pengeditan, :wq untuk menyimpan dan keluar, jalankan perintah berikut agar perubahan langsung berlaku:
source ~/.bashrc
Periksa apakah variabel tersebut valid:
echo $IDF_PATH
Jika jalur yang ditampilkan sesuai dengan pengaturan, lanjutkan ke langkah berikutnya; jika tidak, Anda perlu mengulangi prosesnya.
Instal alat pengembangan
Jalankan skrip install.sh di direktori esp-idf:
./install.sh
Kemudian terminal akan menampilkan informasi unduhan. Setelah menampilkan pesan "All done!", proses instalasi selesai. Pada tahap ini, jalankan skrip export.sh untuk mengatur variabel lingkungan:
. ./export.sh
Perhatikan bahwa ada spasi setelah titik pertama ("."), yang harus dijalankan setiap kali Anda membuka terminal untuk pengembangan dan debugging proyek.
Setelah skrip dijalankan, "Done!" akan ditampilkan untuk menandakan keberhasilan, dan kemudian proyek dapat dikonfigurasi, dikompilasi, dan diunduh.
Konfigurasi, Kompilasi, dan Unduh
Konfigurasi proyek
Masuk ke direktori proyek demo "Ai-Thinker-Open_ESP32-CAMERA_LAN/examples/single_chip/camera_web_server"
cd ../examples/single_chip/camera_web_server/
Kemudian kita mulai mengonfigurasi proyek:
make menuconfig
Pesan "recipe for target 'mconf.o' failed" menandakan masalah ketergantungan. Ketik sudo apt-get install libncurses5-dev untuk menginstal dependensi yang diperlukan, lalu coba lagi.
Antarmuka konfigurasi adalah sebagai berikut:

Gunakan tombol panah dan tombol Enter untuk menggerakkan kursor guna mengoperasikan perangkat, masuk ke antarmuka "Serial flasher config", dan lihat gambar berikut untuk pengaturannya. Di sini, port serial diatur ke "/dev/ttyUSB0", dan port serial tersebut harus disesuaikan agar terhubung ke modul ESP32-CAM selama pengoperasian.

Masuk ke antarmuka "Camera Web Server"->"Camera Pins"->"Select Camera Pinout", lalu pilih "ESP32-CAM by AI-Thinker".

Masuk ke antarmuka "Camera Web Server"->"Pengaturan Wifi" untuk mengatur mode Wifi, "Wifi STA SSID" & "Wifi STA Password" serta "Wifi AP SSID" & "Wifi AP Password"—pilih salah satu di antaranya.
(Wifi STA berarti mode Station, ESP32-CAM terhubung ke jaringan Wifi perangkat lain; Wifi AP berarti mode AP, komputer atau ponsel terhubung ke hotspot Wifi yang dibuka oleh ESP32-CAM)
Mode Wifi AP digunakan di sini, dan "Alamat IP Wifi AP" di bawah ini mengatur alamat IP modul dalam mode Wifi AP.

Setelah pengaturan selesai, gunakan tombol kiri dan kanan untuk memindahkan kursor bawah ke "<Simpan>" dan tekan Enter untuk menyimpan, lalu pindahkan ke "<Keluar>" untuk keluar dari pengaturan.
Kompilasi dan Unduh
kompilasi:
make
unduh:
make flash
Perlu diperhatikan bahwa modul GPIO0 harus di-ground dan direset sebelum pemrograman.
Saat menjalankan perintah `make flash`, port yang telah dikonfigurasi sebelumnya "/dev/ttyUSB0" digunakan secara default, dan port lain dapat ditentukan dengan parameter -p: `make flash -p [PORT]`
Jika muncul peringatan bahwa kegagalan membuka port serial mungkin disebabkan oleh masalah izin, Anda dapat membuka semua izin port serial dengan perintah sudo chmod -R 777 <port>, misalnya sudo chmod -R 777 /dev/ttyUSB0, namun semua izin port serial yang terbuka akan menjadi tidak valid setelah port serial dicabut. Selain itu, pengguna saat ini dapat ditambahkan ke grup dialout dengan perintah sudo usermod -a -G dialout <username>
Menerima informasi cetak port serial:
make monitor
Perlu diperhatikan bahwa modul GPIO0 harus dinonaktifkan saat menghidupkan atau mereset sistem saat bekerja.
Selain itu, Anda juga dapat menggunakan asisten port serial untuk melihat informasi cetak modul.
Ambil Foto & Video
Setelah mengunduh firmware demo, modul ESP32-CAM telah dinyalakan dan berjalan. Hubungkan komputer atau ponsel ke jaringan tempat modul tersebut berada, lalu akses alamat modul melalui browser.
Dalam mode Station, alamat modul adalah alamat IP yang diberikan oleh perangkat hotspot Wi-Fi kepada modul; dalam mode AP, alamat tersebut adalah alamat yang ditetapkan oleh "Wifi AP IP Address".
Di halaman web modul, klik tombol "Get Still" di bawah bilah operasi di sebelah kiri untuk mengambil foto, dan tombol "Start Stream" untuk merekam video. Setelah mengambil foto atau video, gambar akan ditampilkan di halaman web.
Lihat antarmuka operasi modul di ponsel sebagai berikut, Anda dapat mengklik "Save" di sudut kanan atas gambar untuk menyimpan gambar.





