Taula de continguts:

Introducció a ESP32 CAM - Reproducció de vídeo mitjançant ESP CAM mitjançant Wifi - Projecte de càmera de seguretat ESP32: 8 passos
Introducció a ESP32 CAM - Reproducció de vídeo mitjançant ESP CAM mitjançant Wifi - Projecte de càmera de seguretat ESP32: 8 passos

Vídeo: Introducció a ESP32 CAM - Reproducció de vídeo mitjançant ESP CAM mitjançant Wifi - Projecte de càmera de seguretat ESP32: 8 passos

Vídeo: Introducció a ESP32 CAM - Reproducció de vídeo mitjançant ESP CAM mitjançant Wifi - Projecte de càmera de seguretat ESP32: 8 passos
Vídeo: What is a DMZ? (Demilitarized Zone) 2024, Desembre
Anonim
Introducció a ESP32 CAM | Reproducció de vídeo mitjançant ESP CAM mitjançant Wifi | Projecte de càmera de seguretat ESP32
Introducció a ESP32 CAM | Reproducció de vídeo mitjançant ESP CAM mitjançant Wifi | Projecte de càmera de seguretat ESP32

Avui aprendrem a utilitzar aquesta nova placa ESP32 CAM i com podem codificar-la i utilitzar-la com a càmera de seguretat i obtenir un vídeo en streaming per wifi.

Pas 1: coses que necessiteu

Coses que necessiteu
Coses que necessiteu
Coses que necessiteu
Coses que necessiteu

Abans de començar, assegureu-vos que teniu aquestes coses amb vosaltres: ESP 32 CAM:

FTDI:

Pas 2: Configuració ESPE Arduino IDE

Configuració ESP32 Arduino IDE
Configuració ESP32 Arduino IDE

Assegureu-vos que teniu Arduino IDE al vostre PC i que heu instal·lat les plaques ESP32 al vostre Arduino IDE i, si no és així, seguiu els instruccions següents per instal·lar-lo.:

Pas 3: Especificacions de la placa ESP32 CAM

Especificacions de la placa ESP32 CAM
Especificacions de la placa ESP32 CAM

Abans d’anar a fer res, assegureu-vos que coneixeu l’especificació i el pinout, etc. de la placa ESP32 CAM, i per afegir aquesta imatge pinout, consulteu les especificacions de la placa ESP32 CAM a continuació: El Wi-Fi 802.11b / g / n més petit Mòdul BT SoC CPU de 32 bits de baixa potència, també pot servir al processador d’aplicacions Velocitat de rellotge de fins a 160 MHz, potència de càlcul resum de fins a 600 DMIPS SRAM integrat de 520 KB, 4MPSRAM extern Suporta càmeres OV2640 i OV7670 de UART / SPI / I2C / PWM / ADC / DAC, làmpada de flaix incorporada Suport d'imatge Càrrega WiFI Suporta targeta TF Suporta diversos modes de repòs Lwip integrat i FreeRTOSS Suporta el mode de funcionament STA / AP / STA + AP Suporta la tecnologia Smart Config / AirKiss Suporta actualitzacions de microprogramari locals i remots de port sèrie (FOTA) Pins utilitzats per al lector de targetes microSD: GPIO 14: CLKGPIO 15: CMDGPIO 2: dades 0GPIO 4: dades 1 (també connectat al LED integrat) GPIO 12: dades 2GPIO 13: dades 3

Pas 4: connecteu-ho tot junt

Connecteu-ho tot junt
Connecteu-ho tot junt

Per programar aquesta cosa, hem de connectar un FTDI / usb a ttl per programar aquesta cosa perquè aquesta placa no en té. Per tant, connecteu el Ftdi / usb a ttl segons els esquemes.

Pas 5: Obtenir el codi

Al vostre IDE Arduino, aneu a Fitxer> Exemples> ESP32> Càmera i obriu l'exemple CameraWebServer. O bé podeu utilitzar el codi següent, copieu el codi següent: #include "esp_camera.h" #include #include "esp_timer.h" #include "img_converters.h" #include "Arduino.h" #include "fb_gfx.h" #include "soc / soc.h" // disable brownout problems # include "soc / rtc_cntl_reg.h" // disable brownout problems # include "dl_lib.h" #include "esp_http_server.h" // Substitueixi la vostra credencial de xarxasconst char * ssid = "REPLACE_WITH_YOUR_SSID"; const char * password = "REPLACE_WITH_YOUR_PASSWORD"; # define PART_BOUNDARY "1234567890000000000000000000000000000000000 el model AI Thinker, M5STACK PSRAM Model i M5STACK SENSE PSRAM # define CAMERA_MODEL_AI_THINKER // # define CAMERA_MODEL_M5STACK_PSRAM // # define CAMERA_MODEL_M5STACK_WITHOUT_PSRAM // No s’ha provat amb aquest model // # defineix CAMERA_MODEL_W 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 definit (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 definit (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 definit (CAMERA_MODEL_AI_THINKER) #define PWDN_GPIO_NUM 32 #define RESET_GPIO_NUM -1 #define XCLK_GPIO_NUM 0 # definir 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 de càmera no seleccionat" #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 =" Tipus de contingut: image / jpeg / r / nConting-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 = NUL; 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) {retorna res; } while (true) {fb = esp_camera_fb_get (); if (! fb) {Serial.println ("La captura de la càmera ha fallat"); res = ESP_FAIL; } else {if (fb-> ample> 400) {if (fb-> format! = PIXFORMAT_JPEG) {bool jpeg_converted = frame-j.webp

Pas 6: pengeu el codi

Pengeu el codi
Pengeu el codi

Després d’obtenir el codi, heu de penjar-lo i requereixen pocs paràmetres per carregar-lo, així que assegureu-vos de fer el següent durant la càrrega, ja que és un codi d’abraçada, de manera que no es carregarà pel mètode normal. Aneu a Eines> Tauler i seleccioneu ESP32 Wrover Module Aneu a Eines> Port i seleccioneu el port COM al qual està connectat l'ESP32 A Eines> Esquema de particions, seleccioneu "Aplicació enorme (3 MB sense OTA)" Abans de carregar el codi, heu d'introduir les vostres credencials wifi a la següent part de code: const char * ssid = "REPLACE_WITH_YOUR_SSID"; const char * password = "REPLACE_WITH_YOUR_PASSWORD"; i assegureu-vos de seleccionar el mòdul de càmera adequat. altres models i descomenteu-lo: #define CAMERA_MODEL_AI_THINKER Premeu el botó RESET integrat ESP32-CAM A continuació, feu clic al botó de càrrega per carregar el codi.

Pas 7: Obtenir la IP

Obtenir la IP
Obtenir la IP

Traieu el pont connectat entre GPIO0 i GND i, a continuació, obriu el monitor sèrie amb la velocitat de transmissió: 115200 i, a continuació, premeu el botó de reinici ESP32-CAM i espereu que aparegui la IP i espereu uns segons i, a continuació, torneu a fer clic a Restableix. veure, tinc la meva IP i es ressalta a la imatge.

Pas 8: Obtenir el vídeo de transmissió de Wifi

Obtenir el vídeo de transmissió de Wifi
Obtenir el vídeo de transmissió de Wifi

Obriu el navegador i assegureu-vos que el vostre PC estigui connectat a la mateixa xarxa que ESP32 CAM i, a continuació, escriviu la IP al navegador i, a continuació, feu clic al botó de reproducció i obtindreu la vostra transmissió de vídeo i també hi ha alguns paràmetres perquè pugueu provar-los. i obtenir un millor vídeo també.

Recomanat: