Florin -Bogdan MARANCIUC [620583]

Florin -Bogdan MARANCIUC

i

R54 – F02

Declarație
privind originalitatea Disertației

Subsemnat(a / ul), _ ______________________________, cu domiciliul în ___________________,
jud. ___________________, str. ____________________, nr. ___________, născut(ă) la data de
___________________, identificat prin ______, seria _____, nr. ______ abso lvent(ă) al
Universității “Ștefan cel Mare” din Suceava, Facultatea de Inginerie Electrică și Știința
Calculatoarelor, programul de studii/ specializarea ________ ______________________________
__________________________________________, între anii _______ ______________________ ,
declar pe propria răspundere, cunoscând prevederile legale cu privire la falsul în declarații și
dispozițiile Legii Educației Naționale nr. 1/2011 referitoare la plagiat, că lucrarea intitulată
__________ ____________________________ __________________________________________
________________________________________________________________________________
_____________________________________________________________________ __________,
pe care urmează să o susțin în fața comisiei este ori ginală, îmi aparține și îmi asum ca autor
conținutul său în întregime. De asemenea, declar că sunt de acord ca lucrarea mea să fie verificată
prin orice modalitate legală, pentru confirmarea originalității, consimțind inclusiv la introducerea
conținutului său într -o bază de date în acest scop.
Am luat la cunoștință faptul că îmi este interzisă comercializarea / transmiterea lucrării mele către
un terț în vederea facilitării falsificării de către acesta a calității de autor al lucrării.

Data azi, _______________, în fața noastră:

Coordonator științific, Absolvent: [anonimizat], Prenume, Nume Prenume Nume
Sunt de acord ca datele cu caracter personal furnizate prin prezenta cerere să fie prelucrate de Universitatea ”Ștefan cel Ma re”
din Suceava, ca operator de date cu caracter personal, în scop educație -cultură, în conformitate cu Regulamentul U.E. 679/2016
privind protecția persoanelor fizice în ceea ce privește prelucrarea datelor cu caracter personal și privind libera circulați e a
acestor date.
Am luat la cunoștință că beneficiez de toate drepturile prevăzute de Regulamentul U.E. 679/2016 și publicate la adresa
www.usv.ro – Protecția datelor cu caracter personal.

Florin -Bogdan MARANCIUC

ii

Cuprins
1.Introducere ………………………….. ………………………….. ………………………….. ………………………….. …. 1
2.Sisteme existente cu rol de a monitoriza calitatea aerului ………………………….. ………………………. 2
2.1 Principalii factori ce pot afecta calitatea aerului ………………………….. ………………………….. ……………… 2
2.1.1 Dioxidul de carbon ………………………….. ………………………….. ………………………….. …………………… 3
2.1.2 Umiditatea relativă ………………………….. ………………………….. ………………………….. …………………… 4
2.1.3 Temperatura ………………………….. ………………………….. ………………………….. ………………………….. .. 5
2.1.4 Relația temperatură -umiditate ………………………….. ………………………….. ………………………….. ……. 5
2.2 Contribuții aduse de cercetători în domeniul măsurării calității aerului ………………………….. ………….. 5
3. Descrierea sistemului propus ………………………….. ………………………….. ………………………….. ….. 18
3.1 Descrierea funcționării sistemului din pun ct de vedere hardware ………………………….. …………………. 19
3.1.1 Nod1 ………………………….. ………………………….. ………………………….. ………………………….. ………… 23
3.1.2 Nod2 ………………………….. ………………………….. ………………………….. ………………………….. ………… 33
3.1.3 Master ………………………….. ………………………….. ………………………….. ………………………….. ………. 35
3.2 Descrierea funcționării sistemului din punct de vedere software ………………………….. ………………….. 40
3.2.1 Descrierea algoritmilor de funcționare pentru cele trei module ………………………….. ……………… 40
3.2.2 Descrierea interfeței grafice ………………………….. ………………………….. ………………………….. …….. 40
3.3 Descrierea server -ului ………………………….. ………………………….. ………………………….. …………………… 42
4.Concluzii ………………………….. ………………………….. ………………………….. ………………………….. ….. 43
Listă de figuri ………………………….. ………………………….. ………………………….. ………………………….. 44
Listă de tabele ………………………….. ………………………….. ………………………….. ………………………….. 45
BIBLIOGRAFIE ………………………….. ………………………….. ………………………….. ……………………… 46
Anexe ………………………….. ………………………….. ………………………….. ………………………….. …………… A

Florin -Bogdan MARANCIUC

1

1.Introducere

În ultimii ani oamenii au devenit tot mai interesați să descopere modalități prin care să
trateze anumite boli sau să își prelungească viața. Deși se investesc foarte multe resurse materiale
și umane pentru descoperirea de noi tratamente sau proceduri medi cale care să vindece numite boli,
nu se ia în calcul cel mai important aspect, și anume prevenția.
Fiecare persoană petrece foarte mult timp în încăperi slab aerisite sau cu sisteme de
ventilație subdimensionate. Fiecare persoană respiră aerul poluat de afară. Foarte multe clădiri
dezvoltă diferite forme de mucegai din cauza faptului că materialele cu rol de izolație termică nu
permit uscarea naturală a încăperii în cazul în care apare condensul , de exemplu. Toți acești factori
pot duce la apariția unor boli pulmonare destul de grave.
Primul pas în asigurarea unei bune prevenții este informarea. Trebuie să știm dacă în
locuința noastră aerul are o calitate suficient de bună, astfel încât să evităm anumite probleme de
sănătate . De asemenea, aerul de la bi rou trebuie sa aibă o calitate bună deoarece petrecem foarte
mult timp în acel loc . Pe lângă apariției anumitor boli cauzate de calitatea slabă a aerului, lipsa de
oxigen duce la scăderea concentrării și implicit la scăderea randamentului.
În aceste două locuri putem lua singuri anumite măsuri pentru a ne asigura că respirăm un
aer curat. Totuși , când vine vorba despre aerul de afară este mai greu pentru o anumită persoană s ă
intervină deoarece sunt anumiți factori precum economia, poziționarea geografică , creșterea
populației la orașe , care împiedică individul să acționeze rapid și eficient pentru creșterea calității
aerului respirat.
Toți acești factori au dus la alegerea acestui proiect ce are rolul de a informa utilizatorul cu
privire la aerul respira t. Astfel , acesta poate afla cu o singură vizualizare a ecranului telefonului
mobil dacă aerul din locuința sa sau de la birou este bun pentru organism. În cazul în care aerul nu
are parametrii optimi, prima dată persoana trebuie să ia măsuri rapide și pe termen scurt cum ar fi
aerisirea rapidă a încăperii , iar apoi măsuri pe termen lung cum ar fi curățarea sistemului de
ventilație, schimbarea sistemului de ventilație etc.
Un aer bun pentru organism nu înseamnă neapărat un aer bogat în oxigen. Aerul trebui e sa
aibă o anumită temperatură și o anumită umiditate. Dacă temperatura și umiditatea nu pot fi
controlate trebuie luate niște măsuri care să mențină un anumit raport între cei doi factori astfel
încât să evităm anumite probleme de sănătate , dar și discon fortul resimțit de individ.

Florin -Bogdan MARANCIUC

2

2.Sisteme existente cu rol de a monitoriza calitatea aerului
2.1 Principalii factori ce pot afecta calitatea aerului

Oamenii își petrec majoritatea timpului în interiorul clădirilor , așadar este foarte important
să existe o calitate bună a aerului , dar și informații actualizate în permanență despre mediul în care
se află. Acest lucru asigură sănătatea individului , dar și o productivitate crescută [1].
Un mediu interior este o combinație de factori termici, mecanici/non -mecanici, electronici,
atmosferici, psihologici, etc. Una din cele mai importante componente ale unui mediu interior este
calitate a bună a aerului, adică un aer curat și proaspăt pentru a menține sănătatea și confortul [1].
Potrivit EPA, aerul din interiorul clădirilor este mult mai poluat decât cel exterior, în primul
rând datorită modelului de ocupare. Un alt factor care influențează calitatea aerului poate fi un
sistem de ventilație rudimentar, vechi sau insuficient întreținut. Praful și compușii organici volatili
pot influența , de asemenea , calita tea aerului dintr -o încăpere [1].
Organizația mondială a sănătății estimează că patru milioane de decese premature au avut
loc din cauza aerului poluat din locuințe , în urma arderii combustibililor solizi, gătitului și
încălzirii. În lipsa oxigenului și a aerului cu proprietăți optime, viața umană ar fi imposibilă.
Plămânii și căile respiratorii au rol în aprovizionarea cu oxigen a celulelor umane, fenomenul de
oxigen are fiind indispensabil în menținerea unei vieți sănătoase. Principala funcție a aparatului
respirator este transportarea oxigenului din atmosfera înconjurătoare către alveolele pulmonare și,
simultan, de a elimina dioxidul de carbon, acesta fiind evacuat din plămâni prin expirație.
Schimbul gazos, ce se petrece la nivelul alveolelor pulmonare, este puternic influențat de
gradul de afectare al aparatului respirator. Astfel, în funcție de severita tea aerului poluat este posibil
chiar decesul oamenilor expuși . În rândul copiilor sub vârsta de 5 ani, pneumonia survenită în urma
inhalării p articulelor duce la jumătate din numărul total de decese [2]. La nivel mondial, această
afecțiune pulmonară este una dintre cele mai frecvente cauze de deces la copii. Pneumonia apare
în urma i nflamării unei părți sau a întregului țesut pulmonar, această inflamație fiind cauzată de
inhalarea unor microorganisme. Procesul inflamator poate fi provocat de numeroși factori ce dețin
o natură diferită, însă în principal, acesta este cauzat de agenți patogeni infecțioși care pătrund la
nivelul plămânilor. Acest organ este predispus la o astfel de patologie din cauza con tactului direct
pe care îl realizează cu aerul exterior. Diminuarea calității aerului poate aduce consecințe grave
asupra sănătății tractului respirator , motiv pentru care este de dorit evitarea acestui risc și
propunerea unor soluții medicale inovative .

Florin -Bogdan MARANCIUC

3

În tabelul următor sunt prezentați câțiva parametri ce afectează calitatea aerului dar și
limitele acceptate.

Tabel 2 .1 Limitele acceptate pentru parametrii mediului1
Parametrul Limitele acceptate
Monoxid de carbon <10ppm
Dioxid de carbon <=1000ppm
Temperatura 23°C – 26°C
Umiditatea relativă 40%-70%
Mișcarea aerului 0.15-0.5 m/s
Numărul total de bacterii
Numărul total de fungi 500cfu / 𝑚3
1000cfu / 𝑚3
Particule respirabile 0.150 mg / 𝑚3
Numărul total de compuși organici volatili 3 ppm
Formaldehide 0.1 ppm
Ozon 0.05 ppm

2.1.1 Dioxidul de carbon

Spațiile închise, locuite de oameni, se confruntă adesea cu scăderea nivelului de oxigen ș i
creșterea nivelului de CO 2. CO 2 este un gaz prezent întotdeauna în aerul din interior. Activitățile
metabolice umane sunt generatoare de CO 2.
Un studiu realizat în cadrul Departamentului de Energie de la Laboratorul Național Berkley
arată că și o cantitate moderată de dioxi d de carbon poate afecta percepț ia. În spațiile închise, cum
ar fi sălile de clasă sau sălile de conferință, unde concentrarea trebuie să aibă un nivel ridicat, o
concentrație crescută de CO 2 poate avea efecte negative [3].
În continuare este prezentat un grafic ce arată relația între concentrația de CO 2 din aer și
performanțele omului ce respiră acel aer. Acest grafic prezintă nouă activități bazate pe luarea
deciziilor , subiecții prezentând reduceri semnificative de performanță pentru șapte din cele nouă
activități la o concentrație de CO 2 de 1000 ppm ș i reduceri drastice de performanță la o concentrație

1 Pitarma, R., G. Marques, and B.R. Ferreira, Monitoring indoor air quality for enhanced occupational health. Journal
of medical systems, 2017. 41(2): p. 23.

Florin -Bogdan MARANCIUC

4

de CO 2 de 2500 ppm . Cea mai semnificativă scădere de performanță (disfuncțională) se poate
observa la luarea inițiativei și la gândirea strategică [3].

Figura 2. 1 Relația dintre nivelul de concentrare și nivelul de CO22

Concentrațiile de CO 2 pot crește substanțial într -o perioadă scurtă de timp d in cauza
activităților umane. În timp ce în aer liber concentrația de CO 2 rămâne în jurul valorii de 400 de
particule pe milion (ppm), în interior această valoare poate crește de câteva ori chiar și în prezența
unui sistem de ventilație. CO 2 este un gaz inert, neinflamabil, netoxic, cu o concentrație de fond
constantă. Astfel nivelul de CO 2 poate fi un indicator excelent pentru a evalua dacă există volume
adecvate de aer proaspăt [1].
De asemenea , creșterea tem peraturii și umidității în spațiile interioare poate duce la apariția
mucegaiului sau ciupercilor. Efectele prezenței acestor agenți microbieni pot fi: tulburări de
respirație; dureri de cap; iritaț ii la nivelul ochilor, nasului și gâtului; amețeli și greață; un nivel de
concentrare scăzut și oboseală [1].

2.1.2 Umiditatea relativă

Umiditatea relativă este procentul de saturație, calculat în general cu densitatea vaporilor
saturați. Conform s tandardului ASHRAE, umidita tea ce asigură confort omului are limitele
cuprinse între 40 și 70%. Sub acest nivel oamenii încep să simtă pielea uscată. Suferinzii vor simți
nevoia de hiperventilare, apărând senzația de amorțeală, leșin sau pierderea concentrației [4].

2 Srivatsa, P. and A. Pandhare. Indoor Air Quality: IoT Solution . in National Conference “NCPCI . 2016

Florin -Bogdan MARANCIUC

5

La o temperatură neutră, umiditatea poate cauza disconfort din două motive: un nivel de
umiditate al pielii inconfortabil sau răcirea insuficientă a membranelor mucoase din tractul
respirator superior prin inhalare de aer umed sau cald [5].
Limita superioară de umiditate pentru zona de confort prescrisă în standardele pentru
mediul interior are la bază mai multe criterii și considerați i. Limita superioară de umiditate nu are
legătură cu confortul omului, având rolul de a preveni apariția condensului, deteriorarea
materialelor sau apariția acarienilor, ciupercilor sau a altor microorganisme [5].
Limita superioară de umiditate a fost stabilită prin consens și are legătură directă cu
temperatur a și anotimpul. Astfel , pentru condiții de vară temperatura trebuie să fie de 20°C , iar
pentru condiții de iarnă temperatura trebuie să aibă o valoare de 18°C. Acestor valori de
temperatură le corespunde o umiditate de 60 % [5].

2.1.3 Temperatura

Temperatura este unul din principalii factori ce afectează nivelul de confort. Intervalul de
temperatură recomandat pentru a avea o stare confortabilă este cuprins între 22,8° C și 26,1° C.
Când temperatura dintr -o cameră este în afara acestor limite , abilitățile oamenilor de a efectua
sarcini ce implică efort mental sunt afectate. O temperatură crescută reduce performanțele
intelectuale , iar temperaturile scăzute reduc dexteritatea [4].

2.1.4 Relația temperatură -umiditate

Studiile au demonstrat că temperatura și umiditatea influențează semnificativ percepția
asupra calității aerului. Astfel s -a observat că aerul este perceput ca fiind mai puțin acceptabil dacă
temperatura și/sau umiditatea cresc [6].
Aerul este perceput ca fiind foarte proaspăt atunci când este rece și uscat, în timp ce aerul
umed este înto tdeauna perceput ca fiind sufocant chiar dacă este curat [6].

2.2 Contribuții aduse de cercetători în domeniul măsurării calității aerului

În lucrarea ”SmartVent: A Context Aware IoT System to Measure Indoor Air Quality and
Ventilation Rate” , Divya Lohani și Debopam Achary încearcă să achiziționeze date legate de

Florin -Bogdan MARANCIUC

6

calitatea aerului cu ajutorul a două sisteme dife rite. Primul sistem este format dintr -un modul
Arduino la care a fost conectat un senzor de temperatură, umiditate și calitate a aerului , iar al doilea
sistem este format dintr -un Sensordrone compatibil cu un telefon cu sistem de operare Android.
Ambele si steme au fost utilizate în diferite scenarii: configurația bazată pe Arduino a fost utilizată
în interiorul facultății , iar cea baz ată pe Sensordrone în locuri în care nu a fost posibilă realizarea
set-up-ului cu Arduino.
Configurația bazată pe o placă de dezvoltare are în componență următoarele elemente:
• Arduino Uno R3
• Senzorul de temperatură și umiditate DHT 22
• Un senzor de gaz
• Un modul WiFi ESP8266
• O sursă de alimentare externă
Potrivit autorilor rolul modulului WiFi este de a transmite datele la un server.

Cealaltă configurație a fost formată doar din două elemente:
• Sensordrone
• Telefon mobil cu sistem de operare Android
Prin acest experiment autorii au demonstrat că un număr mare de persoane într -o încăpere
duce la creșterea concentrației de CO 2 [1].

Figura 2. 2 Evoluția concentrației de CO 2 în funcție de timp3

3 Lohani, D. and D. Acharya. Smartvent: A context aware iot system to measure indoor air quality and ventilation rate .
in Mobile Data Management (MDM), 2016 17th IEEE International Conference on . 2016. IEEE

Florin -Bogdan MARANCIUC

7

Totuși, după cum se poate observa concentrația de CO 2 nu crește brusc. În concluzie ,
această concentrație este influența tă de numărul de oameni aflați într -o încăpere și durata de timp
în care acești oameni stau în acea încăpere [1].
În lucrarea ”A high precise E -nose for daily indoor air quality monitoring in living
environmen” , Jie Hea ,Liyuan Xub, Peng Wangb și Qin Wangb prezintă un sistem capab il să
monitorizeze zilnic calitatea arului.

Figura 2. 3 Sistemul E -nose4

De obicei senzorii de gaz sunt sensibili la o gamă larg ă de gaze, ceea ce face dificilă
identificarea corectă a compusului chimic. Pentru a depăși acest dezavantaj , autorii au folosit mai
multe tipuri de senzori folosiți pe scară largă în domeniul industriei. Din acest motiv , proiectarea
matricei senzorilor și algoritmul de recunoaștere a modelului sunt cheia acestui proiect [7].
Modulul de comandă este realizat cu ajutorul plăcii de dezvoltare ST M32 și un transceiver
de puter e mică ce lucr ează pe frecvența de 2.4 GHz (AT86RF231) [7].
Precum se poate vedea senzorii folosiți sunt TGS2600, TGS2602, QS -01 și SHT 10. Acești
senzori sunt sensibili la contaminările interioare sau umiditate [7]. Astfel , cu ajutorul acestui
sistem , autorii au reușit să monitorize ze calitatea aerului din interior și să realizeze o platformă
experimentală pentru a simula aerul condiționat din interior și pentru a observa concentrația de
formaldehidă.
În lucrarea ”A Cost-Effective Wireless Sensor Network System for Indoor Air Quality
Monitoring Applications” , Sherin Abraham și Xinrong Li prezintă un sistem wireless cu preț redus,

4 He, J., et al., A high precise E -nose for daily indoor air quality monitoring in living environment. Integration, the
VLSI Journal, 2017. 58: p. 286 -294

Florin -Bogdan MARANCIUC

8

dezvoltat cu ajutorul plă cii de dezvoltare Arduino, ce are capa citatea de monitor iza calitatea aerului
din interior.
Sistemul dezvoltat este echipat cu mai mulți senzori conectați la o unitate de procesare.
Acesta mai are în componență și un modul ce transmite datele wireless.
Procesarea datelor se realiz ează cu ajutorul p lăcii de dezvoltare Arduino Uno. După
procesare datele sunt transmise prin intermediul unui modul Xbee [8]. Pentru măsurarea nivelului
de CO 2, autorii au folosit senzorul MG811. Acesta funcționează pe principiul celulelor electrolitice
solide. Când senzorul este expus la CO 2, reacțiile chimice apar producând o forță electromotoare.
Temperatura suprafeței senzorului trebuie să fie suficient de mare pentru ca această reacție
să se petreacă [8].

Figura 2. 4 Nod de senzori pentru măsurarea temperaturii, umidității, concentrației de CO 2 și numărului de
compuși organici volatili5

Senzorul TGS2602 a fost utilizat pentru a măsura cantitatea de compuși organici volatili.
Acest senzor este realizat pe baza unui strat de oxid metalic cum ar fi dioxidul de staniu sau dioxidul
de zinc. Stratul de detecție este format pe un substrat de alumină cu un încălzitor integrat.
Conductivitatea senzorului crește când este expus la gaze detectabile. Schimbarea conductivității
produce un semnal de ieșire corespunzător concentrației de gaz. Senzorul MQ7 are același principiu
de funcționare și a fost folosit pentru a măsura concentrația de CO . Senzorul de ozon MQ131 este ,
de asemenea , un senzor de tip semiconductor ce necesită încălzire. Principiul de funcționare a fost
descris anterior [8].

5Abraham, S. and X. Li, A cost-effective wireless sensor network system for indoor air quality monitoring applications.
Procedia Computer Science, 2014. 34(0): p. 165 -171.

Florin -Bogdan MARANCIUC

9

Pentru a măsura temperatura și umiditatea , autorii au folosit senzorul digital RTH3. Acesta
este precalibrat și poate fi conectat direct la pini i digitali ai unui micr ocontroler fă ră a fi necesară
o altă interfață [8].
În lucrarea ”An Integrated Sensing Systems for Real -Time Indoor Air Quality Monitoring” ,
Jung -Yoon Kim, Chao -Hsien Chu și Sang -Moon Shin prezintă implementarea unui sis tem ce
monitorizează calitatea aerului în timp real.
Sistemul dezvoltat are capacitatea de a măsura calitatea aerului din interior dar și din
exterior. Rețeaua de senzori măsoară parametrii aerului și trimite datele prin radio frecvență [9].

Figura 2. 5 Nod de senzori pentru monitorizarea aerului6

Fiecare nod de senzori are un microprocesor ce realiz ează procesare și stocare locală de
date și un modul de comunicație radio de putere redusă. Modulul prezentat de autori are în
componență patru senzori de gaz: TGS2600 are rolul de a monitoriza contaminanții gazoși din aer
cum ar fi hidrogenul sau monoxidul de carbon; TG S2602 are rolul de a măsura cantitatea de
compuși organici volatili; GSNT11 este un senzor sensibil la NO 2; TGS5042 a fost folosit pentru
a măsura cantitatea de CO din aer; T6613 a fost utilizat pentru a măsura cantitatea d e CO 2; senzorul
MiCS -2610 a fost folosit pentru a măsura nivelul de O3; SO2 -AF a fos t folosit pentru măsurarea
nivelului de SO 2[9].
Pentru măsurarea temperaturii și umidității , autorii au utilizat senzorul DHT11. Toți acești
senzori au fost conectați la placa de dezvoltare Raspberry Pi deoarece oferă soluții comode de
conectare la servere de tip cloud [9].

6 Kim, J. -Y., C. -H. Chu, and S. -M. Shin, ISSAQ: An integrated sensing systems for real -time indoor air quality
monitoring. IEEE Sensors Journal, 2014. 14(12): p. 4230 -4244.

Florin -Bogdan MARANCIUC

10

În urma testelor , autorii lucrării au notat că o cantitate foarte mare de date transmise scade
nivelul bateriei. O altă problemă observată este aceea că fiecare senzor are nevoie de o precalibrare.
În special senzorii d e gaz au tendința de a reacționa și la alte gaze prezente în aer. Din această cauză
datele de la ieșirea senzorului pot conține v alori eronate. Acest fenomen es te cunoscut drept
sensibilitate încrucișată [9].
În urma măsurătorilor , autorii au observat că în aer sunt multe substanțe solide și gazoase
ce pot afecta calitatea acestuia. Totuși locația, densitatea p opulației, dimensiunea unei încă peri,
aerul condiționat sunt factori c u un aport mare în ceea ce privește fluctuația calității aerului [9].
În lucrarea ”Automated Indoor Air Quality M onitor and Control” , D. Mahanth Mukesh și
Sai Karishma Akula prezintă un sistem ce poate fi controlat și monitorizat cu ajutorul unui telefon
mobil folosind conceptul de Internet Of Things. Sistemul propus monitorizează nivelul de CO și
CO 2 dintr -o cameră și avertizează utilizatorul dacă limitele tolerate sunt depășite. Acest se t-up a
fost implementat folosind Raspberry Pi, ce folosește o bază de date pentru a monitoriza valorile și
un server ce poate fi accesat cu ajutorul unui smart phone [10].
Pe lângă componen tele cu rol de coordonare și stocare, si stemul mai are în componență
senzori și elemente de activare/dezactivare a le ventilației.

Figura 2. 6 Automated Indoor Air Quality Monitor and Control 7

7Mukesh, D.M. and S.K. Akula, Automated Indoor Air Quality Monitor and Control. International Journal of Computer
Applications, 2017. 159(6).

Florin -Bogdan MARANCIUC

11

Pentru detecția nivelului de CO din încăpere este folosit senzorul MQ -7. Acest tip de senzor
are sensibilitate crescută la CO și un preț scăzut. Pentru măsurarea nivelului de CO 2 autorii au
folosit senzorul COZIR -A [10].
O aplicație Android a fost dezvoltată pentru a accesa sistemul prin intermediul internetului.
Aceasta este conectată la serverul găzduit de Raspberry Pi și primește datele transmise de senzori.
Datele salvate pot fi , de asemenea , accesate la cerere. Aplicația are și rolul de a avertiza utilizatorul
atunci când limitele de CO sau CO 2 au fost depășite. Astfel u tilizatorul poate porni sistemul de
ventilație cu ajutorul butonului de ON/OFF prezent în aplicație [10].
În lucrarea ”Indoor Air Quality: IoT Solution” , Prajwala Srivatsa și Amit Pandhare,
prezintă un sistem bazat pe o rețea de senzori cu ajutorul cărora se poate facilita îmbunătățirea
calității aerului dintr -o încăpere. Rolul senzor ilor este de a colecta datele care mai apoi vor fi
transmise pe un server și prelucrate.

Figura 2. 7 Indoor Air Quality: IoT Solution 8

Senzorii folosiți au capacitatea de a de a monitoriza concentrația de CO 2 în părți pe milion.
Pentru o citire cât mai corectă a valorilor , acești senzori au fost poziționați în jurul camerei.
Deoarece nodurile acestei rețele sunt wireless a fost necesară introducerea unui access point
reprezentat de o placă de dezvoltare Raspberry Pi. Acess point -ul trimite datele mai departe către
server. A cesta stochează toate datele primite, le afișează și realizează calculele necesare.
Dezavantajul acestei aplicații este acela că se execută doar operațiuni de monitorizare ale
aerului dintr -o încăpere. Sistemul propus de Prajwala Srivatsa și Amit Pandhare nu execută și
operațiuni de decizie sau execuție. Astfel calitatea aerului rămâne aceeași.

8 Srivatsa, P. and A. Pandhare. Indoor Air Quality: IoT Solution . in National Conference “NCPCI . 2016.

Florin -Bogdan MARANCIUC

12

În lucrarea ”A Low -Power Wireless Sensor for Online Ambient Monitoring” , Silviu C.
Folea și George Mois prezintă un sistem compact, alimentat cu ajutorul u nor baterii, ce are rolul
de a monitoriza temperatura, umiditatea relativă, nivelul dioxidului de carbon, valoarea absolută a
presiunii și intensitatea luminii în spațiile interioare. Acest sistem trimite datele măsurate prin
intermediul infrastructurii wi reless existente , dar le poate afișa și pe un dispaly LCD local.

Figura 2. 8 Low-Power Wireless Sensor for Online Ambient Monitoring 9

Nucleul acestui dispozitiv este reprezentat de sistemul programabil PsoC 3. Aceasta este
partea centrală și are rolul de a iniția toate acțiunile necesare măsurătorilor [11].
Pentru transmiterea datelor , autorii au utilizat modulul wireless RN -131C/G. Senzorul
folosit pentru măsurarea nivelului de CO 2 este CozirTM. Acest tip de senzor a fost special
dezvoltat pentru aplicații ce folosesc baterii pentru alimentare. Temperatura și umiditatea a u fost
măsura te cu ajutorul senzorului digital DHT22. În starea activă , acest tip de senzor consumă 1 mA ,
iar în sleep mode consumă 40 µA. Totuși , acuratețea măsurătorilor nu este foarte bună , dar poate
fi folosit în sisteme destinate monitorizării din cadrul unei locu ințe [11].
Autorii au folosit senzorul MPL115A2 pentru măsurarea presiunii atmosferice absolute , iar
pentru măsurarea intensității luminii au folosit senzorul TSL2561. Ambii senzori comunică cu
microcontroler -ul cu ajutorul interfeței I2C [11].
Întregul sistem este alimentat de la o baterie C3123A de 3V. Pentru a prelungi durata de
utilizare a bateri ei s-a folosit un circuit care deconectează ieșirea alimentării pentru anumite
perioade de timp. În modul de repaus acest circuit folosește doar 1 μA, în timp ce restul sistemului

9 Folea, S.C. and G. Mois, A low -power wireless sensor for online ambient monitoring. IEEE Sensors Journal, 2015

Florin -Bogdan MARANCIUC

13

este deconectat de la sursa de alimentare. Pentru a face posibil acest lucru se fac doar 60 de citiri
pe oră. Astfel au torii estimează o durată de funcționare a bateriei de până la trei ani [11].
Pentru afișarea datelor citite s -a folosit LabV IEW ce rulează pe un computer. După ce
datele sunt procesate sunt transmise pe un server de tip cloud pentru stocare [11].
În lucrarea ”Spatio -temporal measurement of indoor particulate matter concentrations
using a wireless network of low -cost sensors in households using solid fuels” , Sameer Patela , Jiayu
Lia , Apoorva Pandeya , Shamsh Pervezb , Rajan K. Chakrabartya și Pratim Biswas au implementat
un sistem ce măsoară cantitatea de particule din aer și care furnizează informații despre distribuția
spațio -temporală a pol uării aerului din interior.
O caracteristică a studiului a fost distribuirea mai multor senzori low -cost și folosirea unui
sistem wireless pentru colectarea datelor. Senzorii Sharp GP2Y1010AU0F au fost utilizați în acest
studiu datorită liniarității ridic ate față de referință și stabilității operaționale ridicată. Acest senzor
funcționează prin detec tarea luminii dispersate de particule. Sursa de lumină este o diodă care emite
în infraroșu , iar detectorul este un fototranzistor ce convertește lumina într -o tensiune de ieșire [2].
Două componente adiționale au fost atașate senzorilor pentru a transmite datele wireless și
pentru a crea o rețea locală. Aceste componente includ un router XBEE pentru a comunica cu
sistemul de achiziție de date [2].

Figura 2. 9 Sistem de măsurare a cantității de particule din aer cu ajutorul senzorului Sharp GP2Y10

Conform autorilor , acești senzori au fost distribuiți aleatoriu în interiorul unei locuințe. În
urma măsurătorilor autorii au ajuns la concluzia că distribuția spațio -temporală a particulelor din

10 Patel, S., et al., Spatio -temporal measurement of indoor particulate matter concentrations using a wireless network
of low -cost sensors in households using solid fuels. Environmental research, 2017. 152: p. 59 -65.

Florin -Bogdan MARANCIUC

14

aer este afectată de sistemele de ventilație, suprafața încăperii sau modul în care este utilizat spațiul
unei încăperi.
În lucrarea ”Temperature and Humidity Calibration of a Low -Cost Wireless Dust Sensor
for Real -Time Monitoring” , Hannaneh Hojaiji, Haik Kalantarian , Alex A.T. Bui, Christine E. King
Majid Sarrafzadeh prezintă proiectarea, calibrarea și validarea unui senzor portabil low -cost, folosit
pentru măsurarea cantității de particule de praf din mediu , dar și pentru măsurarea temperaturii.

Figura 2. 10 Senzor de praf wireless11

Senzorul folosit pentru măsurarea numărului de par ticule din aer este Sharp , iar pentru
măsurarea temperaturii a fost folosit un senzor DHT22. Datele au fost transmise către telefonul
mobil cu ajutorul unui modul bluetooth. Mai departe telefonul mob il a trimis datele către un server
de tip cloud. Pentru a evita erorile asociate interferenței luminii cu senzorul de praf, întreg sistemul
a fost amplasat într -o cutie neagră [12].
În urma studiilor anterioare s -a dovedit că senzorul Sharp nu are o acuratețe bună. Din acest
motiv , autorii au decis că este necesară o calibrare pentru a realiza citiri corecte în condiții reale.
În acest scop, datele brute au fost filtrate folosind testul lui Grubb [12].
Odată ce concentrația de praf a fost determinată, datele au fost liniarizate. În studiile
recente , autorii au observat că senzorul de praf este afectat de temperatură și umiditate. P entru
depășirea acestui inconvenient , autorii au eliminat efectele produse de cei doi factori de mediu [12].

11 Hojaiji, H., et al. Temperature and humidity calibration of a low -cost wireless dust sensor for real -time monitoring .
in Sensors Applications Symposium (SAS), 2017 IEEE . 2017. IEEE.

Florin -Bogdan MARANCIUC

15

Pentru a verifica dacă rezultatele obținute sunt corecte au fost folosiți alți doi senzori, Dylos
DC1100 Pro și Alphasense OPC -N2. Acești senzori au realizat măsurători în diferite locații și
condiții de mediu , iar rezultatele au fost comparate [12].
Astfel , autorii au demonstrat că un sistem de monitorizare a calității aerului poate avea
rezulta te foarte bune dacă este calibrat corect.
În lucrarea ”A WiFi -enabled Indoor Air Quality Monitoring and Control System: the
Design and Control Experiments” , Xiaoke Yang, Lingyu Yang și Jing Zhang propun o platformă
wireless ce are capacitatea de a măsura și de a controla calitatea aerului dintr -o încăpere.
Sistemul propus de cei trei autori are în componență trei unități individuale: serverul,
modulul de citire al datelor și unitatea de control. Toate cele t rei module sunt interconectate prin
intermediul rețelei WiFi. De asemenea , la unitatea de control este conectat un purificator de aer
[13].
Serverul este reprezentat de o placă Raspberry Pi cu sistem de operare GNU/Linux -ARM
și este conectat la rețeaua WiFi prin intermediul unui router [13].

Figura 2. 11 Structura hardware a sistemului de monitorizare12

Modul ul de citire al datelor conține un senzor de particule, un senzor de temperatură și
umiditate, un modul WiFi, un microprocesor și un display [13].
Pentru a măsura cantitatea de particule , autorii au folosit senzorul SDS011. Acesta are
capacitatea de a detecta particule cu dimensiuni de la 0.3 până la 10 μm. Un ventilator montat în

12 Yang, X., L. Yang, and J. Zhang. A WiFi -enabled indoor air quality monitoring and control system: The design and
control experiments . in Control & Automation (ICCA), 2017 13th IEEE Interna tional Conference on . 2017. IEEE.

Florin -Bogdan MARANCIUC

16

partea de sus a senzorului preia în mod activ aer pentru măsurare. Senzorul are un laser și o
fotodiodă aliniată. Laserul luminează incinta , iar în momentul în care sunt particule , raza va suferi
refracții. Eleme ntul fotodetector preia lumina iar în funcție de cantitatea de lumină trimite pe ieșire
impulsuri electrice. Acestea sunt amplificate și eșantionate de un microprocesor printr -un convertor
analog -digital [13].
Senzorul DHT22 a fost utilizat pentru a măsura temperatura și umiditatea. Acesta este
format dintr -un senzor de umiditate capacitiv și un termistor. Un microprocesor face conversia
analog -digital ș i calibrează senzorul de temperatură [13].
Modulul WiFi utilizat este ESP -12F. Pentru procesarea datelor , autorii au folosit placa de
dezvoltare Arduino Pro Mini [13].
Componenta principală a unității de comandă este un releu controlat prin modulul WiFi
ESP-12F. Deoarece unitatea de comandă func ționează ca un întrerupător pentru purificatorul de
aer, sistemul a fost alimentat de la rețea [13].
În lucrarea ”WSN Based Indoor Air Quality Monitoring In Classrooms” , autorii au încercat
să măsoare parametrii aerului în unele săli de curs.
Sistemul utilizat este format dintr -un coordonator, un router și un computer. Nodul
coordonator selectează frecvența pentru a accesa nodurile senzorilor, routerul fiind necesar pentru
comunicare între noduri. Nodurile folosite pentru a măsura parametrii ae rului sunt formate din
senzorul DHT 11 (senzor de temperatură și umiditate) și MG811 (senzor folosit pentru măsurarea
dioxidului de carbon) [4].

Figura 2. 12 WSN Based Indoor Air Quality Monitoring In Classrooms 13

13 Pitarma, R., G. Marques, and B.R. Ferreira, Monitoring indoor air quality for enhanced occupational health. Journal
of medical systems, 2017. 41(2): p. 23.

Florin -Bogdan MARANCIUC

17

Sistemul ce încorporează un Arduino, Xbee 60 mW, DHT11 și MG -811, a fost programat
să efectueze măsurători timp de 5 minute. Senzorii au fost amplasați în două săli de curs cu
dimensiunile de 50 m2 și 60 m2 [4].
În urma măsurătorilor s -a observat o creștere a concentrației de carbon la o valoare de 1000
ppm după 45 de minute. Studenții au primit două teste IQ la intervale de timp diferite. Deși
întrebările au avut aceeași dificultate rezultatele celui de al doilea test au fost cu 50 % mai slabe.
De asemenea , umiditatea a scăzut în timp creând un nivel crescut de disconfort.

Florin -Bogdan MARANCIUC

18

3. Descrierea sistemului propus

Pentru a aduce un aport la dezvoltarea sistemelor electronice ce se ocup ă cu monitorizarea
aerului , s-a decis realizarea unui ansamblu format din trei module ce au rolul de a prelua date legate
de calitatea aerului și de a le transmite pe un telefon mobil cu sistem de operare Android.
Este foarte important să respirăm un aer curat. Într -un mediu exterior nu putem acționa în
mod direct pentru îmbunătățirea calității aerului , dar dacă dorim să știm c ât de curat este aerul pe
care îl respirăm , putem folosi acest sistem ce oferă date în timp real. În propria locuință putem
acționa asupra calității aerului folosind metode ieftine. Astfel , pornind aerul condiționat când
observăm că aerul are o puriate scăzută poate fi crecut confortul din încăpere, poate fi spori tă
concentrarea sau ne poate feri de anumite boli de plămâni ce pot dăuna considerabil . Uneori și o
simplă aerisire a camerei poate avea efecte benefice.
Acest sistem a fost dezvoltat pentru a putea fi folosit de ori ce persoană c are deține un telefon
mobil și are acces la internet . De la început a fost gândit ca o soluție ieftină și simplă , dar care să
ofere niște rezultate suficient de bune.
Sistemul este unul domoti c și poate fi încadrat foarte uș or în categoria I nternet of Things.
Totuși, acesta poate fi amplasat și în diferite puncte dintr -un oraș , singurul impediment fiind o
conexiune la o rețea wireless. Astfel , cetățenii pot vedea calitatea aerului de afară și își pot lua
diferite măsuri de protecție pentru a -și proteja sănătatea sau pentru a -și crește confortul.
Sistemul propus are componente hardware, componente software, componente de
intermediere și componente de interfață grafică.
Componenta hardware este formată din trei module independente , dar care con lucrează pentru
a oferi utilizatorului datele de care are nevoie.

Cele trei module sunt denumite după cum urmează:
• Nod1
• Nod2
• Master
Nod1 are rolul de a citi temperatura, umiditatea și calitatea aerului din mediul înconjurător
și de a transmite datele către Master.
Nod2 citește presiunea și transmite valorile către Master.

Florin -Bogdan MARANCIUC

19

Master primește datele de la celelalte două module, le interpretează, le afișează pe un
display și le transmite către o platformă online .
Componenta software este formată din codul pentru cele trei module , dar și codul pentru
interfața grafică.
Componentele intermediare sunt reprezentate de un router wireless și platforma online de
stocare a datelor . Router -ul preia datele de la Master și le transmite către platforma online. Datorită
acestei operațiuni , utilizatorul poate avea acces la valorile citite de senzori oriunde s -ar afl a, singura
cerință fiind să aibă un telefon cu sistem de operare Android cu aplicația instalată și acces la
internet.
În continuare este prezentată o schemă de funcționare a întregului proiect.

Figura 3. 1 Modul de funcționare al sistemului propus

3.1 Descrierea funcționării sistemului din punct de vedere hardware

Din punct de vedere hardware , proiectul este format din trei module. Fiecare modul are un
rol bine definit în cadrul sistemului. Astfel Nod1 și Nod2 au o funcționalitate de tip slave. Aceste
două noduri transmit datele necesare către Master . Comunicația între module se realizează wir eless.
Primele rețele wireless au fost dezvoltate în era pre -industrială. Aceste sisteme transmiteau
informații de -a lungul liniei de vizibilitate (extinsă cu ajutorul telescopului) folosind semnale cu
fum, oglinzi ce transmiteau lumina intermitent sau st eaguri. A fost dezvoltat un set elaborat de

Florin -Bogdan MARANCIUC

20

semnale cu ajutorul căruia se transmiteau mesaje complexe. Stațiile de observare erau construite
pe dealuri și de -a lungul drumurilor pentru a transmite aceste mesaje pe distanțe cât mai mari [14].
Din punct de vedere teoretic, originile comunicației între două puncte , prin intermediul
undelor electromagnetice propagate prin spațiu , încep de la tratatele publicate în anul 1873 de
James Maxwell. După multe experimente în laborator, Heinrich Hertz reușește în anul 1888 prima
comunicație prin intermediul undelor radio. Urmându -l pe Hertz , mai mulți cercetători din diferite
țări au experimentat propagarea a cestor unde.
Primele transmițătoare au fost de tipul ”spark -gap”.

Figura 3. 2 Transmițător de tipul ”spark -gap”14

Un transmițător de acest tip funcționează prin producerea unui impuls cu energie mare într –
o antenă rezonantă. Unda rezultată ce are frecvența de rezonanță a antenei s -ar propaga în toate
direcțiile având rolul unui semn al de detecție pentru receptor. Între timp , Marconi, ce lucra în
Anglia, a demonstrat în anul 1896 că se pot realiza comunicații pe o ra ză de 16 km utilizând un
transmițător de tip spark -gap. Tot în aceeași perioadă Reginald Fassenden, ce lucra în Statele Unite,
reușește prima transmisie de undă continuă modulată [15].
Sistemele dezvoltate în secolul al XX -lea au fost concepute pentru a servi diverselor
aplicații comerciale și militare. Comunica ția wireless între vasele aflate pe mare a fost una din
primele aplicații importante deoarece o comunicație prin cablu era imposibilă. În 1899 Marina
Britanică reușește să convertească comunicația de tip telegraf în date radio. Marina Imperială Rusă
îi urm ează rapid. Până în anul 1905 , Japonia deținea cheia tehnicii și a început să intercepteze

14 Spark gap transmitter, https://upload.wikimedia.org/wikipedia/commons/3/34/Spark_gap_transmitter.jpg

Florin -Bogdan MARANCIUC

21

mesaje de la flota rusă ce naviga în secret către golful Tokyo. În urma informațiilor obținute Japonia
a obținut victoria [16].
Inventarea tehnologiei ”audion” de către Lee DeForest în anul 1906 conduce către
dezvoltarea unui tub vidat mult mai robust și mult mai fiabil.

Figura 3. 3 Audion

Tuburile vidate au făcut posibilă crearea unor oscilatoare ce puteau fi modulate pentru a
putea transmite voce și muzică pe arii extinse. În anul 1910 transmițătoarele și receptoarele ce
foloseau tuburi vidate le -au înlocuit pe cele cu scânteie sau arc. T ransmisiunile cu ajutorul undelor
modulate au deschis ușa către un spectru vast de frecvențe ce este folosit și astăzi pentru
transmisiunile wireless [15].
După apariția noilor servicii a crescut și cererea pentru spectrul de frecvențe înalte. Noi
servicii ce funcționau în domeniul benzilor de frecvență foarte îna lte, ultra înalte și super înalte au
apărut. Tabelul următor prezintă denumirea și plaja de frecvențe stabilită internațional [15].

Tabel 3. 1 Banda de frecvențe wireless [15]
Banda de frecvențe Intervalul de frecvențe Lungimea de undă
Extremely low frequency
(ELF) <3 kHz >100, 000m
Very low frequency (VLF) 3–30 kHz 100,000 –10,000m
Low frequency (LF) 30–300 kHz 10,000 –1,000m
Mediumwave frequency (MF) 300–3,000 kHz 1,000 –100m
High frequency (HF) 3–30MHz 100–10m

Florin -Bogdan MARANCIUC

22

Very high frequency (VHF) 30–300MHz 10–1.0m
Ultra high frequency (UHF) 300–3,000MHz 1.0–0.1m
Super high frequency (SHF) 3–30 GHz 10–1.0 cm
Extra high frequency (EHF) 30–300 GHz 1.0–0.1 cm

Propagarea undelor la frecvențe mari este dominată de mecanisme diferite în comparație cu
propagarea undelor la frecvențe mici. La frecvențe mici și medii , propagarea undelor
elecromagnetice se face la granița dintre pământ și atmosferă, fiind numite unde de sol. La
frecvențe înalte și ultraînalte undele de sol ema nate de trans mițător încă există , dar atenuarea este
atât de puternică încât comunicația pe distanțe utile nu este posibilă. Mecanismul dominant de
propagare al acestor unde este prin spațiu sau prin atmosferă [15].
Comunicațiile wirreless au fost folosite , de asemenea , în Primul Război Mondial. În anul
1914 Rusia pierde bătălia de la Tannenburg deoarece armată germană îi interceptează
comunicațiile. Pe baza informațiilor aflate, aceștia din urmă cresc mobilitatea trupelor [16].
În anii 1920 , comunicațiile wireless au început să fie folosite și de publicul larg odată cu
apariția primei stații de emisie ce transmitea folosind modulația în amplitudine. Tot în a ceastă
perioadă , departamentele de poliție și pompieri au început să folosească comunicațiile mobile
terestre [15]. Din acel moment , creșterea comunicațiilor wireless în domeniul comercial a fost de
neoprit. Transmisiunile de tip AM au fost suplimentate de transmisiunile cu unde modulate în
frecvență în intervalul (88-108 MHz) [15].
Sistemele wireless fixe au fost proiectate pentru a realiza o legătură între două terminale
fixe, scopul fiind acela de a oferi o conexiune fiabilă și sigură. Aceste sisteme au fost denumite
”point -to-point” (PTP). Odată cu îmbunătățirea tehnologiilor m frecvențele mai mari au putut fi
folosite pentru a realiza acest tip de comunicație [15].
Com unicațiile radio difereau de mijloacele predominante de comunicații electrice
(telegraful și telefonul fledgling). Deoarece noul tip de comunicație nu necesita o conexiune printr –
un fir de la transmițător la receptor, a fost numită comunicație wireless [15].

Florin -Bogdan MARANCIUC

23

3.1.1 Nod1
Acest nod are rolul de a citi temperatura, umiditatea și calitatea aerului.

Figura 3. 4 Nod1
Citirea acestor parametri se realizează cu ajutorul senzorului BME680. Datele sunt trimise
către microcontrolerul Atmega328 prin intermediul comunicației de tip I2C. La rândul său ,
microcontrolerul formează pachete de date pe care le trimite prin intermediul comunicației de tip
SPI către modulul electronic NRF24L01. Acesta preia pachetele și le trimite către Master.
Din punct de ve dere funcțional , Nod1 și Nod2 sunt asemănătoare. Totuși din punct de
vedere al importanței datelor , Nod1 este mult mai important deoarece oferă informații cu privire la
temperatură, umiditate și calitatea aerului. Acești parametri ai aerului pot afecta în mod rapid și
ireversibil sănătatea oamenilor.
Deși parametrii neconformi ai temperaturii și umidității creează doar disconfort pentru un
om sănătos, pentru un om suferind pot fi fatali. Însă calitatea aerului creează mari probleme pentru
toți oamenii.
Fiecare modul este alimentat cu ajutorul a trei baterii din litiu, de tipul CR2032, produse de
ENERGIZER.

3.1.1.1 Blocul funcțional Atmega328

La toate modulele, microcontrolerul folosit este Atmega328P -AU produs de compania
Atmel . Acesta este un circuit integrat ce are o memorie EEPROM 1024B și o memorie SRAM de
2048B. Frecvența de sincronizare este de 20MHz. Microcontroller -ul dispune de 23 pini

Florin -Bogdan MARANCIUC

24

intrare/ieșire, șase canale PWM și două timere pe 8 biți. Din considerente estetice , s-a ales o capsulă
SMT și anume TQFP32.
Tensiunea la care lucrează acest circuit poate fi cuprinsă între 1.8V și 5.5V DC.
În funcționare schema electrică are la bază o frecvență de oscilație de 16 MHz realizată cu
ajutorul unui cristal de cuarț. Acesta e ste conectat la mas ă prin doi condensatori ceramici în capsulă
0603 care au valoarea de 22pF. Pentru a reseta circuitul se folosește un rezistor de10 KΩ ce menține
în permanență tensiunea de 5V pe pinul RESET. La acționarea întrerupătorului tensiunea este pusă
la masă având loc resetarea m icrocontro ler-ului.
Schema electrică a acestui bloc este următoarea:

Figura 3. 5 Microcontroller -ul

Microcontrolerul Atmega328 comunică cu senzorul BME680 prin interfața I2C. Acest tip
de comunicație are la bază transferul de date dintre un master și minim un slave. Comunicația I2C
folosește drena deschisă/ colector deschis cu un buffer pe aceeași linie, ceea ce permite folosirea
unei singure linii de comunicație pentru tr ansfer de date bidirecțional. Fiecare dispozitiv de pe
magistrala de comunicație I2C are o adresă specific ă pentru a putea fi diferențiate între ele. Pentru
a realiza acest tip de comunicație sunt necesare doar două fire: clock (SCL) și serial data (SDA).
Ambele linii trebuie conectate la VCC printr -un re zistor de pull -up. Valoarea rezistorilor de pull –
up este determinată de capacitatea de pe liniile I2C [17].
Proced ura generală prin care un master accesează un dispozitiv de tip slave este următoarea:
1. Master -ul dorește să trimită date către slave:
• Transmițătorul master trimite condiția de START și accesează receptorul de tip slave
• Transmițătorul master trimite date le către receptorul de tip slave

Florin -Bogdan MARANCIUC

25

• Transmițătorul master termină transferul de date prin condiția STOP
2. Master -ul dorește să primească/citească date de la slave
• Receptorul master trimite condiția START și adresează receptorul slave
• Receptorul master trimite registrul cerut pentru a citi transmițătorul slave
• Receptorul master primește datele
• Receptorul master termină transferul de date prin condiția STOP
Comunicația dintre microcontroler și modulul NRF24L01 se realizează prin intermediul
interfeței SPI. Serial Pheripheral Interface este un protocol de comunicație foarte comun folosit
pentru comunicația dintre două dispozitive. Magistrala SPI standard este formată din patru
semnale:
• Master Out Slave In (MOSI)
• Master In Slave Out (MISO)
• Clock (SCK)
• Slave Select (SS)
O magistrală SPI are un master și unu sau mai mulți slave. Master -ul folosește semnalul SS
pentru a selecta cu care slave dorește să comunice.

3.1.1.2 Senzorul BME680

BME680 este un senzor ce poate măsura concentraț ia de gaz, umiditatea, presiunea ș i
temperatura [18].

Figura 3. 6 BME68015

Acest senzor poat e fi folosit in aplicaț ii cum ar fi:
• Măsurarea calităț ii aerului din interiorul unei camere
• Automatizări în cadrul locuinț ei

15 BME680 Low power gas, pressure, temperature & humidity sensor Datasheet

Florin -Bogdan MARANCIUC

26

• IOT
• Prognoza meteo
• Măsurarea vitezei verticale
Dispozitivele care pot utiliza acest senzor pot fi urmă toarele:
• Dispozitive mobile cum ar fi telefoanele, tabletele, dispozitivele GPS
• Stații meteo real izate acasă
• Smart watches
• Sisteme de navigaț ie
• Dispozitive IOT
Senzorul suport ă modu ri de alimentare la un nivel scăzut: modul de repaus ș i modul de
lucru intens.
După o secvență de pornir e senzorul se va afla automat în modul repaus. Dacă dispozitivul
efectuează o măsurătoare, execuț ia comenzi lor de comutare a modului este întârziat ă până la
sfârșitul perioadei de măsurare care rulează î n prezent.
În modul de lucru , conversia temperaturii, umidității, presiunii și concentrației de gaz este
realizată se cvenț ial [18].

Figura 3. 7 Secventa de funcț ionare BME68016

Unde:
T – Temperatură
P – Presiune
H – Umiditate
BME680 este un senzor bazat pe un oxid de metal ce detectează compuș i organi ci volatili
prin absorbție (ș i oxidarea ulterioar ă/reducerea) pe stratul sensibil. Astfel senzorul reacționează la
compușii volatili ce poluează aerul interior. Î n contrast cu senzorii ce selectează o componentă
specifică, BME680 este capabil sa mă soare su ma de compuși organici volatili / agenți de

16 BME680 Low power gas, pressure, temperature & humidity sensor Datasheet

Florin -Bogdan MARANCIUC

27

contam inare î n aerul din jur. Acest lu cru permite senzorului BME680 să detecteze de exemplu
scurgeri de vopsea, miros de gu noi, niveluri ridicate de compuși organici volatili datorită gă titului
sau consumului de alimente, expirația și/sau transpiraț ia [18].
Ca semnal brut, BME6 80 va emite valori ale rezistenței ce se modifică în funcție de
concentrațiile de compuș i organici volatili. Deoarece acest semnal brut este influențat de alți
parametri , pe lângă concentrația de compuș i organici volati li, valorile brute se transformă î ntr-un
indice de calitate a aerului interior cu ajutorul algoritmilor din interiorul BSEC. Indice le de calitate
a aerului variază î ntre 0 (aer cura t) și 500 (aer foarte poluat). În timpul funcționă rii, algoritmii se
calibrează automat și se adaptează la mediul î n care operează senzorul [18].

3.1.1.3 NRF24L01

NRF24L01 este un transceiver ce funcționează la frecvența de 2.4GHz, destinat aplicațiilor
wireless ce necesi tă o putere de transmitere foarte mică. NRF24L01 este proiectat pentru operațiuni
în banda de frecvență cuprinsă între 2.400 GHz și 2.4835 GHz [19].

Figura 3. 8 NRF24L0117

Protocolul benzii de bază este bazat pe comunicarea prin pache te de date suportând atât
operaț iuni manuale , cât și operațiuni autonome avansate [19].
Transmiterea datelor se realizează fol osind modulația GFSK. Acest tip de transciver
suportă configurarea unor parametri cum ar fi: frecvența canalului, puterea de emisie și
dimensiunea pachetului de date. Această dimensiune poate fi de 250kbps, 1Mbps și 2 Mbps [19].

17 nRF24L01 Single chip 2.4 GHz Transceiver Datasheet .

Florin -Bogdan MARANCIUC

28

Figura 3. 9 Schema bloc a modului NRF24L0118

Pentru a stoca intern datele , acest transciver folosește metoda FIFO (first in first out).
Tranziția între modurile de operare ale cipului este asigurată de un automat finit. NRF24L01 poate
fi configurat în următoarele moduri de lucru: power down, standby, RX sau TX [19].
Schema logică pe ca re se bazează funcționarea modulului wireless NRF24L01 este
următoarea:

18 nRF24L01 Single chip 2.4 GHz Transceiver Datasheet.

Florin -Bogdan MARANCIUC

29

Figura 3. 10 Diagram a de stare pentru comanda radio19

În modul de lucru power down modulul este dezactivat consumând minimul de curent.
Toate valorile înregistrate sunt menținute , iar linia de comunicație SPI este menținută activă [19].
Modul de lucru Standby este folosit pen tru a minimiza consumul de curent, în timp ce se
realizează unele porniri scurte. În acest mod de lucru doar oscilatorul este activ. Schimbarea în

19 nRF24L01 Single chip 2.4 GHz Transceiver Datasheet.

Florin -Bogdan MARANCIUC

30

modul activ se realizează doar atunci când pinul CE primește o valoare de tensiune echivalentă cu
1 logic [19].
Modul RX este unul activ modulul fiind folosit pe post de receptor. În acest mod de lucru
receptorul demodulează semnalul preluat de la canalul radio și prezintă datele motorului însărcinat
cu protocolul benzii de bază. Acesta caută în permanență pachete de date v alide. Dacă un pachet
valid este găsit , datele d in acest pachet sunt transferate într -un slot valid din RX FIFO. Dacă stiva
RX FIFO este plină, pachetul primit este înlăturat. În modul RX este disponibil un semnal ce
monitorizează puterea primită . Acest se mnal are valoarea high când semnalul radio recepționat este
mai mare de -64 dBm [19].
Atunci când modul TX este activ modulul transmite pachete de date. Acesta intră în modul
TX doar dacă receptorul este setat pe o valoare low și există o sarcină în stiva TX FIFO ce poate fi
transmisă. Dacă stiva TX FIFO nu este goală , NRF24L01 rămâne în modul TX și transmite
următor ul pachet. Dacă stiva TX FIFO e ste goală , modulul intră în modul standby. Acest transciver
operează în buclă desc hisă când este în modul TX [19].

Aplicații în care poate fi utilizat modulul NRF24L01:

• Periferice PC wireless
• Mouse, tastatură wireless
• Căști VoIP
• Controlere pentru jocuri
• Ceasuri și senzori pentru monitorizarea parametrilor corpului
• Automatizări domotice și comerciale
• Rețele de senzori de mică pu tere
• Sisteme de monitorizare a traseului
• Jucării
• Remote control pentru aparate electrocasnice

Florin -Bogdan MARANCIUC

31

3.1.1.4 Bateria CR -2032

Inițial , celulele de Litiu au fost dezvoltate în anul 1970 ca o sursă de tensiune de 3V. Acestea
erau utilizate în aplicații de back -up deoarece au o durată de viață îndelungată, dimensiune redusă
și capacitate de stocare a energiei mare.

Figura 3. 11 Bateria CR2032

În aplicații , capacitatea unei baterii depinde de rata de descărcare și de taiere. În general ,
bateriile cu litiu sunt mai eficiente la rate de descărcare mici.

Figura 3. 12 Rata de descărcare a bateriilor

Temperaturile scăzute cauzează reacții electrochimice ce au loc în interiorul bateriei pentru
a reduce mobilitatea ionilor în electrolit. În general , frigul are un impact negativ asupra
performanțelor bateriei deoarece acesta provoacă scăderea tensiunii și reduce timpul de
funcționare.
Durata de viață a unei baterii din litiu, depozitată la temperatura camerei și umiditate
relativă, este de 10 ani.

Florin -Bogdan MARANCIUC

32

Când sunt stocate la temperatura camerei , aceste baterii pierd aproximativ 1% din capacitatea lor
într-un an.

Figura 3. 13 Rata de descărcare a bateriei la temperatura camerei fără consumatori externi

3.1.1.5 Boost converter -ul

Rolul acestui circuit este de a asigura o tensiune continuă de 5V necesară alimentării
celorlalte module electronice. Schema electrică este următoarea:

Figura 3. 14 Boost converter

Acest modul are în componență o bobină cu valoarea de 47 µH. Această valoare este
suficientă pentru a permite utilizatorului să folosească o zonă redusă pe PCB dar suficient de mare
pentru a menține o valoare a riplurilor mică. Valorile mici ale inductanțe i oferă un curent de ieșire
mare, dar , de asemenea , cresc valoarea riplurilor și reduc eficiența. Valorile mari ale inductanței
reduc riplul și îmbunătățesc eficiența dar , de asemenea , limitează curentul de ieșire. Bobina ar
trebui să aibă o valoare DCR câ t mai mică, de obicei mai mică de 1 Ω pentru a minimiza pierderile.
Curentul de saturație al bobinei trebuie să fie mai mare decât maximul de curent necesar
funcționării aplicației.

Florin -Bogdan MARANCIUC

33

Dioda este principala sursă de pierderi în convertoarele DC -DC. Cei mai i mportanți
parametri care afectează eficiența sunt căderea de tensiune și timpul de recuperare inversă. Căderea
de tensiune creează pierderi doar pentru simplul fapt că există o tensiune pe dispozitiv în timp ce
acest dispozitiv este parcurs de un curent. Timpul de recuperare invers ă generează o pierdere atunci
când dioda este polarizată invers și aparent curentul curge invers prin diodă. Pentru astfel de
aplicații se recomandă o diodă Schottky cu următoarele caracteristici:
• Tensiune directă mai mică de 0.3 V
• Scurgere de curent invers mică
• Timp de recuperare inversă mic / viteză de comutație
• Tensiune inversă mai mare decât tensiunea de ieșire
Condensatorul de intrare poate stabiliza tensiunea de intrare și reduce eventuale ripluri
generate de sursă. Valoarea condensatorului depinde de impedanța sursei de tensiune folosită. În
general se folosesc condensatori cu valoarea rezistenței serie echivalentă cât mai mică. Astfel un
condensator ceramic sau cu tantal cu valoarea de 10 µF este suficient.

3.1.2 Nod2

Acest modul este asemănător cu modulul Nod1, singura diferență fiind senzorul BMP280.

Figura 3. 15 Nod2

Acest senzor are rolul de a prelua date legate de presiunea aerului. Aceste date sunt
transmise apoi microcontrolerului Atmega328. Acesta are rolul de a interpreta valorile și de a le
transmite apoi transciver -ului NRF24L01. Prin intermediul acestui transc iver datele ajung la

Florin -Bogdan MARANCIUC

34

modulul denumit Master. Datele oferite de acest senzor sunt mai puțin importante deoarece în
condiții normale presiunea nu are efecte fatale asupra corpului uman. Totuși modificările de
presiune pot crea disconfort persoanelor ce sufer ă de anumite boli pulmonare sau cardiace.
În cadrul circuitului senzorul are rol de slave comunicând cu microcontroler -ul prin
intermediul interfeței I2C.

3.1.2.1 BMP 280

BMP280 este un senzor de presiune barometric special conceput pentru aplicații m obile.
Modulul senzorului este găzduit într -o carcasă LGA cu 8 pini. Dimensiunea redusă și consumul
redus de energie (2,7µA la o frecvență de lucru de 1Hz) permit folosirea acestui senzor în
dispozitive cum ar fi telefoanele mobile, modulele GPS sau ceasur i [20].

Figura 3. 16 BMP28020

BMP280 este alcătuit dintr -un element de detectare a presiunii piezo -rezistiv și un ASIC.
ASIC -ul efectuează conversii analog/digitale și furnizează rezultatele printr -o interfață digitală
[20].
Acest senzor poate opera în trei moduri:
• Modul sleep
• Modul normal
• Modul forțat
În modul sleep, nu sunt realizate măsurători. Modul normal alternează între perioade în care
senzorul realizează măsurători și perioade de repaus. În modul forțat , se realizează o singură
măsurătoare , iar apoi senzorul intr ă în modul sleep [20].

20 BMP280 Digital Pressure Sensor Datasheet

Florin -Bogdan MARANCIUC

35

Schema internă a acestui senzor este următoarea:

Figura 3. 17 Schema interna BMP28021

Perioada de măsurare a acestui senzor constă din preluarea datelor legate de temperatură și
umiditate. După preluarea datelor, acestea sunt trecute printr -un filtru pentru a elimina fluctuații pe
termen scurt ale presiunii.
Acest senzor poate fi folosit în următoarele aplicații:
• GPS
• Stații meteo personale
• Aplicații de monitorizare a sănătății
• Indicarea vitezei verticale
• Aeromodele
• Ceasuri
3.1.3 Master
Din punct de vedere hardware , acest dispozitiv este elementul central al aplicației .

Figura 3. 18 Master

21 BMP280 Digital Pressure Sensor Datasheet.

Florin -Bogdan MARANCIUC

36

Acesta are în componență microcontroler -ul Atmega328, transciver -ul NRF24L01,
modulul wireless ESP8266, un afișor de tip OLED și un avertizor acustic de tip Buzzer.
Datele transmise de dispozitivele cu senzori sunt preluate de transciver. Acesta le transmite
la microcontroler. Pe display va fi afișată temperatura, umidi tatea, presiunea și calitatea aerului. În
cazul în care una din aceste valori nu se încadrează în limitele admise avertizorul acustic va intra
în funcțiune. Aceste date sunt transmise și către platforma online prin intermediul modulului
wireless ESP8266.

3.1.3.1 ESP8266

Modulul WiFi ESP8266 este dezvoltat de echipa Ai -thinker.

Figura 3. 19 ESP826622

Modulul încapsulează un microcontroller pe 32 de biți de ultimă generație, cu un mod scurt
pe 16 biți. Frecvența semnalului de clock poate fi de 80 MHz sau 160 MH z. ESP8266 suportă
RTOS și ante na WiFi imprimată pe PCB. Modulul suportă standardul IEEE802.11 b/g/n și pachetul
complet de protocoale TCP/IP [21].

22 ESP8266EX Datasheet

Florin -Bogdan MARANCIUC

37

Figura 3. 20 Diagrama bloc a modulului ESP8266EX23

ESP8266EX poate fi folosit pentru a găzdui aplicația sau pentru a descărca funcțiile de rețea
de la un alt pr ocesor. Când ESP8266EX găzduiește aplicația, modulul bootează direct de pe o
memorie externă [21].
Alter nativ, servind ca un adaptor Wi Fi, accesul la internet poate fi adăugat la orice aplicație
bazată pe microcontrolere ce suportă interfață SPI/SDIO sau I2C/UART. Acest modul integrează
amplificatoare de p utere, amplificatoare cu zgomot redus pentru semnalul recepționat, filtre,
module pentru gestionarea puterii. De asemenea , integrează o versiune îmbunătățită a procesorului
de 32 biți din seria L106 Diamond [21].
ESP8266 are încorporat un contro ler de memorie. MCU poate accesa memoria prin
intermediul interfețelor iBus, dBus și A HB. Toate unitățile de memorie pot fi accesate la cerere, în
timp ce un arbitru de memorie va decide secvența de funcționare în funcție de momentul în care
aceste cereri sunt primite de către procesor [21].
Pentru a economisi energia , modulul poate intra în trei moduri de sleep:
• Modem Sleep
Cât timp modulul funcționează în modu l Modem Sleep consumul de curent este de 15mA.
Astfel modulul menține o conexiune WiFi m dar nu transmite date [21].
• Light Sleep
În timpul modului Light Sleep pro cesorul poate fi suspendat în aplicații precum
transmiterea secvențială de date. Fără date ce necesită a fi transmise modulul WiFi poate fi

23 ESP8266EX Datasheet

Florin -Bogdan MARANCIUC

38

oprit iar procesorul suspendat. Pe durata acestui mod de lucru consumul de curent este de
0.9 mA [21].
• Deep Sleep
Acest mod de lucru nu necesită menținerea conexiunii WiFi. Modul de lucru Deep Sleep
se folosește pentru aplicații ce transmit date cu decalaj mare. Pe durata de funcționare în
modul Deep -Sleep modulul consumă 10 uA [21].

Aplicații:
• Plăci de alimentare inteligente
• Automatizări domotice
• Noduri de rețea
• Comenzi industriale wireless
• Camere IP
• Dispozitive de localizare WiFi
• Rețele de senzori

În cadrul circuitului acest modul necesită câteva componente adiacente. Schema electrică a
blocului funcțional este următoarea:

Figura 3. 21 Blocul funcțional ESP8266

Florin -Bogdan MARANCIUC

39

Deoarece modulul este foarte sensibil la fluctuații de tensiune, pinul de alimentare trebuie
să fie conectat la un condensator electrolitic cu valoarea minimă de 47µF. Pentru acest circuit s -a
folosit un condensator electrolitic de 200 µF și un condensator ceramic de 100 nF. Acest modul
funcționează cu o tensiune maximă de 3,3 V.
În funcționare normală pinul de Reset trebuie sa fie conectat la 3V3 printr -un rezistor de
10kΩ. Dacă se dorește resetarea modulului se apasă butonul , iar pinul de Reset va fi cone ctat la
GND.
Pe toată perioada funcționării pinul Enable trebuie să fie conectat la tensiunea de 3,3 V
printr -un rezistor de 10kΩ. Pinu l GPIO15 trebuie să rămână conectat la GND printr -un rezistor de
10kΩ.
În timpul programării , pinul GPIO0 trebuie să fie conectat la GND , dar în timpul
funcționării normale acest pin trebuie conectat la 3V3 printr -un rezistor de 10kΩ. Pentru a putea
realiza acest lucru s -a folosit un dip -switch. Dacă este necesară programarea modulului , pinul 1 al
dip-switch -ului va fi pe po ziția OFF , iar pinul 2 pe poziția ON. După programare , se comută switch –
ul 1 pe poziția ON , iar switch -ul 2 pe poziția OFF.
Modulul wireless ESP8266 comunică cu microcontroler -ul prin interfața serială. Deoarece
această interfață este folosită și pentru pr ogramarea modulu lui a fost necesară realizarea unei
combinații de dip -switch -uri prin care se închide sau se deschide conexiu nea dintre modul și
microcontro ler. Astfel în timpul programării , comunicația dintre cele două componente este oprită.
După programare , comunicația dintre ESP8266 și programator este oprită iar , comunicația dintre
microcontro ler și modulul wireless pornită. Din acel moment , Atmega328 începe să transmită date
către ESP82 66. Deoarece Atmega328 funcționează la tensiunea de alimentare de 5V , iar ESP8266
la tensiunea de alimentare de 3,3 V , a fost necesară realizarea unui shifter de tensiune. Există două
variante foarte simple pentru realizarea acestui montaj, ambele fiind in cluse în schema electrică.
Aceste translatoare de nivel sunt divizorul de tensiune și dioda Zenner. Translatorul de nivel a fost
plasat pe linia de recepție a datelor a modulului wireless. Astfel datele transmise la un nivel de 5V
de către Atmega328 vor fi recepționate la un nivel de tensiune logică de 3,3V de către ESP8266.

Florin -Bogdan MARANCIUC

40

3.2 Descrierea funcționării sistemului din punct de vedere software
3.2.1 Descrierea algoritmilor de funcționare pentru cele trei module

Fiecare din cele trei module are un cod de programare specific. Deși nodurile care culeg
datele au o funcționare asemănătoare , acestea sunt programate diferit d in cauza faptului că fiecare
din cei doi senzori utilizați au o librărie proprie. Totuși , algoritmul de funcționare este asemănător.
Algor itmul este foarte simplu , modulele având doar rolul de a culege date fără a lua decizii.
Senzorii citesc datele, le transmit la microcontroler, acesta face o procesare rudimentară și
formează pachetele de date c are sunt transmise prin intermediul transcive r-ului NRF24L01 către
modulul principal.
Spre deosebire de nodurile care culeg date, modulul principal preia datele, le procesează,
ia anumite decizii, avertizează utilizatorul dacă este cazul, afișează valorile pe un display și
transmite datele către ESP8266. ESP8266 are cod de programare propr iu. Deoarece modulul WiFi
nu are și rol decizional, acesta doar preia datele de la ATMEGA328 și le transmite la platforma
online de stocare a datelor cu ajutorul internetului.
Programarea tuturor modulelor s -a realizat în Arduino, iar codul poate fi consu ltat la Anexe.

3.2.2 Descrierea interfeței grafice

Interfața grafică a fost realizată în mediul de programare App Inventor. A cesta este un tool
online gratuit ce permite utilizatorului să realizeze aplicații pentru sistemele de operare Android cu
ajutorul unor blocuri deja predefinite.
Aplicația Android este compusă din două ferestre.
Fereastra1 conține numele realizatorului proiectului și num ele îndrumătorului de proiect .

Figura 3. 22 Pagina de start

Florin -Bogdan MARANCIUC

41

Pe mijloc se află un buton cu numele START. Prin apăsarea acestui buton se trece în
Fereastra2 .
Fereastra2 afișează ultimele valori stocate pe platforma online . Astfel utiliztorul poate
vedea Temperatura, Umiditatea, Presiunea și Calitatea aerului.

Figura 3. 23 Pagina afișare valori

Codul aplicației Android este realizat cu ajutorul unor blocuri deja realizate. În continuare
este prezentat codul pentru fereastra care afișează valorile stocate pe platformă .

Figura 3. 24 Cod aplicație Android

Florin -Bogdan MARANCIUC

42

3.3 Descrierea platformei online de stocare a datelor

Pentru a putea prelua datele de pe internet este necesară o stocare a acestora . Aplicați a care
are rol de server se numește Firebase. Acest tool este oferit de Google gratuit. Fiecare utilizator
poate crea două proiecte. Dacă se dorește crearea a mai mult de două proiecte , este necesar ca
utilizatorul să plătească o anumită sumă de bani.
Această aplicație este foarte ușor de folosit. În momentul în care ESP8266 transmite datele
pentru prima data către Firebase , se creează automat patru Tag -uri cu următoarele nume: Calitatea
aerului, Presiune, Temperatura, Umiditate. Fiecărui tag îi corespunde o anumită valoare. Aplicația
Android va căuta numele a cestor tag -uri și va afișa valoarea corespunzătoare.

Figura 3. 25 Structură stocare date pe platforma online Firebase

Florin -Bogdan MARANCIUC

43

4.Concluzii
În cadrul acestei lucrări s -a realizat un sistem capabil să monitorizeze calitatea aerului.
Acest sistem este format din trei module independente dar care comunică între ele. Două module
au rolul de a monitoriza temperatura, umiditatea, presiunea și calitatea aerului iar al treilea modul
are rolul de a prelua datele transmise de celelalte două ș i de a le trimite mai departe pe o platformă
online . Pentru a putea vizualiza parametrii aerului utilizatorul are la dispoziție un display dar și o
aplicație ce rulează pe sistemul de operare Android.
Aplicația Android poate fi instalată scanând un cod QR . Acest cod va fi disponibil la finalul
acestei lucrări.
Costul întregului proiect este unul redus în continuare fiind prezentate prețurile
principalelor componente:
• BME680 – 18$
• BME280 – 4$
• 3 x NRF24L01 – 12$
• ESP8266 – 2.35$
• LCD OLED – 6.29$
• 3 x PCB -uri + cost transport + taxe vamale – 7$
• Restul componentelor aproximativ 10$
Costul total al proiectului este de 60$. Calculat pentru cursul valutar actual Dolar – Ron
rezultă un preț de 2 40 RON. Acest preț reprezintă doar costurile pentru realizarea hardware a
proiectului. Nu au fost luate în calcul realizarea aplicației Android și nici costurile pentru platforma
online deoarece aceste aplicații sunt gratuite.
Acest proiect poate suferi îmbunătățiri destul de mari. Astfel prin adăugarea unor relee și
modificarea codului, sistemul poate controla automat centrala termică și aerul condiționat. De
asemenea pot fi adăugate unele butoane în aplicație cu ajutorul cărora utilizatorul p oate să
controleze centrala termică și aerul condiționat de la distanță.

Florin -Bogdan MARANCIUC

44

Listă de figuri
Figura 2. 1 Relația dintre nivelul de concentrare și nivelul de CO2 ………………………….. …………… 4
Figura 2. 2 Evoluția concentrației de CO 2 în funcție de timp ………………………….. …………………….. 6
Figura 2. 3 Sistemul E -nose ………………………….. ………………………….. ………………………….. …………. 7
Figura 2. 4 Nod de senzori pentru măsurarea temperaturii, umidității, concentrației de CO 2 și
numărului de compuși organici volatili ………………………….. ………………………….. ……………………… 8
Figura 2. 5 Nod de senzori pentru monitorizarea aeru lui ………………………….. ………………………….. 9
Figura 2. 6 Automated Indoor Air Quality Monitor and Control ………………………….. ……………… 10
Figura 2. 7 Indoor Air Quality: IoT Solution ………………………….. ………………………….. ……………. 11
Figura 2. 8 Low -Power Wireless Sensor for Online Ambient Monitoring ………………………….. … 12
Figura 2. 9 Sistem de măsurare a cantității de particule din aer cu ajutorul senzorului Sharp GP2Y
………………………….. ………………………….. ………………………….. ………………………….. ………………….. 13
Figura 2. 10 Senzor de praf wireless ………………………….. ………………………….. ……………………….. 14
Figura 2. 11 Structura hardware a sistemului de monitorizare ………………………….. …………………. 15
Figura 2. 12 WSN Based Indoor Air Quality Monitoring In Classrooms ………………………….. ….. 16

Figura 3. 1 Modul de funcționare al sistemului propus ………………………….. ………………………….. . 19
Figura 3. 2 Transmițător de tipul ”spark -gap” ………………………….. ………………………….. …………… 20
Figura 3. 3 Audion ………………………….. ………………………….. ………………………….. ……………………. 21
Figura 3. 4 Nod1 ………………………….. ………………………….. ………………………….. ………………………. 23
Figura 3. 5 Microcontroller -ul ………………………….. ………………………….. ………………………….. ……. 24
Figura 3. 6 BME680 ………………………….. ………………………….. ………………………….. …………………. 25
Figura 3. 7 Secventa de funcționare BME680 ………………………….. ………………………….. …………… 26
Figura 3. 8 NRF24L01 ………………………….. ………………………….. ………………………….. ……………… 27
Figura 3 . 9 Schema bloc a modului NRF24L01 ………………………….. ………………………….. ………… 28
Figura 3. 10 Diagrama de stare pentru comanda radio ………………………….. ………………………….. .. 29
Figura 3. 11 Bateria CR2032 ………………………….. ………………………….. ………………………….. ……… 31
Figura 3. 12 Rata de descărcare a bateriilor ………………………….. ………………………….. ……………… 31
Figura 3. 13 Rata de descărcare a bateriei la temperatura camerei fără consumatori externi ……. 32
Figura 3. 14 Boost converter ………………………….. ………………………….. ………………………….. ……… 32
Figura 3. 15 Nod2 ………………………….. ………………………….. ………………………….. …………………….. 33

Florin -Bogdan MARANCIUC

45

Figura 3. 16 BMP280 ………………………….. ………………………….. ………………………….. ……………….. 34
Figura 3 . 17 Schema interna BMP280 ………………………….. ………………………….. …………………….. 35
Figura 3. 18 Master ………………………….. ………………………….. ………………………….. …………………… 35
Figura 3. 19 ESP8266 ………………………….. ………………………….. ………………………….. ……………….. 36
Figura 3 . 20 Diagrama bloc a modulului ESP8266EX ………………………….. ………………………….. .. 37
Figura 3. 21 Blocul funcțional ESP8266 ………………………….. ………………………….. ………………….. 38
Figura 3. 22 Pagina de start ………………………….. ………………………….. ………………………….. ……….. 40
Figura 3. 23 Pagina afișare valori ………………………….. ………………………….. ………………………….. .. 41
Figura 3. 24 Cod aplicație Android ………………………….. ………………………….. …………………………. 41
Figura 3. 25 Structură stocare date pe server ………………………….. ………………………….. …………….. 42

Listă de ta bele
Tabel 2.1 Limitele acceptate pentru parametrii mediului ………………………….. ………………………….. 3

Tabel 3. 1 Banda de frecvențe wireless [15] ………………………….. ………………………….. …………….. 21

Florin -Bogdan MARANCIUC

46

BIBLIOGRAFIE

1. Lohani, D. and D. Acharya. Smartvent: A context aware iot system to measure indoor air quality
and ventilation rate . in Mobile Data Management (MDM), 2016 17th IEEE International
Conference on. 2016. IEEE.
2. Patel, S., et al., Spatio -temporal measurement of indoor particulate matter concentrations using a
wireless network of low -cost sensors in households using solid fuels. Environmental research, 2017.
152: p. 59 -65.
3. Srivatsa, P. and A. Pandhare. Indoor Air Quality: IoT Solution . in National Conference “NCPCI .
2016.
4. Pitarma, R., G. Marques, and B.R. Ferreira, Monitoring indoor air quality for enhanced
occupational health. Journal of medical systems, 2017. 41(2): p. 23.
5. Toftum, J., A.S. Jørgensen, and P.O. Fanger, Upper limits for indoor air humidity to avoid
uncomfortably humid skin. Energy and Buildings, 1998. 28(1): p. 1 -13.
6. Fang, L., et al., Impact of indoor air temperature and humidity in an office on perce ived air quality,
SBS symptoms and performance. Indoor air, 2004. 14(s7): p. 74 -81.
7. He, J., et al., A high precise E -nose for daily indoor air quality monitoring in living environment.
Integration, the VLSI Journal, 2017. 58: p. 286 -294.
8. Abraham, S. and X. Li, A cost -effective wireless sensor network system for indoor air quality
monitoring applications. Procedia Computer Science, 2014. 34(0): p. 165 -171.
9. Kim, J. -Y., C. -H. Chu, and S. -M. Shin, ISSAQ: An integrated sensing systems for real -time indo or
air quality monitoring. IEEE Sensors Journal, 2014. 14(12): p. 4230 -4244.
10. Mukesh, D.M. and S.K. Akula, Automated Indoor Air Quality Monitor and Control. International
Journal of Computer Applications, 2017. 159(6).
11. Folea, S.C. and G. Mois, A low -power wireless sensor for online ambient monitoring. IEEE Sensors
Journal, 2015. 15(2): p. 742 -749.
12. Hojaiji, H., et al. Temperature and humidity calibration of a low -cost wireless dust sensor for real –
time monitoring . in Sensors Applications Symposium (SAS), 2017 IEEE . 2017. IEEE.
13. Yang, X., L. Yang, and J. Zhang. A WiFi -enabled indoor air quality monitoring and control system:
The design and control experiments . in Control & Automation (ICCA), 2017 13th IEEE
International Conference on . 2017. IEEE.
14. Goldsmith, A., Wireless Communications . 2005: Cambridge University Press.

Florin -Bogdan MARANCIUC

47

15. Anderson, H.R., Fixed Broadband Wireless System Design: The Creation of Global Mobile
Communications . 2003: John Wiley \\&amp; Sons, Inc. 512.
16. DeRose, J.F., The Wireless Data Handbook . 1994: Quantum Publishing, Incorporated.
17. Instruments, T., Understanding the I2C Bus.
18. BME680 Low power gas, pressure, temperature & humidity sensor Datasheet.
19. nRF24L01 Single chip 2.4 GHz Transceiver Datasheet.
20. BMP280 Digital Pressure Sensor Datasheet.
21. ESP8266EX Datasheet.

Florin -Bogdan MARANCIUC

A

Anexe

Figura i. 1 Schema electrică Nod1

Florin -Bogdan MARANCIUC

B

Figura i. 2 Layout Nod1 Top

Figura i. 3 Layout Nod1 Bottom

Florin -Bogdan MARANCIUC

C

Figura i. 4 Schema electrică Nod2

Florin -Bogdan MARANCIUC

D

Figura i. 5 Layout Nod2 Top

Figura i. 6 Layout Nod2 Bottom

Florin -Bogdan MARANCIUC

E

Figura i. 7 Schema electrică Master

Florin -Bogdan MARANCIUC

F

Figura i. 8 Layout Master Top

Figura i. 9 Layout Master Bottom

Florin -Bogdan MARANCIUC

G

Figura i. 10 Cod aplicație Android

Florin -Bogdan MARANCIUC

H

Codul sursă pentru modulul Master -Atmega328
#include "Arduino.h"
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <SoftwareSerial.h>
#define OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);
SoftwareSerial ESPserial (2, 3); // RX | TX

int Temp;
int Umi;
int Cal;
int Pres;

RF24 radio(9, 10); // CE, CSN
byte address[][6] = {"1Node", "2Node", " 3Node"};
struct package
{
int Temperatura ;
int Umiditate ;
int Calitate;
int Presiune;
};
typedef struct package Package;
Package data;

void setup() {
pinMode(2, OUTPUT);
Serial.begin(115200);
ESPserial.begin(115200);
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay();
display.setTextColor(WHITE);
display.setTextSize(2);
display.setCu rsor(0,0);
display.display();
delay(1000);
radio.begin();
radio.openReadingPipe(0, address);
radio.setPALevel(RF24_PA_MIN);
radio.setDataRate(RF24_2MBPS);
radio.setChannel(124);

Florin -Bogdan MARANCIUC

I

radio.openWritingPipe(address[0]);
radio.openReadingPipe(1, address[1]);
radio.startListening();
}
void loop(void)
{
digitalWrite(4, LOW);
if ( radio.available())
{
radio.read( &data, sizeof(data) );
Temp= data.Temperatura;
Umi=abs (data.Umiditate);
Cal=abs (data.Calitate);
Pres=data.Presiune;

ESPserial.write(Cal);
ESPserial.print(Cal);
Serial.println(Cal);

ESPserial.write(Temp);
ESPserial.print(Temp);
Serial.println(Temp);

ESPserial.write(Pres);
ESPserial.print(Pres);
Serial.println(Pres);

ESPserial.write( data.Umiditate);
ESPserial.print(data.Umiditate);
Serial.println(Umi);

ESPserial.write(Umi);
ESPserial.print(Umi);
Serial.println(Umi);

Serial.end();
Serial.begin(115200);

if (Cal<20000)
{
digitalWrite(4, HIGH);
}

if (Temp>35)
{
digitalWrite( 4, HIGH);

Florin -Bogdan MARANCIUC

J

}

if (Pres>750)
{
digitalWrite(4, HIGH);
}

if (Umi<40)
{
digitalWrite(4, HIGH);
}
}
display.clearDisplay();
display.setTextSize(0);
display.setCursor(0,0);
display.print("Temperatura: ");
display.print(Temp);
display.print(" C");
display.setCursor(0,9);
display.print("Umiditate: ");
display.print(Umi);
display.print(" %");
display.setCursor(0,17);
display.print("Presiune: ");
display.print(Pres);
display.print(" mmHg");
display.setCursor(0,25);
if (Cal > 20000)
{
displa y.print("Calitatea aerului:OK ");
}

else
{
display.print("Calitatea aerului:NOK ");
}
display.display();

delay(1000);
Serial.println();
Serial.println();
}

Florin -Bogdan MARANCIUC

K

Codul sursă pentru modulul Master -ESP8266
#include <ESP8266WiFi.h>
#include < FirebaseArduino.h>
#define FIREBASE_HOST "disertatiemaranciuc2018.firebaseio.com"
#define FIREBASE_AUTH "3fYXoVhO2lAmV3j86aCjjrozTZFr3Vlt48aHzi8K"
#define WIFI_SSID "Maranciuc"
#define WIFI_PASSWORD "Disertatie"

void setup() {
Serial.begin(115200);
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
Serial.print("connecting");
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(500);
}
Serial.println();
Serial.print("connected: ");
Serial.println(WiFi.localIP());
Firebase.begin (FIREBASE_HOST, FIREBASE_AUTH);
}
void lo op() {
int Cal = Serial.parseInt();
int Temp = Serial.parseInt();
int Pres = Serial.parseInt();
int Umi = Serial.parseInt();
int Umii = Serial.parseInt();

Firebase.pushInt("Istoric Calitatea Aerului", Cal);
Fireb ase.pushInt("Istoric Temperatura", Temp);
Firebase.pushInt("Istoric Presiune", Pres);
Firebase.pushInt("Istoric Umiditate", Umi);
Firebase.set("Calitatea aerului", Cal);
Firebase.set("Temperatura", Temp);
Firebase.set("Umiditate", Umi);

Florin -Bogdan MARANCIUC

L

Firebase.set("Presi une", Pres);

Serial.println(Cal);
Serial.println(Temp);
Serial.println(Umi);
Serial.end();
Serial.begin(115200);
delay (1000);

}

Codul sursă pentru modulul Nod1
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#include <Wire.h>
#include "BlueDot_BME680.h"
BlueDot_BME680 bme680 = BlueDot_BME680();

RF24 radio(9, 10); // CE, CSN
byte address[][6] = {"1Node", "2Node"};
struct package
{
int Temperatura ;
int Umiditate ;
int Calitate;
int Presiune;
};
typedef struct package Package;
Package data;
void setup() {
Serial.begin(115200);
radio.begin();
radio.openWritingPipe(address);
radio.setPALevel(RF24_PA_MIN);

Florin -Bogdan MARANCIUC

M

radio.setDataRate(RF24_2MBPS);
radio.setChannel(124);
radio.openWritingPipe(address[1]);
radio.openReadingPipe (1, address[0]);
radio.stopListening();
Wire.begin();
bme680.parameter.I2CAddress = 0x77;
bme680.parameter.sensorMode = 0b01;
bme680.parameter.IIRfilter = 0b100;
bme680.parameter.humidOversampling = 0b101;
bme680.parameter.tempOversampling = 0b101;
bme680.parameter.pressOversampling = 0b101;
bme680.parameter.pressureSeaLev el = 1013.25;
bme680.parameter.tempOutsideCelsius = 15;
bme680.parameter.target_temp = 320;
if (bme680.init() != 0x61)
{
while(1);
}
}
void loop() {
bme680.writeCTRLMeas();
data.Temperatura = bme680.readTempC();
data.Umiditate = bme680.readHumidity();
data.Calitate = bme680.readGas();
data.Presiune = bme680.readPressure()/1.33322387415;
radio.write(&data, sizeof(data));
Serial.println(data.Temperatura);
Serial.println(data.Um iditate);
Serial.println(data.Presiune);
Serial.println(data.Calitate);
Serial.println();
Serial.println();
delay(1000);
}

Florin -Bogdan MARANCIUC

N

Codul sursă pentru modulul Nod 2
#include <Wire.h>
#include "i2c.h"
#include "i2c_BMP280.h"
BMP280 bmp280;
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#include <Wire.h>

RF24 radio(9, 10); // CE, CSN
byte address[][6] = {"1Node", "3Node"};
struct package
{
float presiune ;
};
typedef struct package Package;
Package data;

void setup()
{
Serial.begin(115200);
radio.begin();
radio.openWritingPipe(address);
radio.setPALevel(RF24_PA_MIN);
radio.setDataRate(RF24_2MBPS);
radio.setChannel(124);
radio.openWritingPipe(address[1]);
radio.openReadingPipe(1, address[0]);
radio.stopListening();
Wire.begin() ;
Serial.print("Probe BMP280: ");
if (bmp280.initialize()) Serial.println("Sensor found");
else
{

Florin -Bogdan MARANCIUC

O

Serial.println("Sensor missing");
while (1) {}
}
bmp280.setEnabled(0);
bmp280.triggerMeasurement();
}

void l oop()
{
bmp280.awaitMeasurement();
float pascal;
bmp280.getPressure(pascal);
bmp280.triggerMeasurement();
data.presiune=pascal*0.0075006156130264;
radio.write(&data, sizeof(data));
Serial.print(" Pressure: ");
Serial.print( data.presiune);
Serial.print("mmHg");
Serial.println();
Serial.println();
delay(1000);
}

Similar Posts