Differences

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

Link to this comparison view

pm:prj2026:andrei.batasev:daniel.malanca [2026/05/18 14:42]
127.0.0.1 external edit
pm:prj2026:andrei.batasev:daniel.malanca [2026/05/24 13:44] (current)
daniel.malanca
Line 13: Line 13:
 {{ https://​ocw.cs.pub.ro/​courses/​_media/​pm/​prj2026/​andrei.batasev/​daniel.malanca_block_diagram.png?​800 }} {{ https://​ocw.cs.pub.ro/​courses/​_media/​pm/​prj2026/​andrei.batasev/​daniel.malanca_block_diagram.png?​800 }}
  
-Proiectul functioneaza pe baza unui microcontroler ​ESP32 care actioneaza ca unitate centrala, care colecteaza date de la senzori si actioneaza diversi actuatori.+Proiectul functioneaza pe baza unui microcontroller ​ESP32 care actioneaza ca unitate centrala, care colecteaza date de la senzori si actioneaza diversi actuatori.
  
 **Schema bloc a sistemului:​** **Schema bloc a sistemului:​**
-  * **Modul Central:​** ​Microcontroler ​ESP32.+  * **Modul Central:​** ​Microcontroller ​ESP32.
   * **Module de Intrare (Input):**   * **Module de Intrare (Input):**
     * **DHT11:** Modul digital care transmite catre ESP32 valorile masurate pentru temperatura mediului ambiant si umiditatea relativa.     * **DHT11:** Modul digital care transmite catre ESP32 valorile masurate pentru temperatura mediului ambiant si umiditatea relativa.
Line 28: Line 28:
     * **LED RGB:** Indicator de stare comandat prin semnale PWM. Semnaleaza starea generala prin diverse culori si pulsatii.     * **LED RGB:** Indicator de stare comandat prin semnale PWM. Semnaleaza starea generala prin diverse culori si pulsatii.
     * **Buzzer:** Un modul audio actionat de un pin digital pentru a emite semnale acustice de avertizare in caz de parametrii critici.     * **Buzzer:** Un modul audio actionat de un pin digital pentru a emite semnale acustice de avertizare in caz de parametrii critici.
 +
 +===== Elemente de originalitate si complexitate =====
 +
 +Desi monitorizarea ambientala este un concept comun, acest proiect se diferentiaza prin rigoarea implementarii tehnice:
 +
 +  * **Procesare avansata a semnalelor analogice:​** Pentru citirea luminozitatii,​ s-a implementat o filtrare a zgomotului prin medierea a 64 de esantioane intr-o fereastra de 20ms, urmata de un clipping la intervalul de liniaritate al ADC controller-ului de pe ESP32.
 +  * **Arhitectura software bazata pe RTOS:** Trecerea de la o bucla de executie secventiala la task-uri FreeRTOS asigura ca citirea senzorilor cu timing strict (DHT11) nu este blocata de latentele retelei (MQTT).
 +  * **Sistem hibrid de alertare:** Sistemul functioneaza independent;​ ofera alarme locale (Buzzer/​RGB) in timp real, concomitent cu persistenta datelor in infrastructura de Cloud containerizata (InfluxDB + Grafana).
  
 ===== Hardware Design ===== ===== Hardware Design =====
Line 60: Line 68:
  
 ===== Software Design ===== ===== Software Design =====
-Firmware-ul va fi dezvoltat in limbajul C, folosind framework-ul oficial ESP-IDF prin PlatformIO, permitand utilizarea conceptelor low-level invatate la laboratoare.+Firmware-ul va fi dezvoltat in limbajul C, folosind framework-ul oficial ESP-IDF prin PlatformIO, permitand utilizarea conceptelor low-level invatate la laboratoare. Pentru implementarea multitasking-ului (ecran, senzori, networking) este folosit FreeRTOS.
  
  
Line 105: Line 113:
 ==== Modul Wi-Fi ==== ==== Modul Wi-Fi ====
 Modulul Wi-Fi prezent pe placa de dezvoltare ESP32 este folosit pentru a trimite datele inregistrate prin protocolul mqtt catre un broker Mosquitto, pentru a fi stocate si ulterior afisate de dashboard. Modulul Wi-Fi prezent pe placa de dezvoltare ESP32 este folosit pentru a trimite datele inregistrate prin protocolul mqtt catre un broker Mosquitto, pentru a fi stocate si ulterior afisate de dashboard.
 +
 +Pentru implementarea protocolului MQTT este folosita biblioteca esp-mqtt.
 +
  
 ===== Dashboard ===== ===== Dashboard =====
 Arhitectura server-side este bazata pe un singur docker-compose folosind containere preexistente pentru a asigurara o configuratie simpla, intuitiva si modulara. Arhitectura server-side este bazata pe un singur docker-compose folosind containere preexistente pentru a asigurara o configuratie simpla, intuitiva si modulara.
  
-===== Rezultate Obtinute ​=====+===== Laboratoare Folosite ​=====
  
-===== Concluzii =====+* Laboratorul 0 - GPIO + Laboratul 3 - Timere. PWM 
 +  - Gestionarea led-ului RGB si a buzzer-ului passiv folosind LEDC
  
-===== Download =====+* Laboratorul 1 - UART 
 +  - UART este protocolul folosit pentru incarcarea codului pe placa, precum si pentru monitorizarea output-ului de debug emis de aceasta.
  
-===== Jurnal =====+* Laboratorul 2 - Intreruperi 
 +  - Am introdus un ISR pentru prelucrarea garantata a butonului de intrerupere a alarmei
  
-===== Bibliografie/​Resurse =====+* Laboratorul 4 - ADC 
 +  - Valoarea rezistentei LDR este dedusa din tensiunea masurata de controller-ul ADC
  
 +* Laboratorul 6 - I2C
 +  - Ecranul OLED SSD1306 este controlat prin protocolul I2C
  
 +===== Rezultate Obtinute =====
 +
 +<​html><​a href="​https://​drive.google.com/​file/​d/​1AF1xj1J54qJoGAdxvQm7j4wwsGwPy_x1/​view">​Link</​a></​html>​ Video Demo
 +
 +Am reusit sa duc la capat proiectul, obtinand ceea ce mi-am propus la inceput: un sistem IoT care monitorizeaza un mediu si alerteaza cand sunt depasite constragerile acestuia.
 +
 +===== Concluzii =====
 +
 +Pentru imbunatatirea proiectului exista urmatoarele posibilitati:​
 +  - Folosire unor senzori cu precizie si acuratete mai mare
 +  - Folosirea unui PCB custom pentru minimizarea proiectului
 +  - Optimizarea pentru Power Consumption,​ permitand functionarea pe durate lungi fara alimentare externa ​
 +
 +===== Bibliografie/​Resurse =====
  
 <​html><​a href="​https://​cdn.sparkfun.com/​datasheets/​Sensors/​LightImaging/​SEN-09088.pdf">​Datasheet LDR GL5528</​a></​html>​ <​html><​a href="​https://​cdn.sparkfun.com/​datasheets/​Sensors/​LightImaging/​SEN-09088.pdf">​Datasheet LDR GL5528</​a></​html>​
 +
 <​html><​a href="​https://​www.mouser.com/​datasheet/​2/​758/​DHT11-Technical-Data-Sheet-Translated-Version-1143054.pdf">​Datasheet DHT11</​a></​html>​ <​html><​a href="​https://​www.mouser.com/​datasheet/​2/​758/​DHT11-Technical-Data-Sheet-Translated-Version-1143054.pdf">​Datasheet DHT11</​a></​html>​
 +
 <​html><​a href="​https://​github.com/​Daniel729/​eth">​GitHub</​a></​html>​ <​html><​a href="​https://​github.com/​Daniel729/​eth">​GitHub</​a></​html>​
 +
 +<​html><​a href="​https://​mdaniel.me/​d/​adfhwpd/​eth-sensor-data?​orgId=1&​from=now-30m&​to=now&​timezone=browser">​Dashboard</​a></​html>​
  
 <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​ <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​
  
pm/prj2026/andrei.batasev/daniel.malanca.1779104546.txt.gz · Last modified: 2026/05/24 12:32 (external edit)
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