Daftar Isi:

Memulai Dengan ESP32 CAM - Streaming Video Menggunakan ESP CAM Melalui Wifi - Proyek Kamera Keamanan ESP32: 8 Langkah
Memulai Dengan ESP32 CAM - Streaming Video Menggunakan ESP CAM Melalui Wifi - Proyek Kamera Keamanan ESP32: 8 Langkah

Video: Memulai Dengan ESP32 CAM - Streaming Video Menggunakan ESP CAM Melalui Wifi - Proyek Kamera Keamanan ESP32: 8 Langkah

Video: Memulai Dengan ESP32 CAM - Streaming Video Menggunakan ESP CAM Melalui Wifi - Proyek Kamera Keamanan ESP32: 8 Langkah
Video: How to setup and use ESP32 Cam with Micro USB WiFi Camera 2024, Juli
Anonim
Memulai Dengan ESP32 CAM | Streaming Video Menggunakan ESP CAM Melalui Wifi | Proyek Kamera Keamanan ESP32
Memulai Dengan ESP32 CAM | Streaming Video Menggunakan ESP CAM Melalui Wifi | Proyek Kamera Keamanan ESP32

Hari ini kita akan belajar bagaimana menggunakan papan CAM ESP32 baru ini dan bagaimana kita dapat mengkodekannya dan menggunakannya sebagai kamera keamanan dan mendapatkan video streaming melalui wifi.

Langkah 1: Hal-hal yang Anda Butuhkan

Hal yang Anda Butuhkan
Hal yang Anda Butuhkan
Hal yang Anda Butuhkan
Hal yang Anda Butuhkan

Sebelum kita mulai pastikan Anda memiliki hal-hal berikut dengan Anda: ESP 32 CAM:

FTDI:

Langkah 2: Pengaturan IDE Arduino ESP32

Pengaturan IDE Arduino ESP32
Pengaturan IDE Arduino ESP32

Pastikan Anda memiliki Arduino IDE di PC Anda dan Anda menginstal Papan ESP32 di Arduino IDE Anda, dan jika tidak, ikuti instruksi saya berikut untuk menginstalnya.:

Langkah 3: Spesifikasi Papan CAM ESP32

Spesifikasi Papan CAM ESP32
Spesifikasi Papan CAM ESP32

Sebelum kita melakukan sesuatu pastikan Anda mengetahui spesifikasi dan pinout dll dari papan CAM ESP32, dan untuk itu gambar pinout ditambahkan, silakan lihat dan spesifikasi papan CAM ESP32 diberikan di bawah ini: Wi-Fi 802.11b/g/n terkecil Modul SoC BT CPU 32-bit berdaya rendah, juga dapat melayani prosesor aplikasi Kecepatan clock hingga 160MHz, daya komputasi ringkasan hingga 600 DMIPSBuilt-in 520 KB SRAM, 4MPSRAM eksternalMendukung UART/SPI/I2C/PWM/ADC/DACSmendukung kamera OV2640 dan OV7670, lampu flash built-inMendukung gambar WiFI uploadMendukung kartu TFMendukung beberapa mode tidur Tertanam Lwip dan FreeRTOSMendukung mode operasi STA/AP/STA+APMendukung teknologi Smart Config/AirKissMendukung port serial upgrade firmware lokal dan jarak jauh (FOTA)Pin yang digunakan untuk pembaca kartu microSD:GPIO 14: CLKGPIO 15: CMDGPIO 2: Data 0GPIO 4: Data 1 (juga terhubung ke LED on-board)GPIO 12: Data 2GPIO 13: Data 3

Langkah 4: Hubungkan Semuanya Bersama

Hubungkan Semuanya Bersama
Hubungkan Semuanya Bersama

Untuk memprogram hal ini kita perlu menghubungkan FTDI/usb ke ttl untuk memprogram hal ini karena papan ini tidak memilikinya. Jadi hubungkan Ftdi/usb ke ttl sesuai dengan skema.

Langkah 5: Mendapatkan Kode

Di Arduino IDE Anda, buka File > Contoh > ESP32 > Kamera dan buka contoh CameraWebServer. ATAU Anda dapat menggunakan kode berikut, salin kode berikut: #include "esp_camera.h"#include #include "esp_timer.h" #include "img_converters.h"#include "Arduino.h"#include "fb_gfx.h"#include "soc/soc.h" //nonaktifkan masalah brownout#include "soc/rtc_cntl_reg.h" //nonaktifkan masalah brownout# include "dl_lib.h"#include "esp_http_server.h"//Ganti dengan kredensial jaringan Andaconst char* ssid = "REPLACE_WITH_YOUR_SSID";const char* password = "REPLACE_WITH_YOUR_PASSWORD";#define PART_BOUNDARY "123456789000000000 AI Thinker Model, M5STACK PSRAM Model dan M5STACK TANPA PSRAM # mendefinisikan CAMERA_MODEL_AI_THINKER // # define CAMERA_MODEL_M5STACK_PSRAM // # define CAMERA_MODEL_M5STACK_WITHOUT_PSRAM // Tidak diuji dengan model ini // # define CAMERA_MODEL_WROVER_KIT # jika didefinisikan (CAMERA_MODEL_WROVER_KIT) # define PWDN_GPIO_NUM -1 # define RESET_GPIO_NUM -1 #define XCLK_G PIO_NUM 21 #define SIOD_GPIO_NUM 26 # define SIOC_GPIO_NUM 27 # define Y9_GPIO_NUM 35 # define Y8_GPIO_NUM 34 # define Y7_GPIO_NUM 39 # define Y6_GPIO_NUM 36 # define Y5_GPIO_NUM 19 # define Y4_GPIO_NUM 18 # define Y3_GPIO_NUM 5 # define Y2_GPIO_NUM 4 # define VSYNC_GPIO_NUM 25 # define HREF_GPIO_NUM 23 #define PCLK_GPIO_NUM 22 # elif didefinisikan (CAMERA_MODEL_M5STACK_PSRAM) # define PWDN_GPIO_NUM -1 # define RESET_GPIO_NUM 15 # define XCLK_GPIO_NUM 27 # define SIOD_GPIO_NUM 25 # define SIOC_GPIO_NUM 23 # define Y9_GPIO_NUM 19 # define Y8_GPIO_NUM 36 # define Y7_GPIO_NUM 18 # define Y6_GPIO_NUM 39 # define Y5_GPIO_NUM 5 #define Y4_GPIO_NUM 34 # define Y3_GPIO_NUM 35 # define Y2_GPIO_NUM 32 # define VSYNC_GPIO_NUM 22 # define HREF_GPIO_NUM 26 # define PCLK_GPIO_NUM 21 # elif didefinisikan (CAMERA_MODEL_M5STACK_WITHOUT_PSRAM) # define PWDN_GPIO_NUM -1 # define RESET_GPIO_NUM 15 # define XCLK_GPIO_NUM 27 # define SIOD_GPIO_NUM 25 # define SIOC_GPIO_NUM 23 #define Y9_GPIO_NUM 19 #define Y8_GPIO_NUM 36 #define Y7_GPIO_NUM 18 #define Y6_ GPIO_NUM 39 #define Y5_GPIO_NUM 5 # define Y4_GPIO_NUM 34 # define Y3_GPIO_NUM 35 # define Y2_GPIO_NUM 17 # define VSYNC_GPIO_NUM 22 # define HREF_GPIO_NUM 26 # define PCLK_GPIO_NUM 21 # elif didefinisikan (CAMERA_MODEL_AI_THINKER) # define PWDN_GPIO_NUM 32 # define RESET_GPIO_NUM -1 # define XCLK_GPIO_NUM 0 # mendefinisikan SIOD_GPIO_NUM 26 # define SIOC_GPIO_NUM 27 # define Y9_GPIO_NUM 35 # define Y8_GPIO_NUM 34 # define Y7_GPIO_NUM 39 # define Y6_GPIO_NUM 36 # define Y5_GPIO_NUM 21 # define Y4_GPIO_NUM 19 # define Y3_GPIO_NUM 18 # define Y2_GPIO_NUM 5 # define VSYNC_GPIO_NUM 25 # define HREF_GPIO_NUM 23 # define PCLK_GPIO_NUM 22#else #error "Model kamera tidak dipilih"#endifstatic const char* _STREAM_CONTENT_TYPE = "multipart/x-mixed-replace;boundary=" PART_BOUNDARY;static const char* _STREAM_BOUNDARY = "\r\n--" PART_BOUNDARY "\r \n";static const char* _STREAM_PART = "Content-Type: image/jpeg\r\nContent-Length: %u\r\n\r\n";httpd_handle_t stream_httpd = NULL;static esp_err_t stream_handler(httpd_req_t *req) { camera_fb_t * f b = NULL; esp_err_t res = ESP_OK; size_t _jpg_buf_len = 0; uint8_t * _jpg_buf = NULL; char * part_buf[64]; res = httpd_resp_set_type(req, _STREAM_CONTENT_TYPE); if(res != ESP_OK){ mengembalikan res; } while(benar){ fb = esp_camera_fb_get(); if (!fb) { Serial.println("Pengambilan kamera gagal"); res = ESP_FAIL; } else { if(fb->lebar > 400){ if(fb->format != PIXFORMAT_JPEG){ bool jpeg_converted = frame2jpg(fb, 80, &_jpg_buf, &_jpg_buf_len); esp_camera_fb_return(fb); fb = NULL; if(!jpeg_converted){ Serial.println("Kompresi JPEG gagal"); res = ESP_FA

Langkah 6: Unggah Kode

Unggah Kode
Unggah Kode

Setelah mendapatkan kode, Anda perlu mengunggah kode dan memerlukan beberapa pengaturan untuk mengunggah kode jadi pastikan Anda melakukan hal berikut saat mengunggah karena ini adalah kode pelukan sehingga tidak akan diunggah dengan metode normal. Buka Alat > Papan dan pilih ESP32 Wrover ModuleBuka Tools > Port dan pilih COM port yang terhubung dengan ESP32In Tools > Partition Scheme, pilih “Huge APP (3MB No OTA)“Sebelum mengunggah kode, Anda perlu memasukkan kredensial wifi Anda di bagian berikut code:const char* ssid = "REPLACE_WITH_YOUR_SSID";const char* password = "REPLACE_WITH_YOUR_PASSWORD";dan pastikan Anda memilih modul kamera yang tepat. Karena di sini kami menggunakan Model AI-THINKER jadi pilih yang berikut Jadi, beri komentar semua model lain dan batalkan komentar yang satu ini:#define CAMERA_MODEL_AI_THINKERTekan tombol RESET on-board ESP32-CAM Kemudian, klik tombol unggah untuk mengunggah kode.

Langkah 7: Mendapatkan IP

Mendapatkan IP
Mendapatkan IP

Lepaskan jumper yang terhubung antara GPIO0 & GND lalu, Buka Serial Monitor dengan baud rate: 115200 & kemudian Tekan tombol Reset ESP32-CAM dan tunggu hingga IP muncul dan tunggu beberapa detik lalu tekan reset lagi. lihat saya mendapatkan IP saya dan itu disorot dalam gambar.

Langkah 8: Mendapatkan Video Streaming Wifi

Mendapatkan Video Streaming Wifi
Mendapatkan Video Streaming Wifi

Buka browser Anda dan pastikan PC Anda terhubung ke jaringan yang sama dengan ESP32 CAM dan kemudian ketik IP di Browser Anda lalu klik tombol streaming dan Anda akan mendapatkan streaming video Anda dan ada beberapa pengaturan di sini juga sehingga Anda dapat mencobanya dan dapatkan video yang lebih baik juga.

Direkomendasikan: