- Komponenter, der kræves
- Magnetlås
- Kredsløbsdiagram
- Installer ESP32 Board på Arduino IDE
- Kode Forklaring
- Test af
Sikkerhed er mest bekymret for alle i dag, hvad enten det er datasikkerhed eller sikkerhed i deres eget hjem. Med den teknologiske udvikling og den stigende brug af IoT er digitale dørlåse blevet meget almindelige i disse dage. Digital lås kræver ingen fysisk nøgle, men den bruger RFID, fingeraftryk, Face ID, pin, adgangskoder osv. Til at kontrollere dørlåsen. Tidligere har vi udviklet mange digitale dørlåseapplikationer ved hjælp af disse forskellige teknologier. I denne vejledning bygger vi et Face ID-styret digitalt dørlåsesystem ved hjælp af ESP32-CAM.
AI-Thinker ESP32-CAM-modulet er et billigt udviklingskort med et meget lille OV2640-kamera og et micro SD-kortspor. Den har en ESP32 S-chip med indbygget Wi-Fi og Bluetooth-forbindelse, med 2 højtydende 32-bit LX6-CPU'er, 7-trins pipeline-arkitektur. Vi har tidligere forklaret ESP32-CAM i detaljer og brugt det til at bygge en Wi-Fi-dørvideodørklokke. Denne gang bruger vi ESP32-CAM til at opbygge et ansigtsgenkendelsesbaseret dørlåsesystem ved hjælp af et relæmodul og en magnetlås.
Komponenter, der kræves
- ESP32 CAM
- FTDI Board
- Relæmodul
- Magnetlås
- Jumper Wires
Magnetlås
En magnetlås fungerer på den elektronisk-mekaniske låsemekanisme. Denne type lås har en snegle med et skråt snit og et godt monteringsbeslag. Når strømmen tilføres, skaber DC et magnetfelt, der bevæger sneglen indeni og holder døren i ulåst position. Sneglen bevarer sin position, indtil strømmen fjernes. Når strømmen afbrydes, bevæger sneglen sig udenfor og låser døren. Det bruger ikke strøm i en låst tilstand. For at drive magnetlåsen har du brug for en strømkilde, der kan give 12V @ 500mA.
Vi har tidligere brugt en magnetlås til at bygge en Arduino-baseret RFID-dørlås.
Kredsløbsdiagram
Kredsløbsdiagrammet til ESP32-CAM Dørlåsesystem til ansigtsgenkendelse er angivet nedenfor:
Ovenstående kredsløb kombineret med et FTDI-kort, relæmodul og magnetlås. FTDI-kortet bruges til at blinke koden i ESP32-CAM, da den ikke har et USB-stik, mens relæmodulet bruges til at tænde eller slukke for magnetlåsen. VCC- og GND-stifter på FTDI-kortet og relæmodulet er forbundet til Vcc- og GND-stiften på ESP32-CAM. TX og RX på FTDI-kortet er forbundet til RX og TX på ESP32, og relæmodulets IN-stik er forbundet til IO4 på ESP32-CAM.
ESP32-CAM |
FTDI Board |
5V |
VCC |
GND |
GND |
UOR |
TX |
UOT |
RX |
ESP32-CAM |
Relæmodul |
5V |
VCC |
GND |
GND |
IO4 |
I |
Bemærk: Før du uploader koden, skal du slutte IO0 til jorden. IO0 bestemmer, om ESP32 er i blinkende tilstand eller ej. Når GPIO 0 er tilsluttet GND, er ESP32 i blinkende tilstand.
Efter tilslutning af hardware i henhold til kredsløbsdiagrammet skal det se ud som nedenfor:
Installer ESP32 Board på Arduino IDE
Her bruges Arduino IDE til at programmere ESP32-CAM. Til det skal du først installere ESP32-tilføjelsen på Arduino IDE.
For at installere ESP32-kortet i din Arduino IDE skal du gå til Filer> Indstillinger.
Kopier nu nedenstående link og indsæt det i feltet "Yderligere bestyrelses-URL-adresser" som vist i figuren nedenfor. Klik derefter på knappen “OK”:
https://dl.espressif.com/dl/package_esp32_index.json
Gå nu til Værktøjer> Board> Boards Manager
I Board Manager skal du søge efter ESP32 og installere “ESP32 by Espressif Systems“.
Kode Forklaring
Vi forklarede ansigtsgenkendelse med ESP32 i den foregående artikel; her vil vi ændre den samme kode for at kontrollere en magnetlås. Den komplette kode er opdelt i fire dele. Den ene er hovedkoden til kameraet og relæmodulet, hvor ESP32 låser eller låser op døren i henhold til ansigtsgenkendelse, og de andre tre koder er til webside, kameraindeks og kamerapinde. Komplet kode findes i slutningen af denne side. Her forklarer vi nogle vigtige dele af koden.
Start programmet med at inkludere alle bibliotekets filer.
#include "esp_camera.h" #include
Fjern den kommentar til det kameramodul, du bruger med ESP32, i den næste linje. I koden er der defineret fem forskellige kameramodeller. I dette tilfælde bruger vi AI-THINKER-modellen.
// # definer CAMERA_MODEL_WROVER_KIT // # definer CAMERA_MODEL_ESP_EYE // # definer CAMERA_MODEL_M5STACK_PSRAM // # definer CAMERA_MODEL_M5STACK_WIDE # definer CAMERA_MODEL_AI_THINKER
Derefter skal du indsætte dine netværksoplysninger i følgende variabler:
const char * ssid = "Wi-Fi navn"; const char * password = "Wi-Fi-adgangskode";
Definer derefter stiften, hvor relæmodulet er tilsluttet. Vi bruger millis () -funktionen til at låse døren efter at have låst den op i et defineret tidsinterval, her er det 5 sekunder.
#definer relæ 4 lang prevMillis = 0; int interval = 5000;
I opsætningsfunktionen () initialiser du den serielle skærm med en baudhastighed på 115200 til fejlfindingsformål. Derefter defineres pin-mode for relæmodulet i de næste linjer og indstilles også relæet i en lav position oprindeligt.
ugyldig opsætning () {Serial.begin (115200); pinMode (relæ, OUTPUT); digitalWrite (relæ, LAV);
Inde i loop () -funktionen skal du kontrollere, om ansigtet matcher det tilmeldte ansigt. Hvis ja, skal du låse døren op i 5 sekunder og låse døren igen efter 5 sekunder.
ugyldig loop () {if (matchFace == true && activeRelay == false) {activeRelay = true; digitalWrite (relæ, HIGH); prevMillis = millis (); } hvis (activeRelay == true && millis () - prevMillis> interval) {activeRelay = false; matchFace = false; digitalWrite (relæ, LAV); }
Test af
Endelig for at uploade koden, skal du slutte FDTI-kortet til din bærbare computer og vælge 'ESP32 Wrover Module' som dit kort. Skift også de andre indstillinger som vist på nedenstående billede:
Glem ikke at forbinde IO0-stiften til GND, før du uploader koden, og tryk også på nulstillingsknappen ESP32, og klik derefter på uploadknappen.
Bemærk: Hvis du får fejl under upload af koden, skal du kontrollere, at IO0 er forbundet til GND, og du valgte de rigtige indstillinger i menuen Funktioner.
Efter uploaden af koden skal du fjerne IO0 og GND pin. Åbn derefter den serielle skærm, og skift baudrate til 115200. Derefter skal du trykke på ESP32 reset-knappen, den udskriver ESP IP-adresse og portnr. på den serielle skærm.
Gå nu til browseren, og indtast ESP IP-adressen, der kopieres fra den serielle skærm for at få adgang til kamerastreamingen. Det fører dig til streaming siden. For at starte videostreaming skal du klikke på knappen 'Start stream' nederst på siden.
For at genkende ansigterne med ESP32-CAM skal vi først tilmelde ansigterne. For det skal du aktivere ansigtsgenkendelses- og detekteringsfunktionerne fra indstillingerne og derefter klikke på knappen Tilmeld ansigt. Det tager flere forsøg på at redde ansigtet. Efter at have gemt ansigtet registrerer det ansigtet som emne 0, hvor nul er ansigtsnummeret.
Efter indskrivning af ansigterne, hvis et ansigt genkendes i videofeed, vil ESP32 gøre relæmodulet højt for at låse op for døren.
Så det er sådan, ESP32-CAM kan bruges til at opbygge et ansigtsgenkendelsesbaseret sikkerhedssystem. Komplet kode kan downloades fra dette link og er også angivet nedenfor sammen med en demonstrationsvideo.