Sommario:

Iniziare con ESP32 CAM - Streaming video utilizzando ESP CAM tramite Wi-Fi - Progetto telecamera di sicurezza ESP32: 8 passaggi
Iniziare con ESP32 CAM - Streaming video utilizzando ESP CAM tramite Wi-Fi - Progetto telecamera di sicurezza ESP32: 8 passaggi

Video: Iniziare con ESP32 CAM - Streaming video utilizzando ESP CAM tramite Wi-Fi - Progetto telecamera di sicurezza ESP32: 8 passaggi

Video: Iniziare con ESP32 CAM - Streaming video utilizzando ESP CAM tramite Wi-Fi - Progetto telecamera di sicurezza ESP32: 8 passaggi
Video: This is the BEST MATRIX DISPLAY CLOCK for Home Assistant! 2024, Luglio
Anonim
Iniziare con ESP32 CAM | Streaming video utilizzando ESP CAM tramite Wi-Fi | Progetto telecamera di sicurezza ESP32
Iniziare con ESP32 CAM | Streaming video utilizzando ESP CAM tramite Wi-Fi | Progetto telecamera di sicurezza ESP32

Oggi impareremo come utilizzare questa nuova scheda CAM ESP32 e come possiamo codificarla e usarla come telecamera di sicurezza e ottenere un video in streaming tramite Wi-Fi.

Passaggio 1: cose di cui hai bisogno

Cose di cui hai bisogno
Cose di cui hai bisogno
Cose di cui hai bisogno
Cose di cui hai bisogno

Prima di iniziare assicurati di avere queste seguenti cose con te: ESP 32 CAM:

FTDI:

Passaggio 2: configurazione dell'IDE Arduino ESP32

Configurazione dell'IDE Arduino ESP32
Configurazione dell'IDE Arduino ESP32

Assicurati di avere l'IDE Arduino nel tuo PC e di aver installato le schede ESP32 nel tuo IDE Arduino e, in caso contrario, segui le mie istruzioni per installarlo.:

Passaggio 3: specifiche della scheda CAM ESP32

Specifiche della scheda CAM ESP32
Specifiche della scheda CAM ESP32

Prima di fare qualsiasi cosa, assicurati di conoscere le specifiche e la piedinatura ecc. della scheda CAM ESP32, e per l'immagine di piedinatura aggiunta fai riferimento a quella e le specifiche della scheda CAM ESP32 sono riportate di seguito: La più piccola Wi-Fi 802.11b/g/n Modulo SoC BTCPU a 32 bit a bassa potenza, può anche servire il processore dell'applicazione Velocità di clock fino a 160 MHz, potenza di calcolo riepilogativa fino a 600 DMIPS SRAM da 520 KB integrata, 4 MPSRAM esterni Supporta UART/SPI/I2C/PWM/ADC/DACSupporta telecamere OV2640 e OV7670, lampada flash integrata Supporta il caricamento WiFI dell'immagine Supporta la scheda TF Supporta più modalità di sospensione Embedded Lwip e FreeRTOS Supporta la modalità operativa STA / AP / STA + AP Supporta la tecnologia Smart Config / AirKiss Supporta gli aggiornamenti del firmware locale e remoto della porta seriale (FOTA) Pin utilizzati per il lettore di schede microSD: GPIO 14: CLKGPIO 15: CMDGPIO 2: Data 0GPIO 4: Data 1 (collegato anche al LED di bordo)GPIO 12: Data 2GPIO 13: Data 3

Passaggio 4: collega tutto insieme

Connetti tutto insieme
Connetti tutto insieme

Per programmare questa cosa dobbiamo collegare un FTDI/usb a ttl per programmare questa cosa perché questa scheda non ne ha uno. Quindi collega Ftdi/usb a ttl secondo gli schemi.

Passaggio 5: ottenere il codice

Nel tuo IDE Arduino, vai su File> Esempi> ESP32> Camera e apri l'esempio di CameraWebServer. OPPURE puoi utilizzare il seguente codice dato, copiare il seguente codice: #include "esp_camera.h"#include #include "esp_timer.h" #include "img_converters.h"#include "Arduino.h"#include "fb_gfx.h"#include "soc/soc.h" //disabilita i problemi di brownout#include "soc/rtc_cntl_reg.h" //disabilita i problemi di brownout# include "dl_lib.h"#include "esp_http_server.h"//Sostituisci con le tue credenziali di reteconst char* ssid = "REPLACE_WITH_YOUR_SSID";const char* password = "REPLACE_WITH_YOUR_PASSWORD";#define PART_BOUNDARY "/1234567890000000090909 il modello AI Thinker, il modello M5STACK PSRAM e M5STACK WITHOUT PSRAM#define CAMERA_MODEL_AI_THINKER//#define CAMERA_MODEL_M5STACK_PSRAM//#define CAMERA_MODEL_M5STACK_WITHOUT_PSRAM/define_WITHOUT_PSRAM/define/ Non testato con questo modello//_MODNELCAMERA RESET_GPIO_NUM -1 #define XCLK_G PIO_NUM 21 #definire SIOD_GPIO_NUM 26 #definire SIOC_GPIO_NUM 27 #definire Y9_GPIO_NUM 35 #definire Y8_GPIO_NUM 34 #definire Y7_GPIO_NUM 39 #definire Y6_GPIO_NUM 36 #definire Y5_GPIO_NUM 19 #definire #define Y4_GPIO_GPIO_NUM_define Y4_GPIO_NUM_GPIO_NUM 4definire Y7_GPIO_NUM 5 #define PCLK_GPIO_NUM 22#elif define(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_GP6_GP_NUMdefine YGPIO_NUM 7_NUMIO 36define Y9_GPIONUMIO #define YGPIONUM_NUM8 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 define(CAMERA_MODEL_M5STACK_GPIOK_GP_NUM_defineGP_NUM_NUM_GPIO_GPIO_NUM_DEfine_NUM_GPIO_NUM_define SIOC_GPIO_NUM 23 #definire Y9_GPIO_NUM 19 #definire Y8_GPIO_NUM 36 #definire Y7_GPIO_NUM 18 #definire 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 #efine PK_GPIO_NUM 21#elif definito(CAMERA_GPIO_NUM_NUM_define VSYNC_GPIO_NUM 26 #define PCLK_GPIO_NUM 21#efine PK_GPIO_NUM Xdefinito_GPIO_NUM_DEF 32 #AI_GPIO_NUM_DEL_NUM definisce SIOD_GPIO_NUM 26 #definisce SIOC_GPIO_NUM 27 #definisce Y9_GPIO_NUM 35 #definisce Y8_GPIO_NUM 34 #definisce Y7_GPIO_NUM 39 #definisce Y6_GPIO_NUM 36 #definisce Y5_GPIO_NUM 21 #definisce Y4_GPIO_NUM 19 #definisce GPIO_GPIO_NUM 19 #define Y3_GPIOdefine Y3_GPIOdefine Y3_GPIO_NUM 25 22#else #error "Modello di telecamera non selezionato"#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 = "Tipo di contenuto: 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 = NULLO; 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; } while(true){ fb = esp_camera_fb_get(); if (!fb) { Serial.println("Cattura fotocamera fallita"); res = ESP_FAIL; } else { if(fb->width > 400){ if(fb->format != PIXFORMAT_JPEG){ bool jpeg_converted = frame2jpg(fb, 80, &_jpg_buf, &_jpg_buf_len); esp_camera_fb_return(fb); fb = NULLA; if(!jpeg_converted){ Serial.println("Compressione JPEG fallita"); res = ESP_FA

Passaggio 6: carica il codice

Carica il codice
Carica il codice

Dopo aver ottenuto il codice, è necessario caricare il codice e sono necessarie poche impostazioni per caricare il codice, quindi assicurati di aver fatto quanto segue durante il caricamento perché è un codice abbraccio, quindi non verrà caricato con il metodo normale. Vai su Strumenti> Scheda e seleziona ESP32 Wrover Module Vai su Strumenti> Porta e seleziona la porta COM a cui ESP32 è connesso In Strumenti> Schema di partizione, seleziona "App enorme (3 MB senza OTA)" Prima di caricare il codice, devi inserire le tue credenziali wifi nella parte seguente di code:const char* ssid = "REPLACE_WITH_YOUR_SSID";const char* password = "REPLACE_WITH_YOUR_PASSWORD";e assicurati di selezionare il modulo della fotocamera corretto. Poiché qui stiamo usando il modello AI-THINKER, seleziona quanto segue Quindi, commenta tutti i altri modelli e decommenta questo:#define CAMERA_MODEL_AI_THINKERPremi il pulsante RESET a bordo di ESP32-CAM Quindi, fai clic sul pulsante di caricamento per caricare il codice.

Passaggio 7: ottenere l'IP

Ottenere l'IP
Ottenere l'IP

Rimuovere il ponticello collegato tra GPIO0 e GND quindi, aprire il monitor seriale con il baud rate: 115200 e quindi premere il pulsante di ripristino di ESP32-CAM e attendere che appaia l'IP e attendere alcuni secondi, quindi premere nuovamente reset. vedi ho ottenuto il mio IP ed è evidenziato nell'immagine.

Passaggio 8: ottenere il video in streaming Wi-Fi

Ottenere il video in streaming Wi-Fi
Ottenere il video in streaming Wi-Fi

Apri il tuo browser e assicurati che il tuo PC sia connesso alla stessa rete di ESP32 CAM, quindi digita l'IP nel tuo browser, quindi fai clic sul pulsante stream e otterrai il tuo flusso video e ci sono poche impostazioni anche qui, quindi puoi provare quelle e ottieni anche un video migliore.

Consigliato: