This is an old revision of the document!
Proiectul consta in realizarea unui Sistem Inteligent de Securitate de tip IoT (Internet of Things), capabil sa monitorizeze in timp real accesul intr-o incapere. Sistemul utilizeaza un senzor de miscare sau de vibratie pentru a detecta intrusii, o camera video pentru verificare vizuala si un sistem de avertizare acustica (buzzer) controlabil de la distanta prin intermediul unui smartphone.
Scopul principal este oferirea unei solutii de supraveghere active si accesibile. Spre deosebire de sistemele de alarma clasice care doar suna, acesta permite utilizatorului sa valideze vizual amenintarea prin live stream si sa decida daca activeaza sau nu alarma sonora pentru a speria intrusul.
Ideea a pornit de la problema alertelor false generate de senzorii de miscare obisnuiti. Ne-am dorit un sistem care sa ofere “ochi” utilizatorului: primesti alerta, verifici video daca e cineva acolo si abia apoi actionezi buzzer-ul. Este un mod de a avea control total asupra securitatii locuintei de oriunde te-ai afla.
Sistemul este construit in jurul microcontrolerului ESP32-WROOM-32U, care gestioneaza colectarea datelor de la senzori, comunicarea wireless cu telefonul utilizatorului si stocarea evenimentelor pe card SD.
Descrierea Modulelor si a Interactiunii
Decizia tehnica: inlocuirea camerei OV7670 Modulul OV7670 din BOM-ul initial nu a putut fi integrat functional cu ESP32-WROOM-32U fara PSRAM. Senzorul transmite pixelii prin interfata paralela in timp real (PCLK la 10-20 MHz), iar fara un buffer FIFO extern (AL422), ESP32 trebuie sa-i capteze direct prin DMA I2S - operatie sensibila la timing. In testele efectuate, frame-urile au sosit constant incomplete (30720 octeti din 38400 asteptati - aproximativ 96 din 120 randuri), indicand o problema fundamentala de sincronizare VSYNC/HREF in absenta unei memorii tampon dedicate.
Solutiile teoretice ar fi fost: (a) modul OV7670 cu cip AL422B FIFO, (b) modul ArduCAM Mini cu OV2640 si FIFO integrat, sau © placuta ESP32-CAM. Variantele (b) si © nu se potriveau cerintei de a folosi componente separate; varianta (a) presupunea o livrare de 2-3 saptamani din afara tarii.
Solutia adoptata - folosirea unui telefon Android second-hand ca sursa video - ofera avantaje practice semnificative: rezolutie superioara (HD/FullHD vs 640×480 OV7670), stream video continuu (nu doar cadre izolate), audio integrat, alimentare prin propria baterie, si mai ales zero probleme de timing. Telefonul comunica cu sistemul prin protocol HTTP standard, ceea ce permite si integrarea facila cu modulul ESP-01.
Decizia tehnica: introducerea modulului ESP-01 La integrarea WiFi pe ESP32 alaturi de Bluetooth Classic (necesar pentru comunicarea cu telefonul utilizatorului) a aparut o limitare hardware: stiva Bluetooth Classic ocupa circa 110 KB RAM, iar stiva WiFi + lwIP suplimentar 60-70 KB. Cu un total de 320 KB RAM disponibil in ESP32-WROOM-32U (fara PSRAM), suma necesarului depaseste capacitatea, iar initializarea WiFi esueaza (“Failed to allocate … bytes”).
Solutia adoptata distribuie sarcina pe doua microcontrolere care comunica prin UART: ESP32 ramane dedicat senzorilor + Bluetooth, iar ESP-01 (ESP8266) preia complet stiva WiFi/HTTP. ESP32 trimite comenzi AT pe UART2 catre ESP-01, care face cererea HTTP catre telefonul-camera si returneaza JPEG-ul octet cu octet. ESP32 scrie streaming pe SD, fara sa pastreze intregul JPEG in RAM.
Modul de functionare pe scurt
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.