- Būtini komponentai
- Elektromagnetinis užraktas
- Grandinės schema
- Įdiekite „ESP32 Board“ į „Arduino IDE“
- Kodo paaiškinimas
- Testavimas
Saugumas šiais laikais labiausiai rūpi visiems, nesvarbu, ar tai būtų duomenų saugumas, ar savo namų apsauga. Tobulėjant technologijoms ir vis dažniau naudojant DI, skaitmeninės durų spynos šiais laikais tapo labai įprastos. Skaitmeniniam užraktui nereikia jokio fizinio rakto, tačiau jis naudoja RFID, pirštų atspaudus, „Face ID“, PIN kodą, slaptažodžius ir kt. Praeityje mes sukūrėme daugybę skaitmeninių durų spynų programų, naudodamiesi šiomis įvairiomis technologijomis. Šioje pamokoje mes sukuriame „ Face ID“ valdomą skaitmeninių durų užrakto sistemą, naudojant ESP32-CAM.
„AI-Thinker ESP32-CAM“ modulis yra pigi kūrimo plokštė su labai mažo dydžio OV2640 kamera ir „micro SD“ kortelės lizdu. Jis turi ESP32 S lustą su įmontuotu „Wi-Fi“ ir „Bluetooth“ ryšiu, su 2 didelio našumo 32 bitų LX6 procesoriais, 7 pakopų dujotiekio architektūra. Mes anksčiau išsamiai paaiškinome ESP32-CAM ir panaudojome jį kurdami „Wi-Fi“ durų „Video“ durų skambutį. Šį kartą naudosime ESP32-CAM, kad sukurtume veido atpažinimu pagrįstą durų užrakto sistemą, naudojant relės modulį ir solenoidinį užraktą.
Būtini komponentai
- ESP32 CAM
- FTDI valdyba
- Relės modulis
- Elektromagnetinis užraktas
- Šuolių laidai
Elektromagnetinis užraktas
Elektromagnetinis užraktas veikia elektroninio ir mechaninio užrakto mechanizme. Šio tipo spynelė turi šliužą su nuožulniu pjūviu ir gerą tvirtinimo laikiklį. Įjungus maitinimą, nuolatinė srovė sukuria magnetinį lauką, kuris judina šliužą viduje ir palaiko duris neužrakintoje padėtyje. Šliužas išlaikys savo padėtį, kol maitinimas bus išjungtas. Atjungus maitinimą, šliužas juda lauke ir užrakina duris. Užrakintoje būsenoje jis nenaudoja jokios galios. Norėdami valdyti elektromagnetinį užraktą, jums reikės maitinimo šaltinio, kuris gali suteikti 12 V @ 500 mA.
Anksčiau mes naudojome elektromagnetinį užraktą, kad sukurtume „Arduino“ pagrindo RFID durų spyną.
Grandinės schema
ESP32-CAM veido atpažinimo durų užrakto sistemos grandinės schema pateikta žemiau:
Aukščiau esanti grandinė kartu su FTDI plokšte, relės moduliu ir elektromagnetiniu užraktu. FTDI plokštė naudojama kodui mirksėti į ESP32-CAM, nes joje nėra USB jungties, o relės modulis naudojamas įjungti arba išjungti solenoidinį užraktą. FTDI plokštės ir relės modulio VCC ir GND kaiščiai yra prijungti prie ESP32-CAM Vcc ir GND kaiščių. FTDI plokštės TX ir RX yra prijungtos prie ESP32 RX ir TX, o relės modulio IN kaištis yra prijungtas prie ESP32-CAM IO4.
ESP32-CAM |
FTDI valdyba |
5V |
VCC |
BND |
BND |
UOR |
TX |
UOT |
RX |
ESP32-CAM |
Relės modulis |
5V |
VCC |
BND |
BND |
IO4 |
IN |
Pastaba: Prieš įkeldami kodą, prijunkite IO0 prie žemės. IO0 nustato, ar ESP32 veikia mirksi, ar ne. Kai GPIO 0 prijungtas prie GND, ESP32 mirksi.
Prijungę aparatūrą pagal grandinės schemą, ji turėtų atrodyti maždaug taip:
Įdiekite „ESP32 Board“ į „Arduino IDE“
Čia „Arduino IDE“ naudojama programuoti ESP32-CAM. Tam pirmiausia įdiekite ESP32 priedą „Arduino IDE“.
Norėdami įdiegti ESP32 plokštę į „Arduino IDE“, eikite į Failas> Nuostatos.
Dabar nukopijuokite žemiau esančią nuorodą ir įklijuokite ją į lauką „Papildomi valdybos tvarkyklės URL“, kaip parodyta paveikslėlyje žemiau. Tada spustelėkite mygtuką „Gerai“:
https://dl.espressif.com/dl/package_esp32_index.json
Dabar eikite į „ Tools“> „Board“> „Boards Manager“
Valdybų tvarkytuvėje ieškokite ESP32 ir įdiekite „ESP32 by Espressif Systems“.
Kodo paaiškinimas
Veido atpažinimą su ESP32 paaiškinome ankstesniame straipsnyje; čia mes pakeisime tą patį kodą, kad valdytume elektromagnetinių durų užraktą. Visas kodas yra padalintas į keturias dalis. Vienas yra pagrindinis fotoaparato ir relės modulio kodas, kuriame ESP32 užrakina arba atrakina duris pagal veido atpažinimo funkciją, o kiti trys kodai skirti tinklalapiui, fotoaparato rodyklei ir kameros kaiščiams. Pilnas kodas pateikiamas šio puslapio pabaigoje. Čia mes paaiškiname keletą svarbių kodo dalių.
Pradėkite programą įtraukdami visus bibliotekos failus.
#include "esp_camera.h" #include
Kitoje eilutėje atžymėkite fotoaparato modulį, kurį naudojate su ESP32. Kode apibrėžti penki skirtingi fotoaparatų modeliai. Šiuo atveju mes naudojame AI-THINKER modelį.
// # 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
Po to įterpkite tinklo kredencialus į šiuos kintamuosius:
const char * ssid = "Wi-Fi pavadinimas"; const char * password = "Wi-Fi slaptažodis";
Tada nustatykite kaištį, kuriame prijungtas relės modulis. Mes naudosime milis () funkciją, kad užrakintume duris, jas atrakinus per nustatytą laiko tarpą, čia yra 5 sekundės.
#define relay 4 long prevMillis = 0; int intervalas = 5000;
Naudodamiesi sąrankos () funkcija, inicializuokite nuoseklųjį monitorių 115200 duomenų perdavimo greičiu derinimo tikslais. Tada kitose eilutėse nustatykite relės modulio kaiščių režimą ir iš pradžių nustatykite relę žemoje padėtyje.
negaliojanti sąranka () {Serial.begin (115200); pinMode (relė, OUTPUT); digitalWrite (relė, LOW);
Funkcijos „ loop“ () viduje patikrinkite, ar veidas sutampa su užregistruotu veidu. Jei taip, tada atrakinkite duris 5 sekundėms ir po 5 sekundžių vėl užrakinkite duris.
void loop () {if (matchFace == true && activeRelay == false) {activeRelay = true; „digitalWrite“ (relė, AUKŠTAS); prevMillis = milis (); } if (activeRelay == true && millis () - prevMillis> intervalas) {activeRelay = false; matchFace = klaidinga; digitalWrite (relė, LOW); }
Testavimas
Galiausiai, norėdami įkelti kodą, prijunkite FDTI plokštę prie nešiojamojo kompiuterio ir kaip savo plokštę pasirinkite „ESP32 Wrover Module“. Taip pat pakeiskite kitus nustatymus, kaip parodyta žemiau esančiame paveikslėlyje:
Nepamirškite prijungti IO0 kaiščio prie GND prieš įkeldami kodą, taip pat paspauskite ESP32 atstatymo mygtuką ir spustelėkite mygtuką įkelti.
Pastaba: jei įkeliant kodą pasitaiko klaidų, patikrinkite, ar IO0 yra prijungtas prie GND, ir meniu Įrankiai pasirinkote tinkamus nustatymus.
Įkėlę kodą, nuimkite IO0 ir GND kaiščius. Tada atidarykite nuoseklųjį monitorių ir pakeiskite perdavimo greitį į 115200. Po to paspauskite ESP32 atstatymo mygtuką, jis atspausdins ESP IP adresą ir prievado Nr. serijiniame monitoriuje.
Dabar eikite į naršyklę ir įveskite ESP IP adresą, kuris nukopijuotas iš nuoseklaus monitoriaus, kad galėtumėte pasiekti kameros srautą. Nukreipsite į srautinio perdavimo puslapį. Norėdami pradėti vaizdo transliaciją, spustelėkite mygtuką „Pradėti srautą“ puslapio apačioje.
Norėdami atpažinti veidus su ESP32-CAM, pirmiausia turime užregistruoti veidus. Norėdami tai padaryti, nustatymuose įjunkite veido atpažinimo ir aptikimo funkcijas, tada spustelėkite mygtuką Užregistruoti veidą. Veidą gelbėti reikia kelių kartų. Išsaugojęs veidą, jis nustato veidą kaip subjektą 0, kur nulis yra veido numeris.
Užregistravęs veidus, jei vaizdo kanale atpažįstamas veidas, ESP32 relės modulį pakels aukštai, kad atrakintų duris.
Taigi ESP32-CAM gali būti naudojama kuriant veido atpažinimu pagrįstą apsaugos sistemą. Išsamų kodą galima atsisiųsti iš šios nuorodos, jis taip pat pateikiamas žemiau kartu su demonstraciniu vaizdo įrašu.