Оглавление:

Начало работы с ESP32 CAM - Потоковое видео с использованием ESP CAM через Wi-Fi - Проект камеры безопасности ESP32: 8 шагов
Начало работы с ESP32 CAM - Потоковое видео с использованием ESP CAM через Wi-Fi - Проект камеры безопасности ESP32: 8 шагов

Видео: Начало работы с ESP32 CAM - Потоковое видео с использованием ESP CAM через Wi-Fi - Проект камеры безопасности ESP32: 8 шагов

Видео: Начало работы с ESP32 CAM - Потоковое видео с использованием ESP CAM через Wi-Fi - Проект камеры безопасности ESP32: 8 шагов
Видео: esp32cam.ESP32 самодельная wifi камера, как она работает? 2024, Июль
Anonim
Начало работы с ESP32 CAM | Потоковое видео с использованием ESP CAM через Wi-Fi | Проект камеры безопасности ESP32
Начало работы с ESP32 CAM | Потоковое видео с использованием ESP CAM через Wi-Fi | Проект камеры безопасности ESP32

Сегодня мы узнаем, как использовать эту новую плату ESP32 CAM и как мы можем ее закодировать и использовать в качестве камеры безопасности и получать потоковое видео через Wi-Fi.

Шаг 1. Вещи, которые вам нужны

Вещи, которые нужно
Вещи, которые нужно
Вещи, которые нужно
Вещи, которые нужно

Прежде чем мы начнем, убедитесь, что у вас есть следующие вещи: ESP 32 CAM:

FTDI:

Шаг 2: Настройка ESP32 Arduino IDE

Настройка ESP32 Arduino IDE
Настройка ESP32 Arduino IDE

Убедитесь, что у вас есть Arduino IDE на вашем ПК и вы установили платы ESP32 в свою Arduino IDE, и если это не так, пожалуйста, следуйте приведенным ниже моим инструкциям, чтобы установить его.:

Шаг 3. Технические характеристики платы CAM ESP32

Технические характеристики платы ESP32 CAM
Технические характеристики платы ESP32 CAM

Прежде чем что-либо делать, убедитесь, что вы знаете спецификацию, распиновку и т. Д. Платы ESP32 CAM, и для этого изображения распиновки добавлено, пожалуйста, обратитесь к ней, а характеристики платы ESP32 CAM приведены ниже: Самый маленький 802.11b / g / n Wi-Fi Модуль BT SoC, 32-разрядный процессор с низким энергопотреблением, также может обслуживать процессор приложений. Тактовая частота до 160 МГц, суммарная вычислительная мощность до 600 DMIPS. Встроенная 520 КБ SRAM, внешняя 4MPSRAM. Поддержка UART / SPI / I2C / PWM / ADC / DAC. Поддержка камер OV2640 и OV7670. встроенная лампа-вспышка Поддержка изображения Загрузка WiFI Поддержка TF-карты Поддержка нескольких спящих режимов Встроенный Lwip и FreeRTO Поддержка режима работы STA / AP / STA + AP Поддержка технологии Smart Config / AirKiss Поддержка последовательного порта для локального и удаленного обновления прошивки (FOTA) Контакты для устройства чтения карт памяти microSD: GPIO 14: CLKGPIO 15: CMDGPIO 2: Данные 0 GPIO 4: Данные 1 (также подключены к встроенному светодиоду) GPIO 12: Данные 2 GPIO 13: Данные 3

Шаг 4: соедините все вместе

Соедините все вместе
Соедините все вместе

Чтобы запрограммировать эту вещь, нам нужно подключить FTDI / usb к ttl, чтобы запрограммировать эту вещь, потому что на этой плате его нет. Поэтому подключите Ftdi / usb к ttl в соответствии с схемой.

Шаг 5: Получение кода

В вашей Arduino IDE перейдите в Файл> Примеры> ESP32> Камера и откройте пример CameraWebServer. ИЛИ вы можете использовать приведенный ниже код, скопируйте следующий код: #include "esp_camera.h" #include #include "esp_timer.h" #include "img_converters.h" #include "Arduino.h" #include "fb_gfx.h" #include "soc / soc.h" // отключение проблем с отключением # include "soc / rtc_cntl_reg.h" // отключение проблем с отключением # include "dl_lib.h" #include "esp_http_server.h" // Замените на свои сетевые учетные данныеconst char * ssid = "REPLACE_WITH_YOUR_SSID"; const char * password = "REPLACE_WITH_YOUR_PASSWORD"; # define PART_BOUNDARY "12345678932000000 ИИ Мыслитель модель, 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 #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 # Элиф определено (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 #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 # Элиф определено (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-replace; Border =" 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 = 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 (req, _STREAM_CONTENT_TYPE); if (res! = ESP_OK) {возвращаем res; } while (истина) {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 Module Перейдите в Инструменты> Порт и выберите COM-порт, к которому подключен ESP32. В Инструменты> Схема разделов выберите «Огромное приложение (3 МБ без OTA)». Перед загрузкой кода вам необходимо ввести свои учетные данные Wi-Fi в следующей части code: const char * ssid = "REPLACE_WITH_YOUR_SSID"; const char * password = "REPLACE_WITH_YOUR_PASSWORD"; и убедитесь, что вы выбрали правильный модуль камеры. Так как здесь мы используем модель AI-THINKER, выберите следующее Итак, прокомментируйте все другие модели и раскомментируйте эту: #define CAMERA_MODEL_AI_THINKER Нажмите кнопку RESET на борту ESP32-CAM, затем нажмите кнопку загрузки, чтобы загрузить код.

Шаг 7: Получение IP

Получение IP
Получение IP

Удалите перемычку, подключенную между GPIO0 и GND, затем откройте Serial Monitor со скоростью передачи: 115200, затем нажмите кнопку сброса ESP32-CAM Reset и дождитесь появления IP-адреса, подождите несколько секунд, а затем снова нажмите сброс. смотри, я получил свой IP, и он выделен на картинке.

Шаг 8: получение потокового видео по Wi-Fi

Получение потокового видео по Wi-Fi
Получение потокового видео по Wi-Fi

Откройте браузер и убедитесь, что ваш компьютер подключен к той же сети, что и ESP32 CAM, а затем введите IP-адрес в браузере, затем нажмите кнопку потока, и вы получите свой видеопоток, и здесь также есть несколько настроек, чтобы вы могли попробовать их. и получите лучшее видео.

Рекомендуемые: