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
Diagrama bloc inainte de schimbarea modulului OV7670
Diagrama bloc dupa schimbarea modulului OV7670
Lista componente folosite:
1. ESP32-WROOM-32U (microcontroller principal) - Dual-core Xtensa LX6 @ 240 MHz, 320 KB RAM, 4 MB Flash - Bluetooth Classic + BLE, WiFi 802.11 b/g/n (conector IPEX pentru antena externa) - 34 GPIO programabile, ADC/DAC, I2C, SPI, UART, PWM (LEDC) Datasheet: https://www.espressif.com/sites/default/files/documentation/esp32-wroom-32_datasheet_en.pdf
2. PIR HC-SR501 (senzor miscare prin infrarosu pasiv) - Tensiune: 5V DC, consum < 65 mA - Distanta detectie: 3-7 m (reglabila) - Timp HIGH la detectie: 5-200 s (reglabil) - Output: digital 3.3V compatibil cu GPIO ESP32 Datasheet: https://www.mpja.com/download/31227sc.pdf Referinta tehnica: https://components101.com/sensors/hc-sr501-pir-sensor
3. MPU-6050 (modul GY-521, accelerometru + giroscop) - 3 axe accelerometru (+/- 2g, 4g, 8g, 16g) - 3 axe giroscop (+/- 250, 500, 1000, 2000 dps) - Interfata I2C, adresa 0x68 (sau 0x69 daca AD0 = HIGH) - Tensiune: 3.3V - 5V (regulator on-board) - Senzor temperatura integrat Datasheet senzor: https://invensense.tdk.com/wp-content/uploads/2015/02/MPU-6000-Datasheet1.pdf Register map (referinta pentru firmware): https://invensense.tdk.com/wp-content/uploads/2015/02/MPU-6000-Register-Map1.pdf
4. ESP8266 ESP-01 (modul WiFi separat) - SoC ESP8266EX cu Tensilica L106 @ 80 MHz - 802.11 b/g/n, TCP/IP integrat, securitate WPA/WPA2 - 1 MB Flash, firmware AT pentru control prin UART - Tensiune: 3.3V, consum varf ~300 mA - UART la 115200 bps (default) Datasheet ESP8266EX: https://www.espressif.com/sites/default/files/documentation/0a-esp8266ex_datasheet_en.pdf Documentatie AT commands: https://www.espressif.com/sites/default/files/documentation/4a-esp8266_at_instruction_set_en.pdf
5. AMS1117-3.3 (regulator de tensiune LDO 3.3V) - Intrare: 4.3V - 12V - Iesire: 3.3V fix - Curent maxim: 1 A - Drop-out tipic: 1.2V - Capacitor decuplare obligatoriu pe iesire (>= 10 uF) Datasheet: https://www.advanced-monolithic.com/pdf/ds1117.pdf
6. Cititor microSD SPI (Elektroweb 3.3V) - Interfata SPI (MISO, MOSI, SCK, CS) - Suport carduri microSD pana la 32 GB (FAT32) - in practica merge si cu 128 GB - Tensiune: 3.3V (regulator LDO pe modul) - Convertor de nivel logic 5V -> 3.3V integrat Datasheet specificatie SD over SPI: https://www.sdcard.org/downloads/pls/pdf/index.php?p=Part1_Physical_Layer_Simplified_Specification_Ver8.00.jpg&f=Part1_Physical_Layer_Simplified_Specification_Ver8.00.pdf&e=EN_SS1_8
7. Buzzer activ 3-24V (generator de ton intermitent intern)
- Activare prin tensiune continua aplicata pe pini
- Ton intermitent generat de oscilator intern (~85 dB la 30 cm)
- Necesita tranzistor de comanda (BC547 / 2N2222) pentru alimentare
de pe GPIO ESP32 - curentul depaseste capacitatea pinilor (40 mA max)
Specificatii model:
https://www.emag.ro/buzzer-cu-generator-de-ton-intermitent-3-24v-75db-...
8. Baterie 9V (alcalina standard) - Sursa primara de alimentare a sistemului - Conectata prin AMS1117 -> 3.3V pentru ESP-01 si periferice
Componente din BOM-ul initial neutilizate in versiunea finala:
Inlocuita cu telefon Android + IP Webcam din motivele explicate in
descrierea generala (timing inadecvat pe ESP32-WROOM fara PSRAM). Datasheet OV7670 (pentru referinta): https://www.voti.nl/docs/OV7670.pdf
Telefon Android second-hand (camera IP)
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.