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.
Sistemul este alcatuit din urmatoarele componente hardware:
Componente software utilizate:
Modulul RTC este utilizat pentru memorarea si afisarea orei exacte la care sunt realizate masuratorile.
Display-ul LCD afiseaza in timp real valorile citite de senzori, alternand automat intre diferite informatii.
LED-ul verde indica functionarea normala a sistemului si valori sigure ale parametrilor.
LED-ul rosu indica depasirea anumitor praguri sau valori ridicate ale poluarii.
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.
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.
Scopul principal este cresterea nivelului de constientizare asupra calitatii aerului din mediul rezidential si oferirea unei solutii simple si accesibile pentru monitorizarea acestuia.
Pentru stocarea si vizualizarea informatiilor colectate, proiectul utilizeaza o baza de date locala rulata intr-un container Docker pe laptop.
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.
Baza de date locala este utilizata pentru:
Utilizarea Docker permite rularea usoara si izolata a bazei de date direct pe laptop.
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.
Sistemul functioneaza conectat la laptop prin cablu USB. In aceasta configuratie, laptopul gestioneaza comunicatia cu baza de date si aplicatia web.
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://www.chartjs.org/docs/latest/