- Необходими компоненти
- Заключване на соленоида
- Електрическа схема
- Инсталирайте ESP32 Board на Arduino IDE
- Обяснение на кода
- Тестване на
Сигурността е най-важното за всеки в днешно време, независимо дали това е сигурността на данните или сигурността на собствения дом. С напредването на технологиите и нарастващото използване на IoT, цифровите брави на вратите станаха много разпространени в наши дни. Цифровото заключване не изисква никакъв физически ключ, но използва RFID, пръстов отпечатък, Face ID, щифт, пароли и др. В миналото сме разработили много приложения за цифрови брави, използващи тези различни технологии. В този урок ние изграждаме 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
- Релеен модул
- Заключване на соленоида
- Джъмперни проводници
Заключване на соленоида
Соленоидна ключалка работи върху електронно-механичния заключващ механизъм. Този тип брава има охлюв с наклонен разрез и добра скоба за закрепване. Когато захранването се прилага, DC създава магнитно поле, което премества охлюва вътре и поддържа вратата в отключено положение. Охлювът ще запази позицията си, докато захранването бъде премахнато. Когато захранването е изключено, охлювът се премества навън и заключва вратата. Той не използва никаква мощност в заключено състояние. За да задвижите соленоидната ключалка, ще ви трябва източник на захранване, който може да даде 12V при 500mA.
Преди това използвахме соленоидна ключалка за изграждане на базирана на Arduino RFID ключалка на вратата.
Електрическа схема
Схемата на веригата за система за заключване на врати за разпознаване на лица 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 |
5V |
VCC |
GND |
GND |
UOR |
TX |
UOT |
RX |
ESP32-CAM |
Релеен модул |
5V |
VCC |
GND |
GND |
IO4 |
IN |
Забележка: Преди да качите кода, свържете IO0 към земята. IO0 определя дали ESP32 е в мигащ режим или не. Когато GPIO 0 е свързан към GND, ESP32 е в мигащ режим.
След свързване на хардуера според схемата на веригата, той трябва да изглежда по следния начин:
Инсталирайте ESP32 Board на Arduino IDE
Тук Arduino IDE се използва за програмиране на ESP32-CAM. За това първо инсталирайте добавката 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 заключва или отключва вратата според разпознаването на лица, а останалите три кода са за уеб страница, индекс на камерата и щифтове на камерата. Пълният код е даден в края на тази страница. Тук обясняваме някои важни части от кода.
Започнете програмата, като включите всички библиотечни файлове.
#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 () {if (matchFace == true && activeRelay == false) {activeRelay = true; digitalWrite (реле, HIGH); prevMillis = милис (); } 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, той ще отпечата ESP IP адреса и номера на порта. на серийния монитор.
Сега отидете до браузъра и въведете ESP IP адреса, който е копиран от серийния монитор за достъп до поточното предаване на камерата. Ще ви отведе до страницата за стрийминг. За да стартирате поточното видео, щракнете върху бутона „Стартиране на потока“ в долната част на страницата.
За да разпознаем лицата с ESP32-CAM, първо трябва да регистрираме лицата. За това включете функциите за разпознаване и разпознаване на лица от настройките и след това щракнете върху бутона Enroll Face. Необходими са няколко опита за запазване на лицето. След като запази лицето, той разпознава лицето като обект 0, където нулата е номерът на лицето.
След записване на лицата, ако лице бъде разпознато във видео подаването, ESP32 ще направи модула на релето висок, за да отключи вратата.
Така че по този начин ESP32-CAM може да се използва за изграждане на система за сигурност, базирана на разпознаване на лица. Пълният код може да бъде изтеглен от тази връзка и е даден по-долу заедно с демонстрационно видео.