- Komponenter kreves
- Magnetlås
- Kretsdiagram
- Installer ESP32 Board på Arduino IDE
- Kode Forklaring
- Testing av
Sikkerhet er mest bekymret for alle i dag, enten det er datasikkerhet eller sikkerhet i sitt eget hjem. Med utviklingen av teknologi og den økende bruken av IoT, har digitale dørlåser blitt veldig vanlige i disse dager. Digital lås krever ingen fysisk nøkkel, men den bruker RFID, fingeravtrykk, Face ID, pin, passord, etc. for å kontrollere dørlåsen. Tidligere har vi utviklet mange digitale dørlåsapplikasjoner ved hjelp av disse forskjellige teknologiene. I denne opplæringen bygger vi et Face ID-kontrollert digitalt dørlåssystem ved hjelp av ESP32-CAM.
AI-Thinker ESP32-CAM-modulen er et billig utviklingskort med et veldig lite OV2640-kamera og et micro SD-kortspor. Den har en ESP32 S-brikke med innebygd Wi-Fi og Bluetooth-tilkobling, med 2 høyytelses 32-biters LX6-prosessorer, 7-trinns rørledningsarkitektur. Vi har tidligere forklart ESP32-CAM i detalj og brukt den til å bygge en Wi-Fi-dørvideodørklokke. Denne gangen bruker vi ESP32-CAM til å bygge et ansiktsgjenkjenningsbasert dørlåsesystem ved hjelp av en relémodul og magnetlås.
Komponenter kreves
- ESP32 CAM
- FTDI-styret
- Relémodul
- Magnetlås
- Jumper Wires
Magnetlås
En magnetlås fungerer på den elektronisk-mekaniske låsemekanismen. Denne typen lås har en snegle med et skrått snitt og en god monteringsbrakett. Når strømmen brukes, skaper DC et magnetfelt som beveger sneglen inn og holder døren i ulåst stilling. Sluggen vil beholde sin posisjon til strømmen er fjernet. Når strømmen kobles fra, beveger sneglen seg utenfor og låser døren. Den bruker ikke strøm i en låst tilstand. For å drive magnetlåsen trenger du en strømkilde som kan gi 12V @ 500mA.
Vi brukte tidligere en magnetlås for å bygge en Arduino-basert RFID-dørlås.
Kretsdiagram
Kretsdiagrammet for ESP32-CAM Dørlåsesystem for ansiktsgjenkjenning er gitt nedenfor:
Kretsen ovenfor kombinert med et FTDI-kort, relémodul og magnetlås. FTDI-kortet brukes til å blinke koden inn i ESP32-CAM, da den ikke har en USB-kontakt mens relémodulen brukes til å slå magnetventilåsen på eller av. VCC og GND-pinner på FTDI-kortet og relémodulen er koblet til Vcc og GND-pinnen på ESP32-CAM. TX og RX på FTDI-kortet er koblet til RX og TX på ESP32, og IN-pinnen på relémodulen er koblet til IO4 i ESP32-CAM.
ESP32-CAM |
FTDI-styret |
5V |
VCC |
GND |
GND |
UOR |
TX |
UOT |
RX |
ESP32-CAM |
Relémodul |
5V |
VCC |
GND |
GND |
IO4 |
I |
Merk: Koble IO0 til bakken før du laster opp koden. IO0 bestemmer om ESP32 er i blinkende modus eller ikke. Når GPIO 0 er koblet til GND, er ESP32 i blinkende modus.
Etter å ha koblet til maskinvaren i henhold til kretsskjemaet, bør den se ut som nedenfor:
Installer ESP32 Board på Arduino IDE
Her brukes Arduino IDE til å programmere ESP32-CAM. For det, installer først ESP32-tillegget på Arduino IDE.
For å installere ESP32-kortet i Arduino IDE, gå til Fil> Innstillinger.
Kopier nå lenken nedenfor og lim den inn i feltet "Tilleggsstyrings-URL-er" som vist i figuren nedenfor. Klikk deretter på “OK” -knappen:
https://dl.espressif.com/dl/package_esp32_index.json
Gå nå til Verktøy> Tavle> Tavlebehandling
I Board Manager, søk etter ESP32 og installer “ESP32 by Espressif Systems“.
Kode Forklaring
Vi forklarte ansiktsgjenkjenning med ESP32 i forrige artikkel; her vil vi endre den samme koden for å kontrollere en magnetlås. Den komplette koden er delt inn i fire deler. Den ene er hovedkoden for kameraet og relémodulen der ESP32 låser eller låser opp døren i henhold til ansiktsgjenkjenning, og de andre tre kodene er for nettside, kameraindeks og kamerapinner. Komplett kode er gitt på slutten av denne siden. Her forklarer vi noen viktige deler av koden.
Begynn programmet med å inkludere alle bibliotekfilene.
# inkluderer "esp_camera.h" # inkluderer
I neste linje fjerner du kommentaren til kameramodulen du bruker med ESP32. I koden er fem forskjellige kameramodeller definert. I dette tilfellet bruker vi AI-THINKER-modellen.
// # definere CAMERA_MODEL_WROVER_KIT // # definere CAMERA_MODEL_ESP_EYE // # definere CAMERA_MODEL_M5STACK_PSRAM // # definere CAMERA_MODEL_M5STACK_WIDE # definer CAMERA_MODEL_AI_THINKER
Deretter setter du inn nettverksinformasjonen din i følgende variabler:
const char * ssid = "Wi-Fi-navn"; const char * password = "Wi-Fi passord";
Definer deretter pinnen der relémodulen er koblet til. Vi bruker millis () -funksjonen til å låse døren etter å ha låst den opp i et definert tidsintervall, her er det 5 sekunder.
#definer stafett 4 lang prevMillis = 0; int-intervall = 5000;
I oppsett () -funksjonen, initialiser du seriell skjerm med en baudrate på 115200 for feilsøkingsformål. Deretter definerer du pin-modus for relémodulen i de neste linjene, og innstiller også reléet i lav posisjon i utgangspunktet.
ugyldig oppsett () {Serial.begin (115200); pinMode (relé, UTGANG); digitalWrite (relé, LAV);
Inne i loop () -funksjonen, sjekk om ansiktet stemmer overens med det registrerte ansiktet. Hvis ja, låser du opp døren i 5 sekunder, og etter 5 sekunder låser du døren igjen.
void loop () {if (matchFace == true && activeRelay == false) {activeRelay = true; digitalWrite (relé, HØY); prevMillis = millis (); } hvis (activeRelay == true && millis () - prevMillis> intervall) {activeRelay = false; matchFace = false; digitalWrite (relé, LAV); }
Testing av
Til slutt for å laste opp koden, kobler du FDTI-kortet til den bærbare datamaskinen, og velger 'ESP32 Wrover Module' som kortet ditt. Endre også de andre innstillingene som vist på bildet nedenfor:
Ikke glem å koble IO0-pinnen til GND før du laster opp koden, og trykk også på reset-knappen ESP32 og klikk deretter på opplastingsknappen.
Merk: Hvis du får feil mens du laster opp koden, må du kontrollere at IO0 er koblet til GND, og du valgte riktige innstillinger i Verktøy-menyen.
Etter at du har lastet opp koden, fjern IO0 og GND pin. Åpne deretter den serielle skjermen og endre overføringshastigheten til 115200. Deretter trykker du på ESP32 reset-knappen, den skriver ut ESP IP-adresse og portnr. på seriell skjerm.
Gå nå til nettleseren og skriv inn ESP IP-adressen som er kopiert fra den serielle skjermen for å få tilgang til kamerastreamingen. Det tar deg til streaming siden. For å starte videostreamingen, klikk på 'Start Stream' -knappen nederst på siden.
For å gjenkjenne ansiktene med ESP32-CAM, må vi først registrere ansiktene. For det, slå på ansiktsgjenkjennings- og gjenkjenningsfunksjonene fra innstillingene, og klikk deretter på Registrer ansikt-knappen. Det tar flere forsøk for å redde ansiktet. Etter å ha lagret ansiktet, oppdager det ansiktet som motiv 0 der null er ansiktsnummeret.
Etter at ansiktet er registrert, hvis et ansikt blir gjenkjent i videofeeden, vil ESP32 gjøre relémodulen høy for å låse opp døren.
Så dette er hvordan ESP32-CAM kan brukes til å bygge et ansiktsgjenkjenningsbasert sikkerhetssystem. Komplett kode kan lastes ned fra denne lenken og er også gitt nedenfor sammen med en demonstrasjonsvideo.