Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2026:bianca.popa1106:alexandru.cazacu05 [2026/05/02 13:27]
alexandru.cazacu05 [Software Design]
pm:prj2026:bianca.popa1106:alexandru.cazacu05 [2026/05/24 12:49] (current)
alexandru.cazacu05 [Concluzii]
Line 1: Line 1:
 ====== Seif cu recunoastere de amprenta si cod QR ====== ====== Seif cu recunoastere de amprenta si cod QR ======
 +
 +Cazacu Alexandru-Dan 332CA
 ===== Introducere ===== ===== 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. **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.
Line 35: Line 37:
 **Lista de piese utilizate:​** **Lista de piese utilizate:​**
  
-  * 1 x ESP32-CAM (Unitatea centrala cu Wi-Fi si slot camera) +  * 1 x [[https://​www.handsontec.com/​dataspecs/​module/​ESP32-CAM.pdf|ESP32-CAM]] ​(Unitatea centrala cu Wi-Fi si slot camera) 
-  * 1 x Senzor de Amprenta AS608 (Alimentare 3.3V, comunicare UART)+  * 1 x [[https://​handsontec.com/​dataspecs/​sensor/​AS608%20Finger%20print%20Sensor.pdf|Senzor de Amprenta AS608]] (Alimentare 3.3V, comunicare UART)
   * 1 x Camera OV2640 (Conectata prin interfata CSI)   * 1 x Camera OV2640 (Conectata prin interfata CSI)
-  * 1 x Servomotor SG90 (Actuator 5V pentru mecanismul de blocare)+  * 1 x [[http://​www.ee.ic.ac.uk/​pcheung/​teaching/​DE1_EE/​stores/​sg90_datasheet.pdf|Servomotor SG90]] (Actuator 5V pentru mecanismul de blocare)
   * 1 x Buzzer Pasiv (Alimentare 3.3V, operat prin semnal PWM)   * 1 x Buzzer Pasiv (Alimentare 3.3V, operat prin semnal PWM)
   * Placi de prototipare   * Placi de prototipare
Line 64: Line 66:
  
 3. Algoritmi si structuri implementate 3. Algoritmi si structuri implementate
 +
 **Multitasking si Sincronizare (FreeRTOS):​** **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.+  * Sistemul utilizeaza ​semafoare ​de tip mutex 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.   * 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: +**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.+  ​* ​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().   * 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.   * 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 4. Surse si functii principale
-  * setup(): Initializeaza perifericele,​ configureaza serverul web si porneste inrolarea obligatorie a unei amprente ​"​Master" ​la pornire.+  * setup(): Initializeaza perifericele,​ configureaza serverul web si porneste inrolarea obligatorie a unei amprente la pornire.
   * stream_handler():​ Gestioneaza fluxul MJPEG, captand cadre de la camera OV2640 si trimitandu-le catre client sub forma de chunks HTTP.   * 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.   * checkQR() / onQrCodeTask():​ Analizeaza cadrele video in cautarea unui cod QR si valideaza payload-ul text.
Line 79: Line 82:
   * getFingerprintID():​ Interogheaza rapid baza de date interna a senzorului AS608 pentru a gasi o potrivire cu degetul scanat.   * getFingerprintID():​ Interogheaza rapid baza de date interna a senzorului AS608 pentru a gasi o potrivire cu degetul scanat.
  
-===== Rezultate Obţinute ===== 
  
-<note tip> 
-Care au fost rezultatele obţinute în urma realizării proiectului vostru. 
-</​note>​ 
  
-===== Concluzii ​=====+===== Jurnal ​=====
  
-===== Download =====+  * **01.03.2026 - 01.05.2026:​** alegerea temei, cumpararea componentelor,​ implementarea proiectului pe breadboard, testarea proiectului pe breadboard. 
 +  * **02.05.2026 - 25.05.2026:​** implementarea proiectului pe placi de prototipare,​ construire carcasa.
  
-<note warning>​ +===== Concluzii =====
-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**. +Video[[https://​youtube.com/​shorts/​IEkWLssta9M?is=n0Xu2HQ-a82B159k|Proiect]]
-</​note>​+
  
-===== Jurnal ===== 
  
-<note tip> +Prin realizarea acestui proiect, am dobandit cunostinte practice solide privind managementul componentelor hardware cu cerinte diferite ​de alimentare (3.3V si 5V). Pe parte software, am invatat sa fac un management eficient al resurselor prin echilibrarea a taskurilor periodice, asigurandu-ma ca placa ESP32-CAM nu este suprasolicitata si nu consuma prea mult curent deodata. De asemenea, am invatat sa configurez un server web direct pe placa pentru streaming video HTTP live si sa folosesc biblioteci dedicate pentru a realiza functionalitatile ​de citire a codurilor QR, a amprentelor si rularea serverului.
-Puteți avea și o secțiune ​de jurnal în care să poată urmări asistentul ​de proiect progresul proiectului. +
-</​note>​+
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
 +Resurse Hardware:
  
-<​note>​ 
-Listă cu documente, datasheet-uri,​ resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. 
-</​note>​ 
- 
-<​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​ 
  
 +  * [[https://​www.handsontec.com/​dataspecs/​module/​ESP32-CAM.pdf|Datasheet ESP32CAM]]
 +  * [[https://​handsontec.com/​dataspecs/​sensor/​AS608%20Finger%20print%20Sensor.pdf|Datasheet Senzor Amprenta AS608]]
 +  * [[http://​www.ee.ic.ac.uk/​pcheung/​teaching/​DE1_EE/​stores/​sg90_datasheet.pdf|Datasheet SG90 Micro Servo]]
pm/prj2026/bianca.popa1106/alexandru.cazacu05.1777717621.txt.gz · Last modified: 2026/05/02 13:27 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