Оглавление:
- Шаг 1. Вещи, которые вам нужны
- Шаг 2: Настройка ESP32 Arduino IDE
- Шаг 3. Технические характеристики платы CAM ESP32
- Шаг 4: соедините все вместе
- Шаг 5: Получение кода
- Шаг 6. Загрузите код
- Шаг 7: Получение IP
- Шаг 8: получение потокового видео по Wi-Fi
Видео: Начало работы с ESP32 CAM - Потоковое видео с использованием ESP CAM через Wi-Fi - Проект камеры безопасности ESP32: 8 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:51
Сегодня мы узнаем, как использовать эту новую плату ESP32 CAM и как мы можем ее закодировать и использовать в качестве камеры безопасности и получать потоковое видео через Wi-Fi.
Шаг 1. Вещи, которые вам нужны
Прежде чем мы начнем, убедитесь, что у вас есть следующие вещи: ESP 32 CAM:
FTDI:
Шаг 2: Настройка ESP32 Arduino IDE
Убедитесь, что у вас есть Arduino IDE на вашем ПК и вы установили платы ESP32 в свою Arduino IDE, и если это не так, пожалуйста, следуйте приведенным ниже моим инструкциям, чтобы установить его.:
Шаг 3. Технические характеристики платы CAM ESP32
Прежде чем что-либо делать, убедитесь, что вы знаете спецификацию, распиновку и т. Д. Платы 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
Удалите перемычку, подключенную между GPIO0 и GND, затем откройте Serial Monitor со скоростью передачи: 115200, затем нажмите кнопку сброса ESP32-CAM Reset и дождитесь появления IP-адреса, подождите несколько секунд, а затем снова нажмите сброс. смотри, я получил свой IP, и он выделен на картинке.
Шаг 8: получение потокового видео по Wi-Fi
Откройте браузер и убедитесь, что ваш компьютер подключен к той же сети, что и ESP32 CAM, а затем введите IP-адрес в браузере, затем нажмите кнопку потока, и вы получите свой видеопоток, и здесь также есть несколько настроек, чтобы вы могли попробовать их. и получите лучшее видео.
Рекомендуемые:
Начало работы с интерфейсом датчика I2C ?? - Интерфейс вашего MMA8451 с использованием ESP32: 8 шагов
Начало работы с интерфейсом датчика I2C ?? - Интерфейс вашего MMA8451 с использованием ESP32: в этом руководстве вы узнаете все о том, как запустить, подключить и получить устройство I2C (акселерометр), работающее с контроллером (Arduino, ESP32, ESP8266, ESP12 NodeMCU)
Начало работы с Digispark Attiny85 с использованием Arduino IDE: 4 шага
Начало работы с Digispark Attiny85 с использованием Arduino IDE: Digispark - это плата для разработки микроконтроллеров на базе Attiny85, аналогичная линейке Arduino, только более дешевая, компактная и немного менее мощная. Благодаря целому ряду экранов для расширения его функциональности и возможности использовать знакомый Arduino ID
Начало работы с Stm32 с использованием Arduino IDE: 3 шага
Начало работы с Stm32 с использованием Arduino IDE: STM32 - довольно мощная и популярная плата, поддерживаемая Arduino IDE, но для ее использования вам необходимо установить платы для stm32 в Arduino IDE, поэтому в этой инструкции я расскажу, как устанавливать платы stm32 и как запрограммировать это
Начало работы с Esp 8266 Esp-01 с Arduino IDE - Установка плат Esp в Arduino Ide и программирование Esp: 4 шага
Начало работы с Esp 8266 Esp-01 с Arduino IDE | Установка плат Esp в Arduino Ide и программирование Esp: в этих инструкциях мы узнаем, как установить платы esp8266 в Arduino IDE и как программировать esp-01 и загружать в него код. Поскольку платы esp настолько популярны, я подумал о том, чтобы исправить инструкции для это и большинство людей сталкиваются с проблемой
Начало работы с AWS IoT с беспроводным датчиком температуры с использованием MQTT: 8 шагов
Начало работы с AWS IoT с беспроводным датчиком температуры с использованием MQTT: в предыдущих инструкциях мы рассмотрели различные облачные платформы, такие как Azure, Ubidots, ThingSpeak, Losant и т. Д. вся облачная платформа. Для получения дополнительной информации