보안은 데이터 보안이든 집의 보안이든 오늘날 누구에게나 가장 큰 관심사입니다. 기술의 발전과 IoT의 사용이 증가함에 따라 오늘날 디지털 도어록이 매우 보편화되었습니다. 디지털 잠금 장치는 물리적 키가 필요하지 않지만 RFID, 지문, Face ID, PIN, 비밀번호 등을 사용하여 도어록을 제어합니다. 과거에는 이러한 다양한 기술을 사용하여 많은 디지털 도어록 응용 프로그램을 개발했습니다. 이 튜토리얼에서는 ESP32-CAM을 사용하여 Face ID 제어 디지털 도어록 시스템을 구축 합니다.
AI-Thinker ESP32-CAM 모듈은 초소형 OV2640 카메라와 마이크로 SD 카드 슬롯이있는 저비용 개발 보드입니다. 2 개의 고성능 32 비트 LX6 CPU, 7 단계 파이프 라인 아키텍처와 함께 내장 Wi-Fi 및 Bluetooth 연결 기능이있는 ESP32 S 칩이 있습니다. 이전에 ESP32-CAM에 대해 자세히 설명하고이를 사용하여 Wi-Fi 도어 비디오 초인종을 제작했습니다. 이번에는 ESP32-CAM을 사용하여 릴레이 모듈과 솔레노이드 잠금 장치를 사용하는 얼굴 인식 기반 도어 잠금 시스템 을 구축합니다.
필요한 구성 요소
- ESP32 CAM
- FTDI 보드
- 릴레이 모듈
- 솔레노이드 잠금
- 점퍼 와이어
솔레노이드 잠금
솔레노이드 잠금 장치는 전자 기계식 잠금 메커니즘에서 작동합니다. 이 유형의 잠금 장치에는 비스듬히 잘린 슬러그와 좋은 장착 브래킷이 있습니다. 전원이 공급되면 DC는 슬러그를 내부로 이동시키고 도어를 잠금 해제 위치에 유지하는 자기장을 생성합니다. 슬러그는 전원이 제거 될 때까지 위치를 유지합니다. 전원이 차단되면 슬러그가 밖으로 나가 문을 잠급니다. 잠금 상태에서는 전원을 사용하지 않습니다. 솔레노이드 잠금을 구동하려면 12V @ 500mA를 제공 할 수있는 전원이 필요합니다.
우리는 이전에 Arduino 기반 RFID 도어록을 구축하기 위해 솔레노이드 잠금 장치를 사용했습니다.
회로도
ESP32-CAM 얼굴 인식 도어 잠금 시스템 의 회로도 는 다음과 같습니다.
위의 회로는 FTDI 보드, 릴레이 모듈 및 솔레노이드 잠금 장치와 결합되었습니다. FTDI 보드는 릴레이 모듈이 솔레노이드 잠금을 켜거나 끄는 데 사용되는 동안 USB 커넥터가 없기 때문에 코드를 ESP32-CAM으로 플래시하는 데 사용됩니다. FTDI 보드 및 릴레이 모듈의 VCC 및 GND 핀은 ESP32-CAM의 Vcc 및 GND 핀에 연결됩니다. FTDI 보드의 TX와 RX는 ESP32의 RX와 TX에 연결되고 릴레이 모듈의 IN 핀은 ESP32-CAM의 IO4에 연결됩니다.
ESP32-CAM |
FTDI 보드 |
5V |
VCC |
GND |
GND |
UOR |
TX |
UOT |
RX |
ESP32-CAM |
릴레이 모듈 |
5V |
VCC |
GND |
GND |
IO4 |
에 |
참고: 코드를 업로드하기 전에 IO0을 접지에 연결하십시오. IO0은 ESP32가 깜박임 모드인지 여부를 결정합니다. GPIO 0이 GND에 연결되면 ESP32는 깜박임 모드입니다.
회로도에 따라 하드웨어를 연결하면 다음과 같이 보일 것입니다.
Arduino IDE에 ESP32 보드 설치
여기서 Arduino IDE는 ESP32-CAM을 프로그래밍하는 데 사용됩니다. 이를 위해 먼저 Arduino IDE에 ESP32 애드온을 설치하십시오.
Arduino IDE에 ESP32 보드를 설치하려면 파일> 환경 설정으로 이동하십시오 .
이제 아래 링크를 복사하여 아래 그림과 같이“Additional Board Manager URLs”필드에 붙여 넣습니다. 그런 다음 "확인"버튼을 클릭합니다.
https://dl.espressif.com/dl/package_esp32_index.json
이제 도구> 보드> 보드 관리자 로 이동합니다.
Board Manager에서 ESP32를 검색하고 "ESP32 by Espressif Systems"를 설치합니다.
코드 설명
이전 기사에서 ESP32를 사용한 얼굴 인식에 대해 설명했습니다. 여기서는 솔레노이드 도어록을 제어하기 위해 동일한 코드를 수정합니다. 전체 코드는 네 부분으로 나뉩니다. 하나는 얼굴 인식에 따라 ESP32가 문을 잠 그거나 잠금 해제하는 카메라 및 릴레이 모듈의 기본 코드이고 다른 세 코드는 웹 페이지, 카메라 색인 및 카메라 핀용입니다. 이 페이지 끝에 완전한 코드가 제공됩니다. 여기에서는 코드의 중요한 부분을 설명합니다.
모든 라이브러리 파일을 포함하여 프로그램을 시작하십시오.
#include "esp_camera.h"#include
다음 줄에서 ESP32와 함께 사용중인 카메라 모듈의 주석 처리를 제거합니다. 코드에는 다섯 가지 카메라 모델이 정의되어 있습니다. 이 경우 AI-THINKER 모델을 사용하고 있습니다.
// # define CAMERA_MODEL_WROVER_KIT // # define CAMERA_MODEL_ESP_EYE // # define CAMERA_MODEL_M5STACK_PSRAM // # define CAMERA_MODEL_M5STACK_WIDE #define CAMERA_MODEL_AI_THINKER
그 후 다음 변수에 네트워크 자격 증명을 삽입하십시오.
const char * ssid = "Wi-Fi 이름"; const char * password = "Wi-Fi 암호";
그런 다음 릴레이 모듈이 연결된 핀을 정의합니다. millis () 함수를 사용하여 정의 된 시간 간격으로 문을 잠금 해제 한 후 문을 잠글 것입니다. 여기서는 5 초입니다.
#define 릴레이 4 long prevMillis = 0; int 간격 = 5000;
에서 설정 () 함수, 디버깅 목적 115,200의 전송 속도에 직렬 모니터를 초기화한다. 그런 다음 다음 줄에서 릴레이 모듈의 핀 모드를 정의하고 릴레이를 초기에 낮은 위치로 설정합니다.
void setup () {Serial.begin (115200); pinMode (릴레이, OUTPUT); digitalWrite (릴레이, LOW);
loop () 함수 내에서 얼굴이 등록 된 얼굴과 일치하는지 확인합니다. 그렇다면 5 초 동안 문을 잠금 해제하고 5 초 후에 문을 다시 잠급니다.
void loop () {if (matchFace == true && activeRelay == false) {activeRelay = true; digitalWrite (릴레이, HIGH); prevMillis = millis (); } if (activeRelay == true && millis ()-prevMillis> 간격) {activeRelay = false; matchFace = 거짓; digitalWrite (릴레이, LOW); }
테스트
마지막으로 코드를 업로드하려면 FDTI 보드를 노트북에 연결하고 'ESP32 Wrover Module'을 보드로 선택합니다. 또한 아래 그림과 같이 다른 설정을 변경하십시오.
코드를 업로드하기 전에 IO0 핀을 GND에 연결하고 ESP32 재설정 버튼을 누른 다음 업로드 버튼을 클릭하는 것을 잊지 마십시오.
참고: 코드를 업로드하는 동안 오류가 발생하면 IO0이 GND에 연결되어 있고 도구 메뉴에서 올바른 설정을 선택했는지 확인하십시오.
코드를 업로드 한 후 IO0 및 GND 핀을 제거하십시오. 그런 다음 직렬 모니터를 열고 전송 속도를 115200으로 변경합니다. 그 후 ESP32 재설정 버튼을 누르면 ESP IP 주소와 포트 번호가 인쇄됩니다. 직렬 모니터에서.
이제 브라우저로 이동하여 직렬 모니터에서 복사 한 ESP IP 주소를 입력하여 카메라 스트리밍에 액세스합니다. 스트리밍 페이지로 이동합니다. 비디오 스트리밍을 시작하려면 페이지 하단의 '스트림 시작'버튼을 클릭하십시오.
ESP32-CAM으로 얼굴을 인식하려면 먼저 얼굴을 등록해야합니다. 이를 위해 설정에서 얼굴 인식 및 감지 기능을 켠 다음 얼굴 등록 버튼을 클릭하십시오. 얼굴을 구하려면 여러 번 시도해야합니다. 얼굴을 저장 한 후 0이 얼굴 번호 인 피사체 0으로 얼굴을 감지합니다.
얼굴을 등록한 후 비디오 피드에서 얼굴이 인식되면 ESP32는 릴레이 모듈을 높게 설정하여 문을 엽니 다.
이것이 ESP32-CAM을 사용하여 얼굴 인식 기반 보안 시스템을 구축하는 방법입니다. 전체 코드는이 링크에서 다운로드 할 수 있으며 데모 비디오와 함께 아래에 제공됩니다.