Cuprins:
- Pasul 1: Lucruri de care aveți nevoie
- Pasul 2: Configurare ESP32 Arduino IDE
- Pasul 3: Specificații pentru placa ESP32 CAM
- Pasul 4: conectați totul împreună
- Pasul 5: Obținerea codului
- Pasul 6: Încărcați codul
- Pasul 7: Obținerea adresei IP
- Pasul 8: Obținerea videoclipului de streaming Wifi
Video: Noțiuni introductive despre ESP32 CAM - Streaming video folosind ESP CAM prin Wifi - Proiectul camerei de securitate ESP32: 8 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:43
Astăzi vom învăța cum să folosim această nouă placă ESP32 CAM și cum să o codificăm și să o folosim ca cameră de securitate și să obținem un streaming video prin wifi.
Pasul 1: Lucruri de care aveți nevoie
Înainte de a începe, asigurați-vă că aveți următoarele lucruri la dumneavoastră: ESP 32 CAM:
FTDI:
Pasul 2: Configurare ESP32 Arduino IDE
Asigurați-vă că aveți Arduino IDE în computer și că ați instalat plăci ESP32 în Arduino IDE și, dacă nu este cazul, vă rugăm să urmați următoarele instrucțiuni pentru instalare.:
Pasul 3: Specificații pentru placa ESP32 CAM
Înainte să mergem să facem ceva, asigurați-vă că cunoașteți specificațiile și pinout-ul etc al plăcii ESP32 CAM, iar pentru această imagine pinout este adăugată vă rugăm să consultați și specificațiile plăcii ESP32 CAM sunt date mai jos: Cea mai mică 802.11b / g / n Wi-Fi Modul BT SoC CPU de 32 de biți, de asemenea, poate deservi procesorul de aplicație Până la 160 MHz viteză de ceas, putere de calcul sumară până la 600 DMIPS Built-in 520 KB SRAM, extern 4MPSRAM Suportă UART / SPI / I2C / PWM / ADC / DAC Suport camere OV2640 și OV7670, lampă flash încorporată Suport imagine încărcare WiFI Suport card TF Suportă mai multe moduri de repaus Lwip încorporat și FreeRTOSS Suportă modul de operare STA / AP / STA + AP Suportă Smart Config / AirKiss tehnologie Suport pentru port serial actualizări firmware locale și la distanță (FOTA) Pinuri utilizate pentru cititorul de card microSD: GPIO 14: CLKGPIO 15: CMDGPIO 2: Date 0GPIO 4: Data 1 (conectat și la LED-ul de bord) GPIO 12: Data 2GPIO 13: Data 3
Pasul 4: conectați totul împreună
Pentru a programa acest lucru, trebuie să conectăm un FTDI / usb la ttl pentru a programa acest lucru, deoarece această placă nu are unul. Deci conectați Ftdi / usb la ttl conform schematicilor.
Pasul 5: Obținerea codului
În IDE-ul dvs. Arduino, accesați Fișier> Exemple> ESP32> Cameră și deschideți exemplul CameraWebServer. SAU puteți utiliza următorul cod dat, copiați următorul cod: #include "esp_camera.h" #include #include "esp_timer.h" #include "img_converters.h" #include "Arduino.h" #include "fb_gfx.h" #include "soc / soc.h" // dezactivați problemele brownout # include "soc / rtc_cntl_reg.h" // dezactivați problemele brownout # include "dl_lib.h" #include "esp_http_server.h" // Înlocuiți cu acreditările de rețeasconst char * ssid = "REPLACE_WITH_YOUR_SSID"; const char * password = "REPLACE_WITH_YOUR_PASSWORD"; # define PART_BOUNDARY "12345678900000000000000000000000000000000 Modelul AI Thinker, Modelul M5STACK PSRAM și M5STACK FĂRĂ PSRAM # definesc CAMERA_MODEL_AI_THINKER // # define CAMERA_MODEL_M5STACK_PSRAM // # define CAMERA_MODEL_M5STACK_WITHOUT_PSRAM // Nu sunt testate cu acest model // # definesc 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 # defini 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 "Modelul camerei nu este selectat" #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; 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 (cerere, _STREAM_CONTENT_TYPE); if (res! = ESP_OK) {returnează res; } while (adevărat) {fb = esp_camera_fb_get (); if (! fb) {Serial.println ("Captura camerei a eșuat"); res = ESP_FAIL; } else {if (fb-> width> 400) {if (fb-> format! = PIXFORMAT_JPEG) {bool jpeg_converted = frame-j.webp
Pasul 6: Încărcați codul
După ce obțineți codul, trebuie să încărcați codul și este nevoie de puține setări pentru a încărca codul, deci asigurați-vă că ați urmat ceva în timpul încărcării, deoarece este un cod de îmbrățișare, astfel încât să nu fie încărcat prin metoda normală. selectați ESP32 Wrover Module Accesați Tools> Port și selectați portul COM la care este conectat ESP32In Tools> Partition Scheme, selectați „Huge APP (3MB No OTA)” Înainte de a încărca codul, trebuie să introduceți acreditările dvs. wifi în următoarea parte a cod: const char * ssid = "REPLACE_WITH_YOUR_SSID"; const char * password = "REPLACE_WITH_YOUR_PASSWORD"; și asigurați-vă că ați selectat modulul de cameră potrivit. alte modele și decomentați-l pe acesta: #define CAMERA_MODEL_AI_THINKER Apăsați butonul ESP32-CAM RESET de la bord Apoi, faceți clic pe butonul de încărcare pentru a încărca codul.
Pasul 7: Obținerea adresei IP
Scoateți jumper-ul conectat între GPIO0 și GND apoi, Deschideți monitorul serial cu baud rate: 115200 și apoi apăsați butonul ESP32-CAM Reset și așteptați să apară IP-ul și așteptați câteva secunde, apoi apăsați din nou reset. vezi că am primit IP-ul meu și este evidențiat în imagine.
Pasul 8: Obținerea videoclipului de streaming Wifi
Deschideți browserul și asigurați-vă că PC-ul dvs. este conectat la aceeași rețea ca ESP32 CAM și apoi tastați IP-ul în browserul dvs., apoi faceți clic pe butonul de flux și veți obține fluxul dvs. video și există câteva setări și aici, astfel încât să le puteți încerca. și obțineți și un videoclip mai bun.
Recomandat:
Noțiuni introductive despre interfața senzorului I2C ?? - Interfață MMA8451 folosind ESP32s: 8 pași
Noțiuni introductive despre interfața senzorului I2C ?? - Interfața MMA8451 folosind ESP32s: În acest tutorial, veți afla totul despre cum să porniți, să conectați și să obțineți dispozitivul I2C (accelerometru) care funcționează cu controlerul (Arduino, ESP32, ESP8266, ESP12 NodeMCU)
Noțiuni introductive despre RPLIDAR low-cost folosind Jetson Nano: 5 pași
Noțiuni introductive cu RPLIDAR low-cost Utilizarea Jetson Nano: Prezentare succintă Detectarea și Ranging-ul luminii (LiDAR) funcționează în același mod în care sunt utilizate telemetre ultrasonice cu impuls laser în locul undelor sonore. Yandex, Uber, Waymo ș.a
Noțiuni introductive despre Stm32 folosind Arduino IDE: 3 pași
Noțiuni introductive despre Stm32 folosind Arduino IDE: STM32 este o placă destul de puternică și populară, acceptată de Arduino IDE. pentru a-l programa
Noțiuni introductive despre Esp 8266 Esp-01 cu Arduino IDE - Instalarea plăcilor Esp în Arduino Ide și programarea Esp: 4 pași
Noțiuni introductive despre Esp 8266 Esp-01 cu Arduino IDE | Instalarea plăcilor Esp în Arduino Ide și programarea Esp: În acest instructables vom învăța cum să instalați plăci esp8266 în Arduino IDE și cum să programați esp-01 și să încărcați codul în acesta. aceasta și majoritatea oamenilor se confruntă cu probleme
Noțiuni introductive despre AWS IoT cu senzor de temperatură fără fir folosind MQTT: 8 pași
Noțiuni introductive despre AWS IoT cu senzor de temperatură wireless Folosind MQTT: în Instructables anterioare, am trecut prin diferite platforme cloud, cum ar fi Azure, Ubidots, ThingSpeak, Losant etc. Am folosit protocolul MQTT pentru a trimite datele senzorului în cloud în aproape toată platforma cloud. Pentru mai multe informații