This shows you the differences between two versions of the page.
|
pm:prj2025:fstancu:viky_andreea.ilie [2025/05/28 08:29] viky_andreea.ilie [Rezultate Obţinute] |
pm:prj2025:fstancu:viky_andreea.ilie [2025/05/30 19:16] (current) viky_andreea.ilie [Software Design] |
||
|---|---|---|---|
| Line 109: | 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 123: | 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 187: | 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 195: | 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. | ||
| - | + | https://github.com/Vikyyz/ProiectPM/tree/main | |
| - | ===== Concluzii ===== | + | |
| ===== Jurnal ===== | ===== Jurnal ===== | ||
| Line 208: | 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/ | ||