- Необходимые компоненты
- Электромагнитный замок
- Принципиальная электрическая схема
- Установите плату ESP32 в Arduino IDE
- Код Пояснение
- Тестирование
Безопасность - это самая большая проблема в настоящее время для всех, будь то безопасность данных или безопасность собственного дома. С развитием технологий и все более широким использованием Интернета вещей цифровые дверные замки в наши дни стали очень распространенными. Цифровой замок не требует физического ключа, но он использует RFID, отпечаток пальца, Face ID, PIN-код, пароли и т. Д. Для управления дверным замком. В прошлом мы разработали множество приложений для цифровых дверных замков с использованием этих различных технологий. В этом уроке мы создаем систему цифрового дверного замка, управляемую Face ID, с использованием ESP32-CAM.
Модуль AI-Thinker ESP32-CAM - это недорогая плата для разработки с очень маленькой камерой OV2640 и слотом для карт Micro SD. Он имеет чип ESP32 S со встроенным подключением Wi-Fi и Bluetooth, с двумя высокопроизводительными 32-битными процессорами LX6 и 7-ступенчатой конвейерной архитектурой. Ранее мы подробно объясняли ESP32-CAM и использовали его для создания видеодомофона Wi-Fi. На этот раз мы будем использовать ESP32-CAM для создания системы дверного замка на основе распознавания лиц с использованием модуля реле и соленоидного замка.
Необходимые компоненты
- ESP32 CAM
- Совет FTDI
- Модуль реле
- Электромагнитный замок
- Перемычки
Электромагнитный замок
Электромагнитный замок работает на электронно-механический механизм блокировки. Этот тип замка имеет планку с косым вырезом и хороший монтажный кронштейн. При подаче питания постоянный ток создает магнитное поле, которое перемещает пулю внутрь и удерживает дверь в незапертом положении. Пуля будет сохранять свое положение до тех пор, пока не будет отключено питание. Когда питание отключается, пуля выходит наружу и закрывает дверь. В заблокированном состоянии он не использует питание. Для управления электромагнитным замком вам понадобится источник питания, который может выдавать 12 В при 500 мА.
Ранее мы использовали соленоидный замок для создания дверного замка RFID на базе Arduino.
Принципиальная электрическая схема
Принципиальная схема системы дверного замка ESP32-CAM с распознаванием лиц приведена ниже:
Схема выше в сочетании с платой FTDI, модулем реле и замком соленоида. Плата FTDI используется для прошивки кода в ESP32-CAM, поскольку у нее нет USB-разъема, а модуль реле используется для включения или выключения блокировки соленоида. Контакты VCC и GND платы FTDI и модуля реле подключены к контактам Vcc и GND ESP32-CAM. TX и RX платы FTDI подключены к RX и TX ESP32, а контакт IN модуля реле подключен к IO4 ESP32-CAM.
ESP32-CAM |
Совет FTDI |
5В |
VCC |
GND |
GND |
UOR |
TX |
UOT |
RX |
ESP32-CAM |
Модуль реле |
5В |
VCC |
GND |
GND |
IO4 |
В |
Примечание. Перед загрузкой кода подключите IO0 к земле. IO0 определяет, находится ли ESP32 в режиме прошивки или нет. Когда GPIO 0 подключен к GND, ESP32 находится в режиме мигания.
После подключения оборудования в соответствии с принципиальной схемой оно должно выглядеть примерно так:
Установите плату ESP32 в Arduino IDE
Здесь Arduino IDE используется для программирования ESP32-CAM. Для этого сначала установите надстройку 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 блокирует или разблокирует дверь в соответствии с распознаванием лиц, а остальные три кода предназначены для веб-страницы, индекса камеры и контактов камеры. Полный код приведен в конце этой страницы. Здесь мы объясняем некоторые важные части кода.
Запустите программу, включив все файлы библиотеки.
#include "esp_camera.h" #include
В следующей строке раскомментируйте модуль камеры, который вы используете с ESP32. В коде определены пять различных моделей камер. В данном случае мы используем модель AI-THINKER.
// # определить CAMERA_MODEL_WROVER_KIT // # определить CAMERA_MODEL_ESP_EYE // # определить CAMERA_MODEL_M5STACK_PSRAM // # определить CAMERA_MODEL_M5STACK_WIDE #define CAMERA_MODEL_AI_THINKER
После этого введите свои сетевые учетные данные в следующие переменные:
const char * ssid = "Имя Wi-Fi"; const char * password = "Пароль Wi-Fi";
Затем определите контакт, к которому подключен релейный модуль. Мы будем использовать функцию millis (), чтобы заблокировать дверь после разблокировки через определенный интервал времени, здесь это 5 секунд.
#define relay 4 long prevMillis = 0; интервал int = 5000;
В функции setup () инициализируйте Serial Monitor со скоростью 115200 бод для целей отладки. Затем в следующих строках определите режим вывода для модуля реле, а также сначала установите реле в низкое положение.
void setup () {Serial.begin (115200); pinMode (реле, ВЫХОД); digitalWrite (реле, LOW);
Внутри функции loop () проверьте, совпадает ли лицо с зарегистрированным лицом. Если да, то откройте дверь на 5 секунд и через 5 секунд снова заприте дверь.
void loop () {если (matchFace == true && activeRelay == false) {activeRelay = true; digitalWrite (реле, ВЫСОКИЙ); prevMillis = millis (); } если (activeRelay == true && millis () - prevMillis> interval) {activeRelay = false; matchFace = false; digitalWrite (реле, LOW); }
Тестирование
Наконец, чтобы загрузить код, подключите плату FDTI к ноутбуку и выберите в качестве платы «ESP32 Wrover Module». Также измените другие настройки, как показано на рисунке ниже:
Не забудьте подключить вывод IO0 к GND перед загрузкой кода, а также нажмите кнопку сброса ESP32, а затем нажмите кнопку загрузки.
Примечание. Если при загрузке кода возникают ошибки, убедитесь, что IO0 подключен к GND, и вы выбрали правильные настройки в меню «Инструменты».
После загрузки кода удалите контакты IO0 и GND. Затем откройте монитор последовательного порта и измените скорость передачи данных на 115200. После этого нажмите кнопку сброса ESP32, он распечатает IP-адрес ESP и номер порта. на серийном мониторе.
Теперь перейдите в браузер и введите IP-адрес ESP, скопированный с последовательного монитора, чтобы получить доступ к потоковой передаче с камеры. Вы попадете на страницу потоковой передачи. Чтобы начать трансляцию видео, нажмите кнопку «Начать трансляцию» внизу страницы.
Чтобы распознать лица с помощью ESP32-CAM, сначала мы должны зарегистрировать лица. Для этого включите функции распознавания и обнаружения лиц в настройках, а затем нажмите кнопку «Зарегистрировать лицо». Спасти лицо нужно несколько попыток. После сохранения лица оно определяет лицо как объект 0, где ноль - это номер лица.
После регистрации лиц, если лицо распознается в видеопотоке, ESP32 установит высокий уровень для модуля реле, чтобы открыть дверь.
Вот как можно использовать ESP32-CAM для создания системы безопасности на основе распознавания лиц. Полный код можно скачать по этой ссылке, он также приведен ниже вместе с демонстрационным видео.