- Въведение в ESP32-CAM
- Необходими компоненти
- Електрическа схема
- Инсталирайте ESP32 Board на 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 може да се използва широко в различни IoT приложения. Той може да се използва като система за разпознаване на лица в офиси, училища и други частни зони, а също така може да се използва като безжичен мониторинг, QR безжична идентификация и много други приложения на IoT.
Модулът ESP32-CAM може да бъде програмиран с ESP-IDF или с Arduino IDE. Модулът ESP32-CAM също има няколко GPIO щифта за свързване на външния хардуер. ESP32-CAM няма USB конектор, така че за програмиране на модула ви е необходима FTDI платка.
Характеристика:
- Най-малкият 802.11b / g / n Wi-Fi BT SoC модул
- 32-битов процесор с ниска мощност, може да обслужва и процесора за приложения
- Тактова честота до 160MHz, обобщена изчислителна мощност до 600 DMIPS
- Вградена 520 KB 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: 32Mbit по подразбиране
- RAM: 520KB SRAM + 4M PSRAM
- Поддръжка на TF карта: Макс. 4G
- Интерфейс за поддръжка: UART, SPI, I2C, PWM
- Изходен формат на изображението: JPEG, BMP, GREYSCALE
- IO порт: 9
- Обхват на захранването: 5V
Необходими компоненти
- ESP32-CAM
- Програмист за FTDI
Електрическа схема
За да изградим ESP32 CAM камера за сигурност, ние се нуждаем само от модула ESP32 Camera и FTDI програмист, за да го програмираме.
ESP32-CAM няма USB конектор, така че се нуждаете от FTDI програмист, за да качите кода в ESP32-CAM, както е показано на фигурата по-горе. Vcc и GND щифт на ESP32 е свързан с Vcc и GND щифт на FTDI платката. Tx на и Rx на ESP32 е свързан с Rx и Tx на FTDI платката.
Забележка: Преди да качите кода, свържете IO0 към земята. IO0 определя дали ESP32 е в мигащ режим или не. Когато GPIO 0 е свързан към GND, ESP32 е в мигащ режим.
ESP32-CAM |
Съвет за FTDI |
3.3V |
VCC |
GND |
GND |
UOR |
TX |
UOT |
RX |
След програмирането на ESP32 премахнах платката FTDI и свързах модула към захранване 3.3V с помощта на регулатор на напрежение 7805. Ето как изглежда настройката за ESP32 cam video streaming:
Инсталирайте ESP32 Board на Arduino IDE
Тук ESP32-CAM е програмиран с помощта на Arduino IDE. За това трябва да инсталираме добавката ESP32 на Arduino IDE.
За да инсталирате платката ESP32 във вашата Arduino IDE, отидете на Файл> Предпочитания
Сега копирайте връзката по-долу и я поставете в полето „ Допълнителни URL адреси на диспечера на борда “, както е показано на фигурата по-долу. След това щракнете върху бутона „OK“:
https://dl.espressif.com/dl/package_esp32_index.json
Сега отидете на Tools> Board> Boards Manager
В Board Manager потърсете ESP32 и инсталирайте „ESP32 by Espressif Systems“.
Код на уеб сървър на камера ESP32
Вече имаме примерен код от стрийминг на видео ESP32 и разпознаване на лица. Отворете примера за ESP32, като използвате Файл> Примери> ESP32> Камера и отворете примера CameraWebServer.
Преди да качите кода, трябва да въведете вашето Wi-Fi име и парола.
const char * ssid = "WiFi име"; const char * парола = "Парола";
След това дефинирайте модула ESP камера. В кода те са дефинирали 5 модула на камерата, така че коментирайте „CAMERA_MODEL_AI_THINKER“ и коментирайте останалите модули.
За да качите кода, свържете FDTI платката към вашия лаптоп и изберете „ ESP32 Wrover Module “ като своя платка. Променете и другите настройки според тази картина:
Преди да качите кода, натиснете бутона за нулиране на ESP32 и след това кликнете върху бутона за качване.
Забележка: Ако получите грешки, докато качвате кода, проверете дали IO0 е свързан към GND и дали сте избрали правилните настройки в менюто Инструменти.
След качване на кода изключете IO0 и GND щифта. След това отворете серийния монитор и променете скоростта на предаване на 115200. След това натиснете бутона за нулиране на ESP32, той ще отпечата IP адреса на ESP и номер на порт на сериен монитор, както е показано по-долу.
Сега, за да осъществите достъп до поточното предаване на камерата, отидете до вашия браузър и въведете вашия ESP IP адрес. Ще ви отведе до страницата за стрийминг. За да стартирате ESP32 видео стрийминг на видео кликнете върху бутона „Стартиране на потока“ в долната част на страницата
Можете да промените качеството на поточното предаване, като промените „ Резолюция “ на страницата за поточно предаване. Можете също да щракнете върху снимките, като щракнете върху бутона „ Стани неподвижен“, но този код няма опция за запазване на снимките.
След тестване на поточното видео сега ще тестваме функциите за разпознаване и разпознаване на лица на ESP32. За това включете функциите за разпознаване и разпознаване на лица от настройките:
За първо разпознаване на лице трябва да регистрирате лице. Можете да се регистрирате в ново лице, като щракнете върху опцията „ Регистриране на лице“. Необходими са няколко опита за запазване на лицето. След запазване на лицето той разпознава лицето като обект 0 и сега може да се използва като система за сигурност чрез разпознаване на лицето.
Така че по този начин модулът за ESP камера може лесно да бъде конфигуриран за видео стрийминг и разпознаване на лица. Проверете малките видеозаписи отдолу, заснети от камерата ESP32.
Пълният код е даден по-долу и той също може да бъде изтеглен от тук.