Spisu treści:

Pierwsze kroki z ESP32 CAM - Przesyłanie strumieniowe wideo za pomocą ESP CAM przez Wifi - Projekt kamery bezpieczeństwa ESP32: 8 kroków
Pierwsze kroki z ESP32 CAM - Przesyłanie strumieniowe wideo za pomocą ESP CAM przez Wifi - Projekt kamery bezpieczeństwa ESP32: 8 kroków

Wideo: Pierwsze kroki z ESP32 CAM - Przesyłanie strumieniowe wideo za pomocą ESP CAM przez Wifi - Projekt kamery bezpieczeństwa ESP32: 8 kroków

Wideo: Pierwsze kroki z ESP32 CAM - Przesyłanie strumieniowe wideo za pomocą ESP CAM przez Wifi - Projekt kamery bezpieczeństwa ESP32: 8 kroków
Wideo: ESP32 Turorial 1 - Introduction to SunFounder's ESP32 IoT Learnig kit Software and Arduino IDE 2024, Lipiec
Anonim
Pierwsze kroki z ESP32 CAM | Przesyłanie strumieniowe wideo za pomocą ESP CAM przez Wifi | Projekt kamery bezpieczeństwa ESP32
Pierwsze kroki z ESP32 CAM | Przesyłanie strumieniowe wideo za pomocą ESP CAM przez Wifi | Projekt kamery bezpieczeństwa ESP32

Dzisiaj dowiemy się, jak korzystać z tej nowej płyty ESP32 CAM i jak możemy ją zakodować i wykorzystać jako kamerę bezpieczeństwa i uzyskać strumieniowe wideo przez Wi-Fi.

Krok 1: Rzeczy, których potrzebujesz

Rzeczy, których potrzebujesz
Rzeczy, których potrzebujesz
Rzeczy, których potrzebujesz
Rzeczy, których potrzebujesz

Zanim zaczniemy upewnij się, że masz przy sobie następujące rzeczy: ESP 32 CAM:https://www.utsource.net/itm/p/8673370.html

FTDI:

Krok 2: Konfiguracja Arduino IDE ESP32

Konfiguracja Arduino IDE ESP32
Konfiguracja Arduino IDE ESP32

Upewnij się, że masz Arduino IDE na swoim komputerze i zainstalowałeś płyty ESP32 w swoim Arduino IDE, a jeśli tak nie jest, postępuj zgodnie z poniższymi instrukcjami, aby je zainstalować.:

Krok 3: Dane techniczne płyty CAM ESP32

Specyfikacja płyty CAM ESP32
Specyfikacja płyty CAM ESP32

Zanim zaczniemy cokolwiek robić, upewnij się, że znasz specyfikację i pinout itp. płyty ESP32 CAM, a dla tego obrazu pinoutów jest dodany, zapoznaj się z tym, a specyfikacje płyty ESP32 CAM są podane poniżej: Najmniejszy 802.11b/g/n Wi-Fi Moduł BT SoC 32-bitowy procesor o niskim poborze mocy, może również obsługiwać procesor aplikacji Do 160 MHz, sumaryczna moc obliczeniowa do 600 DMIPS Wbudowana 520 KB SRAM, zewnętrzne 4MPSRAM Obsługuje kamery UART/SPI/I2C/PWM/ADC/DACSupport OV2640 i OV7670, wbudowana lampa błyskowaObsługa obrazu Przesyłanie Wi-FiObsługa karty TFObsługa wielu trybów uśpieniaWbudowany Lwip i FreeRTOSSObsługa trybu pracy STA/AP/STA+APObsługa technologii Smart Config/AirKissObsługa lokalnych i zdalnych aktualizacji oprogramowania układowego portu szeregowego (FOTA)Styki używane do czytnika kart microSD:GPIO 14: CLKGPIO 15: CMDGPIO 2: Dane 0GPIO 4: Dane 1 (również podłączone do wbudowanej diody LED) GPIO 12: Dane 2GPIO 13: Dane 3

Krok 4: Połącz wszystko razem

Połącz wszystko razem
Połącz wszystko razem

Aby zaprogramować to, musimy podłączyć FTDI/usb do ttl, aby zaprogramować to, ponieważ ta płyta nie ma takiego. Więc podłącz FTDI/usb do ttl zgodnie ze schmatics.

Krok 5: Uzyskanie kodu

W swoim Arduino IDE przejdź do Plik > Przykłady > ESP32 > Kamera i otwórz przykład CameraWebServer. LUB możesz użyć następującego podanego kodu, skopiuj następujący kod: #include "esp_camera.h"#include #include "esp_timer.h" #include "img_converters.h"#include "Arduino.h"#include "fb_gfx.h"#include "soc/soc.h" //wyłączenie problemów z brakiem prądu#include "soc/rtc_cntl_reg.h" //wyłączenie problemów z brakiem prądu# include "dl_lib.h"#include "esp_http_server.h"//Zastąp danymi sieciowymiconst char* ssid = "REPLACE_WITH_YOUR_SSID";const char* password = "REPLACE_WITH_YOUR_PASSWORD";#define PART_BOUNDARY "12345765432100000098" model AI Thinker, model M5STACK PSRAM i M5STACK BEZ PSRAM#define CAMERA_MODEL_AI_THINKER//#define CAMERA_MODEL_M5STACK_PSRAM//#define CAMERA_MODEL_M5STACK_WITHOUT_PSRAM// Nie testowano z tym modelem//#define_ RESET_GPIO_NUM -1 #definiuj 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_NUM19 #define Y4_GPIO3_NUMIO_ #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_NUM25 #define SIOC_GPIO_NUM 23 #define YNUMIO_GPIO7 #define YNUMIO_GPIO7 #define YNUMIO_GPIO7 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 defined(CAMERA_MODEL_M5STACK_WITHOUT_PSRAM) #define_NUMIOKRESET_#define_NUMIOKDR 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#elf define(CAMERA_NUMIODNDN_RESET_CAMERA_NUMIODn 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 21 #define Y4_GPIO_NUM 19 #define Y3_GPIO_NUMIO2 22#else #error "Nie wybrano modelu aparatu"#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) { kamera_fb_t * f b = NULL; esp_err_t res = ESP_OK; size_t _jpg_buf_len = 0; uint8_t * _jpg_buf = NULL; char * część_buf[64]; res = httpd_resp_set_type(req, _STREAM_CONTENT_TYPE); if(res != ESP_OK){ return res; } while(prawda){ fb = esp_camera_fb_get(); if (!fb) { Serial.println("Przechwytywanie kamery nie powiodło się"); res = ESP_FAIL; } else { if(fb->szerokość > 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("Kompresja JPEG nie powiodła się"); res = ESP_FA

Krok 6: Prześlij kod

Prześlij kod
Prześlij kod

Po otrzymaniu kodu musisz przesłać kod i wymaga to kilku ustawień, aby przesłać kod, więc upewnij się, że wykonałeś następujące czynności podczas przesyłania, ponieważ jest to kod przytulania, więc nie zostanie przesłany normalną metodą. Przejdź do Narzędzia> Tablica i wybierz ESP32 Wrover Module Przejdź do Tools > Port i wybierz port COM, do którego podłączony jest ESP32. W Tools > Partition Scheme, wybierz "Huge APP (3MB No OTA)" Przed przesłaniem kodu musisz wprowadzić swoje dane uwierzytelniające wifi w następnej części code:const char* ssid = "REPLACE_WITH_YOUR_SSID";const char* password = "REPLACE_WITH_YOUR_PASSWORD";i upewnij się, że wybierasz właściwy moduł kamery. Ponieważ tutaj używamy modelu AI-THINKER, wybierz następujące inne modele i odkomentuj ten:#define CAMERA_MODEL_AI_THINKERNaciśnij przycisk RESET na płycie ESP32-CAMNastępnie kliknij przycisk przesyłania, aby przesłać kod.

Krok 7: Uzyskanie adresu IP

Uzyskiwanie adresu IP
Uzyskiwanie adresu IP

Usuń zworkę podłączoną między GPIO0 i GND, następnie otwórz monitor szeregowy z szybkością transmisji: 115200, a następnie naciśnij przycisk resetowania ESP32-CAM i poczekaj na pojawienie się adresu IP i poczekaj kilka sekund, a następnie ponownie naciśnij reset. zobacz, mam mój adres IP i jest podświetlony na obrazku.

Krok 8: Uzyskanie transmisji strumieniowej wideo przez Wi-Fi

Pobieranie strumieniowego wideo Wi-Fi
Pobieranie strumieniowego wideo Wi-Fi

Otwórz przeglądarkę i upewnij się, że komputer jest podłączony do tej samej sieci, co ESP32 CAM, a następnie wpisz adres IP w przeglądarce, a następnie kliknij przycisk strumienia, a otrzymasz strumień wideo i jest tu również kilka ustawień, więc możesz je wypróbować i uzyskaj lepszy film.

Zalecana: