Differences

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

Link to this comparison view

pm:prj2025:fstancu:viky_andreea.ilie [2025/05/28 08:26]
viky_andreea.ilie [Introducere]
pm:prj2025:fstancu:viky_andreea.ilie [2025/05/30 19:16] (current)
viky_andreea.ilie [Software Design]
Line 18: Line 18:
 ===== Descriere generală ===== ===== Descriere generală =====
  
-Locuința va fi formată din opt camere, dintre care una va fi destinată garajului. În fiecare cameră, cu excepția garajului, va fi instalat câte un LED care poate fi aprins sau stins direct din aplicația ​mobilă, oferind un control inteligent al iluminatului.+Locuința va fi formată din opt camere, dintre care una va fi destinată garajului. În fiecare cameră, cu excepția garajului, va fi instalat câte un LED care poate fi aprins sau stins direct din aplicația ​web, oferind un control inteligent al iluminatului.
  
 Ușa garajului va putea fi controlată tot prin aplicație, fiind acționată de un servomotor, ceea ce permite deschiderea și închiderea acesteia de la distanță, în mod automatizat. Ușa garajului va putea fi controlată tot prin aplicație, fiind acționată de un servomotor, ceea ce permite deschiderea și închiderea acesteia de la distanță, în mod automatizat.
  
-Pentru un plus de siguranțădacă LED-ul ​de pe hol este stins iar senzorul detectează mișcare, se va declanșa automat ​alertă pe telefon, însoțită de activarea buzzerului. Astfel, sistemul oferă nu doar confort, ci și un nivel crescut de securitate pentru întreaga locuință. +In aplicatia web, de asemenea, se va afla si sectiune in care vei putea vedea umiditatea si temperatura din casa.
 {{:​pm:​prj2025:​fstancu:​diagramabloc.drawio.png?​400|}} {{:​pm:​prj2025:​fstancu:​diagramabloc.drawio.png?​400|}}
  
Line 110: Line 109:
 Gestionarea paginilor negăsite (handleNotFound). Gestionarea paginilor negăsite (handleNotFound).
 Pornește serverul web. Pornește serverul web.
 +
 Bucla Principală (loop()): Bucla Principală (loop()):
 Apelează continuu server.handleClient() pentru a procesa cererile HTTP primite, doar dacă ESP32 este conectat la Wi-Fi. Apelează continuu server.handleClient() pentru a procesa cererile HTTP primite, doar dacă ESP32 este conectat la Wi-Fi.
 +
 Managementul Autentificării:​ Managementul Autentificării:​
 Variabila isAuthenticated urmărește starea autentificării. Variabila isAuthenticated urmărește starea autentificării.
Line 124: Line 125:
 processToggleRequest(pin,​ stateVariable,​ ledName): Funcție centralizată pentru comutarea stării unui LED. Include logică de debounce (toggleDebounceDelay) pentru a preveni comutări multiple la cereri rapide. Actualizează pinul GPIO și variabila de stare. Trimite noua stare ("​ON"​ sau "​OFF"​) ca răspuns. processToggleRequest(pin,​ stateVariable,​ ledName): Funcție centralizată pentru comutarea stării unui LED. Include logică de debounce (toggleDebounceDelay) pentru a preveni comutări multiple la cereri rapide. Actualizează pinul GPIO și variabila de stare. Trimite noua stare ("​ON"​ sau "​OFF"​) ca răspuns.
 Handler-e specifice (ex: handleToggleBedroom1,​ handleStateBedroom1):​ Apelează processToggleRequest sau returnează starea curentă. Handler-e specifice (ex: handleToggleBedroom1,​ handleStateBedroom1):​ Apelează processToggleRequest sau returnează starea curentă.
 +
 Ușa Garajului: Ușa Garajului:
 garageServo:​ Obiect Servo pentru controlul motorului. garageServo:​ Obiect Servo pentru controlul motorului.
 isGarageDoorOpen:​ Variabilă booleană pentru starea ușii. isGarageDoorOpen:​ Variabilă booleană pentru starea ușii.
-handleOpenGarageDoor(),​ handleCloseGarageDoor():​ Apelează garageServo.write() cu poziția corespunzătoare. Implementează debounce (garageDoorDebounceDelay). La deschidere, aprinde automat lumina din garaj dacă era stinsă. Returnează un obiect JSON cu doorStatus și garageLightStatus. +handleOpenGarageDoor(),​ handleCloseGarageDoor():​ Apelează garageServo.write() cu poziția corespunzătoare. Implementează debounce (garageDoorDebounceDelay). La deschidere, aprinde automat lumina din garaj dacă era stinsă. Returnează un obiect JSON cu doorStatus și garageLightStatus. handleGarageDoorState():​ Returnează starea curentă a ușii și a luminii din garaj în format JSON. 
-handleGarageDoorState():​ Returnează starea curentă a ușii și a luminii din garaj în format JSON.+
 Citirea Senzorilor (handleDHTData()):​ Citirea Senzorilor (handleDHTData()):​
 Citește temperatura și umiditatea de la senzorul DHT22. Citește temperatura și umiditatea de la senzorul DHT22.
 Returnează datele într-un obiect JSON. Include gestionarea erorilor (returnează null pentru valori dacă citirea eșuează). Returnează datele într-un obiect JSON. Include gestionarea erorilor (returnează null pentru valori dacă citirea eșuează).
-Servirea Fișierelor Statice (readFile(),​ handleCSS(),​ handleJS(), handleRoot(),​ handleLoginHTML()):​ 
-Funcția readFile() este utilizată pentru a citi conținutul fișierelor (index.html,​ login.html, style.css, script.js) din LittleFS. 
-Handler-ele corespunzătoare trimit conținutul fișierelor cu tipul MIME corect. 
  
 **Interfața Web (Frontend)** **Interfața Web (Frontend)**
Line 188: Line 187:
  
 **Concluzii și Puncte Cheie** **Concluzii și Puncte Cheie**
 +
 Modularitate:​ Codul este împărțit logic în backend (ESP32) și frontend (HTML/​CSS/​JS). În cadrul backend-ului,​ funcțiile handler sunt dedicate pentru fiecare rută/​acțiune. Modularitate:​ Codul este împărțit logic în backend (ESP32) și frontend (HTML/​CSS/​JS). În cadrul backend-ului,​ funcțiile handler sunt dedicate pentru fiecare rută/​acțiune.
  
Line 196: Line 196:
 Debounce: Mecanismele de debounce previn acționări multiple nedorite și protejează componentele hardware. Debounce: Mecanismele de debounce previn acționări multiple nedorite și protejează componentele hardware.
  
-===== Rezultate Obţinute ===== +https://​github.com/​Vikyyz/​ProiectPM/​tree/​main
- +
-Care au fost rezultatele obţinute în urma realizării proiectului vostru. +
- +
-===== Concluzii ===== +
  
 ===== Jurnal ===== ===== Jurnal =====
Line 212: Line 207:
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
  
-<​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://​hackaday.com/​2017/​01/​20/​cheating-at-5v-ws2812-control-to-use-a-3-3v-data-line/​ 
 + 
 +https://​www.amazon.com/​Development-Bluetooth-Microcontroller-ESP-WROOM-32-Consumption/​dp/B0BM5RNMZM
  
 +https://​daumemo.com/​lm317-voltage-regulator-calculator-voltage-source/​
pm/prj2025/fstancu/viky_andreea.ilie.1748409990.txt.gz · Last modified: 2025/05/28 08:26 by viky_andreea.ilie
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