Модуль Arduino ESP32-CAM WIFI Bluetooth с камерой OV2640

 Модуль Arduino ESP32-CAM WIFI Bluetooth с камерой OV2640Cоздание системы видеонаблюдения на основе модуля ESP32-CAM с распознаванием лиц. Можно использовать, как систему безопасности. ESP32-CAM маленький модуль камеры с чипом ESP32-S. На основе данного модуля просто создать систему компьютерного зрения с функцией распознавания лиц.

 

Модуль ESP32-CAM создан на основе микросхемы ESP32-S. К нему подключается камера OV2640. Можно подключить карту памяти формата micro SD для хранения  снимков с камеры и различных файлов.

Модуль ESP32-CAM находит широкое применение в различных проектах интернета вещей (IoT). Он может использоваться в системах обнаружения лиц в офисах, школах и других охраняемых зонах, также он может использоваться для беспроводного мониторинга, беспроводной идентификации по QR коду и многих других приложениях.

Модуль ESP32-CAM программируют с помощью ESP-IDF или Arduino IDE. Также модуль содержит несколько контактов ввода/вывода общего назначения (GPIO pins) для подключения внешних устройств. Модуль ESP32-CAM не содержит USB разъема, поэтому для его программирования необходима плата FTDI  переходник USB-UART.

ESP32-S datasheet скачать >>>

Комплект поставки Модуля ESP32-CAM и камеры OV2640

  • Модуль ESP32-CAM
  • Камера OV2640
  • Антенна 
  • Кабель для антенны
  • Слот

Модуль Arduino ESP32-CAM WIFI Bluetooth с камерой OV2640

 

Описание  модуля ESP32-CAM:

  • SoC модуль с поддержкой 802.11b/g/n Wi-Fi BT;
  • 32-битный процессор с низкой потребляемой мощностью;
  • тактовая частота процессора до 160MHz, суммарная вычислительная мощность до 600 DMIPS;
  • встроенная 520 KB SRAM, внешняя 4MPSRAM;
  • поддержка UART/SPI/I2C/PWM/ADC/DAC;
  • поддержка камер OV2640 и OV7670, встроенная флэш-лампа;
  • загрузка изображений через Wi-Fi;
  • поддержка TF карт;
  • поддержка нескольких типов спящих режимов;
  • можно установить Lwip и FreeRTOS;
  • поддержка режимов Wi-Fi STA/AP/STA+AP;
  • "умное" конфигурирование с помощью технологии AirKiss;
  • поддержка локальных и удаленных обновлений прошивки (FOTA).

Технические характеристики модуля ESP32-CAM:

  • SPI Flash: по умолчанию 32Mbit;
  • RAM: 520KB SRAM+ 4M PSRAM;
  • поддержка TF карт: максимум 4G;
  • поддержка интерфейсов UART, SPI, I2C, PWM;
  • выходные форматы изображений: JPEG, BMP, GRAYSCALE;
  • количество портов (IO): 9;
  • напряжение питания: 5V.

 Для программирования модуля ESP32-CAM потребуются:

Программатор FTDI USB-TTL (USB-UART) FT232RL  Программатор FTDI USB-TTL (USB-UART) FT232RL

 

 

 

 

 

Подключение модуля ESP32-CAM к преобразователю USB UART 

 

Подключение модуля ESP32-CAM к преобразователю USB UART 

Для подключения используются выводы:

GPIO1 - U0TXD - подключается к Rx UART.
GPIO3 - U0RXD - подключается к Tx UART.

 

В Ардуино IDE добавить поддержку ESP32

В настройках (File - Preferences) в нижней части окна  в Additional Boards Manager URLs добавить строку:

https://dl.espressif.com/dl/package_esp32_index.json

Если в поле уже имеется какая-либо ссылка (или ссылки), то можно добавить еще одну, разделять их следует запятой:

В Ардуино IDE добавить поддержку ESP32

 

В Boards Manager: Tools - Board - Boards Manager:

