Բովանդակություն:

Սկսելով ESP32 CAM - - ով Հոսքային տեսանյութ ESP CAM- ի միջոցով WiFi- ով - ESP32 Անվտանգության տեսախցիկի նախագիծ. 8 քայլ
Սկսելով ESP32 CAM - - ով Հոսքային տեսանյութ ESP CAM- ի միջոցով WiFi- ով - ESP32 Անվտանգության տեսախցիկի նախագիծ. 8 քայլ

Video: Սկսելով ESP32 CAM - - ով Հոսքային տեսանյութ ESP CAM- ի միջոցով WiFi- ով - ESP32 Անվտանգության տեսախցիկի նախագիծ. 8 քայլ

Video: Սկսելով ESP32 CAM - - ով Հոսքային տեսանյութ ESP CAM- ի միջոցով WiFi- ով - ESP32 Անվտանգության տեսախցիկի նախագիծ. 8 քայլ
Video: How to setup and use ESP32 Cam with Micro USB WiFi Camera 2024, Հուլիսի
Anonim
Սկսելով ESP32 CAM | - ով Հոսքային տեսանյութ ՝ ESP CAM- ի միջոցով WiFi- ով | ESP32 Անվտանգության տեսախցիկի նախագիծ
Սկսելով ESP32 CAM | - ով Հոսքային տեսանյութ ՝ ESP CAM- ի միջոցով WiFi- ով | ESP32 Անվտանգության տեսախցիկի նախագիծ

Այսօր մենք կսովորենք, թե ինչպես օգտագործել այս նոր ESP32 CAM տախտակը և ինչպես կարող ենք այն կոդավորել և օգտագործել որպես անվտանգության տեսախցիկ և ստանալ հոսքային տեսանյութ wifi- ով:

Քայլ 1: Ձեզ անհրաժեշտ բաներ

Ձեզ անհրաժեշտ բաներ
Ձեզ անհրաժեշտ բաներ
Ձեզ անհրաժեշտ բաներ
Ձեզ անհրաժեշտ բաներ

Նախքան սկսելը, համոզվեք, որ ձեզ մոտ կան հետևյալ բաները. ESP 32 CAM:

FTDI:

Քայլ 2: ESP32 Arduino IDE կարգավորում

ESP32 Arduino IDE կարգավորում
ESP32 Arduino IDE կարգավորում

Համոզվեք, որ ձեր համակարգչում ունեք Arduino IDE և ձեր Arduino IDE- ում տեղադրել եք ESP32 վահանակներ, և եթե դա այդպես չէ, ապա այն տեղադրելու համար հետևեք իմ հետևյալ հրահանգներին: ՝

Քայլ 3: ESP32 CAM տախտակի բնութագրերը

ESP32 CAM տախտակի բնութագրերը
ESP32 CAM տախտակի բնութագրերը

Նախքան որևէ բան անելը, համոզվեք, որ դուք գիտեք ESP32 CAM տախտակի տեխնիկական բնութագիրը և այլն, և որ այդ pinout պատկերը ավելացված է, խնդրում ենք անդրադառնալ դրան և ESP32 CAM տախտակի տեխնիկական պայմաններին տրված են ստորև. Ամենափոքր 802.11b/g/n Wi-Fi BT SoC մոդուլ owածր էներգիա 32-բիթանոց պրոցեսոր, կարող է նաև ծառայել ծրագրի պրոցեսորին մինչև 160 ՄՀց ժամաչափի արագություն, մինչև 600 DMIPS հաշվարկային հզորություն Ներկառուցված 520 ԿԲ SRAM, արտաքին 4MPSRAM աջակցում է UART/SPI/I2C/PWM/ADC/DAC Աջակցություն OV2640 և OV76 տեսախցիկներին ներկառուցված ֆլեշ լամպ Աջակցող պատկեր WiFI- ի վերբեռնում Աջակցում է TF քարտին Աջակցում է բազմաթիվ քնի ռեժիմներին Ներդրված Lwip և FreeRTOS Աջակցում է STA/AP/STA+AP գործառնական ռեժիմին Աջակցություն Smart Config/AirKiss տեխնոլոգիային Սերիական պորտի տեղական և հեռակա որոնվածի արդիականացման համար աջակցում (FOTO) PIN. microSD քարտի համար: CLKGPIO 15: CMDGPIO 2: Տվյալներ 0GPIO 4: Տվյալներ 1 (նաև միացված է բորտում LED- ին) GPIO 12: Տվյալներ 2GPIO 13: Տվյալներ 3

Քայլ 4: Միացրեք ամեն ինչ միասին

Միացրեք ամեն ինչ միասին
Միացրեք ամեն ինչ միասին

Այս բանը ծրագրավորելու համար մենք պետք է FTDI/usb- ը միացնենք ttl- ին ՝ այս բանը ծրագրավորելու համար, որովհետև այս տախտակը չունի մեկը: Այսպիսով, Ftdi/usb- ը ttl- ին միացրեք ՝ ըստ schmatics- ի:

Քայլ 5: Ստանալ կոդը

