- Потрібні компоненти
- Електромагнітний замок
- Кругова діаграма
- Встановіть плату ESP32 на Arduino IDE
- Пояснення коду
- Тестування
Сьогодні безпека найбільше турбує будь-кого, будь то безпека даних або безпека власного будинку. З розвитком технологій та все більшим використанням Інтернету речей, цифрові замки дверей стали дуже поширеними в наші дні. Для цифрового блокування не потрібен будь-який фізичний ключ, але він використовує RFID, відбитки пальців, Face ID, PIN-код, паролі тощо для управління замком дверей. У минулому ми розробили багато програм для цифрових замків дверей, використовуючи ці різні технології. У цьому посібнику ми створюємо систему цифрових замків дверей, керовану Face ID, використовуючи ESP32-CAM.
Модуль AI-Thinker ESP32-CAM - це недорога плата для розробки з дуже маленьким розміром камери OV2640 та слотом для карт micro SD. Він має чіп ESP32 S із вбудованим підключенням Wi-Fi та Bluetooth, 2 високопродуктивними 32-розрядними процесорами LX6, 7-ступінчастою архітектурою конвеєра. Раніше ми детально пояснили ESP32-CAM і використали його для побудови дверного дзвінка для дверей Wi-Fi. Цього разу ми будемо використовувати ESP32-CAM для побудови системи блокування дверей на основі розпізнавання облич за допомогою модуля реле та електромагнітного блокування.
Потрібні компоненти
- ESP32 CAM
- Рада FTDI
- Модуль реле
- Електромагнітний замок
- Провід перемички
Електромагнітний замок
Електромагнітний замок працює на електронно-механічному блокувальному механізмі. Цей тип замків має затвор зі скошеним вирізом і хороший монтажний кронштейн. Коли подається живлення, постійний струм створює магнітне поле, яке переміщує кульок всередину і утримує двері в незамкненому положенні. Слимак буде зберігати своє положення, доки живлення не буде вимкнено. Коли живлення відключено, слизень рухається назовні і замикає двері. Він не використовує жодної потужності в заблокованому стані. Для керування соленоїдним замком вам знадобиться джерело живлення, яке може подавати 12 В при 500 мА.
Раніше ми використовували соленоїдний замок для побудови дверного замку на основі 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 |
УОР |
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 у вашу середовище ID Arduino, перейдіть у меню Файл> Налаштування.
Тепер скопіюйте посилання нижче та вставте його в поле «Додаткові URL-адреси менеджера дошки», як показано на малюнку нижче. Потім натисніть кнопку «ОК»:
https://dl.espressif.com/dl/package_esp32_index.json
Тепер перейдіть до Інструменти> Дошка> Менеджер дошок
У диспетчері дощок знайдіть ESP32 та встановіть “ESP32 by 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 () ініціалізуйте послідовний монітор зі швидкістю передачі 115200 для цілей налагодження. Потім у наступних рядках визначте режим виводу для модуля реле, а також спочатку встановіть реле в низьке положення.
void setup () {Serial.begin (115200); pinMode (реле, ВИХІД); digitalWrite (реле, LOW);
Усередині функції loop () перевірте, чи співпадає грань із зареєстрованим обличчям. Якщо так, то розблокуйте двері на 5 секунд, а через 5 секунд знову зафіксуйте двері.
void loop () {if (matchFace == true && activeRelay == false) {activeRelay = true; digitalWrite (реле, HIGH); prevMillis = millis (); } if (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 може бути використаний для побудови системи безпеки на основі розпізнавання облич. Повний код можна завантажити за цим посиланням, а також подано нижче разом із демонстраційним відео.