Table of Contents


Statie calitate aer

Monitorizarea parametrilor de mediu

1. Introducere

Acest proiect are ca scop dezvoltarea unui sistem de monitorizare a calitatii aerului intr-o zona rezidentiala. Sistemul colecteaza date in timp real despre mediul inconjurator si le afiseaza intr-un mod usor de inteles pentru utilizator.

Prin utilizarea acestui sistem, utilizatorul poate observa nivelul de poluare, temperatura, umiditatea, nivelul de zgomot si concentratia de praf, astfel incat sa poata lua decizii informate legate de sanatatea sa si de activitatile zilnice.

Datele sunt colectate cu ajutorul unor senzori conectati la o placa Arduino si sunt afisate atat pe o interfata web, cat si local, folosind un display LCD si LED-uri de stare.

2. Componente utilizate

Sistemul este alcatuit din urmatoarele componente hardware:

Componente software utilizate:

2.1 Conexiunile componentelor

Senzorul de temperatura si umiditate (DHT11)

Senzorul de gaze MQ-135

Senzorul de zgomot (microfon)

Senzorul de praf Sharp (GP2Y1014AU0F)

Modulul RTC (DS3231)

Modulul RTC este utilizat pentru memorarea si afisarea orei exacte la care sunt realizate masuratorile.

Display LCD 16x2 cu interfata I2C

Display-ul LCD afiseaza in timp real valorile citite de senzori, alternand automat intre diferite informatii.

LED verde

LED-ul verde indica functionarea normala a sistemului si valori sigure ale parametrilor.

LED rosu

LED-ul rosu indica depasirea anumitor praguri sau valori ridicate ale poluarii.

Comunicatia cu laptopul

Placa Arduino este conectata la laptop prin cablu USB. Comunicatia dintre sistemul hardware si aplicatia software se realizeaza prin interfata seriala (UART over USB), utilizata pentru transmiterea datelor catre backend.

3. Functionalitate generala

Sistemul citeste periodic datele de la senzori si le proceseaza. Valorile obtinute sunt:

In functie de valorile citite:

Display-ul LCD afiseaza informatii esentiale in timp real, precum temperatura, umiditatea, nivelul de gaze sau ora curenta.

Datele sunt transmise catre aplicatia software rulata pe laptop, unde sunt salvate intr-o baza de date locala si afisate in timp real in interfata web.

4. Scopul proiectului

Scopul principal este cresterea nivelului de constientizare asupra calitatii aerului din mediul rezidential si oferirea unei solutii simple si accesibile pentru monitorizarea acestuia.

5. Salvarea si afisarea datelor

Pentru stocarea si vizualizarea informatiilor colectate, proiectul utilizeaza o baza de date locala rulata intr-un container Docker pe laptop.

Modul de functionare

Placa Arduino colecteaza datele de la senzori si formeaza un pachet de date in format JSON. Acest pachet contine valorile citite, precum:

Datele sunt trimise prin conexiune USB catre aplicatia backend rulata pe laptop. Backend-ul prelucreaza informatiile si le salveaza automat in baza de date locala MongoDB.

Transmiterea se realizeaza periodic, la un interval de aproximativ 20 de secunde.

Rolul bazei de date locale

Baza de date locala este utilizata pentru:

Utilizarea Docker permite rularea usoara si izolata a bazei de date direct pe laptop.

Aplicatia web

Aplicatia web preia datele salvate in baza de date si le afiseaza utilizatorului intr-un mod intuitiv.

Datele sunt prezentate sub forma:

Astfel, utilizatorul poate observa rapid schimbarile din mediul inconjurator.

Observatie

Sistemul functioneaza conectat la laptop prin cablu USB. In aceasta configuratie, laptopul gestioneaza comunicatia cu baza de date si aplicatia web.

Poza reala cu proiectul

6. Bibliografie / Resurse

https://docs.arduino.cc/hardware/uno-r4-wifi/

https://components101.com/sensors/dht11-temperature-sensor

https://components101.com/sensors/mq135-gas-sensor-for-air-quality

https://global.sharp/products/device/lineup/data/pdf/datasheet/gp2y1014au_e.pdf

https://randomnerdtutorials.com/arduino-ds3231-real-time-clock/

https://github.com/johnrickman/LiquidCrystal_I2C

https://github.com/adafruit/DHT-sensor-library

https://docs.docker.com/

https://www.mongodb.com/docs/

https://nodejs.org/en/docs

https://expressjs.com/

https://www.chartjs.org/docs/latest/

https://platformio.org/

https://docs.kicad.org/