This is an old revision of the document!
Seiful cu recunoastere de amprenta si coduri QR este un sistem avansat de securitate bazat pe un ESP32CAM, construit sa proceseze date biometrice si vizuale, conceput pentru a securiza bunuri de valoare intr-un compartiment protejat printr-un mecanism de inchidere controlat electronic.
Scopul proiectului este crearea unui seif inteligent care elimina dependenta de chei fizice sau coduri numerice usor de uitat, oferind in schimb metode de acces moderne, rapide si sigure: amprenta digitala si autentificarea prin coduri QR.
Ideea de pornire a aparut din nevoia de a moderniza solutiile de stocare clasice. Seifurile mecanice traditionale sunt vulnerabile la tehnici de spargere conventionale si nu ofera nicio modalitate de monitorizare de la distanta. Integrarea tehnologiei biometrice si a unei camere video transforma un obiect pasiv intr-un dispozitiv activ de securitate.
De ce este util? Sistemul optimizeaza accesul prin folosirea unui senzor de amprenta (pentru acces personal rapid) si a unui cititor de coduri QR. Cand o amprenta valida este detectata sau un cod QR contine textul de autorizare corect, sistemul actioneaza un servomotor care deblocheaza incuietoarea. Mai mult, dispozitivul ofera un nivel superior de supraveghere prin streaming video live HTTP, permitand utilizatorului sa vizualizeze in timp real ce se intampla in fata seifului direct intr-o pagina web. De asemenea, fiecare actiune este insotita de un sunet produs de un buzzer pentru a confirma realizarea cu succes a acestora.
Ipoteza: Consider ca implementarea unei solutii duale (biometrie + QR) imbunatateste atat securitatea, cat si flexibilitatea utilizarii. Integrarea monitorizarii video live adauga un strat de protectie psihologica si functionala, permitand identificarea tentativelor de acces neautorizat.
Arhitectura proiectului este construita in jurul platformei ESP32-CAM, utilizand procesorul Dual-Core capabil sa gestioneze simultan sarcini de procesare de imagine si conectivitate wireless.
Interactiunea modulelor:
Modulul Camera (OV2640): Este piesa centrala a sistemului, conectata prin interfata interna CSI. Aceasta asigura fluxul de date video necesar atat pentru recunoasterea codului QR (prin analiza software a cadrelor), cat si pentru monitorizarea live. Procesorul extrage textul din codul QR si il compara cu cheia de acces predefinita.
Senzorul de Amprenta (AS608): Este conectat la pinii GPIO configurati pentru comunicatie UART (Serial). Acesta functioneaza ca un sistem autonom care scaneaza, stocheaza si compara amprentele, trimitand catre ESP32-CAM doar confirmarea de potrivire.
Servomotorul (SG90): Reprezinta componenta de executie mecanica. Acesta primeste un semnal PWM generat de procesor, care ii dicteaza pozitia exacta (0° pentru blocarea seifului si 90° pentru deblocare).
Modulul Wi-Fi Integrat: Permite placii ESP32-CAM sa functioneze ca un Web Server. Acesta preia cadrele de la camera si le transmite prin retea sub forma unui stream HTTP, accesibil prin browser la o adresa IP locala. Astfel, utilizatorul are control vizual asupra seifului in timp real.
Buzzer Pasiv (3.3V): Este utilizat pentru feedback acustic, fiind controlat prin semnale de frecventa variabila. Acesta confirma auditiv fiecare actiune.
Proiectul cuprinde atat componente care opereaza la tensiunea de 5V, cat si la 3.3V.
Lista de piese utilizate:
Descrierea software-ului se concentreaza pe integrarea procesarii de imagine, a autentificarii biometrice si a conectivitatii Wi-Fi, utilizand mecanisme de sincronizare pentru a asigura stabilitatea sistemului pe arhitectura Dual-Core a ESP32-CAM.
1. Mediu de dezvoltare
2. Librarii si surse 3rd-party
3. Algoritmi si structuri implementate Multitasking si Sincronizare (FreeRTOS):
Metoda de acces hibrid: Sistemul verifica ciclic prezenta unei amprente valide (getFingerprintID) sau a unui cod QR valid.
4. Surse si functii principale
Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.