This shows you the differences between two versions of the page.
|
pm:prj2026:bianca.popa1106:victoria.plamadeala [2026/05/09 22:53] victoria.plamadeala [Descriere generală] |
pm:prj2026:bianca.popa1106:victoria.plamadeala [2026/05/25 13:06] (current) victoria.plamadeala [Hardware] |
||
|---|---|---|---|
| Line 11: | Line 11: | ||
| ===== Descriere generală ===== | ===== Descriere generală ===== | ||
| - | Sistemul este construit in jurul microcontrolerului ESP32, care gestioneaza atat colectarea datelor de la senzori, cat si comunicarea wireless cu telefonul utilizatorului. | + | 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** | **Descrierea Modulelor si a Interactiunii** | ||
| - | - ESP32 WROOM: Este baza. Citeste senzorii, trimite stream-ul video si asculta comenzile venite de la telefon prin Bluetooth sau Wi-Fi. | + | - ESP32-WROOM-32U: Microcontrolerul principal. Citeste senzorii, gestioneaza Bluetooth-ul pentru comunicarea cu telefonul utilizatorului, controleaza buzzer-ul si scrie pe SD prin SPI. Comunica cu modulul ESP-01 prin UART pentru obtinerea pozelor de la camera. |
| - | - Senzori (PIR / MPU-6050): Detecteaza prezenta fizica. Senzorul PIR detecteaza caldura corpului in miscare, iar MPU-6050 detecteaza miscarea usii. Acestia trimit un semnal de tip "Interrupt" catre ESP32. | + | - Senzori (PIR HC-SR501 / MPU-6050): Detecteaza prezenta fizica si miscarea. Senzorul PIR detecteaza caldura corpului in miscare in fata usii (semnal GPIO digital), iar MPU-6050 detecteaza vibratia / deschiderea usii prin accelerometru pe I2C. Ambii sunt monitorizati de ESP32 in firmware. |
| - | - Camera OV7670: Realizeaza captura imaginilor. Interactioneaza cu ESP32 prin protocolul VGA pentru a transmite cadrele video catre interfata de pe telefon. | + | - Camera (Telefon Android cu IP Webcam): Solutia adoptata pentru captura video, in locul modulului OV7670. Telefonul ruleaza aplicatia IP Webcam si expune un stream HTTP MJPEG / endpoint /photo.jpg pe reteaua WiFi locala. |
| - | - Buzzer: Este elementul de descurajare. Acesta este activat doar la comanda explicita a utilizatorului, primind semnal prin GPIO. | + | - Modul WiFi ESP-01 (ESP8266): Plăcuta separata dedicata WiFi-ului. ESP32 o controleaza prin comenzi AT trimise pe UART2. ESP-01 face HTTP GET catre camera IP si returneaza JPEG-ul catre ESP32 pe UART, octet cu octet. |
| - | - Cititor Card SD: Folosit pentru stocarea locala a log-urilor sau a pozelor in cazul in care conexiunea la internet este pierduta. | + | - Buzzer: Elementul de descurajare. Activat exclusiv la comanda explicita a utilizatorului (tasta "B" trimisa prin Bluetooth), oprit cu "S" sau automat dupa 30 secunde (safety timeout). Comanda prin pin GPIO. |
| - | - AMS1117: Stabilizatorul de tensiune care asigura ca toti pinii primesc exact 3.3V, prevenind arderea componentelor sensibile de la bateria de 9V. | + | - Cititor Card SD: Stocheaza local un log al evenimentelor (timestamp + tip eveniment + detalii) si pozele JPEG salvate la fiecare detectie. Conectat prin SPI. |
| + | - AMS1117: Regulator de tensiune 3.3V folosit pentru alimentarea stabila a ESP-01 (consum de varf 300 mA in transmisie WiFi care ar putea depasi capacitatea regulatorului intern al placutei ESP32). | ||
| + | |||
| + | **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 (c) placuta | ||
| + | ESP32-CAM. Variantele (b) si (c) 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 640x480 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** | **Modul de functionare pe scurt** | ||
| - | - Senzorul detecteaza miscare la usa. | + | - La pornire, ESP32 initializeaza senzorii, SD-ul, Bluetooth-ul si stabileste conexiunea cu ESP-01 prin UART; ESP-01 se autentifica pe reteaua WiFi locala. |
| - | - ESP32 trimite o alerta catre telefonul utilizatorului. | + | - Senzorul PIR sau MPU-6050 detecteaza miscare la usa. |
| - | - Utilizatorul deschide aplicatia si vede stream-ul de la camera OV7670. | + | - ESP32 trimite o alerta catre telefonul utilizatorului prin Bluetooth, impreuna cu URL-ul stream-ului video. |
| - | - Daca e un intrus, utilizatorul apasa butonul pe telefon, iar ESP32 activeaza Buzzer-ul. | + | - In paralel, ESP32 instruieste ESP-01 sa descarce o poza instantanee de la camera IP; poza e salvata pe SD ca /snap_NNN.jpg. |
| + | - Utilizatorul deschide URL-ul primit si vede stream-ul live din fata usii. | ||
| + | - Daca identifica un intrus, apasa "B" in aplicatia Bluetooth Terminal de pe telefon, iar ESP32 activeaza buzzer-ul ca metoda de descurajare. Trimite "S" pentru oprire, sau buzzer-ul se opreste automat dupa 30 secunde. | ||
| + | - Toate evenimentele (detectii, comenzi, schimbari de stare) sunt logate pe SD cu data si ora exacta, pentru audit ulterior. | ||
| + | **Diagrama bloc inainte de schimbarea modulului OV7670** | ||
| + | {{:pm:prj2026:bianca.popa1106:victoria.plamadeala:schem_1.png?400|}} | ||
| - | ===== Hardware Design ===== | + | **Diagrama bloc dupa schimbarea modulului OV7670** |
| - | <note tip> | + | {{:pm:prj2026:bianca.popa1106:victoria.plamadeala:schem_2.png?400|}} |
| - | Aici puneţi tot ce ţine de hardware design: | + | |
| - | * listă de piese | + | |
| - | * scheme electrice (se pot lua şi de pe Internet şi din datasheet-uri, e.g. http://www.captain.at/electronic-atmega16-mmc-schematic.png) | + | |
| - | * diagrame de semnal | + | ===== Hardware ===== |
| - | * rezultatele simulării | + | |
| - | </note> | + | **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 | ||
| + | |||
| + | |||
| + | {{:pm:prj2026:bianca.popa1106:victoria.plamadeala:whatsapp_image_2026-05-25_at_12.58.42.jpeg?200|}} | ||
| + | {{:pm:prj2026:bianca.popa1106:victoria.plamadeala:2.jpeg?200|}} | ||
| + | |||
| + | |||
| + | **Componente din BOM-ul initial neutilizate in versiunea finala:** | ||
| + | |||
| + | - Camera OV7670 (CMOS VGA 640x480, fara FIFO) | ||
| + | Inlocuita cu telefon Android + IP Webcam din motivele explicate in decrierea generala (timing inadecvat pe ESP32-WROOM fara PSRAM). Datasheet OV7670 (pentru referinta): https://www.voti.nl/docs/OV7670.pdf | ||
| + | {{:pm:prj2026:bianca.popa1106:victoria.plamadeala:camera.jpg?100|}} | ||
| + | {{:pm:prj2026:bianca.popa1106:victoria.plamadeala:camera_1.jpg?100|}} | ||
| + | {{:pm:prj2026:bianca.popa1106:victoria.plamadeala:img_7100.jpg?100|}} | ||
| + | **Telefon Android vechi (camera IP)** | ||
| + | - Functie: server video HTTP cu stream MJPEG si endpoint /photo.jpg | ||
| + | - App: IP Webcam (Pavel Khlebovich, gratuit pe Google Play) | ||
| + | - Comunica cu ESP-01 prin WiFi 2.4 GHz / HTTP | ||
| + | - Necesita o retea WiFi locala comuna cu modulul ESP-01 | ||
| ===== Software Design ===== | ===== Software Design ===== | ||
| + | **Mediu de dezvoltare** | ||
| - | <note tip> | + | Aplicatia (firmware-ul) este dezvoltata in **Arduino IDE 2.x**, folosind pachetul board **"esp32 by Espressif Systems" v3.x**. S-a optat pentru Arduino IDE in detrimentul PlatformIO sau ESP-IDF nativ pentru ca proiectul nu necesita configurari custom de SDK, iar IDE-ul simplifica gestionarea librariilor si flow-ul de build/upload. Configurari obligatorii in IDE: |
| - | Descrierea codului aplicaţiei (firmware): | + | - Board: ESP32 Dev Module |
| - | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | + | - Partition Scheme: Huge APP (3MB No OTA / 1MB SPIFFS) - obligatoriu pentru ca Bluetooth Classic ocupa mult spatiu |
| - | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | + | - Upload speed: 115200 bps (fiabilitate maxima) |
| - | * algoritmi şi structuri pe care plănuiţi să le implementaţi | + | |
| - | * (etapa 3) surse şi funcţii implementate | + | |
| - | </note> | + | **Librarii si surse 3rd-party** |
| + | |||
| + | Sistemul foloseste **exclusiv librarii incluse in pachetul board ESP32**, fara dependinte externe. Acest design a fost o decizie constienta pentru a maximiza reproductibilitatea si a evita conflicte de versiuni: | ||
| + | - `BluetoothSerial` - Bluetooth Classic SPP pentru comunicatia cu telefonul utilizatorului | ||
| + | - `Wire` - I2C pentru MPU-6050 (driver scris manual prin acces direct la registre, fara librarie dedicata gen MPU6050.h) | ||
| + | - `SPI` + `SD` - acces la cardul microSD prin protocol SPI | ||
| + | - `Preferences` - stocare persistenta in NVS Flash (counter snapshot, configuratii) | ||
| + | - `freertos/*` - multi-tasking pe cele 2 core-uri ale ESP32 (xTaskCreatePinnedToCore, queue, semafoare, mutex) | ||
| + | - `esp_bt`, `esp_bt_main`, `esp_gap_bt_api` - control fin al stivei Bluetooth (eliberare memorie BLE neutilizata, gestionarea bond-urilor) | ||
| + | - `time.h` + `sys/time.h` - ceas de sistem si formatare timestamp ISO 8601 | ||
| + | |||
| + | Driverul ESP-01 (modul WiFi extern) e scris **de la zero**, fara librarie de tip WiFiEsp - sistemul trimite comenzi AT brute pe UART2 si parseaza raspunsurile (inclusiv markeri `+IPD,<n>:` pentru datele primite din socket TCP). Aceasta abordare a oferit control complet asupra timeout-urilor si gestiunii memoriei, important pentru pastrarea consumului mic. | ||
| + | |||
| + | |||
| + | **Algoritmi si structuri implementate** | ||
| + | |||
| + | - **Multi-tasking FreeRTOS pe 2 core-uri** - loop principal pe Core 1 (PIR + MPU + heartbeat + safety), iar pe Core 0 ruleaza 3 task-uri pinned: taskBT (citire comenzi Bluetooth), taskSnap (snapshot HTTP via ESP-01), taskLog (scriere asincrona pe SD). Comunicatia inter-task se face prin queue-uri FreeRTOS si mutex-uri. | ||
| + | - **State machine pentru parser HTTP** - parser cu trei stari (WAIT_IPD, READ_DATA, finished) pentru a decoda raspunsul ESP-01 in chunks `+IPD,<len>:<data>`, sari peste header-ul HTTP (pana la `\r\n\r\n`) si scriere a payload-ului JPEG direct pe SD octet cu octet, cu cap maxim de 150 KB si yield obligatoriu la 512 octeti pentru watchdog-ul ESP32. | ||
| + | - **Filtru low-pass pentru MPU-6050** - detectia vibratiei pe usa foloseste un filtru exponential de tip `prev = (prev * 7 + curr) / 8` care actualizeaza baseline-ul lent, asa incat gravitatia constanta si drift-ul senzorului nu trigger-eaza fals-pozitive. Doar schimbarile bruste (delta > 2000 pe oricare axa) sunt considerate alerta. | ||
| + | - **Debounce temporal pentru PIR si MPU** - intre doua alerte consecutive ale aceluiasi senzor trebuie sa treaca minim 5 secunde (`DEBOUNCE_MS`), pentru a evita spam-ul de alerte pe Bluetooth si snapshot-uri redundante. | ||
| + | - **Counter persistent in NVS** - numarul snapshot-ului curent (`/snap_NNN.jpg`) e salvat in NVS Preferences si supravietuieste reset-urilor, astfel incat numerotarea fisierelor e continua intre reboots. | ||
| + | - **Ceas de sistem din timpul de compilare** - la fiecare upload, sketch-ul citeste `__DATE__` si `__TIME__` la compile-time, le converteste in `time_t` cu `mktime()` si seteaza ceasul de sistem cu `settimeofday()`. Comanda Bluetooth `T<iso_date>` permite corectarea manuala in timpul rularii. | ||
| + | - **Eliberare memorie BLE neutilizata** - apel `esp_bt_controller_mem_release(ESP_BT_MODE_BLE)` la pornire elibereaza ~30 KB DRAM care altfel ar fi rezervati pentru stiva BLE pe care nu o folosim. | ||
| + | |||
| + | |||
| + | **Surse si functii implementate (etapa 3)** | ||
| + | |||
| + | Proiectul e structurat in 13 sketch-uri Arduino (.ino): | ||
| + | |||
| + | **Teste individuale (validare componenta-cu-componenta):** | ||
| + | - `Test_PIR.ino` - citire pin digital + warmup 30s | ||
| + | - `Test_MPU6050.ino` - wake-up MPU prin registrul 0x6B, citire continua ACCEL_X/Y/Z | ||
| + | - `Test_Buzzer.ino` - control ON/OFF pe GPIO | ||
| + | - `Test_SDCard.ino` - mount SD + scriere/citire fisier de test | ||
| + | - `Test_Bluetooth.ino` - SPP echo bidirectional | ||
| + | - `Test_Camera_Probe.ino`, `Test_Camera_Capture.ino`, `Test_Camera_BMP.ino`, `Test_Camera_RegFix.ino` - 4 sketch-uri care documenteaza imposibilitatea integrarii OV7670 fara FIFO pe ESP32 fara PSRAM | ||
| + | - `Test_WiFi_Scan.ino` - scan retele 2.4GHz pentru diagnosticare antena | ||
| + | - `Test_ESP01_AT.ino` - passthrough UART + autotest AT comands | ||
| + | - `Test_ESP01_HTTP.ino` - HTTP GET end-to-end prin ESP-01 | ||
| + | **Integrare completa:** | ||
| + | - `Integrare_4_Complete.ino` - sistem complet final cu ESP-01 | ||
| + | |||
| + | **Functii principale din Integrare_4_Complete.ino:** | ||
| + | - `setupClockFromCompile()` - initializare ceas din `__DATE__`/`__TIME__` | ||
| + | - `formatIsoNow()`, `setClockFromString()` - formatare/parsare timestamp ISO | ||
| + | - `btSendln()`, `btClearBonded()`, `btConfirmRequest()` - wrappere thread-safe pentru SerialBT | ||
| + | - `setBuzzer(bool)` - control buzzer + log eveniment | ||
| + | - `mpuInit()`, `mpuRead(ax, ay, az)` - I2C driver custom MPU-6050 | ||
| + | - `esp01Cmd()`, `esp01WaitFor()`, `esp01Init()` - driver AT pentru ESP-01 | ||
| + | - `snapAndSave(savedPath)` - secventa completa HTTP GET + scriere pe SD | ||
| + | - `logWrite(LogEvent)`, `makeEvent()` - logger SD asincron | ||
| + | - `taskBT()`, `taskSnap()`, `taskLog()` - 3 task-uri FreeRTOS pe Core 0 | ||
| + | - `loop()` - sampling senzori + heartbeat pe Core 1 | ||
| ===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
| - | <note tip> | + | Am obtinut un sistem de securitat rudimentar de usa prin intermediul a doi senzori de miscare si a unui telefon vechi pe post de camera. |
| - | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | |
| - | </note> | + | |
| + | Pe viitor, proiectul ar putea fi imbunatatit prin: | ||
| + | - Folosirea unui modul de camera mai performant si mai mic (decat un telefon) pentru a nu iesi in evidenta; ideal ar fi ca aceasta camera sa poata fi pusa in locul unui vizor. De-asemenea, din moment ce senzorii detecteaza orice fel de miscare (nu ar putea face diferenta dintre miscarea din interiorul casei vs miscarea de dupa usa), rezolutia camerei ar trebui sa fie destul de buna pentru ca microcontoller-ul sa poata analiza fluxul de imagini: detectarea miscarii se fie pe baza fluxului de imagini, eventual cu ajutorul inteligentei artificiale | ||
| + | - Implementarea unei aplicatii de mobil prin care alertele de miscare sa nu depinda de conexiunea bluetooth. In momentul de fata, sistemul de securitate ar fi functional doar daca utilizatorul este in aceeasi camera / proximitate cu componentele fizice. In viata reala, acest sistem nu este fiabil. Printr-o aplicatie de mobil care ar functiona prin intermediul WIFI-ului, utilizatorul ar putea vedea alertele si daca nu s-ar afla la domiciliu | ||
| + | - Crearea unui PCB in loc de breadboard / placute de prototipare | ||
| + | - Crearea unei carcase 3D mai compacte si mai mici | ||
| ===== Concluzii ===== | ===== Concluzii ===== | ||
| + | In concluzie, a fost un proiect interesant si este un MVP (minimal viable product). Imbunatatirea acestuia ar putea constitui un adevarat sistem de securitate si chiar si lucrarea de licenta, cine stie 8-O | ||
| ===== Download ===== | ===== Download ===== | ||
| Line 68: | Line 257: | ||
| ===== Jurnal ===== | ===== Jurnal ===== | ||
| - | <note tip> | + | Proietul a suferit niste schimbari majore in implementare. |
| - | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | + | - Modulul de camera OV7670 nu a fost destul de performant pentru acest proiect si a fost nevoie de schimbarea acestuia cu un telefon vechi pe post de camera. Astfel ca au fost si niste schimbari in arhitectura proiectului: folosirea unui modul de WIFI separat de placuta ESP32 si folosirea unui server web. |
| - | </note> | + | - Dupa implementarea de pe breadboard, am decis sa folosesc placute de prototipare si lipituri, insa am facut o eroare si s-au ars in proces doua componente (placuta ESP32 si modulul de WIFI). Mi-am comandat din nou aceste componente si am implementat din nou proiectul pe breadboard pentru prezentare la PM Fair. |
| ===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||