Differences

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

Link to this comparison view

pm:prj2026:cezar.zlatea:ion.butura [2026/05/26 01:30]
ion.butura
pm:prj2026:cezar.zlatea:ion.butura [2026/05/26 02:08] (current)
ion.butura
Line 12: Line 12:
   * afiseaza in timp real statusul sistemului pe display LCD 1602;   * afiseaza in timp real statusul sistemului pe display LCD 1602;
   * transmite imagini live prin WiFi accesibile de pe orice browser;   * transmite imagini live prin WiFi accesibile de pe orice browser;
-  * detecteaza zgomote suspecte prin senzorul de microfon.+  * detecteaza zgomote suspecte prin senzorul de microfon
 +  * trimite notificari automate pe Telegram cu link la camera live.
  
 **Ipoteza:​** Credem ca un sistem de detectie bazat pe senzori IR combinat cu o camera WiFi va oferi o solutie de securitate mai completa decat un sistem doar cu senzori, deoarece furnizeaza atat detectie imediata cat si dovada vizuala a evenimentului detectat. **Ipoteza:​** Credem ca un sistem de detectie bazat pe senzori IR combinat cu o camera WiFi va oferi o solutie de securitate mai completa decat un sistem doar cu senzori, deoarece furnizeaza atat detectie imediata cat si dovada vizuala a evenimentului detectat.
  
-===== Descriere generala ​=====+===== Milestone 1 - Alegere tema =====
  
-Sistemul este compus din doua unitati principale: Arduino Nano ca unitate de control central si ESP32-CAM ca modul de supraveghere video. Arduino Nano primeste semnale de la senzorii IR si microfon, controleaza buzzerul si actualizeaza LCD-ul prin I2C. ESP32-CAM ruleaza independent un server web care transmite imagini live prin WiFi.+==== Descriere generala ==== 
 + 
 +Sistemul este compus din doua unitati principale: Arduino Nano ca unitate de control central si ESP32-CAM ca modul de supraveghere video. Arduino Nano primeste semnale de la senzorii IR si microfon, controleaza buzzerul si actualizeaza LCD-ul prin I2C. ESP32-CAM ruleaza independent un server web care transmite imagini live prin WiFi si trimite notificari pe Telegram.
  
 Schema bloc a sistemului: Schema bloc a sistemului:
  
-{{:​pm:​prj2026:​cezar.zlatea:​schema_electrica_sistem_securitate_2_.png?​700|Schema ​electrica}}+{{:​pm:​prj2026:​cezar.zlatea:​schema_electrica_sistem_securitate_2_.png?​700|Schema ​bloc}}
  
 Modulele principale ale proiectului sunt: Modulele principale ale proiectului sunt:
  
   * **Unitatea de control - Arduino Nano**: citeste senzorii IR si microfonul prin GPIO, controleaza buzzerul si actualizeaza LCD-ul prin I2C.   * **Unitatea de control - Arduino Nano**: citeste senzorii IR si microfonul prin GPIO, controleaza buzzerul si actualizeaza LCD-ul prin I2C.
-  * **Modulul de detectie - Senzori ​IR x2**: detecteaza obstacole/​persoane in raza de 5-25cm, reglabila prin potentiometru. ​Conectati ​pe pinii D2 si D3+  * **Modulul de detectie - Senzor ​IR**: detecteaza obstacole/​persoane in raza de 5-10cm, reglabila prin potentiometru. ​Conectat ​pe pinul D2. 
-  * **Modulul de alarma - Buzzer pasiv**: emite ton de alarma ​la 1000Hz ​prin functia tone() cand se detecteaza intrusi.+  * **Modulul de alarma - Buzzer pasiv**: emite ton de alarma ​diferentiat ​prin PWM — sunet ascendent pentru IR, descendent pentru audio.
   * **Modulul de afisare - LCD 1602 I2C**: afiseaza statusul sistemului prin comunicare I2C la adresa 0x27.   * **Modulul de afisare - LCD 1602 I2C**: afiseaza statusul sistemului prin comunicare I2C la adresa 0x27.
-  * **Modulul video - ESP32-CAM**:​ ruleaza un server web cu stream video live accesibil ​prin browser ​la adresa IP locala+  * **Modulul video - ESP32-CAM**:​ ruleaza un server web cu captura foto accesibila ​prin browser ​si trimite notificari pe Telegram
-  * **Modulul de detectie sunet - Microfon MH**: detecteaza zgomote suspecte, reglabil prin potentiometru.+  * **Modulul de detectie sunet - Microfon MH**: detecteaza zgomote suspecte ​prin intreruperi hardware, reglabil prin potentiometru. 
 + 
 +==== Planificare ==== 
 + 
 +{{:​pm:​prj2026:​cezar.zlatea:​gantt.png?​700|Grafic Gantt}}
  
-===== Hardware ​Design ​=====+===== Milestone 2 - Hardware =====
  
 ==== Lista de componente ==== ==== Lista de componente ====
Line 42: Line 49:
 | U3 | FT232RL - adaptor USB-to-Serial | 1 | | U3 | FT232RL - adaptor USB-to-Serial | 1 |
 | DISP1 | LCD 1602 cu modul I2C (QAPASS PCF8574) | 1 | | DISP1 | LCD 1602 cu modul I2C (QAPASS PCF8574) | 1 |
-| IR1, IR2 Senzori ​IR de proximitate MH-B | |+| IR1 | Senzor ​IR de proximitate MH-B | |
 | MIC1 | Senzor microfon MH cu potentiometru | 1 | | MIC1 | Senzor microfon MH cu potentiometru | 1 |
 | BZ1 | Buzzer pasiv | 1 | | BZ1 | Buzzer pasiv | 1 |
Line 48: Line 55:
 | BB1 | Breadboard | 1 | | BB1 | Breadboard | 1 |
 | — | Fire jumper tata-mama / tata-tata | — | | — | Fire jumper tata-mama / tata-tata | — |
-| — | Cablu USB-A la Mini-USB | |+| — | Cablu USB-A la Mini-USB | |
  
 ==== Conexiuni electrice - Arduino Nano ==== ==== Conexiuni electrice - Arduino Nano ====
  
 ^ Pin Arduino Nano ^ Tip ^ Conectat la ^ ^ Pin Arduino Nano ^ Tip ^ Conectat la ^
-| 5V | Power | VCC - LCD I2C, VCC - IR1, VCC - IR2, VCC - Microfon ​+| 5V | Power | Sina rosie breadboard ​
-| GND | GND | GND - LCD I2C, GND - IR1, GND - IR2, GND - Microfon, GND - Buzzer ​|+| GND | GND | Sina albastra breadboard ​|
 | A4 (SDA) | I2C SDA | SDA - Modul I2C LCD | | A4 (SDA) | I2C SDA | SDA - Modul I2C LCD |
 | A5 (SCL) | I2C SCL | SCL - Modul I2C LCD | | A5 (SCL) | I2C SCL | SCL - Modul I2C LCD |
-| D2 | GPIO INPUT | OUT - Senzor IR +| D2 | GPIO INPUT | OUT - Senzor IR | 
-| D3 | GPIO INPUT | OUT - Senzor IR 2 | +| D3 | GPIO INPUT | OUT - Senzor microfon ​(intrerupere) ​|
-| D7 | GPIO INPUT | OUT - Senzor microfon |+
 | D8 | GPIO OUTPUT | Pin + Buzzer pasiv | | D8 | GPIO OUTPUT | Pin + Buzzer pasiv |
 +| D9 | GPIO OUTPUT | GPIO12 - ESP32-CAM (trigger) |
  
 ==== Conexiuni electrice - ESP32-CAM ==== ==== Conexiuni electrice - ESP32-CAM ====
Line 66: Line 73:
 ^ Pin ESP32-CAM ^ Conectat la ^ ^ Pin ESP32-CAM ^ Conectat la ^
 | 5V | VCC - FT232RL | | 5V | VCC - FT232RL |
-| GND | GND - FT232RL | +| GND | GND - FT232RL ​+ sina albastra breadboard ​
-| U0R (RX) | TX - FT232RL | +| U0R (RX) | TX - FT232RL ​(doar la programare) ​
-| U0T (TX) | RX - FT232RL |+| U0T (TX) | RX - FT232RL ​(doar la programare) ​|
 | IO0 | GND (doar la programare) | | IO0 | GND (doar la programare) |
 +| GPIO12 | D9 - Arduino Nano (trigger alarma) |
  
 ==== Detalii module hardware ==== ==== Detalii module hardware ====
  
-=== Senzorii ​IR MH-B ===+=== Senzorul ​IR MH-B ===
  
-Senzorii ​IR folosesc ​un LED emitator infrarosu si un receptor pentru a detecta obstacolele prin reflectia luminii IR. Distanta de detectie este reglabila intre 5-25cm prin potentiometrul albastru de pe placheta. Senzorul da semnal LOW cand detecteaza un obstacol si HIGH cand nu detecteaza nimic.+Senzorul ​IR foloseste ​un LED emitator infrarosu si un receptor pentru a detecta obstacolele prin reflectia luminii IR. Distanta de detectie este reglabila intre 5-25cm prin potentiometrul albastru de pe placheta. Senzorul da semnal LOW cand detecteaza un obstacol si HIGH cand nu detecteaza nimic.
  
-**Observatie:​** ​Senzorii sunt sensibili ​la lumina ambianta intensa. Se recomanda pozitionarea ​lor ferita de surse de lumina directa.+**Observatie:​** ​Senzorul este sensibil ​la lumina ambianta intensa. Se recomanda pozitionarea ferita de surse de lumina directa.
  
 === LCD 1602 cu modul I2C === === LCD 1602 cu modul I2C ===
Line 85: Line 93:
 === ESP32-CAM === === ESP32-CAM ===
  
-ESP32-CAM ruleaza ​firmware CameraWebServer care expune ​un server HTTP pe portul 80. Camera OV2640 captureaza imagini JPEG transmise in streaming. Modulul se conecteaza automat la reteaua WiFi configurata si expune interfata web la adresa IP alocata de router (banda ​2.4GHz ​obligatorie).+ESP32-CAM ruleaza un server ​web HTTP care expune captura foto la adresa /capture. Camera OV2640 captureaza imagini JPEG la rezolutie VGA. Modulul se conecteaza automat la reteaua WiFi 2.4GHz ​si trimite notificari pe Telegram prin API HTTPS cu WiFiClientSecure.
  
-===== Software Design =====+==== Schema electrica ​====
  
-==== Stadiul actual al implementarii software ​====+{{:​pm:​prj2026:​cezar.zlatea:​schema_electrica_detaliata.png?​700|Schema electrica detaliata}} 
 + 
 +==== Imagini montaj fizic ==== 
 + 
 +{{:​pm:​prj2026:​cezar.zlatea:​photo1.jpg?​700|Montaj fizic - vedere generala}} 
 + 
 +{{:​pm:​prj2026:​cezar.zlatea:​photo2.jpg?​700|Montaj fizic - detaliu componente}} 
 + 
 +===== Milestone 3 - Software =====
  
 ==== Biblioteci folosite ==== ==== Biblioteci folosite ====
Line 97: Line 113:
   * **esp_camera.h** — biblioteca oficiala Espressif pentru controlul camerei OV2640. Singura optiune viabila pentru ESP32-CAM.   * **esp_camera.h** — biblioteca oficiala Espressif pentru controlul camerei OV2640. Singura optiune viabila pentru ESP32-CAM.
   * **WiFi.h** — biblioteca oficiala ESP32 pentru conectare WiFi. Necesara pentru streaming video live.   * **WiFi.h** — biblioteca oficiala ESP32 pentru conectare WiFi. Necesara pentru streaming video live.
 +  * **WiFiClientSecure.h** — biblioteca ESP32 pentru conexiuni HTTPS. Necesara pentru comunicarea cu API-ul Telegram.
 +  * **HTTPClient.h** — biblioteca ESP32 pentru cereri HTTP/HTTPS. Folosita pentru trimiterea notificarilor pe Telegram.
  
 ==== Element de noutate ==== ==== Element de noutate ====
  
-Combinarea detectiei prin doua tipuri de senzori (IR + audio) cu feedback diferentiat — sunete diferite pentru fiecare tip de detectie (sunet ascendent pentru IR, descendent pentru audio) ​si transmisie video live prin WiFi, toate integrate intr-un singur sistem embedded accesibil si low-cost.+Combinarea detectiei prin doua tipuri de senzori (IR + audio) cu feedback diferentiat — sunete diferite pentru fiecare tip de detectie (sunet ascendent pentru IR, descendent pentru audio)transmisie video live prin WiFi si notificari automate pe Telegram cu link la camera, toate integrate intr-un singur sistem embedded accesibil si low-cost.
  
 ==== Functionalitati din laboratoare folosite ==== ==== Functionalitati din laboratoare folosite ====
Line 113: Line 131:
  
 <​code>​ <​code>​
 +Arduino Nano:
 setup(): setup():
   - initializeaza pinii (INPUT/​OUTPUT)   - initializeaza pinii (INPUT/​OUTPUT)
Line 130: Line 149:
       - trimite LOW pe TRIGGER_PIN       - trimite LOW pe TRIGGER_PIN
       - afiseaza "​Sistem gata! / Monitorizare..."​       - afiseaza "​Sistem gata! / Monitorizare..."​
 +
 +ESP32-CAM:
 +setup():
 +  - initializeaza camera OV2640
 +  - conecteaza la WiFi
 +  - porneste server web HTTP
 +
 +loop():
 +  - gestioneaza cererile HTTP (capture/​root)
 +  - daca TRIGGER_PIN == HIGH:
 +      - trimite notificare pe Telegram cu link camera
 +      - asteapta 30 secunde
 </​code>​ </​code>​
  
Line 229: Line 260:
   * **LCD** — testat cu mesaje diferite pentru fiecare stare a sistemului   * **LCD** — testat cu mesaje diferite pentru fiecare stare a sistemului
   * **Buzzer** — testat cu tonuri ascendente (IR) si descendente (AUD)   * **Buzzer** — testat cu tonuri ascendente (IR) si descendente (AUD)
-  * **ESP32-CAM** — testat cu streaming video live accesibil ​in browser la adresa IP locala+  * **ESP32-CAM** — testat cu captura foto accesibila ​in browser la adresa IP locala 
 +  * **Telegram** — testat, notificare trimisa automat la detectie cu link la camera
  
 ==== Calibrare senzori ==== ==== Calibrare senzori ====
Line 242: Line 274:
   * Resetarea flag-ului micDetectat = false dupa fiecare alarma pentru a evita alarme repetate   * Resetarea flag-ului micDetectat = false dupa fiecare alarma pentru a evita alarme repetate
   * Sunete diferentiate pentru IR si AUD pentru a putea identifica sursa alarmei fara a privi LCD-ul   * Sunete diferentiate pentru IR si AUD pentru a putea identifica sursa alarmei fara a privi LCD-ul
 +  * Delay de 30 secunde intre notificari Telegram pentru a evita spam-ul
 +  * Folosirea WiFiClientSecure cu setInsecure() pentru conexiuni HTTPS fara certificat
  
 ==== Demo video ==== ==== Demo video ====
  
 [[https://​drive.google.com/​drive/​folders/​11QswgKaX1Qu9Ga9UTKeiX1DueLoq28_y?​usp=sharing|Demo video - Sistem Securitate Smart]] [[https://​drive.google.com/​drive/​folders/​11QswgKaX1Qu9Ga9UTKeiX1DueLoq28_y?​usp=sharing|Demo video - Sistem Securitate Smart]]
 +
 +===== Rezultate Obtinute =====
 +
 +^ Metrica ^ Tinta ^ Rezultat masurat ^
 +| Timp de raspuns la detectie | < 500ms | < 200ms |
 +| Distanta de detectie IR | 5-10cm | 5-10cm |
 +| Timp trimitere notificare Telegram | < 30s | ~15s |
 +| Consum memorie Arduino | < 80% | 25% |
 +| Consum memorie ESP32-CAM | < 90% | 81% |
 +
 +  * Detectie intrusi functionala cu timp de raspuns sub 200ms
 +  * Alarma sonora diferentiata activa simultan cu detectia
 +  * LCD actualizeaza statusul in timp real
 +  * ESP32-CAM accesibil prin browser la adresa IP locala
 +  * Notificari automate pe Telegram la detectie
 +  * Sistem testat si functional pe breadboard
 +
 +===== Concluzii =====
 +
 +Proiectul demonstreaza integrarea practica a comunicatiei I2C, GPIO, UART, PWM si intreruperi hardware pe Arduino Nano, impreuna cu un modul WiFi cu camera ESP32-CAM. Sistemul ofera detectie imediata prin senzori IR si microfon, alarma sonora diferentiata,​ afisare pe LCD si notificari automate pe Telegram — toate componentele unui sistem de securitate functional si accesibil.
 +
 +Ipoteza initiala a fost confirmata — combinarea senzorilor IR cu camera WiFi ofera o solutie mai completa decat un sistem doar cu senzori, furnizand atat detectie imediata cat si dovada vizuala prin link-ul la camera trimis pe Telegram.
 +
 +===== Download =====
 +
 +Arhiva proiectului:​ [[https://​github.com/​inocm/​Sistem-de-Securitate-Smart-cu-ESP32-CAM/​tree/​main|GitHub Repository]]
  
 ===== Jurnal ===== ===== Jurnal =====
Line 255: Line 315:
 | 18.05.2026 | Conectare buzzer pasiv, testare alarma sonora. | | 18.05.2026 | Conectare buzzer pasiv, testare alarma sonora. |
 | 19.05.2026 | Programare si testare ESP32-CAM cu stream video WiFi. | | 19.05.2026 | Programare si testare ESP32-CAM cu stream video WiFi. |
 +| 20.05.2026 | Integrare microfon cu intreruperi hardware. |
 +| 21.05.2026 | Integrare ESP32-CAM cu Arduino Nano prin GPIO trigger. |
 +| 22.05.2026 | Implementare notificari Telegram prin API HTTPS. |
 +| 23.05.2026 | Testare finala si documentatie. |
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
Line 273: Line 337:
   * [[https://​github.com/​johnrickman/​LiquidCrystal_I2C|Biblioteca LiquidCrystal I2C]]   * [[https://​github.com/​johnrickman/​LiquidCrystal_I2C|Biblioteca LiquidCrystal I2C]]
   * [[https://​github.com/​espressif/​arduino-esp32|Arduino ESP32 - Espressif]]   * [[https://​github.com/​espressif/​arduino-esp32|Arduino ESP32 - Espressif]]
 +  * [[https://​core.telegram.org/​bots/​api|Telegram Bot API]]
pm/prj2026/cezar.zlatea/ion.butura.1779748257.txt.gz · Last modified: 2026/05/26 01:30 by ion.butura
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