INHOUDSOPGAWE:

Aan die gang met ESP32 CAM - Streaming van video met behulp van ESP CAM via wifi - ESP32 -beveiligingskamera -projek: 8 stappe
Aan die gang met ESP32 CAM - Streaming van video met behulp van ESP CAM via wifi - ESP32 -beveiligingskamera -projek: 8 stappe

Video: Aan die gang met ESP32 CAM - Streaming van video met behulp van ESP CAM via wifi - ESP32 -beveiligingskamera -projek: 8 stappe

Video: Aan die gang met ESP32 CAM - Streaming van video met behulp van ESP CAM via wifi - ESP32 -beveiligingskamera -projek: 8 stappe
Video: $5 WiFi Camera Setup | ESP32 Wifi Setup view on Mobile phone 2024, November
Anonim
Aan die gang met ESP32 CAM | Streaming van video met behulp van ESP CAM via wifi | ESP32 -beveiligingskamera -projek
Aan die gang met ESP32 CAM | Streaming van video met behulp van ESP CAM via wifi | ESP32 -beveiligingskamera -projek

Vandag sal ons leer hoe om hierdie nuwe ESP32 CAM -bord te gebruik en hoe ons dit kan kodeer en as 'n beveiligingskamera kan gebruik en 'n streaming video via wifi kan kry.

Stap 1: Dinge wat u nodig het

Dinge wat jy nodig het
Dinge wat jy nodig het
Dinge wat jy nodig het
Dinge wat jy nodig het

Maak seker dat u die volgende dinge by u het: ESP 32 CAM:

FTDI:

Stap 2: ESP32 Arduino IDE -opstelling

ESP32 Arduino IDE -opstelling
ESP32 Arduino IDE -opstelling

Maak seker dat u Arduino IDE op u rekenaar het en dat u ESP32 -borde in u Arduino IDE geïnstalleer het, en as dit nie die geval is nie, volg die volgende instruksies van my om dit te installeer.:

Stap 3: ESP32 CAM Board spesifikasies

ESP32 CAM Board spesifikasies
ESP32 CAM Board spesifikasies

Voordat ons iets gaan doen, moet u seker maak dat u die spesifikasie en pinout, ens. Van ESP32 CAM-bord ken, en dat die pinout-prent bygevoeg word, en die spesifikasies van ESP32 CAM-bord word hieronder gegee: Die kleinste 802.11b/g/n Wi-Fi BT SoC-module Laagkrag 32-bis-SVE, kan ook die toepassingsverwerker bedien tot 160MHz kloksnelheid, opsommende rekenaarkrag tot 600 DMIPS Ingeboude 520 KB SRAM, eksterne 4MPSRAM Ondersteun UART/SPI/I2C/PWM/ADC/DAC Ondersteun OV2640 en OV7670 kameras, ingeboude flitslamp Ondersteun beeld WiFI-oplaai Ondersteuning TF-kaart Ondersteun verskeie slaapmodusse Ingebedde Lwip en FreeRTOS Ondersteun STA/AP/STA+AP-bedieningsmodus Ondersteuning Smart Config/AirKiss-tegnologie Ondersteuning vir seriële poort plaaslike en eksterne firmware-opgraderings (FOTA) Spelde wat gebruik word vir microSD-kaartleser: GPIO 14: CLKGPIO 15: CMDGPIO 2: Data 0GPIO 4: Data 1 (ook gekoppel aan die ingebouwde LED) GPIO 12: Data 2GPIO 13: Data 3

Stap 4: Verbind alles saam

Verbind alles saam
Verbind alles saam

Om hierdie ding te programmeer, moet ons 'n FTDI/usb aan ttl koppel om hierdie ding te programmeer omdat hierdie bord nie een het nie. Koppel dus die Ftdi/usb aan ttl volgens schmatics.

Stap 5: Kry die kode

Gaan in u Arduino IDE na File> Voorbeelde> ESP32> Camera en maak die CameraWebServer -voorbeeld oop. OF u kan die volgende gegewe kode gebruik, kopieer die volgende kode: #include "esp_camera.h" #include #include "esp_timer.h" #include "img_converters.h" #include "Arduino.h" #include "fb_gfx.h" #include "soc/soc.h" // deaktiveer brownout -probleme#sluit in "soc/rtc_cntl_reg.h" // skakel brownout -probleme uit# sluit in "dl_lib.h" #include "esp_http_server.h" // Vervang deur u netwerkbewyse sconst char* ssid = "REPLACE_WITH_YOUR_SSID"; const char* password = "REPLACE_WITH_YOUR_PASSWORD";#definieer PART_BOUNDARY "123456789000000000000 die AI Denker model, M5STACK PSRAM model en M5STACK SONDER PSRAM # definieer CAMERA_MODEL_AI_THINKER // # definieer CAMERA_MODEL_M5STACK_PSRAM // # definieer CAMERA_MODEL_M5STACK_WITHOUT_PSRAM // Nie getoets met hierdie model // # definieer CAMERA_MODEL_WROVER_KIT # As gedefinieer (CAMERA_MODEL_WROVER_KIT) # define PWDN_GPIO_NUM -1 # define RESET_GPIO_NUM -1 #defineer 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 gedefinieer (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 gedefinieer (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 #definieer Y9_GPIO_NUM 19 #definieer Y8_GPIO_NUM 36 #definieer Y7_GPIO_NUM 18 #definieer 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 gedefinieer (CAMERA_MODEL_AI_THINKER) # define PWDN_GPIO_NUM 32 # define RESET_GPIO_NUM -1 # define XCLK_GPIO_NUM 0 # definieer 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#anders#fout "Kameramodel nie gekies nie" #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 =" Inhoudstipe: image/jpeg / r / nInhoudlengte: %u / r / n / r / n "; httpd_handle_t stream_httpd = NULL; statiese esp_err_t stream_handler (httpd_req_t * req) {kamera_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) {return res; } terwyl (waar) {fb = esp_camera_fb_get (); as (! fb) {Serial.println ("Kamera -opname misluk"); res = ESP_FAIL; } anders {if (fb-> breedte> 400) {if (fb-> formaat! = PIXFORMAT_JPEG) {bool jpeg_converted = frame-j.webp

Stap 6: Laai die kode op

Laai die kode op
Laai die kode op

Nadat u die kode gekry het, moet u die kode oplaai, en dit vereis min instellings om die kode op te laai, dus maak seker dat u die volgende gedoen het tydens die oplaai, want dit is 'n drukkode, sodat dit nie met die normale metode opgelaai kan word nie. kies ESP32 Wrover Module Gaan na Tools> Poort en kies die COM -poort waarmee die ESP32 gekoppel is In Tools> Partition Scheme, kies "Enorme app (3MB geen OTA)" Voordat u die kode oplaai, moet u u wifi -inskrywings invoer in die volgende gedeelte van kode: const char* ssid = "REPLACE_WITH_YOUR_SSID"; const char* password = "REPLACE_WITH_YOUR_PASSWORD"; en maak seker dat u die regte kameramodule kies. Soos ons hier die AI-THINKER-model gebruik, kies dan die volgende. ander modelle en laai hierdie een uit: #defineer CAMERA_MODEL_AI_THINKER Druk op die ESP32-CAM aan boord RESET-knoppie Klik dan op die oplaai-knoppie om die kode op te laai.

Stap 7: Kry die IP

Kry die IP
Kry die IP

Verwyder die jumper wat tussen GPIO0 en GND gekoppel is, maak dan die seriële monitor oop met die baud rate: 115200 en druk dan op die ESP32-CAM reset knoppie en wag totdat die IP verskyn en wag 'n paar sekondes en druk dan weer op reset. sien ek het my IP gekry en dit word in die prent uitgelig.

Stap 8: Kry die Wifi -stroomvideo

Kry die Wifi -stroomvideo
Kry die Wifi -stroomvideo

Maak u blaaier oop en maak seker dat u rekenaar aan dieselfde netwerk as ESP32 CAM gekoppel is, en tik dan die IP -adres in u blaaier, klik dan op die stroomknoppie en u kry u videostroom en daar is ook min instellings, sodat u dit kan probeer en kry ook 'n beter video.

Aanbeveel: