Índice:

Primeiros passos com ESP32 CAM - Streaming de vídeo usando ESP CAM por Wifi - Projeto de câmera de segurança ESP32: 8 etapas
Primeiros passos com ESP32 CAM - Streaming de vídeo usando ESP CAM por Wifi - Projeto de câmera de segurança ESP32: 8 etapas

Vídeo: Primeiros passos com ESP32 CAM - Streaming de vídeo usando ESP CAM por Wifi - Projeto de câmera de segurança ESP32: 8 etapas

Vídeo: Primeiros passos com ESP32 CAM - Streaming de vídeo usando ESP CAM por Wifi - Projeto de câmera de segurança ESP32: 8 etapas
Vídeo: Reconhecimento facial com esp32 cam - Parte 1 2024, Julho
Anonim
Primeiros passos com ESP32 CAM | Streaming de vídeo usando ESP CAM por Wifi | Projeto de câmera de segurança ESP32
Primeiros passos com ESP32 CAM | Streaming de vídeo usando ESP CAM por Wifi | Projeto de câmera de segurança ESP32

Hoje vamos aprender como usar esta nova placa ESP32 CAM e como podemos codificá-la e usá-la como uma câmera de segurança e obter um streaming de vídeo por wi-fi.

Etapa 1: Coisas que você precisa

Coisas que você precisa
Coisas que você precisa
Coisas que você precisa
Coisas que você precisa

Antes de começarmos, certifique-se de ter os seguintes itens com você: ESP 32 CAM:

FTDI:

Etapa 2: configuração do IDE do Arduino ESP32

Configuração do IDE do Arduino ESP32
Configuração do IDE do Arduino ESP32

Certifique-se de ter Arduino IDE em seu PC e de instalar placas ESP32 em seu Arduino IDE e, se não for o caso, siga as seguintes instruções minhas para instalá-lo.:

Etapa 3: Especificações da placa ESP32 CAM

Especificações da placa ESP32 CAM
Especificações da placa ESP32 CAM

Antes de fazermos qualquer coisa, certifique-se de saber as especificações e a pinagem da placa ESP32 CAM, e para a imagem da pinagem adicionada, consulte as especificações e as especificações da placa ESP32 CAM fornecidas abaixo: O menor 802.11b / g / n Wi-Fi Módulo BT SoCBaixa potência de CPU de 32 bits, também pode servir ao processador de aplicativosAté a velocidade de clock de 160 MHz, potência de computação resumida de até 600 DMIPSRAM embutida de 520 KB, 4MPSRAMSuporta externa UART / SPI / I2C / PWM / ADC / DACSupport OV2640 e câmeras OV7670, lâmpada flash embutidaSuporte imagem WiFI uploadSuporte cartão TFSuporta vários modos de hibernaçãoEmbedded Lwip e FreeRTOSSuporta modo de operação STA / AP / STA + APSuporte Smart Config / tecnologia AirKissSuporte para porta serial local e atualizações remotas de firmware (FOTA) Pinos usados para leitor de cartão microSD: GPIO 14: CLKGPIO 15: CMDGPIO 2: Dados 0GPIO 4: Dados 1 (também conectado ao LED integrado) GPIO 12: Dados 2GPIO 13: Dados 3

Etapa 4: conecte tudo junto

Conecte tudo junto
Conecte tudo junto

Para programar isso, precisamos conectar um FTDI / usb ao ttl para programar isso porque esta placa não tem um. Portanto, conecte o Ftdi / usb ao ttl de acordo com a esquemática.

Etapa 5: Obtendo o código

Em seu IDE Arduino, vá para Arquivo> Exemplos> ESP32> Câmera e abra o exemplo CameraWebServer. OU você pode usar o seguinte código fornecido, copie o seguinte código: #include "esp_camera.h" #include #include "esp_timer.h" #include "img_converters.h" #include "Arduino.h" #include "fb_gfx.h" #include "soc / soc.h" // desativar problemas de brownout # include "soc / rtc_cntl_reg.h" // desativar problemas de brownout # include "dl_lib.h" #include "esp_http_server.h" // Substitua por suas credenciais de redeconst char * ssid = "REPLACE_WITH_YOUR_SSID"; const char * password = "REPLACE_WITH_YOUR_PASSWORD"; # define PART_BOUNDARY "12345678900000000 foi testado com" 9876540000 o modelo AI pensador, M5STACK PSRAM modelo e M5STACK sEM PSRAM # definir CAMERA_MODEL_AI_THINKER // # definir CAMERA_MODEL_M5STACK_PSRAM // # definir CAMERA_MODEL_M5STACK_WITHOUT_PSRAM // Não testado com este modelo // # # definir CAMERA_MODEL_WROVER_KIT se definida (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 definido (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 definido (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 definido (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 "Modelo de câmera não selecionado" #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; estático 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) {res de retorno; } enquanto (verdadeiro) {fb = esp_camera_fb_get (); if (! fb) {Serial.println ("Falha na captura da câmera"); res = ESP_FAIL; } else {if (fb-> width> 400) {if (fb-> format! = PIXFORMAT_JPEG) {bool jpeg_converted = frame-j.webp

Etapa 6: faça upload do código

Faça o upload do código
Faça o upload do código

Depois de obter o código, você precisa fazer o upload do código e requer poucas configurações para fazer o upload do código, então certifique-se de fazer o seguinte durante o upload, pois é um código muito grande para que não seja carregado pelo método normal. Vá para Ferramentas> Painel e selecione ESP32 Wrover Module Vá para Ferramentas> Porta e selecione a porta COM à qual o ESP32 está conectado Em Ferramentas> Esquema de partição, selecione “APP enorme (3 MB sem OTA)“Antes de enviar o código, você precisa inserir suas credenciais de wi-fi na parte seguinte de código: const char * ssid = "REPLACE_WITH_YOUR_SSID"; const char * password = "REPLACE_WITH_YOUR_PASSWORD"; e certifique-se de selecionar o módulo de câmera correto. Como aqui estamos usando o modelo AI-THINKER, selecione o seguinte Então, comente todos os outros modelos e descomente este: #define CAMERA_MODEL_AI_THINKERPressione o botão RESET integrado do ESP32-CAM; em seguida, clique no botão de upload para fazer o upload do código.

Etapa 7: Obtendo o IP

Obtendo o IP
Obtendo o IP

Remova o jumper conectado entre GPIO0 e GND e, em seguida, abra o monitor serial com a taxa de transmissão: 115200 e pressione o botão ESP32-CAM Reset e aguarde o IP aparecer e aguarde alguns segundos e pressione reset novamente. veja que peguei meu IP e ele está destacado na imagem.

Etapa 8: Obter o vídeo de streaming wi-fi

Obtendo o vídeo de streaming wi-fi
Obtendo o vídeo de streaming wi-fi

Abra seu navegador e certifique-se de que seu PC está conectado à mesma rede que ESP32 CAM e, em seguida, digite o IP em seu navegador e clique no botão stream e você obterá seu stream de vídeo. Existem algumas configurações aqui também para que você possa experimentá-las e obter um vídeo melhor também.

Recomendado: