- Введение в ESP32-CAM
- Необходимые компоненты
- Принципиальная электрическая схема
- Установите плату ESP32 в Arduino IDE
- Код веб-сервера камеры ESP32
Существует множество систем идентификации людей, которые используют подписи, отпечатки пальцев, голос, геометрию руки, распознавание лиц и т. Д. Для идентификации людей, но ни одна из них не может обнаружить и распознать людей в общественных местах, таких как аэропорты, магазины розничной торговли и железнодорожные станции, за исключением Система распознавания лиц.
Системы распознавания лиц могут использоваться не только в целях безопасности для распознавания людей в общественных местах, но также могут использоваться для целей посещаемости в офисах и школах.
В этом проекте мы собираемся построить систему распознавания лиц с использованием ESP32-CAM, которая также будет работать как система безопасности ESP32-CAM, распознавая лица неавторизованных лиц. ESP32-CAM - это очень маленький модуль камеры с микросхемой ESP32-S. Используя модуль ESP32-CAM, мы можем построить систему распознавания лиц без какого-либо сложного программирования и каких-либо дополнительных компонентов. Распознавание лиц также можно выполнить с помощью камеры Raspberry Pi и Pi с помощью OpenCV.
Введение в ESP32-CAM
Модуль AI-Thinker ESP32-CAM поставляется с чипом ESP32-S, камерой OV2640 очень маленького размера и слотом для карт памяти micro SD. Слот для карты Micro SD можно использовать для хранения изображений, снятых с камеры, или файлов. Этот модуль ESP32-CAM может широко использоваться в различных приложениях Интернета вещей. Его можно использовать в качестве системы обнаружения лиц в офисах, школах и других частных зонах, а также использовать для беспроводного мониторинга, беспроводной идентификации QR и многих других приложений IoT.
Модуль ESP32-CAM можно запрограммировать с помощью ESP-IDF или Arduino IDE. Модуль ESP32-CAM также имеет несколько контактов GPIO для подключения внешнего оборудования. ESP32-CAM не имеет разъема USB, поэтому для программирования модуля вам понадобится плата FTDI.
Особенности:
- Самый маленький модуль 802.11b / g / n Wi-Fi BT SoC
- 32-битный ЦП с низким энергопотреблением, также может обслуживать процессор приложений
- Тактовая частота до 160 МГц, суммарная вычислительная мощность до 600 DMIPS
- Встроенная 520 КБ SRAM, внешняя 4MPSRAM
- Поддерживает UART / SPI / I2C / PWM / ADC / DAC
- Поддержка камер OV2640 и OV7670, встроенная вспышка
- Поддержка загрузки изображений по Wi-Fi
- Поддержка tf-карты
- Поддерживает несколько спящих режимов
- Встроенный Lwip и FreeRTOS
- Поддерживает режим работы STA / AP / STA + AP
- Поддержка технологии Smart Config / AirKiss
- Поддержка локального и удаленного обновления прошивки последовательного порта (FOTA)
Характеристики:
- SPI Flash: по умолчанию 32 Мбит
- Оперативная память: 520 КБ SRAM + 4 МБ PSRAM
- Поддержка tf-карты: макс. 4G
- Интерфейс поддержки: UART, SPI, I2C, PWM
- Формат вывода изображения: JPEG, BMP, СЕРЫЙ
- Порт ввода-вывода: 9
- Диапазон питания: 5 В
Необходимые компоненты
- ESP32-CAM
- Программист FTDI
Принципиальная электрическая схема
Чтобы создать камеру безопасности ESP32 CAM, нам понадобится только модуль камеры ESP32 и программатор FTDI для ее программирования.
ESP32-CAM не имеет разъема USB, поэтому вам понадобится программатор FTDI, чтобы загрузить код в ESP32-CAM, как показано на рисунке выше. Выводы Vcc и GND ESP32 соединены с выводами Vcc и GND платы FTDI. Передачи и приемники ESP32 соединены с приемниками и приемниками платы FTDI.
Примечание. Перед загрузкой кода подключите IO0 к земле. IO0 определяет, находится ли ESP32 в режиме прошивки или нет. Когда GPIO 0 подключен к GND, ESP32 находится в режиме мигания.
ESP32-CAM |
Совет FTDI |
3,3 В |
VCC |
GND |
GND |
UOR |
TX |
UOT |
RX |
После программирования ESP32 я снял плату FTDI и подключил модуль к источнику питания 3,3 В с помощью регулятора напряжения 7805. Вот как выглядит настройка потокового видео с камеры ESP32:
Установите плату ESP32 в Arduino IDE
Здесь ESP32-CAM запрограммирован с использованием Arduino IDE. Для этого нам нужно установить надстройку ESP32 в Arduino IDE.
Чтобы установить плату ESP32 в вашу Arduino IDE, перейдите в File> Preferences
Теперь скопируйте приведенную ниже ссылку и вставьте ее в поле « Дополнительные URL-адреса Board Manager », как показано на рисунке ниже. Затем нажмите кнопку «ОК»:
https://dl.espressif.com/dl/package_esp32_index.json
Теперь перейдите в Инструменты> Доска> Менеджер плат.
В Board Manager найдите ESP32 и установите «ESP32 от Espressif Systems».
Код веб-сервера камеры ESP32
У нас уже есть пример кода для потокового видео с камеры ESP32 и распознавания лиц. Откройте пример ESP32, выбрав Файл> Примеры> ESP32> Камера, и откройте пример CameraWebServer.
Перед загрузкой кода вам необходимо ввести свое имя Wi-Fi и пароль.
const char * ssid = "Имя WiFi"; const char * password = "Пароль";
После этого определите модуль камеры ESP. В коде они определили 5 модулей камеры, поэтому раскомментируйте «CAMERA_MODEL_AI_THINKER» и прокомментируйте остальные модули.
Чтобы загрузить код, подключите плату FDTI к ноутбуку и выберите в качестве платы « ESP32 Wrover Module ». Также измените другие настройки в соответствии с этой картинкой:
Перед загрузкой кода нажмите кнопку сброса ESP32, а затем нажмите кнопку загрузки.
Примечание. Если при загрузке кода возникают ошибки, убедитесь, что IO0 подключен к GND и что вы выбрали правильные настройки в меню «Инструменты».
После загрузки кода отключите контакты IO0 и GND. Затем откройте монитор последовательного порта и измените скорость передачи данных на 115200. После этого нажмите кнопку сброса ESP32, он распечатает IP-адрес ESP и номер порта на последовательном мониторе, как показано ниже.
Теперь, чтобы получить доступ к потоковой передаче с камеры, перейдите в браузер и введите свой IP-адрес ESP. Вы попадете на страницу потоковой передачи. Чтобы начать потоковое видео с камеры ESP32, нажмите кнопку «Начать поток» внизу страницы.
Вы можете изменить качество потоковой передачи, изменив « Разрешение » на странице потоковой передачи. Вы также можете щелкнуть изображения, нажав кнопку « Get Still» , но этот код не позволяет сохранять изображения.
После тестирования потокового видео мы протестируем функции обнаружения и распознавания лиц камеры ESP32. Для этого включите функции распознавания и обнаружения лиц в настройках:
Для распознавания лица сначала необходимо зарегистрировать лицо. Вы можете зарегистрировать новое лицо, нажав на опцию « Зарегистрировать лицо». Спасти лицо нужно несколько попыток. После сохранения лица он определяет лицо как объект 0, и теперь его можно использовать в качестве системы безопасности, распознав лицо.
Вот как можно легко настроить модуль камеры ESP для потоковой передачи видео и распознавания лиц. Посмотрите небольшой видеоролик ниже, снятый камерой ESP32.
Полный код приведен ниже, его также можно скачать отсюда.