Turinys:

Darbo su ESP32 CAM pradžia - Vaizdo transliacija naudojant ESP CAM per „Wifi“- ESP32 apsaugos kameros projektas: 8 žingsniai
Darbo su ESP32 CAM pradžia - Vaizdo transliacija naudojant ESP CAM per „Wifi“- ESP32 apsaugos kameros projektas: 8 žingsniai

Video: Darbo su ESP32 CAM pradžia - Vaizdo transliacija naudojant ESP CAM per „Wifi“- ESP32 apsaugos kameros projektas: 8 žingsniai

Video: Darbo su ESP32 CAM pradžia - Vaizdo transliacija naudojant ESP CAM per „Wifi“- ESP32 apsaugos kameros projektas: 8 žingsniai
Video: Управляем адресными светодиодами на ESP32, прошивка WLED, применение в Home Assistant 2024, Liepa
Anonim
Darbo su ESP32 CAM pradžia | Vaizdo transliacija naudojant ESP CAM per „Wifi“| ESP32 apsaugos kameros projektas
Darbo su ESP32 CAM pradžia | Vaizdo transliacija naudojant ESP CAM per „Wifi“| ESP32 apsaugos kameros projektas

Šiandien mes sužinosime, kaip naudoti šią naują ESP32 CAM plokštę ir kaip galime ją koduoti, naudoti kaip apsaugos kamerą ir gauti srautinį vaizdo įrašą per „Wi -Fi“.

1 žingsnis: reikalingi dalykai

Daiktai, kurių jums reikia
Daiktai, kurių jums reikia
Daiktai, kurių jums reikia
Daiktai, kurių jums reikia

Prieš pradėdami įsitikinkite, kad su savimi turite šiuos dalykus: ESP 32 CAM:

FTDI:

2 veiksmas: ESP32 „Arduino IDE“sąranka

ESP32 „Arduino IDE“sąranka
ESP32 „Arduino IDE“sąranka

Įsitikinkite, kad jūsų kompiuteryje yra „Arduino IDE“ir „Arduino IDE“įdiegėte ESP32 plokštes, o jei taip nėra, vadovaukitės šiomis mano instrukcijomis, kad ją įdiegtumėte.:

3 žingsnis: ESP32 CAM plokštės specifikacijos

ESP32 CAM plokštės specifikacijos
ESP32 CAM plokštės specifikacijos

Prieš pradėdami ką nors daryti, įsitikinkite, kad žinote ESP32 CAM plokštės specifikacijas ir kištuką ir pan., O prie to pridedamas vaizdas: žr. Toliau pateiktą informaciją ir ESP32 CAM plokštės specifikacijas: Mažiausias 802.11b/g/n „Wi-Fi“„BT SoC“modulis „Lowpower“32 bitų procesorius taip pat gali aptarnauti programų procesorių Iki 160 MHz taktinis dažnis, suvestinė skaičiavimo galia iki 600 DMIPS Integruotas 520 KB SRAM, išorinis 4MPSRAM Palaiko UART/SPI/I2C/PWM/ADC/DAC Palaiko OV2640 ir OV7670 kameras, integruota blykstės lemputė Palaikomas vaizdas „WiFI“įkėlimas Palaikyti TF kortelę Palaiko kelis miego režimus Įterptas „Lwip“ir „FreeRTOS“Palaiko STA/AP/STA+AP veikimo režimą Parama „Smart Config“/„AirKiss“technologija Parama nuoseklaus prievado vietiniams ir nuotolinės programinės įrangos atnaujinimams (FOTA) Smeigtukai, naudojami „microSD“kortelių skaitytuvui: GPIO 14: CLKGPIO 15: CMDGPIO 2: duomenys 0GPIO 4: duomenys 1 (taip pat prijungtas prie borto šviesos diodo) GPIO 12: duomenys 2GPIO 13: duomenys 3

4 žingsnis: sujunkite viską kartu

Sujunkite viską kartu
Sujunkite viską kartu

Norėdami užprogramuoti šį dalyką, mes turime prijungti FTDI/usb prie ttl, kad užprogramuotume šį dalyką, nes šioje plokštėje jo nėra. Taigi prijunkite Ftdi/usb prie ttl pagal schmatiką.

5 žingsnis: gaukite kodą

„Arduino IDE“eikite į Failas> Pavyzdžiai> ESP32> Fotoaparatas ir atidarykite „CameraWebServer“pavyzdį. ARBA galite naudoti šį nurodytą kodą, nukopijuokite šį 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" // išjungti „Brownout“problemas#include "soc/rtc_cntl_reg.h" // išjungti „Brownout“problemas# include "dl_lib.h" #include "esp_http_server.h" // Pakeiskite savo tinklo kredencialaisconst AI Mąstytojas Modelis, M5STACK PSRAM Modelis ir M5STACK BE PSRAM # define CAMERA_MODEL_AI_THINKER // # apibrėžti CAMERA_MODEL_M5STACK_PSRAM // # apibrėžti CAMERA_MODEL_M5STACK_WITHOUT_PSRAM // Nebandytas su šiuo modeliu // # apibrėžti CAMERA_MODEL_WROVER_KIT #, jei tai nurodyta (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 apibrėžta (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 apibrėžta (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 apibrėžta (CAMERA_MODEL_AI_THINKER) # define PWDN_GPIO_NUM 32 # define RESET_GPIO_NUM -1 # define XCLK_GPIO_NUM 0 # apibrėžti 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 "Fotoaparato modelis nepasirinktas" #endifstatic const char* _STREAM_CONTENT_TYPE = "multipart/x-mixed-pakeisti; border =" PART_BOUNDARY; static const char* _STREAM_BOUNDARY = "\ r / n--" PART_BOUNDARY "\ r / n "; static const char * _STREAM_PART =" Turinio tipas: image/jpeg / r / nTurinio ilgis: %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 = NULL; esp_err_t res = ESP_OK; dydis_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 (tiesa) {fb = esp_camera_fb_get (); if (! fb) {Serial.println („Nepavyko užfiksuoti kameros“); res = ESP_FAIL; } else {if (fb-> plotis> 400) {if (fb-> formatas! = PIXFORMAT_JPEG) {bool jpeg_converted = frame-j.webp

6 veiksmas: įkelkite kodą

Įkelkite kodą
Įkelkite kodą

Gavę kodą, turite įkelti kodą ir jį įkelti reikia kelių nustatymų, todėl įsitikinkite, kad įkėlimo metu atlikote šiuos veiksmus, nes jis yra apkabinimo kodas, todėl jis nebus įkeltas įprastu būdu. Eikite į Įrankiai> Lenta ir pasirinkite ESP32 Wrover Module Eikite į Tools> Port ir pasirinkite COM prievadą, prie kurio ESP32 yra prijungtas. code: const char* ssid = "REPLACE_WITH_YOUR_SSID"; const char* password = "REPLACE_WITH_YOUR_PASSWORD"; ir įsitikinkite, kad pasirinkote tinkamą fotoaparato modulį. Čia mes naudojame AI-THINKER modelį, todėl pasirinkite šį kitus modelius ir nekomentuokite šio: #define CAMERA_MODEL_AI_THINKERPaspauskite ESP32-CAM borto RESET mygtuką, tada spustelėkite įkėlimo mygtuką, kad įkeltumėte kodą.

7 veiksmas: gaukite IP

Gaunamas IP
Gaunamas IP

Pašalinkite trumpiklį, prijungtą tarp GPIO0 ir GND, tada atidarykite serijinį monitorių su perdavimo sparta: 115200 matote, aš gavau savo IP ir jis paryškintas paveikslėlyje.

8 veiksmas: „Wifi“srautinio vaizdo įrašo gavimas

„Wifi“srautinio vaizdo įrašo gavimas
„Wifi“srautinio vaizdo įrašo gavimas

Atidarykite naršyklę ir įsitikinkite, kad jūsų kompiuteris prijungtas prie to paties tinklo kaip ir ESP32 CAM, tada naršyklėje įveskite IP, tada spustelėkite srauto mygtuką ir gausite vaizdo įrašo srautą, taip pat yra keletas nustatymų, kad galėtumėte juos išbandyti ir gauti geresnį vaizdo įrašą.

Rekomenduojamas: