Inhoudsopgave:

Aan de slag met ESP32 CAM - Video streamen met ESP CAM via wifi - ESP32-beveiligingscameraproject - Ajarnpa
Aan de slag met ESP32 CAM - Video streamen met ESP CAM via wifi - ESP32-beveiligingscameraproject - Ajarnpa

Video: Aan de slag met ESP32 CAM - Video streamen met ESP CAM via wifi - ESP32-beveiligingscameraproject - Ajarnpa

Video: Aan de slag met ESP32 CAM - Video streamen met ESP CAM via wifi - ESP32-beveiligingscameraproject - Ajarnpa
Video: ESP32-CAM Video Streaming Camera that works with Node-RED and Home Assistant 2024, Juli-
Anonim
Aan de slag met ESP32 CAM | Video streamen met ESP CAM via wifi | ESP32 Beveiligingscamera-project
Aan de slag met ESP32 CAM | Video streamen met ESP CAM via wifi | ESP32 Beveiligingscamera-project

Vandaag zullen we leren hoe we dit nieuwe ESP32 CAM-bord kunnen gebruiken en hoe we het kunnen coderen en gebruiken als een beveiligingscamera en een streaming video via wifi kunnen krijgen.

Stap 1: Dingen die je nodig hebt

Dingen die je nodig hebt
Dingen die je nodig hebt
Dingen die je nodig hebt
Dingen die je nodig hebt

Voordat we beginnen, zorg ervoor dat u de volgende dingen bij u heeft: ESP 32 CAM:https://www.utsource.net/itm/p/8673370.html

FTDI:

Stap 2: ESP32 Arduino IDE-installatie

ESP32 Arduino IDE-configuratie
ESP32 Arduino IDE-configuratie

Zorg ervoor dat je Arduino IDE op je pc hebt en dat je ESP32-kaarten in je Arduino IDE hebt geïnstalleerd, en als dit niet het geval is, volg dan de volgende instructies van mij om het te installeren.:

Stap 3: Specificaties ESP32 CAM-kaart

ESP32 CAM-kaartspecificaties
ESP32 CAM-kaartspecificaties

Voordat we iets gaan doen, moet u ervoor zorgen dat u de specificatie en pinout enz. van het ESP32 CAM-bord kent, en voor die pinout-afbeelding is toegevoegd, raadpleeg dat en de specificaties van het ESP32 CAM-bord worden hieronder gegeven: De kleinste 802.11b/g/n Wi-Fi BT SoC-moduleLowpower 32-bit CPU, kan ook de applicatieprocessor bedienenTot 160MHz kloksnelheid, samenvatting rekenkracht tot 600 DMIPSIngebouwde 520 KB SRAM, externe 4MPSRAMOndersteunt UART/SPI/I2C/PWM/ADC/DACSupport OV2640 en OV7670 camera's, ingebouwde flitslampOndersteuning afbeelding WiFI uploadOndersteuning TF-kaartOndersteunt meerdere slaapstandenIngebouwde Lwip en FreeRTOSOndersteunt STA/AP/STA+AP bedieningsmodusOndersteuning Smart Config/AirKiss-technologieOndersteuning voor seriële poort lokale en externe firmware-upgrades (FOTA)Pinnen gebruikt voor microSD-kaartlezer:GPIO 14: CLKGPIO 15: CMDGPIO 2: Data 0GPIO 4: Data 1 (ook aangesloten op de on-board LED)GPIO 12: Data 2GPIO 13: Data 3

Stap 4: Verbind alles met elkaar

Verbind alles met elkaar
Verbind alles met elkaar

Om dit ding te programmeren, moeten we een FTDI/usb aansluiten op ttl om dit ding te programmeren, omdat dit bord er geen heeft. Sluit de Ftdi/usb dus aan op ttl volgens schmatics.

Stap 5: De code verkrijgen

Ga in uw Arduino IDE naar Bestand > Voorbeelden > ESP32 > Camera en open het CameraWebServer-voorbeeld. OF u kunt de volgende gegeven code gebruiken, kopieer de volgende code: #include "esp_camera.h"#include #include "esp_timer.h" #include "img_converters.h"#include "Arduino.h"#include "fb_gfx.h"#include "soc/soc.h" // schakel brownout-problemen uit#include "soc/rtc_cntl_reg.h" // schakel brownout-problemen uit# include "dl_lib.h"#include "esp_http_server.h"//Vervang door uw netwerkreferentiesconst char* ssid = "REPLACE_WITH_YOUR_SSID";const char* password = "REPLACE_WITH_YOUR_PASSWORD";#define PART_BOUNDARY "12345678900000098765432 het AI Thinker-model, M5STACK PSRAM-model en M5STACK ZONDER PSRAM#define CAMERA_MODEL_AI_THINKER//#define CAMERA_MODEL_M5STACK_PSRAM//#define CAMERA_MODEL_M5STACK_WITHOUT_PSRAM// Niet getest met dit model//#define_CAMERA_MODEL#define_CAMERA_MOIT 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 gedefinieerd (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 gedefinieerd (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_NUM21#elif gedefinieerd(definieert 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 "Cameramodel niet geselecteerd"#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 = "Inhoudstype: image/jpeg\r\nInhoudslengte: %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){ return res; } while(true){ fb = esp_camera_fb_get(); if (!fb) { Serial.println ("Camera-opname mislukt"); res = ESP_FAIL; } else { if(fb->breedte > 400){ if(fb->format!= PIXFORMAT_JPEG){ bool jpeg_converted = frame2jpg(fb, 80, &_jpg_buf, &_jpg_buf_len); esp_camera_fb_return(fb); fb = NULL; if(!jpeg_converted){ Serial.println("JPEG-compressie mislukt"); res = ESP_FA

Stap 6: Upload de code

Upload de code
Upload de code

Nadat je de code hebt ontvangen, moet je de code uploaden en er zijn weinig instellingen nodig om de code te uploaden, dus zorg ervoor dat je het volgende hebt gedaan tijdens het uploaden, want het is een knuffelcode, zodat deze niet op de normale manier wordt geüpload. Ga naar Tools> Board en selecteer ESP32 Wrover ModuleGa naar Tools> Poort en selecteer de COM-poort waarmee de ESP32 is verbonden. Selecteer in Tools> Partition Scheme "Enorme APP (3MB No OTA)"Voordat u de code uploadt, moet u uw wifi-inloggegevens invoeren in het volgende deel van code:const char* ssid = "REPLACE_WITH_YOUR_SSID";const char* password = "REPLACE_WITH_YOUR_PASSWORD";en zorg ervoor dat u de juiste cameramodule selecteert. Omdat we hier het AI-THINKER-model gebruiken, selecteert u het volgende. andere modellen en verwijder deze:#define CAMERA_MODEL_AI_THINKERDruk op de ingebouwde RESET-knop van de ESP32-CAM Klik vervolgens op de uploadknop om de code te uploaden.

Stap 7: Het IP verkrijgen

Het IP verkrijgen
Het IP verkrijgen

Verwijder de jumper die is aangesloten tussen GPIO0 en GND en open vervolgens de seriële monitor met de baudrate: 115200 en druk vervolgens op de ESP32-CAM Reset-knop en wacht tot het IP verschijnt en wacht een paar seconden en druk vervolgens opnieuw op reset. Zoals je kunt zie ik heb mijn IP en het is gemarkeerd in de afbeelding.

Stap 8: De Wifi Streaming Video verkrijgen

De wifi-streamingvideo ophalen
De wifi-streamingvideo ophalen

Open uw browser en zorg ervoor dat uw pc is verbonden met hetzelfde netwerk als ESP32 CAM en typ vervolgens het IP-adres in uw browser en klik vervolgens op de stream-knop en u krijgt uw videostream en er zijn hier ook enkele instellingen, zodat u die kunt proberen en krijg ook een betere video.

Aanbevolen: