Mục lục:

Bắt đầu với ESP32 CAM - Phát trực tuyến video bằng ESP CAM qua Wifi - Dự án camera an ninh ESP32: 8 bước
Bắt đầu với ESP32 CAM - Phát trực tuyến video bằng ESP CAM qua Wifi - Dự án camera an ninh ESP32: 8 bước

Video: Bắt đầu với ESP32 CAM - Phát trực tuyến video bằng ESP CAM qua Wifi - Dự án camera an ninh ESP32: 8 bước

Video: Bắt đầu với ESP32 CAM - Phát trực tuyến video bằng ESP CAM qua Wifi - Dự án camera an ninh ESP32: 8 bước
Video: Tự làm camera an ninh giá rẻ tại nhà dùng board ESP32-CAM 2024, Tháng bảy
Anonim
Bắt đầu với ESP32 CAM | Phát trực tuyến video bằng ESP CAM qua Wifi | Dự án camera an ninh ESP32
Bắt đầu với ESP32 CAM | Phát trực tuyến video bằng ESP CAM qua Wifi | Dự án camera an ninh ESP32

Hôm nay chúng ta sẽ tìm hiểu cách sử dụng bo mạch ESP32 CAM mới này và cách chúng ta có thể viết mã và sử dụng nó như một camera an ninh và phát video trực tuyến qua wifi.

Bước 1: Những thứ bạn cần

Những thứ bạn cần
Những thứ bạn cần
Những thứ bạn cần
Những thứ bạn cần

Trước khi chúng tôi bắt đầu, hãy đảm bảo bạn mang theo những thứ sau: ESP 32 CAM:

FTDI:

Bước 2: Thiết lập ESP32 Arduino IDE

Thiết lập IDE ESP32 Arduino
Thiết lập IDE ESP32 Arduino

Đảm bảo rằng bạn có Arduino IDE trong PC và bạn đã cài đặt Bo mạch ESP32 trong Arduino IDE của mình, và nếu không đúng như vậy, vui lòng làm theo hướng dẫn sau của tôi để cài đặt nó.:

Bước 3: Thông số kỹ thuật bảng ESP32 CAM

Thông số kỹ thuật bảng mạch ESP32 CAM
Thông số kỹ thuật bảng mạch ESP32 CAM

Trước khi chúng ta làm bất cứ điều gì, hãy đảm bảo rằng bạn biết thông số kỹ thuật và sơ đồ chân, v.v. của bo mạch ESP32 CAM và để thêm hình ảnh sơ đồ chân đó, vui lòng tham khảo thông số kỹ thuật và thông số kỹ thuật của bo mạch ESP32 CAM được cung cấp bên dưới: Wi-Fi 802.11b / g / n nhỏ nhất Mô-đun BT SoC CPU 32-bit công suất mạnh, cũng có thể phục vụ bộ xử lý ứng dụng Tốc độ xung nhịp lên đến 160MHz, sức mạnh tính toán tóm tắt lên đến 600 DMIPS Tích hợp 520 KB SRAM, 4MPSRAM bên ngoài Hỗ trợ UART / SPI / I2C / PWM / ADC / DACHỗ trợ máy ảnh OV2640 và OV7670, Đèn flash tích hợp Hỗ trợ hình ảnh WiFI upload Hỗ trợ thẻ TF Hỗ trợ nhiều chế độ ngủ Hỗ trợ Lwip và FreeRTOSS được hỗ trợ Chế độ hoạt động STA / AP / STA + AP Hỗ trợ Smart Config / công nghệ AirKiss Hỗ trợ cho cổng nối tiếp nâng cấp firmware cục bộ và từ xa (FOTA) Chân được sử dụng cho đầu đọc thẻ microSD: GPIO 14: CLKGPIO 15: CMDGPIO 2: Dữ liệu 0GPIO 4: Dữ liệu 1 (cũng được kết nối với đèn LED trên bo mạch) GPIO 12: Dữ liệu 2GPIO 13: Dữ liệu 3

Bước 4: Kết nối mọi thứ với nhau

Kết nối mọi thứ với nhau
Kết nối mọi thứ với nhau

Để lập trình thứ này, chúng ta cần kết nối FTDI / usb với ttl để lập trình thứ này vì bo mạch này không có. Vì vậy, hãy kết nối Ftdi / usb với ttl theo sơ đồ.

Bước 5: Lấy mã

Trong IDE Arduino của bạn, đi tới Tệp> Ví dụ> ESP32> Máy ảnh và mở ví dụ CameraWebServer. HOẶC bạn có thể sử dụng mã cho sẵn sau đây, sao chép mã sau: #include "esp_camera.h" #include #include "esp_timer.h" #include "img_converters.h" #include "Arduino.h" #include "fb_gfx.h" #include "soc / soc.h" // vô hiệu hóa các vấn đề về trình duyệt # bao gồm "soc / rtc_cntl_reg.h" // tắt các vấn đề về trình duyệt # bao gồm "dl_lib.h" #include "esp_http_server.h" // Thay thế bằng thông tin xác thực mạng của bạn. Mô hình AI Thinker, Mô hình M5STACK PSRAM và M5STACK KHÔNG PSRAM # xác định CAMERA_MODEL_AI_THINKER // # xác định CAMERA_MODEL_M5STACK_PSRAM // # xác định CAMERA_MODEL_M5STACK_WITHOUT_PSRAM // Không được thử nghiệm với mô hình này // # xác định CAMERA_MODERA_fine_NUM 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 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_GPIO_NUM3 trong VSGIO_NUM3. #define PCLK_GPIO_NUM 22 # elif đã được xác định (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 #define PWDN_GPIO_NUM -1 #define RESET_GPIO_NUM 15 #define XCLK_GPIO_NUM 27 #define SIOD_GPIO_NUM 25 #define #define SIOC_GPIO_NUM_GPIO_NUM3 36GPIO_NUM7define 19define Y936 YGPIO_NUM3 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 đã được xác định (CAMERA_MODEL #define_M5STACK_WITHOUT_PSRETfdefdefine #define XGPIO RESIO_NUM_Pine_NUM_define #define_NUM_GPine_NUM_Pine_NUM_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 # elifine được xác định_ CAMERA_MCLET_NUM # DANH SÁCH đã được xác định bởi CAMERA_METEL_NUM xác định 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 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 #define #define_GPIO_NUM_GPIO_NUM #GPIO_NUM_GPIO_NUM #GPIO_NUM3GPIO_NUM_GIO_NUM_GIO_NUM_GPIO_NUM 22 # else #error "Chưa chọn kiểu máy ảnh" #endifstatic const char * _STREAM_CONTENT_TYPE = "multiart / x-mix-Replace; border =" 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 (yêu cầu, _STREAM_CONTENT_TYPE); if (res! = ESP_OK) {return res; } while (true) {fb = esp_camera_fb_get (); if (! fb) {Serial.println ("Không chụp được máy ảnh"); res = ESP_FAIL; } else {if (fb-> width> 400) {if (fb-> format! = PIXFORMAT_JPEG) {bool jpeg_converted = frame-j.webp

Bước 6: Tải lên mã

Tải lên mã
Tải lên mã

Sau khi nhận được mã, bạn cần tải mã lên và nó yêu cầu một số cài đặt để tải mã lên, vì vậy hãy đảm bảo bạn đã làm theo những điều trong quá trình tải lên vì mã này là một mã ôm nên nó sẽ không được tải lên bằng phương pháp thông thường. chọn Mô-đun Wrover ESP32 Đi tới Công cụ> Cổng và chọn cổng COM mà ESP32 được kết nối với Trong Công cụ> Sơ đồ phân vùng, chọn “Ứng dụng khổng lồ (3MB No OTA)“Trước khi tải lên mã, bạn cần nhập thông tin đăng nhập wifi của mình vào phần sau của code: const char * ssid = "REPLACE_WITH_YOUR_SSID"; const char * password = "REPLACE_WITH_YOUR_PASSWORD"; và đảm bảo bạn chọn đúng mô-đun máy ảnh. Vì ở đây chúng tôi đang sử dụng Mô hình AI-THINKER nên hãy chọn phần sau Vì vậy, hãy nhận xét tất cả các mô hình khác và bỏ ghi chú mô hình này: # xác định CAMERA_MODEL_AI_THINKERNhấn nút ĐẶT LẠI trên bo mạch ESP32-CAM Sau đó, nhấp vào nút tải lên để tải mã lên.

Bước 7: Lấy IP

Lấy IP
Lấy IP

Sau đó, tháo jumper được kết nối giữa GPIO0 và GND, Mở Serial Monitor với tốc độ truyền: 115200 và sau đó Nhấn nút ESP32-CAM Reset và đợi IP xuất hiện và đợi vài giây rồi nhấn reset lại. xem tôi đã có IP của mình và nó được đánh dấu trong hình ảnh.

Bước 8: Lấy video phát trực tuyến qua Wi-Fi

Nhận video phát trực tuyến qua Wi-Fi
Nhận video phát trực tuyến qua Wi-Fi

Mở trình duyệt của bạn và đảm bảo PC của bạn được kết nối với cùng một mạng như ESP32 CAM, sau đó nhập IP vào Trình duyệt của bạn, sau đó nhấp vào nút luồng và bạn sẽ nhận được luồng video của mình và cũng có một số cài đặt ở đây để bạn có thể thử những và cũng có được một video tốt hơn.

Đề xuất: