This is an old revision of the document!


Seif cu recunoastere de amprenta si cod QR

Introducere

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.

Descriere generală

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.

Hardware Design

Proiectul cuprinde atat componente care opereaza la tensiunea de 5V, cat si la 3.3V.

Lista de piese utilizate:

  • 1 x ESP32-CAM (Unitatea centrala cu Wi-Fi si slot camera)
  • 1 x Senzor de Amprenta AS608 (Alimentare 3.3V, comunicare UART)
  • 1 x Camera OV2640 (Conectata prin interfata CSI)
  • 1 x Servomotor SG90 (Actuator 5V pentru mecanismul de blocare)
  • 1 x Buzzer Pasiv (Alimentare 3.3V, operat prin semnal PWM)
  • Placi de prototipare
  • Fire de legatura DuPont (Tata-Tata, Mama-Tata)
  • Bare de pini (Mama si Tata)
  • Mecanism hardware fizic (zavor, usa)
  • Carcasa de protectie

Software Design

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

  • Arduino IDE: Utilizat pentru scrierea, compilarea si incarcarea codului pe modulul ESP32-CAM.
  • Monitor Serial: Utilizat la o rata de transfer de 921600 baud pentru monitorizare.

2. Librarii si surse 3rd-party

  • Adafruit_Fingerprint.h: Gestionarea comunicatiei UART cu senzorul optic AS608.
  • ESP32QRCodeReader.h: Librarie pentru procesarea cadrelor video si decodarea continutului codurilor QR.
  • ESP32Servo.h & ESP32PWM: Controlul precis al actuatorului SG90 si al buzzerului folosind timerele hardware ale ESP32.
  • WiFi.h & esp_http_server.h: Implementarea stivei de retea si a serverului web asincron pentru streaming video.

3. Algoritmi si structuri implementate

Multitasking si Sincronizare (FreeRTOS):

  • Sistemul utilizeaza Semafoare de tip Mutex (mutex, serverMutex) pentru a arbitra accesul la resursele partajate (Camera si magistrala de date). Aceasta previne coliziunile intre thread-ul care proceseaza codurile QR si cel care trimite stream-ul video prin HTTP.
  • Algoritmul de control ruleaza pe ambele nuclee, delegand cititorul de coduri QR pe nucleul 1 pentru a nu bloca executia logicii de control.
  • Automat de stari si Logica de control:
  • Metoda de acces hibrid: Sistemul verifica ciclic prezenta unei amprente valide (getFingerprintID) sau a unui cod QR valid.
  • Gestionarea timpului: Implementarea unui mecanism de tip non-blocking delay prin macro-ul TIME_PASSED, permitand executia fluida a codului fara intreruperi de tip delay().
  • Auto-Lock: Implementarea unei structuri de temporizare care asigura re-inchiderea automata a seifului dupa 10 secunde de la deblocare.

4. Surse si functii principale

  • setup(): Initializeaza perifericele, configureaza serverul web si porneste inrolarea obligatorie a unei amprente “Master” la pornire.
  • stream_handler(): Gestioneaza fluxul MJPEG, captand cadre de la camera OV2640 si trimitandu-le catre client sub forma de chunks HTTP.
  • checkQR() / onQrCodeTask(): Analizeaza cadrele video in cautarea unui cod QR si valideaza payload-ul text.
  • unlock() / lock(): Functii de executie care controleaza unghiul servomotorului si ofera feedback sonor diferentiat prin buzzer la frecvente de 700Hz, respectiv 1500Hz.
  • getFingerprintID(): Interogheaza rapid baza de date interna a senzorului AS608 pentru a gasi o potrivire cu degetul scanat.

Rezultate Obţinute

Care au fost rezultatele obţinute în urma realizării proiectului vostru.

Concluzii

Download

O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).

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.

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Export to PDF

pm/prj2026/bianca.popa1106/alexandru.cazacu05.1777717699.txt.gz · Last modified: 2026/05/02 13:28 by alexandru.cazacu05
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0