Ձեր Arduino IDE- ում գնացեք Ֆայլ> Օրինակներ> ESP32> Տեսախցիկ և բացեք CameraWebServer- ի օրինակը: Կամ կարող եք օգտագործել հետևյալ տրված ծածկագիրը, պատճենել հետևյալ ծածկագիրը ՝ #include "esp_camera.h" #include #include "esp_timer.h" #ներառել "img_converters.h" #include "Arduino.h" #include "fb_gfx.h" #include "soc/soc.h" // անջատել brownout խնդիրները#include "soc/rtc_cntl_reg.h" // անջատել brownout խնդիրները# ներառել «dl_lib.h»#ներառել «esp_http_server.h» // Փոխարինել ձեր ցանցի հավատարմագրերով char* ssid = "REPLACE_WITH_YOUR_SSID"; const char* password = "REPLACE_WITH_YOUR_PASSWORD";#define 12 AI, Thinker մոդել, M5STACK PSRAM մոդել եւ M5STACK ԱՌԱՆՑ PSRAM # սահմանել CAMERA_MODEL_AI_THINKER // # սահմանել CAMERA_MODEL_M5STACK_PSRAM // # սահմանել CAMERA_MODEL_M5STACK_WITHOUT_PSRAM // Չի փորձարկվում այս մոդելի // # սահմանել CAMERA_MODEL_WROVER_KIT # եթե սահմանված (CAMERA_MODEL_WROVER_KIT) #define PWDN_GPIO_NUM -1 #define RESET_GPIO_NUM -1 #սահմանեք 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 # Էլիֆ սահմանված (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 # Էլիֆ սահմանված (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 #սահմանել Y9_GPIO_NUM 19 #սահմանել Y8_GPIO_NUM 36 #սահմանել Y7_GPIO_NUM 18 #սահմանել 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 # Էլիֆ սահմանված (CAMERA_MODEL_AI_THINKER) #define PWDN_GPIO_NUM 32 #define RESET_GPIO_NUM -1 #define XCLK_GPIO_NUM 0 # սահմանել 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 "Տեսախցիկի մոդելը ընտրված չէ" #endifstatic const char* _STREAM_CONTENT_TYPE = "multipart/x-mixed-փոխարինել; սահման =" PART_BOUNDARY; static const char* _STREAM_BOUNDARY = "\ r / n--" PART_BOUNDARY "\ r / n "; static const char * _STREAM_PART =" Բովանդակության տեսակը ՝ image/jpeg / r / n Բովանդակություն-երկարություն ՝ %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; size_t _jpg_buf_len = 0; uint8_t * _jpg_buf = NULL; char * part_buf [64]; res = httpd_resp_set_type (պահանջ, _STREAM_CONTENT_TYPE); եթե (res! = ESP_OK) {վերադարձնել res; } while (true) {fb = esp_camera_fb_get (); if (! fb) {Serial.println ("Տեսախցիկը չի հաջողվել նկարահանել"); res = ESP_FAIL; } else {if (fb-> width> 400) {if (fb-> format! = PIXFORMAT_JPEG) {bool jpeg_converted = frame-j.webp

Քայլ 6: Վերբեռնեք ծածկագիրը

Վերբեռնեք ծածկագիրը
Վերբեռնեք ծածկագիրը

Կոդ ստանալուց հետո դուք պետք է վերբեռնեք ծածկագիրը, և այն պահանջում է մի քանի պարամետր ՝ ծածկագիրը վերբեռնելու համար, այնպես որ համոզվեք, որ բեռնման ընթացքում կատարել եք հետևյալը, քանի որ դա գրկած ծածկագիր է, այնպես որ սովորական մեթոդով չի վերբեռնվի: Գնացեք Գործիքներ> Տախտակ և ընտրեք ESP32 Wrover մոդուլ Գնացեք Գործիքներ> Պորտ և ընտրեք COM նավահանգիստը, որին միացված է ESP32- ը Գործիքներ> Բաժանման սխեմա, ընտրեք «Huge APP (3MB No OTA)« Կոդը վերբեռնելուց առաջ դուք պետք է մուտքագրեք ձեր Wi -Fi հավատարմագրերը հետևյալ մասում. ծածկագիր ՝ const char* ssid = "REPLACE_WITH_YOUR_SSID"; const char* գաղտնաբառ = "REPLACE_WITH_YOUR_PASSWORD"; և համոզվեք, որ ընտրել եք տեսախցիկի ճիշտ մոդուլը: Քանի որ այստեղ մենք օգտագործում ենք AI-THINKER մոդելը, այնպես որ ընտրեք հետևյալը. այլ մոդելներ և մեկնաբանեք սա.

Քայլ 7: IP- ի ձեռքբերում

IP- ի ձեռքբերում
IP- ի ձեռքբերում

Հեռացրեք GPIO0- ի և GND- ի միջև միացված jumper- ը, այնուհետև բացեք Serial Monitor- ը baud rate- ով `115200, այնուհետև սեղմեք ESP32-CAM Reset կոճակը և սպասեք IP- ի հայտնվելուն և սպասեք մի քանի վայրկյան, այնուհետև նորից հարվածեք reset: Ինչպես կարող եք տես, ես ստացել եմ իմ IP- ն և այն ընդգծված է պատկերում:

Քայլ 8: Ստացեք Wifi հոսքային տեսանյութ

Ինչպես ստանալ Wifi հոսքային տեսանյութ
Ինչպես ստանալ Wifi հոսքային տեսանյութ

Բացեք ձեր դիտարկիչը և համոզվեք, որ ձեր համակարգիչը միացված է նույն ցանցին, ինչ ESP32 CAM- ը, այնուհետև մուտքագրեք IP- ը ձեր դիտարկիչում, այնուհետև կտտացրեք հոսքի կոճակին և կստանաք ձեր տեսահոսքը, և այստեղ նույնպես կան մի քանի կարգավորումներ, որպեսզի կարողանաք դրանք փորձել: և ստացեք նաև ավելի լավ տեսանյութ: