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:17]
alexandru.cazacu05 [Hardware Design]
pm:prj2026:bianca.popa1106:alexandru.cazacu05 [2026/05/02 13:45] (current)
alexandru.cazacu05 [Jurnal]
Line 35: Line 35:
 **Lista de piese utilizate:​** **Lista de piese utilizate:​**
  
-  * 1 x Modul ESP32-CAM (Unitatea centrala cu Wi-Fi si slot camera)+  * 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 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)
Line 51: Line 51:
  
  
-<note tip> +Descrierea ​software-ului se concentreaza pe integrarea procesarii ​de imaginea autentificarii biometrice si a conectivitatii Wi-Fi, utilizand mecanisme de sincronizare pentru a asigura stabilitatea sistemului ​pe arhitectura Dual-Core a ESP32-CAM.
-Descrierea ​codului aplicaţiei (firmware):​ +
-  * mediu de dezvoltare (if any) (e.g. AVR StudioCodeVisionAVR) +
-  * librării şi surse 3rd-party (e.g. Procyon AVRlib) +
-  * algoritmi şi structuri ​pe care plănuiţi să le implementaţi +
-  * (etapa 3) surse şi funcţii implementate +
-</​note>​+
  
-===== Rezultate Obţinute =====+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.
  
-<note tip> +2. Librarii si surse 3rd-party 
-Care au fost rezultatele obţinute în urma realizării proiectului vostru+  * Adafruit_Fingerprint.h:​ Gestionarea comunicatiei UART cu senzorul optic AS608
-</​note>​+  * 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.
  
-===== Concluzii =====+3. Algoritmi si structuri implementate
  
-===== Download =====+**Multitasking si Sincronizare (FreeRTOS):​** 
 +  * 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. 
 +**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 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.
  
-<note warning> 
-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**. 
-</​note>​ 
  
 ===== Jurnal ===== ===== Jurnal =====
  
-<note tip> +  * **01.03.2026 - 01.05.2026:​** alegerea temei, cumpararea componentelor,​ implementarea ​proiectului ​pe breadboard, testarea proiectului pe breadboard
-Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul ​proiectului. +  * **02.05.2026 - 25.05.2026:​** implementarea proiectului pe placi de prototipare,​ construire carcasa.
-</​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.1777717038.txt.gz · Last modified: 2026/05/02 13:17 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