В поиске ввести "esp32", отобразится вариант ESP32 by Espressif Systems, нажать Install и дождаться установки

  В поиске ввести "esp32", отобразится вариант ESP32 и нажfnm на Install и дождаться установки

 

В Boards Manager: Tools - Board - Boards Manager выбрать тип модуля ESP32 Wrover Module: 

esp32 cam ov2640 9

 

Необязательно. Установка библиотеки для модуля ESP32

В Arduino IDE перейти в Управление библиотеками (Manage Libriries): Sketch -> Include Library -> Manage Libriries

В поиске набрать ESP32/ Установить библиотеку 

esp32 cam ov2640 8

 

 

Веб-сервер для камеры модуля ESP32

В Arduino IDE есть пример кода для камеры модуля ESP32. Для видео трансляций (video streaming) и распознавания лиц (face recognition) нужно открыть пример.

Выбрать пункт меню File -> Examples -> ESP32 > Camera -> CameraWebServer.

 

Выбрать модель камеры. Раскомментировать нужную модель камеры.

************************************************

// Select camera model
//#define CAMERA_MODEL_WROVER_KIT
//#define CAMERA_MODEL_ESP_EYE
//#define CAMERA_MODEL_M5STACK_PSRAM
//#define CAMERA_MODEL_M5STACK_WIDE
#define CAMERA_MODEL_AI_THINKER

************************************************

 

Изменить параметры доступа к сети Wi-Fi (имя и пароль) на свои.

************************************************

const char* ssid = "WiFi Name";
const char* password = "Password";

************************************************

esp32 cam ov2640 10

 

Код программы готов к загрузке в модуль ESP32.

В меню Tools задать параметры для программирования платы - выбрать плату, номер COM-порта и т. д. см.рис

esp32 cam ov2640 11 

Загрузка программы в модуль ESP32

Нажать кнопку сброса в модуле (reset button) ESP32-CAM

Нажать кнопку upload в Arduino IDE.

 

Внимание! если при загрузки программы появляется сообщения об ошибках, проверить

- подключение контакта IO0 к земле (GND)
- настройки в меню Tools.

После загрузки программы в модуль отключить контакт IO0 от земли (GND).

Открыть окно монитора последовательного порта и изменить в нем бодовую скорость на 115200.

Нажать кнопку сброса на ESP32-CAM. В окне монитора последовательного порта должен отобразиться IP адрес модуля и номер порта, к которому он подключен, как показано на следующем рисунке.

 

Рис. 

 

Видеотрансляция камеры

Открыть браузер и ввести в строке адреса IP адрес вашего модуля ESP32-CAM. Должна открыться страница с видео трансляцией (streaming page).

Для начала видео трансляции с модуля камеры ESP32 нажать на кнопку ‘Start Stream’ внизу страницы.

 

Распознавание лиц

В настройках выбрать опции обнаружения лиц (detection) и их распознавания (Face recognition) как показано на следующем рисунке.

Распознавание лиц

Сначала нужно добавить лицо в список лицы. Для добавления нового лица в систему нажать на  ‘Enroll Face’. Произойдет несколько попыток сохранения лица. После сохранения лица система будем обнаруживать это лицо под именем subject 0 и после этого его можно будет использовать в системе безопасности.

 

Модуль Arduino ESP32-CAM WIFI Bluetooth с камерой OV2640

 

Ошибки загрузки модуля ESP32-CAM


Sketch uses 2594774 bytes (82%) of program storage space. Maximum is 3145728 bytes.
Global variables use 56248 bytes (17%) of dynamic memory, leaving 271432 bytes for local variables. Maximum is 327680 bytes.
esptool.py v3.0-dev
Serial port COM3
Connecting........_____....._____....._____....._____....._____....._____....._____

A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header
Failed uploading: uploading error: exit status 2

Решение

При подключении платы должен появится СОМ порт с номером больше 1, его нужно выбрать при прошивке. Смотреть номер порта в Диспетчере устройств.

Если порт не появился значит: либо нет драйвера эмулятора для вашей платы, либо в плате нет загрузчика, либо неисправна плата.


You have no rights to post comments