Licenta Doru Foarte Finala (1) [613633]

i
UNIVERSITATEA BABEȘ -BOLYAI
Facultatea de Științe Economice și Gestiunea Afacerilor
Informatică Economică

Lucrare de licență

Absolvent: [anonimizat],
Lect.univ.dr. Cristian BOLOGA

2020

ii
UNIVERSITAT EA BABEȘ -BOLYAI
Facultatea de Științe Economice și Gestiunea Afacerilor
Informatică Economică

Lucrare de licență

Mini -sistem smart -house

Absolvent: [anonimizat],
Lect.univ.dr. Cristian BOLOGA

2020

iii
Cuprins
Lista figurilor și a tabelelor ………………………….. ………………………….. ………………………….. ………………. v
Partea I – Raport de Analiză ………………………….. ………………………….. ………………………….. …………….. 1
Introducere ………………………….. ………………………….. ………………………….. ………………………….. ………… 2
1. Identificarea și Descrierea Problemei ………………………….. ………………………….. …………………………. 4
1.1. Motivație ………………………….. ………………………….. ………………………….. ………………………….. . 5
1.2 Cont ext ………………………….. ………………………….. ………………………….. ………………………….. 11
1.1.1 Fațetă subiect ………………………….. ………………………….. ………………………….. ……………. 11
1.1.2 Fațeta utilizare ………………………….. ………………………….. ………………………….. ………….. 12
1.1.3 Fațeta IT ………………………….. ………………………….. ………………………….. ………………….. 13
1.1.4 Fațeta Dezvoltare ………………………….. ………………………….. ………………………….. ………. 14
2. Cerințe de sistem ………………………….. ………………………….. ………………………….. ………………………… 14
2.1 Surse de cerințe ………………………….. ………………………….. ………………………….. …………………….. 14
2.2 Elicitația cerințelor ………………………….. ………………………….. ………………………….. ……………….. 14
2.2.1 Chestionarul ………………………….. ………………………….. ………………………….. …………………… 15
2.2.2 Br ainstorming ………………………….. ………………………….. ………………………….. ………………… 16
2.2.3 Diagrama Pareto ………………………….. ………………………….. ………………………….. …………….. 17
2.2.4 Mo delul use -case ………………………….. ………………………….. ………………………….. ………………… 18
2.3 Documentarea cerințelor ………………………….. ………………………….. ………………………….. ……….. 23
2.3.1 Procese și Activități ………………………….. ………………………….. ………………………….. …………. 23
3. Model de Dezvoltare ………………………….. ………………………….. ………………………….. …………………… 26
Partea II – Proiectarea Sistemului Informatic ………………………….. ………………………….. ………………. 27
4. Proiectarea Logică ………………………….. ………………………….. ………………………….. ……………………… 28
4.1 Arhitectura Sistemului ………………………….. ………………………….. ………………………….. …………… 28
4.2 Baza Informațională ………………………….. ………………………….. ………………………….. ……………… 28
5. Proiectarea Tehnică ………………………….. ………………………….. ………………………….. ……………………. 32
5.1 Structura fizică a datelor ………………………….. ………………………….. ………………………….. ……….. 32
5.2 Procese și Algoritmi ………………………….. ………………………….. ………………………….. ………………. 32
5.3 Tehnologii specifice ………………………….. ………………………….. ………………………….. ……………….. 34
5.3.1 Edita rea textului de programare ………………………….. ………………………….. …………………… 37
5.3.2 Instalarea Librariilor in Rasppbery Pi pentru dezvoltarea aplicatiei de tip server ………. 38
5.3.3 Serv icii REST ………………………….. ………………………….. ………………………….. …………………. 43
Partea III – Implementare și Testare ………………………….. ………………………….. ………………………….. .. 46

iv
6. Implementare ………………………….. ………………………….. ………………………….. ………………………….. … 47
7. Testare ………………………….. ………………………….. ………………………….. ………………………….. …………. 51
Partea IV – Concluzii și direcții viitoare de cercetare ………………………….. ………………………….. …….. 52
8.Direcții viitoare și de cercetare ………………………….. ………………………….. ………………………….. ……… 53
9.Concluzii ………………………….. ………………………….. ………………………….. ………………………….. ……….. 53
Glosar ………………………….. ………………………….. ………………………….. ………………………….. ………………. 54
Bibliografie ………………………….. ………………………….. ………………………….. ………………………….. ………. 56
Webografie: ………………………….. ………………………….. ………………………….. ………………………….. ……… 57

v
Lista figurilor și a tabelelor

Tabel 1 Modelul Use -Case ………………………….. ………………………….. ………………………….. ………………… 19
Tabel 2 Scenariul de bază al sistemului: reglarea luminii și a temperaturii ………………………….. ………….. 22
Tabel 3 Stări și coduri pentru cererile API ………………………….. ………………………….. ……………………….. 44

Figura 1 Diagrama Fishbone ………………………….. ………………………….. ………………………….. ……………….. 7
Figura 2 Diagrama Obiective ………………………….. ………………………….. ………………………….. ………………. 9
Figura 3 Raspberry Pi Model 4 ………………………….. ………………………….. ………………………….. ………….. 13
Figura 4 Diagrama Pareto ………………………….. ………………………….. ………………………….. …………………. 17
Figura 5 Diagrama Use -Case ………………………….. ………………………….. ………………………….. …………….. 20
Figura 6 Scenariu de utilizare control iluminat ………………………….. ………………………….. ………………….. 21
Figura 7 S cenariu control iluminat ………………………….. ………………………….. ………………………….. ……… 21
Figura 8 Diagrama de secvență ………………………….. ………………………….. ………………………….. ………….. 24
Figure 9 Diagrama de stări ………………………….. ………………………….. ………………………….. ………………… 25
Figura 10 Modelul de dezvoltare ………………………….. ………………………….. ………………………….. ……….. 26
Figura 11 Schema logică de funcționare ………………………….. ………………………….. ………………………….. . 28
Figura 12 Schema entitate – relație utilizator ………………………….. ………………………….. ……………………. 29
Figura 13 Pagina de monitorizare interfață aplicație web ………………………….. ………………………….. …….. 30
Figura 14 Panoul de control ………………………….. ………………………….. ………………………….. ………………. 31
Figura 15 Valori redate ȋn structura JSON ………………………….. ………………………….. ……………………….. 32
Figura 16 Multithreading ………………………….. ………………………….. ………………………….. ………………….. 33
Figura 17 Configurare IP Static ………………………….. ………………………….. ………………………….. …………. 35
Figura 18 Configurarea Interfețelor ………………………….. ………………………….. ………………………….. …….. 36
Figura 19 Senzor de Temperatură și Umiditate ………………………….. ………………………….. …………………. 39
Figura 20 Schema de conectare a senzorului DHT11 ………………………….. ………………………….. …………. 40
Figura 2 1 Senzorul de CO2 și a Compușilor Volatili ………………………….. ………………………….. ………….. 41
Figura 22 Senzorul de Lumină și UltraViolete ………………………….. ………………………….. ………………….. 42
Figura 23 Structura JSON Client ………………………….. ………………………….. ………………………….. ……….. 44
Figure 24 Principiul de funcționare VPN ………………………….. ………………………….. …………………………. 45
Figure 25 Principi ul de funcționare a sistemului de iluminat ………………………….. ………………………….. .. 47
Figure 26 Modul de funcționare al senzorului de temperatură ………………………….. ………………………….. 48
Figura 27 Citirea datelor de temperatură și umiditate din client ………………………….. ………………………… 49
Figura 28 Citirea nivelului de co2 și a compușilor volatili din client ………………………….. ………………….. 50
Figura 29 Testarea cererilor folosind utilitarul curl ………………………….. ………………………….. …………….. 51
Figura 30 Testarea sistemului de alertă ………………………….. ………………………….. ………………………….. .. 51

1

Partea I – Raport de Analiză

2
Introducere

Odată cu apariția telefoanelor mobil e, ȋnc ă din anii 1970, ni s -a schimbat modul de viață,
de gândire ș i au devenit o parte importantă a activităților de z i cu zi. L a început, telefoanele mobile
au fost folosite pe ntru realizarea apelurilor telefonice, a mesajelor și a alt or câteva funcții destul
de banale. Odată cu trecerea timpului și a diversificării ac tivităților de zi cu zi, precum și a
progresului rapi d al tehno logiei, te lefoanele mobile au ȋnceput să aibă alte utilizări precu m:
aparat – foto video, player muzical, s canare documente, editar e foto etc.
Dezvoltarea avansată ȋn domeniul tehnologic a a dus un alt fenomen cu privire la
telefoanele mobile, și anume a pariția sm artphone -urilor, telefoanele inteligente cu ecran senzitiv
(de tip touchs creen), conectate la inte rnet ȋn cadrul unei rețe le 3G, 4G. Astfel, ȋn ziua de astăzi
telefonul mo bil ȋnlocuie ște o mare parte din posibilitățile navigării pe inte rnet, asig ură naviga rea
GPS, conectarea simultană la diverse dispozitive, conectarea și reali zarea corespondenței virt uale
etc.
Termenul de “ casă inteligentă” nu este unul nou, astfel ȋncât o casă trebuie să gestioneze
eficient sistemele de ȋntreținere al e vieții, astfel ȋnc ât să asigure nivelul maxim de confort al
locatarilor. Mai exact, smart house asigură gestionarea dispozitive lor electrice și electronice din
interiorul locuinței cu ajutorul smartphone -ului, gestionarea și economisirea chiar a energiei
electrice , a energi ei termice ș.a.m.d. Prin intermediul acestei avansări tehnologice, practic se face
conexiunea dint re electron ică și om, e lement de mar keting pe ca re mizează fiecare companie cu
această viziune. Smart House asigură controlul și automati zarea de l a distanță a componentelor
care țin de securitatea și confo rtul uman și ambiental. Pe scurt, pentru a putea controla lumina,
electr ocasnicele, și alte compo nente care țin de locuință, se utilizează dispozitive cu senzori de
mișcare, temperatură și lumină, ȋntrerupă toare inteligente, unități centrale de control și becuri
inteligente de tip wireless, toate putând fi control ate și gestio nate de către proprietar.
De ce este totuși nevoie de monitorizare?
Prin simplul fapt că parametrii critici treb uie suprav egheați p entru evitarea producerii unei
avarii ȋn procesul de ieșire din limite. Un alt răspuns este că prin monitorizare se poate v erifica
dacă au fost re spectate procesele tehnologice de către cei care le -au condus.
Lucrarea de față se referă l a prezenta rea modului prin care echipamentele electronice și
procesele casnice pot fi automatizate cu scopul ȋmbunătăț irii calității vieții. P rimul capitol descr ie

3
amănunțit conceptul de casă inteligentă ȋn epoca modernă, senzorii de monitorizare și gestiu ne,
precum și aplicația web prin care se vor interconecta și vor comunica.
Dezvoltarea și analiza acestora va fi expl icate și descrise ȋn cap itolul doi al prezenț ei
lucrări, care va analiza sistemul de hardware folosit, precum și cel de software.
Ȋn capit olul tre i va fi prezentată interfața fol osită ȋn relația cu utilizatorul și panourile de
control. Astfel, casa intelig entă descrisă ȋn prezent a lucrare va gestiona prin telefon sistemul de
iluminat, sistemul de ȋncălzire – răcire (centrala termica și aerul condițion at), s iguranța spațiului
de locuit prin pornirea alarmei și va descrie ȋn detaliu și prin tabele cu imagini, modul ȋn care
acestea r ealizează comunic area ȋntre ele.
Ȋn final, la baza capitolului patru, se găsește o analiză a modului ȋn care sist emul de
realizar e al unei case inteligente are anumite limitări. Acestea vor fi analizate și descrise ȋn acest
capitol . Ca și la orice proces de automatizare tehno logică, la realizarea unui proiect de smart house
există și anumite ȋmbunătățiri care pot fi atribuite separa t, la sistemele de gestiune, sau integral,
pentru asigurarea unei mai bune corespondențe ȋntre acestea și uti lizator/proprieta r.
Așadar, lucrarea de față are ca scop descrierea și clasificarea cȃt mai corectă a informațiilor
privind constr ucția unei aplic ații compatibilă cu toate dispozitivele, prin care poate fi gestionat
sistemul de smart house, pentru a facil ita nevoia utiliz atorilor de a fi perm anent conectați “acasă”,
pentru a se simți ȋn siguranță și pentru a se simți confortabil ȋn p ropriul că min.

4
1. Identificarea și Descrierea Problemei

Acest sistem se pliază foarte bine pe nevoile pro prietarilor de locuințe, spații de birouri sau
clădiri, fiind un sistem simplu, accesibil, adapta bil și foarte bine integrat. Principalul obiectiv e ste
automatizarea unor sarcini simple, precum aprinderea/ ȋnchiderea luminii, monitorizarea și
gestionarea si stemului de ventila ție a spațiului și securitatea functionalit ății dispozitivelor montate.
Soluția propusă este aceea de a crea un sistem bazat pe u n mini computer care s ă facă posibil ă
conectarea pentru as igurarea funcționalității dispozitivelor.
Promova rea unui astfel de siste m este inovativ ă, acesta fiind modular, simplu de gestionat
și pliabil pe toate dispozitivele existente în spațiul de locuit , fără a mai fi necesar ă achiziționarea
unor dispozitive s uplimentare, care s ă confere compatibilitatea într egului ansamblu. Av ȃnd ȋn
vedere situa ția actual ă a majorit ății persoanelor și că aceștia nu își permit achiziționarea unui astfel
de sist em, planul de business corespunde cu asigurarea unui proiect care s ă se plieze pe nevoile
oamenilor, pe evitarea chelt uielilor inutile și pe a sigurarea funcționalității elementelor de baz ă.

5
1.1. Motivație
Termenul de smarthouse se traduce prin as igurarea c onfortului și a siguranței locuinței, cu
scopul de a acorda un plus de ȋncredere mediului familial. Pe lȃngă faptul că o astfel de l ocuință
este clasificată cool și cu elemente inovatoare, există și multe avantaje, nefiind doar un moft al
societă ții modern e.
Smarthouse are posibilități infinite dacă punem ȋn evidență faptul că ȋn toate domeniile
deja există tend ința de automatizare a p roceselor și de control al resurselor. Astfel, există mul te
motive pentru care cei mai mulți dintre noi ar opta pe ntru o cas ă inteligentă, chiar dacă inițial
implică o serie de costuri semnificative . Putem enumera aici eficiența en ergetică și termică,
siguranța sporită, ușurința ȋn realizarea proceselor cotidi ene, securizarea mai eficientă a locuinței.
Avantajele une i case int eligente se rezumă ȋn cȃteva cuvinte, la simplitatea și rapiditatea
cu care proprietarul poate controla modu l de desfășurare al anum itor activități casnice, cu ajutorul
tabletei sau al smartphone -ului. Ca exemplu, chiar dacă realizarea unei astfe l de locui nțe implică
și costuri mai mari, investiția se recuperează pri n economia care se va face la facturile de ene rgie
electrică și termic ă. Prin dezvoltarea tehnologiei, se permite astăzi inte rconectarea tuturor
aparatelor și echipamentelor de necesi tate dintr -o casă, ȋn vederea automatizării unor procese
repetitive, asigurȃnd astfe l o calitate mai bună a vieții.
Cel mai bun exemplu ȋn ace st sens ȋl constituie prob lema persoanelor cu anumite
dizabilități sau deficiențe motorii, la care din păcate, calitatea vie ții este scăzută con siderabil.
Conceptul de casă inteligentă controlată prin smartphone sau orice alt disp ozitiv conectat la
interne t , le asigură acestora posibilitatea de a controla de la distanță funcția iluminatului, a
energiei termice, a aerului con diționat, al secur ității și așa mai departe, cu scopul de a fi
permanent conectați “acasă” și fără de a mai depinde de ajutorul cu iva pentru a realiza aceste
activități.
Sistemul gȃndit pentru acest proiect este foarte adaptabil din punct de ve dere al
dispozitivelor care deja există într-un spațiu locuit. Astfel, dacă dispunem de cȃteva becuri/leduri
sau siste me inteligente, sistemul realizat cu ajutorul Raspberry Pi, cele 4 relee și senzorii care se
doresc a fi montați, se ajunge la o sumă mini mă față de sistemele existente momentan pe piață.
Problema costurilor pentru astfel de sisteme este astăzi foarte mare și implică foarte mult e procese,

6
de altfel multe fiind inutile și ocup ă foarte mult timp, deloc spre ȋncȃntarea utilizatorului.
Sistemul ui folosit și descris ȋn această lucrare pune accentul pe accesibilitate și compatibilitate.
De exemplu, un utilizato r dorește implementarea sistemului personal cu senzori de
iluminare și ȋ ncălzire. Dacă, ȋn viitor acesta va mai dori și adăugarea altor se nzori (măs urarea
calității aerului, des chidere uși ș.a.m.d.), aceștia pot fi adăugați fără pro bleme cu ajutorul unui
programator. Ȋn final, au tomatizarea locuinței simplifică semnificativ și evident viața
proprietarilor, economisind timp, energie și bani, reprezentȃ nd o investiție făcută pentru confortul
propriu.

7

Figur a 1 Diagr ama Fishbon e

8

În figu ra 1 sunt ilustrate problemele care stau la baza realizării unui astfel de sistem pentru
utilizatorii/proprietarii spațiilor de locuit. Cel mai ma re impediment ȋn momentul actual este stilul
de viață și confortul general scăzut și , cel mai impor tant ȋn zilele noastre, prețurile foarte mari la
facturile de energie termică și electrică. Conform datelor furnizate de ce rcetători în anii trecuți,
major itatea spargerilor de locuințe s -au petrecut ȋn orașele mari din Romȃnia. Tot ȋn acest e zone
există ș i decal aje majore la facturile de ȋntreținere, prețurile fiind mult mai mici ȋn zonele rurale.
Drept consecință, se observ ă deja un dezechilibru ȋn sistem ul termic și electric local și o proastă
gestionare a consumatorilor de energie, mai ales cȃnd apara tele el ectrocasnice sunt ȋn stand -by.
Revenind la problema jafurilor de locuințe, acestea au o rată tot mai crescută ȋn ul timii ani, din
cauza lipsei sist emelor moderne de supraveghere și securitate. Totodată, sistemele actuale de
securitat e, respectiv de ilumin are sau ȋncălzire nu permit gestionarea lor ȋn mod automat, ci doar
prin control manual, lucru imposibil de realizat ȋn cazul unor persoane cu defic iențe locomotorii.
În triunghiul din figura 1 este ilustrată problema princi pal actuală, iar al ăturat acestuia
găsim celelalte cauze care au condus la acest dezechilibru .Cele mai importante circumstanțe care
au dus la un s til de viață neechi librat și un confort scăzut sunt: prețurile și facturile mari la
ȋntreținere și energ ie, conectarea ȋngreunat ă a elementelor care alcătuiesc întregul sistem, lipsa
de adaptabilitate privind funcționarea fără alte dis pozitive, precum și lipsa de cunoștințe în
domeniul tehnic sau de programare în cazul producerii unei erori.

9

Figur a 2 Diagrama Obiective

10

Securitatea unei locuințe trebuie să asigure bunăstarea membrilor familiei , implicit a
spațiului de locuit chiar și dacă toată lumea pleacă de acasă. Totodată, marile companii de
construcții ar trebui să pună ac centul și pe crearea unor dispozitive disponibile și accesibile pentru
orice individ, i nclusiv dacă este vorba despre prețul ace stora.
Un obiectiv principal care dezvo ltă și pune accent pe necesitatea implementării unui sistem
smart ho use face referire la persoanele cu deficiențe locomotorii. Acestor persoane le este foarte
greu să ȋși ȋ ndeplinească activitățile de bază avȃnd ȋn v edere sistemul actual din locuințe. Ȋn acest
caz, cea mai bună soluție este crearea unui sistem inteligent d e iluminare și ȋncăl zire pe c are să ȋl
poate controla ȋn orice moment și de la distanță.
Prețurile la f acturile pentru energie termică și electrică devin tot mai crescute, ȋn special ȋn
zonele urbane. Conform Institutului Național de Statis tică, o altă pro blemă care evide nțiază
necesitatea creării și implementă rii unui sistem smart house este faptul că aparatel e lăsate ȋn stand –
by pe timpul zilei sau nopții consumă ȋntre 40% – 70% din capa citatea lor. Dacă locuința ar avea
un sistem inteligent de eficientiz are și cont rol, toat e aceste aparate atȃt de utile vieții de zi cu zi,
nu ar produce consum ȋn plus, implic it costuri mai mari la facturil e la ȋntre tinere. De ce sunt
importante aceste re duceri de costuri? Ȋn primul rȃnd, pentru că nu are absolut niciun s ens să
plătim bani ȋ n plus pe ntru un lucru pe care nu l -am consumat. Ȋn al doilea rȃnd, pentru a trăi fiec are
avem nevoie de un aer respi rabil, făr ă noxe și fără poluare.
Ȋn momentul de față, sistemele actuale pentru implementarea unui proiect smart house
disponibile pe piaț ă sunt destul de ina ccesibile pentru fiecare clasă socială, iar ȋn Romȃnia,
problema un ui cost ridicat ridică multe semne de ȋn trebare. Pr oiectul de față presupune re ducerea
costului de implementare prin folosirea unei singure unități de comand ă și a senz orilor esențiali.
Totodată, sistemele existente nu sunt mereu adaptate la aparatele și dispozitivele deja existente ȋ n
spațiul locuit, ceea ce implic ă automat nevoia de a achiziționa ȋn plus și alte dispozitive de
iluminat, ȋncălzit ș.a.m.d. Proiectul d e față evidențiază realizarea acestui sistem prin adaptarea la
condițiile existente, p rin folosirea senzorilor și ad aptare a sistemului la nevo ile și cerințele
client ului.

11
Prin aceasta metodă de creare și implementare inteligentă, n u va mai exista prob lema
funcționalității integrate. Dacă unul din modulele sistemului nu este citit coresp unzător sau este
afectat ȋn vre un fel, ce ilalți vor functiona ȋn parametri norm ali, fără ca ȋntr eg sistemul să fie afectat.
Eroarea va face referire doar asupra părții afectate.
Conectarea sistemului descris ȋn acest proiect se va face prin relee, cablu d e alimentare, nu
prin rețeaua l ocală de w ireless. Ȋn acest fel, sistemul creat v a fi mult mai stabil față de cele existente
pe piață, care oferă doa r posibilitatea conectării wireless. Ȋn cazul unei deconectări subite de la
furnizorul de internet, sist emului va funcționa normal, da r controlu l de la distanț ă va fi imposibil
de re alizat.
În cazul controlului de la distanț ă, autentificarea ȋn aplicația web se va fac e integral prin
rețea, n u direct din aplicație. Din acest punct de vedere, exist ă o securitate sporită prevenind
controlul persoanelor neautorizate sau rău intențio nate. Prin aceasta metod ă, singura cerință este
ca routerul folos it să fie securizat din punct de vedere informatic, adică toate porturile care nu se
folosesc trebuie s ă fie închise. Parola de pe rețeaua wi reless tre buie s ă fie de oc omplexitate mărită,
cel mai im portant, valorile implicite (conturi, servicii) ale rout er-ului trebuie s ă fie dezactivate.

1.2 Context

Sistemul implementării unei smarthouse prezentat ȋn cadrul acestui proiect este destinat
persoanelor adulte, care dețin un spațiu de locuit, care vor să investească în siguranța ș i în confortul
lor. Sistemul c reat prin Raspberry Pi descris aici va fi utilizat pentru automatizarea și gestiunea
sistemului de încălzire al locuinței, iluminatului am biental și securitate, precum și pentru
asigurare a calității aerului. Sistemul a fost adaptat pe baza cerin țelor și pe problemele ȋntȃmpinate
de grupul țintă, determin ȃnd alegerea unei solu ții optime. Lucrarea de fa ță este dezvoltat ă pe baza
a 4 fa țete din struct ura co ntextului: fateta subiectului, a utiliz ării, fateța IT și fațeta de dezvoltare.
1.1.1 Fațetă subiect
Sistemul propus ȋn ac eastă lucrar e se ȋncadrează perfect pe cerințele celor care au cl ădiri
de birouri, spa ții ȋn care ȋși desf ășoară activ itatea mai multe persoane și mai ales, propri etarilor de
locuin țe, fiind un sistem simplu, accesibil, adaptabil și foa rte bine integrat. P rincipalul obiectiv
este crearea și implementarea cu succes a unui proiec t pentru casele inteligente. Proiect ul se

12
bazează pe co nfigurarea Raspberr y Pi, prin sis temul Raspbian 4, prin acțiunile de interconectare,
detectare și ac ționare.
o Interconectarea reprezintă ȋn acest caz, comunicarea echipament la echipament între
dispozitive sau servere, fie locale sau pri n intermed iul intern etului;1
o Detectarea presupune ex istența anumitor elemente de monitorizare a mediului ȋnconjurător
în compone nța rețelelor de ech ipamente;2
o Acționarea se bazează pe elementele acționa te de comutatoare, ȋncuietoare sau alte
dispozi tive electrice în componenț a rețelelor de echipa mente.3
1.1.2 Fațeta utilizare
Categoriile de persoane vizate pentru acest proie ct sunt proprietarii de locuințe, indiferent
dacă este vorba de apartamente, spații de birouri sau clădiri singulare. Se adresează toto dată și
compani ilor de construc ții sau de dezvoltare de p rograme care facilitează astfel de sisteme pentru
casele int eligente. Pe scu rt, ne vom referi la aplicația web (panoul de control utilizat), senzorii care
vor fi montați pentru asigurarea funcțional ității pr oiectului, precum și modul ȋn care acestea au
fost proiecta te, montate și verificate pentru a asigura succe sul proiectului. Uti lizatorii sau
proprietarii vor putea beneficia de sistemul smart de iluminare, ȋncălzire și asigurarea calității
aerului, iar pe viitor, ȋn funcți e de dorința proprietari lor, aceștia v or putea adăuga și alte sisteme
ȋn viitor.
Ȋn momentul actua l, industria componentelor smart generează vȃnzări tot mai multe, iar
utilizatorii au manifestat un interes crescut pentru ac hiziționarea și adop tarea soluțiilor smart.
Ȋn prezent, multe gospodării dispun de un dispozitiv conectat la internet, cȃt și de un dispozitiv
smart.

1 John C . Shovic , Raspberry Pi IoT Projects: Prototyping Experiments for Makers, New York, Editura
Apress, 2016, p. 15 .
2 John C. S hovic, op. cit., pp. 16.
3 Ibide m.

13
1.1.3 Fațeta IT
Ȋn acest capitol sunt prezentate programele software pentru crearea proiectul ui, dar și
dependențele tehnolo gice care asigură f uncționarea ei. Pentru crearea acestui sistem, am utilizat
ca și component ă principa lă Raspberry Pi, care este de fapt un SBC (single board computer).
Are dimensiuni destul de mici, asemanato are unui card de cr edit, astfel consumul de electricitate
fiind redus.

Figur a 3 Raspberry Pi Model 44

4 A se vedea http://developer.commvault.com/commvault/v11/article?p=45599.html , accesat la 20.
05.2020.

14

1.1.4 Fațeta Dezvolt are
Am ales acest SBC deoarece este simplu de folosit și ofer ă multe func ționalit ăți precum
gestionarea serverului web necesar pentru aplicația de client cu care va interac ționa utilizatorul. Ȋn
linii mari am ales cea standard server( back -end) – client ( front -end).
Raspberry PI ne confer ă un mediu în care cele 2 p ărți pot func ționa în același timp pe
același dispozitiv. Pe partea de back -end am fol osit Flask (aplicație back -end), având nevoi e de un
serviciu pornit c ȃt timp SBC Raspberr y funcționează. Pent ru aplicația web , ca aceasta s ă fie
disponibilă non stop s-a folosit apache care va func ționa c ȃt timp Raspberry Pi rulează.
Limbajul principal de program are pe care l -am folosit pe partea de back -end este Python.
Comunicarea dintre cele 2 sisteme ( ba ck end / front end ) se realizeaz ă prin rest API, iar pe
partea de front -end am folosit HTML /CSS , bootstrap si Ja vascript, realiz ȃndu-se compatibilitate a
cu toate dispozitivele care pot fi conectate la internet.
2. Cerințe de siste m
2.1 Surse de cerin țe

Pentru acest proiect, ca și surse de cerințe sunt exact proprietarii de clădiri sau apartamente,
care au deja un sistem sm art sau doresc să își imple menteze unul în spațiul de locuit. Cu scopul
de a identifica și evalua princip alele cerin țe și pro bleme ȋntȃmpinate de ace știa, am decis
realizarea a dou ă metode de investigare pentru dob ȃndirea r ăspunsurilor neces are proiec tului.

2.2 Elicitația cerinț elor

Pentru dob ȃndirea răspunsurilor necesare s -au utilizat chestionarul și b rainstorming -ul.
Aceste metode au fost realizate cu ajutorul proprietarilor de locuințe sau alte clădiri diverse, care
au reușit s ă răspun dă corespu nzător fără a avea anumite cu noștințe despre sisteme smart, IT sau
domeniul tehnic.

15
2.2.1 Chestionarul

Chestionarul a fost p rima metodă de elicitație pe care am folosit -o pentru acest proiect,
fiind un reper ușor de analizat și care corespun de necesit ăților din acest caz. Pentru re zolvarea
acestui chestionar au participat un număr mai mare de persoane, cu răspunsuri concise și alineate
pe subiect. Întrebările din chestionar au acoperit problemele de care se lovesc majoritatea
proprietarilor în încer carea de a folosi adecvat siste mele smart. Întrebările fac referire la costul
pe care -l presupune achiziți onarea și/sau impleme ntarea sistemului sma rt, compatibilitatea lui,
motivele principale pentru care ar decide s ă folosească sistemul și ce condi ții ar trebu i să
ȋndeplineasc ă acesta. Chestionarul a cuprins urm ătoarele ȋntreb ări:
• Ȋn ce categorie de v ȃrstă vă ȋncadra ți?
• Ce tip de imobil de țineți?
• Dețineți un dispozitiv smart ȋn momentul actual? Dac ă da, de care anume?
• Crede ți că v-ar ajuta un sis tem inteligent ȋn procesul de e conomisire al timpului?
• V-ar interesa să aflați mai multe informatii despr e sistemele smart?
• Ce ar trebui să facă un sistem smart house ?
• Conteaza prețul de achizi ție a unui astfel de sistem ?
• Crede ți că ar fi eficient sistemul inteligent de ilumina re?
• Ce vă determin ă să achizitiona ți pe viitor un astfel de sistem ?
• Cȃt de important ar fi ca sistemul smart house să fie compatibil cu restul
dispozitivelor dvs?
• Dacă un astfel de sistem ar reduce facturile la energie, l-ați achizi ționa?
• Cȃt ați inve sti ȋntr-un astfel de sistem?
• Considera ți că, ȋn condi țiile actuale, integrar ea unui sistem intel igent ȋntr-o
locuin ță, ar u șura activit ățile zilnice ale persoanelor cu dizabilit ăți?

Concluzii:
Pe baza utiliză rii acestu i chestionar pe un grup numeros de participanți, aceștia au ajuns la
concluzia ca un sistem de acest gen le -ar economisi bani di n facturile pe care le plătesc inutil la
energia termică și electrică. Totodată, au relatat că timpul este momentan, un impedim ent pentru
a reali za toate act ivitățile de care au nevoie (timp liber sau petrecut la serviciu). Din relată rile

16
participanților , sistemul trebuie s ă fie adaptabil la nevoile lor, compatibil la dispozitivele existente
deja în cas ă, să nu aibă un cost de ac hiziție exagerat p entru a putea fi cump ărat și folosit ulterior
de mai multe categorii de oameni.

2.2.2 Bra instorming

A doua metod ă ȋntreprins ă pentru a ȋncerca solu ționarea problemelor aflate de pe baza
chestionarului, a fost realizarea u nui brains torming, ȋmpreun ă cu cȃțiva sp eciali ști ȋn domeniu.
avȃnd ȋn vedere necesitatea concentr ării asupra probl emei. Structura grupului de brainstorming
a inclus c ȃțiva membri cu experien ță ȋn domeniul IT (programare) și domeniul dispozitivelor
smar t, inv itați familiariza ți cu aceast ă problemă și moderatorul . Rolul acestuia a fost cel de a
conduce ȋntȃlnirea spre scopul prop us.
Desf ășurarea brainstorming -ului a decurs astfel: dup ă ce moderatorul a prezentat problema
și a acordat eventule le explic ații necesare, fiecare dintr e membrii grupului și-a exprimat ideile
sau le -a notat. Cele mai bune idei/ soluții au fost prio ritizate ȋn func ție de c ȃt de apropiate erau de
găsirea unei solu ții optime pentru rezolvarea problemelor enun țate. Urm ătorul pas a fost
dezvoltarea ideii principale și ȋmbun ătățirea ei prin alte idei secundare, menit s ă aducă un
plus de valo are ideii principale sau pentru ȋncurajarea participan ților de a g ăsi alte posibile solu ții.
După categorisirea ideilor găsite, lista este revizuit ă, alegȃnd cea mai bună soluție din cele
găsite. Pentru problemele ȋntȃmpin ate de proprietari și identificate pe baza chestionarului,
soluțiile au ȋnceput s ă fie destul vizibile, membrii grupului prezent n eavȃnd obi ecții ulterioare.
Concluzii:
După realizarea activit ății de brainstorming, s -a ajuns la concluzia c ă este mult mai
eficien t să deții si s ă afli solu ții sau idei propuse de c ȃțiva membrii, colegi speciali ști ȋn domeniu.
Fiecare dintre ei a fost de acord cu realizarea sistemulu i smart prin Raspbery P i, concluzion ȃnd
că este cea mai bun ă idee, av ȃnd ȋn vedere caracteristici le și modul acestuia de a func ționa. Ȋn
plus, tot din aceast ă activitate s-a decis conectarea direct pe cablu la rețeaua local ă, nu prin
wireless, per icolele fiind mult mai mari de a r ămȃne fără conexiune ȋn cazul unei deconec tări de
rețea. Pentr u partea de aplica ție, s-a decis co nlucrarea cu HTML/CSS, Bootstrap și Javascript,
realiz ȃndu-se astfel conectivita tea tutur or elementelor și ușurința utilizatorul ui de a folosi
aplica ția, fără a necesita cuno științe ȋn dome niu tehnic sau IT. P rin folosirea Raspberry Pi a fost

17
rezolvat ă și problema costului de achizi ție, acesta avȃnd un pre ț mult mai mic fa ță de cele lalte
sisteme de pe pia ță.

2.2.3 Diagrama Pareto

Figu ra 4 Diagrama Paret o

În figura 4 prezenta tă mai sus sunt ilustrate motivele principale sau efectele care au dus la
decizia creării unui sistem smart -house pe baza unui simp lu SBC și a c ȃtorva senzori achizi ționați
după placul utilizatorului.
Astfel spus, sistemele greu accesib ile care exist ă ȋn acest moment pe piaț ă ating o cot ă de
46% și nu permit achiziționarea unor dispozitive pentru implementarea unui siste m smart – house.
Dat fiind faptul c ă nu sunt accesibile pentru per soanele cu venituri reduse, adaptabilitatea lor este
foarte scăzută co mparativ cu cerințele utilizat orilor, de doar 20% din totalul sistemelor complexe
la momentul actual.
Avȃnd ȋn vedere c ă aceste si steme sunt foarte complexe și inadaptabile cu cerințel e actuale
și schimbările de situație, creșterea vânz ărilor de dispozi tive și senzori folosi te în industria smart

18
a ajuns la un procentaj de 14%, deși se preconiza la început ca vor avea o explozie d e vȃnzări.
Acest lucru este cauza t din mai m ulte motive: producătorii nu pun accent pe securitatea
dispozi tivelor furnizat e și au o vulnerabilitate destul de mare la atacuri informatice, devin
nefunc ționale dacă sunt securizate, se pierde c onexiunea sau ȋntȃmpin ă diverse erori.
Din totalul populației Rom ȃniei, un procent de 5% ȋl reprezint ă persoane le cu dizabilit ăți
locomotorii, care au nevoie de încă o persoan ă pentru îndeplinirea sarcinilor zilnice și a
activit ăților simple. A ceștia ar putea avea un stil de via ță mult mai confo rtabil și mai u șor dac ă
nu ar necesit a ajutorul cuiva pentru a stinge lumina sau a porni căldura iarna, av ȃnd ȋn vedere
imposibilitatea de a se deplasa. Ar putea să controleze aceste comenzi doar cu o comand ă de
pe telefonul mobil.
Trăim în era tehnologiei și a lucrurilor “sub presiune”, ceea ce înseamnă c ă nu mai avem
ca oameni at ȃt de mult timp ca și acum c ȃțiva ani. Pentru activităților care ne fac pl ăcere sau pentru
a petrece timpul cu c ei apropia ți, ne economisim timp, ȋn func ție de prior ități, ceea ce ȋnseamn ă
aproximativ 30% din categoria oamenilor cu un loc de mun că stabil din Rom ȃnia. Sistemul smart
descris ȋn acest proiect ar putea face posibil ă crearea de timp pentru activit ățile uzuale. Cu o
simpl ă verificare de pe telefon, nu ne vom mai ȋntoarce din drum pentru a verifica dacă am lăsat
luminile aprin se sau alte aparate electrocasnice ȋn priz ă. Acestea din urma consum ă foarte
multă energie, inclusiv ȋn stand -by. Aproape 40 % din capacitatea lor se consum ă ȋn stand -by,
moment ȋn care ele nu sunt folosite fizic de utilizatori. Toc mai din aceast ă cauză, facturile la
energia electric ă și termic ă sunt foarte crescute, mai ales la ora ș, față de mediul rural. 25% din
populatie s-a plȃns ȋn ultimul an de pre țurile crescu te și de sumele totale de pe facturile din
Rom ȃnia.

2.2.4 Mod elul use -case

Mini Sistem smart -house este un sistem care facilitează modul de gestionare a l luminii și
al ventilației în case prin intermediul Raspberry Pi ,orice persoană reușind să cont roleze aceste
aspecte prin orice dispozitiv cu o conexiu ne la in ternet.
În model ul cazurilor de utilizare se arată cum interacționează actorii cu sistemul, acestea
fiind o radiografie a întregului s istem. Se stabilesc relații precum extinderea, incluziu nea și

19
generalizarea. În cadrul următorului tabel sunt sinteti zate toate stere otipurile de utilizatori, cât și
rolurile și obiectivele acestora:

Actori Obiective
Administrator
sistem • Asigur ă maintenanta sistemului;
• Asigur ă suport tehnic;
• Impleme ntează noi functionalit ăți;
• Actualizează aplicația ori de cate ori e necesar, p entru a nu apărea
breșe de securitate.
Utilizatori/clien ți • Folosesc aplicația după bunul plac.

Tabel 1 Modelul Use -Case
Prin tabelul ilustrat mai sus, diagra ma use-case, se observ ă șablonul, sau modul prin care
utilizatorul inte racționează cu componentele sistemului. Practic, utilizatorul are control direct
asupra aplicației web. Pagina default va apărea ut ilizatorului la accesarea aplicației, de unde poate
observa valorile de tempera tura, umiditate si cele de ca litatea aerului, actualizate în timp real. Din
aplicație se poate accesa pagina de control, care oferă acces asupra sistemului de iluminat și de
ventilație. Administratorul poate accesa direct sis temul central (Raspberry Pi) pentru asigura rea
actualizarea și maintenan ța sistemului și implementarea unor noi func ționalit ăți, la cerin ța
utilizatorului.

20

Figur a 5 Diag rama Use-Case

Un posibil caz de utiliz are este evidențiat ȋn situația ȋn care utilizatorul dorește să ajusteze
lumina în casă , iar acest lucru se realizează prin accesarea paginii web . Din pagina de control se
accesează rubrica “Control iluminat” și lumina es te por nită sau oprită , în fun cție de alegerea
utiliza torului.

21
Actori Obiective

Utilizator/cl ienti o Utilizatorul accesează aplicația web
o Se accesează pagina de control
o Se accesează rubrica „ Control iluminat ”
o Se porn ește sau o prește lumina pr in butonul on sau off

Figur a 6 Scenariu de utilizare control i luminat

Figu ra 7 Scenariu control iluminat

22

Tabel 2 Scenariul de bază al sistemului: reglarea luminii și a temperaturii Număr Secțiune Conținut
1. Identificator S1
2. Nume Mini siste m smart -house
3. Autor Pașca Doru Cătălin
4. Versiune V 1.0
5. Istoricul modific ărilor V 1. 10.05.2020 Pașca Doru C ătălin
6. Priori tate Mărită
7. Stakeholderi Proprietarii de locuințe
8. Scurtă descriere Utilizatorul poate să acceseze pagina web
de controlează lumina și ventilația . Se
verifică temperatura ,umiditatea și calitatea
aerului , iar din pagina de control se pot
selecta valorile pentru iluminat sau
ventilație : pornit sau oprit.
9. Tipul scenariului Scenariu de interacțiune
10. Obiective Facilitarea gestionării unor utilități ȋn
propria locuință
11. Actori Proprietarii de locuințe (utilizatori)
12. Posco ndiții Utilizator ii au ajustat temperatura și lumina
ȋn casă
13. Rezultat Gestionarea ȋntr -un mod mult mai facil al
unităților case i
14. Pașii s cenariu lui 1.Utilizatorul deschide pagina web;
2.Utilizatorul deschide pagina de control;
3.Utilizatorul ale ge controalele ex istente;
4.Utilizatorul verifică controalele existente;
5. Utilizatorul modifică lumina ;
6. Utilizatorul părăsește pagina web.

23
2.3 Docume ntarea cerințelor

Varianta propus ă și gȃndită a sistemului proiectat ȋn aceast ă lucrare automatizeaz ă
procesele de baz ă folosite ȋntr-un spațiu de locuit. Prin alegerea Raspberry Pi și a senzorilor de
temperatur ă, iluminare și de calitatea aerului, utiliz atorul/proprietar ului ȋși poate porni/opri și
verific a securitatea locuin ței singur și ușor intensitatea dorit ă la toate aceste caracteri stici.
Utilizatorul are posibilitatea de a accesa pagina web, care ȋi confer ă acces tot al pentru a
gestiona și a monitoriza ventila ția, lumina și securitatea ȋn propria locuin ță. Tot din pagina de
control se pot selecta valorile pentru cele doua aspecte ale siste mului, care pot fi oprite sau
pornite.
Din punct de ved ere al constr ȃngerilo r, sistemul descris ȋn prezent a lucrare nu are
posibilitatea de a genera energie electric ă, nu dispune de inteligen ța artificial ă astfel ȋncȃt nu exist ă
posibilitatea acces ării prin comand ă vocal ă. Ȋn cazul ȋn care beneficiarul, propr ietarul sau
utilizatorul dore ște să adauge alte elemente, precum ȋnchiderea securizat ă a căilor de acces,
gestionarea sau monitorizarea par țială a aparatelor electrocasnice din interiorul l ocuin ței sau
răspunderea automat ă la comenzi vocale, se poate face prin compati bilitatea și adaptabilitatea
gȃndit spe cial ȋn acest sco p.
Raspberry Pi func ționeaz ă optim ȋn condi țiile urm ătoare: lipsa c ăderilor de tensiune, lipsa
umidit ării excesive, tem peratura a mbiental ă trebuie s ă se ȋncadreze ȋn valori normale, vent ilația
sistemului trebuie s ă funcționeze optim pent ru a nu favoriza supra ȋncălzirea ȋntregului ansamblu .
Interfa ța a fost g ȃndită ȋn așa fel ȋncȃt utilizatorii s ă aibă o experien ță cȃt mai placut ă și
concret ă a aplica ției. Este foarte u șor de folosit, deoarece nu necesit ă instalare pe dispozitivul
respec tiv, fiind posibi lă accesarea dintr -un browser. Interfa ța este compatibil ă cu orice tip de
dispozitiv și orice sistem de operare utilizat .

2.3.1 P rocese și Activități

Diagramele reprezentate mai jos, si anume diagrama de st ări și diagrama de secven ță,
eviden țiază proces ul de interac ționare dintre utilizator și sistem.
În următoarea figură este reprezentată diagrama de secvență care evide nțiază evo luția în
timp a sistem ului. Mesajele dintre actor și sist em sunt așezate cronologic pe axa t impului, primul

24
mesaj venind din partea utilizatorului care deschide pagina web de unde vor fi controlate
temperatura,luminozitatea și ventilația în casă. Din partea sistemului se afisea ză pagina web
deschisă anterior de către utilizator care mai apoi acce sează pagina de control. După ce pagină de
control este afișată, u tilizatorul selectează starea pentru controlul dorit (lumină, temperatură sau
ventilație ) momnent în care se apelează fu ncția din back -end pentru pornirea sau oprirea
controlului selectat și prin GPIO se trimit comenzi cătr e dispozitivul selectat. Controlu l se face
prin intermediul mouse -ului(sau prin atingere în cazul dispozitivelor touch sc reen).

Figur a 8 Diagrama de secvență

25

Figure 9 Diagrama de stări

În urm ătoarea figur a 9 găsim diagrama de stări care evidențiază relația de tranziție între
stările prin care trece un obiect ca răspuns la un eveniment. Evenimentul, localizat în timp și spațiu,
produce un stimul care determină efectuarea tranzițiil or între stări. Așadar, diag rama de stări
conduce la documentarea tranzițiilor realizate de un sistem informatic.

26
3. Model de Dezvoltare

Modelul de dezvolta re folosit este modelul Kanban care se bazează pe principiul pr eluării
sarcinilor de către mem brii echipei pe măsură ce aceștia devin disponibili. Se concentrează pe
limitarea volumului de sarcini în curs de execuți e și scur tarea cozilor de așteptare. În figura de mai
jos avem 5 pași care alcătuiesc modelul: To Do, In Progress, Review, Testing și D one.

Figur a 10 Modelul de dezvoltare

În secțiunea de to do avem implementarea unui senzor CO2/compuși volat ili, In Progress
este instalarea librăriei NEOPixel care controlează ledurile puse pe p ost de sursă de lumină. La
partea de Review avem pagina de control din aplicația web, în timp ce se testează funcționalit atea
senzorului de temperatură. La momentul resp ectiv la sectiunea Done se afl ă instalarea aplicației
Flask care se inițializeză și men ține partea de func ționalitate pornit ă. În acest fel, se ini țializeaz ă o
singur ă dată toate librariile si variabilele glo bale f olosite. În capitolul care urmeaz ă, va fi detaliat ă
partea tehnic ă pe care s -a bazat structura sis temului.

27

Partea II – Proiectarea Sistemului Informatic

28
4. Proiectarea Logică

În proiectul de față nu este nevoie de o implementare a unei baze de date întrucât nu avem
tipuri diferite de utilizatori, ne dorim ca sistemul s a fie unul ușor de integrat, s ă folosească cât mai
puține resurse și să fie cat mai fiabil. Prelucrarea datelor la nivel de sistem este una simpl ă tehnic
senzorii trimit valori iar sistemul trebui e le interpreteaze dup ă care se afi șează rezultatul.

4.1 A rhitectura Sistemului

Figu ra 11 Schema logică de funcționare

4.2 Baza Informațională

Nu este ne voie de f olosirea unei baze de date, neav ȃnd mai multe tipuri de utilizatori sau
permisiuni date ȋn apli cație. Folosirea unei baze de date ar co nstitui un proces ȋn plus la sistemul
actual. Ȋn cazul ȋn care aceast ă bază de date prezint ă erori sau disfunc ționalitati de orice fel,
sistemul va ȋnceta să funcționeze.

29

Figur a 12 Schema entitate – relație utilizator

Ȋn figura de mai sus, diagrama reprezent ării relației dintre partea tehnic ă și util izator,
sunt eviden țiate conexiunile dintre principalele elemente care stau la baza func ționării aplica ției.
Așadar, pentru accesarea aplica ției este nevoie de o prim ă conecta re la VPN, fiind astfel realizat ă
conectarea la nivel de re țea, nu prin aplica ție. Ȋn acest fel, securitatea va fi m ai crescut ă. Dup ă
autentificarea cu succes, pasul urm ător este accesarea aplica ției web, g ăzduit ă de Raspberry Pi. Ȋn
momentul acces ării, pa gina implicit ă este de monitorizare, care verific ă valorile de temperatur ă și
umiditate, precum și cele de CO2 și a compu șilor volatili prezen ți în aer. Arhitectura sistemului se

30
bazeaz ă pe 2 elemente principale: client si server. Dezvoltarea p ărții de cli ent a fost g ândită sa fie
compatibil ă cu toate dispozitivele inteligente (telef on smart, tablet ă, laptop), fiind dezvolt ată
ulterior în HTML/CSS, Bootstrap si Javascript, realiz ându-se astfel integrarea ei ca și aplica ție
web.
Principiul de func ționare este cel de a trimite cereri de tip “ GET”c ătre server, iar prin
intermediul ace stor cereri se vor executa comenzile c ătre partea hardware a sistemului (leduri,
sisteme analogice, alarme, ventilatoare etc.). Ȋn partea de monitorizare se afi șează datele col ectate
de senzorul de temperatură și umiditate cȃt și de senzorul de CO2 și a compu șilor volatili. Ȋn
cazul ȋn care d atele colectate dep ășesc valoarea de 1100 de unitati, se va afi șa mesajul: “ventila ție
recomandat ă”. Dac ă valoarea compu șilor volatil i depășește 3000 de unit ăți, se va declan șa
alarma, iar ventila ția va porni ȋn mod automat. Ȋn cazul senzorului de tem peratur ă, dacă valoarea
trece de 29 grade Celsius, pentru confortul personal, se recomand ă ventila ția sau pornirea aerului
condi ționat .

Figur a 13 Pagina de monitorizare interfață aplica ție web

31
Ȋn pagina de control, putem g ăsi cele 5 loca ții ale spa țiului de locuit prezentat, fiecare av ȃnd
un ȋntrerup ător/buton de ON/OFF , care ȋnchide sau deschide circuitul. Toate cele enumerate mai
sus, se pot observa ȋn figura de mai jos:

Figur a 14 Panoul de contro l

Sistemul de iluminare este perceput ca și o multitudine de dispozitive analogice, care au 2
stări: pornit sau oprit. Pag ina sistemu lui de supraveghere este o preluare video din sistemul de
monitorizare local, f acilit ȃnd astfel accesul unitar al tuturo r sistemelor instalate ȋn spa țiul de
locuit. Pentru implementar ea sistemului, s -a realizat partajarea proces ării ȋntre serv er (furnizo rul
de servicii) și clien ți (elementele care solicit ă resurse de pe server). Ce le 2 componente comunic ă
ambivalent prin i ntermediul internetului. Astfel serverul nostru va ȋmpărți info rmațiile și resursele
cu clien ții. Resursele proprii ale clie ntului nu v or fi partajate, ci va folosi func țiile server pentru a
le accesa. Ȋn acest fel , clien ții așteapt ă comunicarea din part ea serverului, ini țializȃnd
comunicarea. Avantajele care au justificat aceast ă alegere sunt securitatea m ărită, performan țele
sunt mu lt mai bine îmbun ătățite, are cel mai bun raport calitate – preț și au o coordo nare mai bun ă
prin folosirea serviciilor ȋn acela și timp.

32

5. Proiectarea Tehnică
5.1 Structura fizică a datelor

Proiectul propus ȋn aceast ă lucrare pune accentul pe intercon ectarea, detectarea și
acționarea elementelor care se reg ăsesc ȋn componen ța sistemului. Totodat ă, pe l ȃngă aceste
acțiuni, componentele comunic ă ȋntre ele. Aplica țiile informatice se interconecteaz ă și schimb ă
date cu ajutorul formatului JSON . Acesta es te folosit pentru citirea datelor importante de pe
senzorii sistemului, utiliz ȃnd conven ții comune de programare. Structu ra JSON ȋn aplica ția web
utiliz ată este una simpla și ușor de citit. De exemplu, pentru afi șarea temperaturii sau a nivelul ui
de CO 2 citite de senzorul ȋn cauz ă, datele provenite vor fi redate ȋn aplica ția web, p rin intermediul
formatului JSON astfel:

Figur a 15 Valori redate ȋn st ructura JSON

5.2 Procese și Algoritmi

Atȃt pe partea de serve r cȃt și pe cea de client s -a recurs la utilizarea de func ții, cu scopul
de a facilita timpul de execu ție si de a ȋmbun ătății timpul de rulare al a plica ției. Prin fiecare metod ă
GET implementat ă, s-a folosit o func ție specific fiecărei comenzi ȋn parte. Codul a fost u șurat din
punct de vedere logic, construindu -se mult mai repede partea de func ționalitate.

33

Figur a 16 Multithreading

Ȋn func ția de baz ă a programului exist ă 3 thread -uri care vor rula simultan: read sensors ,
read temperature și aplicatia Flask . Astfel simultan vor fi citite valorile senzorilor și va fi posibil ă
partea de func ționalite: pornirea unui bec, a aerului condi ționat.
Valorile citite de senzori t rebuie citite ȋn permanență, proces care se realizează pe un thread
separat deoarece vom implementa o buclă care va funcționa cȃt timp aplicația server va fi pornită.

34
5.3 Tehnologii specifice

Ȋn capit olele anterioare au fost prezentate modalit ățile prin care a fost g ȃndită, creat ă și
implementat ă ideea unui sistem inteligent pentru spa țiile de locuit.
Pentru unitatea principal ă de comand ă am folosit Raspberry Pi care este dispozitiv
electronic care fu ncționeaz ă pe acela și principiu ca și un calculator fiind de fapt un SBC (Single
Board Computer) . Cerința principa lă care a stat la baza realizării proiectului smart -house a fost
dorința de a avea un sistem capabil să controleze echipamentele inteligen te dintr -o locuință,
folosind limbajul natural pentru interacționare. Computerele ȋn general nu bene ficiază de o
caracteristic ă esențială pentru aceast ă industrie, și anume GPIO. Astfel , principalul motiv pentru
care am ales Raspberry pentru acest pro iect a fost faptul c ă se pot conecta d iverse componente
electronice, precum becuri, relee, senzori, m ai multe butoan e și altele. Pentru a ne asigura de
funcționalitatea lui, sistemul trebuie să ȋndeplinească următoarele cerințe5:
o Disponibilitate : mediul pe care rulează trebuie să fie activ în permanență, pentru a face
posibilă interacționarea cu celelal te echipamente inteligente conectate
o Eficiența : costurile de utilizare și mentenanță trebuie să fie destul de mici încât sistemul
să fie acces ibil unui num ăr cât mai mare de utilizatori potențiali
o Utilizabilitate : interacțiunea cu sistemul trebuie să fie c ât mai sim plă și intuitivă, fără a
necesita cunoștiințe de programare sau de funcționare pentru utilizarea cotidiană din partea
proprietarilo r. Totodată, a cesta trebuie să se poată iniția și configura în mod autonom, în
cazul unei reporniri (ex. ȋntreruper e de cure nt)
o Precizie : fiind un sistem cu o utilitate bine definită, acesta trebuie să cunoască un număr
limitat dar prec is, de comenzi și să poată interpr eta și variațiile lor. În cazul în care
întâmpină o comandă necunoscută, sau destul de ambiguă încât să nu po ată interpreta,
acesta trebuie să informeze utilizatorul de nevoia clarificării comenzii
o Monitorizare : în afară d e executare de co menzi, sistemul t rebuie să poată monitoriza și
înregistra condițiile de mediu, și, în unele cazuri, să poată reacționa la schimbări fără
intervenție externă (ex. intervenția utilizatorului);

5 A se vedea https://ro.wikipedia.org/wiki/Raspberry_Pi , accesat la data de 15.06.20 20.

35
Avȃnd la baz ă Linux ca și sistem de operare, Ras pbian OS a fo st special dezvoltat pentru SBC
Raspberry PI , iar instalarea acestuia se va face desc ărcȃnd de pe site sistemul de operar e integrat
, Raspbian OS. Dup ă finalizarea procesului de instalare al sistemului de operare Raspbian,
utilizatorul este nevoit s ă se autentifice cu ajuto rul valorilor default ale sistemului de operare.
Odată conectat prin terminal este necesar sa activ ăm controlul de la distan ță (SSH) , pentru prin
setarea ip-ului din dinamic (vine setat implicit) ȋn ip static . Pentru setare a ip-ului static este necesar
să edităm din linia de comand ă fișierul dhcpd.conf din folderul etc aflat ȋn rădăcina sistemului de
opera re (/). Mai departe, folosim comanda:
o sudo nano /etc/dhcpd.conf.
Pasul următor este configurarea unui restart .

Figu ra 17 Configurare IP Static

După setarea ip static este necesar ă actualizarea librăriilor și a dependin țelor folosite de sistemul
de operare folosind comanda de mai jos:
o sudo apt -get update -y – actualizarea libr ăriilor de ba ză ale sistemului de operare și
actualizarea propriu -zisă
o sudo apt -get upgrade – asigurã reȋmprospãtarea si actulizarea pachetelor de s ecuritate;

Sistemul de operare Raspbian beneficiaz ă de numeroase pachete de date care asigur ă multe
avantaje programator ului. Astfel, dup ă instalarea implicită al limbajului de programare Phyton 2,
este necesar ă instalarea Phyton 3, deoarece programul ant erior este deja ȋnvechit și neutilizabil ȋn
acest scop . Comanda folosit ă este cea de mai jos:

36
o sudo apt -get install pip3 – instalarea pachetului
După instalarea Python3 vom porni utilitarul de configurare pentru Rasppbery Pi tast ȃnd
comanda raspi config în terminal sau linia de comand ă. Din utilitarul raspi-config vom activa cele
2 interfe țe I2C si SPI necesare pentru com unicarea cu senzorii .
Figur a 18 Configurarea Interfețelor6

Ȋn anul 1982, compania de Philips a dezvoltat Pro tocolul I2C. A fost creat pentru p ermiterea
circuitelor integrate s ă comunice cu mai multe cipuri de tip master . Însă, este folosit pentru
comunicarea pe distan țe mici. Pentru a trimite și pentru a primi in forma țiile protocolul UART are
nevoie de 2 fire d e semnal . Acest tip de comunicare suport ă până la 1008 dispozitive de tip slave ,
realiz ând comunicarea asincron ă. Tot aic i, în comunicarea de tip I2C pot exista mai multe
dispozitive de tip master , în comunicarea SPI acest lucru însă, nu este permis.
Impl ementarea este mult mai complex ă decât în cea SPI, dar mai u șoară fiind o comunicare
asincron ă.

6 A se vedea https://p rofs.info.ua ic.ro/~arduino/index.php/Comuni care_I2C , accesat la 17.06.2020 .

37
Interfa ța SPi este una d e tip sincron cu o viteza mai mar e, Motorola fiind compania care i -a
generat d enumirea. Realizeaz ă procesul de transmitere de date prin magistrala serial ă sincron ă,
circuitele master -slave fiind interconectate. Modul master -slave presupune aici ca dispozit ivul
digital ini țiază bazele de d ate. 7

5.3.1 Editarea textului de programare

Un editor de texte permite deschiderea și scrierea ȋn tr-un fișier text, ȋn care se scr ie codul
de programare sau se modificã fișierele plãcii (dacã se dorește acest lucru). Ȋn cadrul acestui
proiect s -a folosit un editor de texte extern pre cum Visual Studio Code, apãrut ȋn anul 2015. Este
un editor de text e gratuit realizat de Microsoft, a vând o largã posibilitate de utilizare, pentru
Windows, Linux sau MacOs.
Principalele caracteristici ale Visual Studio Code sunt identifica te și eliminare erori de cod
(debugging), evidențiere a sintaxei, completare inteli gentã a codului, fragmentãri de co d,
refacturizarea codurilor etc. Fișierele critice ale sistemului de operare au fost ed itate cu nano, care,
din punct de vedere vizual, permite colorarea t extului/codului pe care ȋl percepe ca sintax ă clasic ă
din fragmentu l de cod. Conectarea la internet se realizeazã prin rețeaua localã prin conectarea
SBC -ului la o rețea wireless sau, ȋ n cazul de fațã, prin conectarea la portul RJ45. Ȋn lucrarea de
față s-a optat pentru conectarea prin cablu, mult mai avantajoas ă decât alternativa conect ării la o
rețea wireless. Ca și dezavantaj ȋn aceastã situație este lipsa mobilit ății, Raspberry Pi având o
locație fix ă. Ȋn cazul ȋ n care s -ar fi optat pentru conecta rea wireless, un dezavantaj major l -ar fi
reprezentat deconectarea subit ă survenitã din cauza semnalu lui slab de internet sau al
interferențelor cauzate de diverse dispositive casnice (fri gider , cuptor cu microunde) .
Conectarea la internet al ȋntregului proces se face prin conectarea SBC -ului la router -ul
local deținut de proprietar .

7 A se vedea https:/ /ro.wikipedia.org/wiki/Interfa%C8%9Ba_serial%C4%83_SPI , accesat la 17.06.2020.

38
5.3.2 Instalarea Librariilor in Rasppbery Pi pentru dezvoltarea aplicatiei de
tip server

Comenzile fo losite pentru instalare au fost u rmatoarele:
o sudo pip3 install rpi_ws281x adafruit -circuitpython -neopixel
o sudo python3 -m pip install –force -reinstall adafruit -blink a.8
Pentru realizarea acestui proiect s -au folosit leduri de tip WS2812B .

În automatiz are, informația calitativă/cantit ativa măsurabilă livrată de senzori, după o
eventuală amplificare și prelucrare servește la controlul și reglarea sistemelor tehnice a utomate. 9
Pentru realizarea acestui proiect s -au folosit urm ătorii senzori:
• Senzor de temperatur ă și umiditate DHT11
• Senzor digital de lumin ă IR, UV și Vizibilitate SI1145
• Senzori CCS811/BME280 pentru monitorizare condi ții atmosferice și calitate aer.
• Releu cu 4 module
Comenzile folosite pentru instalarea librariei in cazul senzorul de te mperatur ă și umiditate
DHT11 au f ost cele de mai jos:
o pip3 install adafruit -circuitpython -dht
o sudo apt -get install libgpiod210

8 A se vedea https://learn.adafruit.com/neopixels -on-raspberry -pi/pytho n-usage , accesat la 17.06.2020 .
9 A se vedea https ://ro.wikipe dia.org/wiki/Senzor , accesat l a 08.06.2020.
10 A se vedea https://learn.adafruit.com/dht -humidity -sensing -on-raspberry -pi-with-gdocs –
logging/pyt hon-setup , accesat la 17.06.20 20.

39
DHT 11 este un senzor digital de
temperatur ă și umiditate ,low-cost. Acesta
ȋncorporează un senzor de umiditate capacitiv
și un termistor, pentru a măsura aeru l din jur și
dă un semnal digital pe pinul de date (nu
necesită pini de intrate analogici). Este simp lu
de utilizat, dar necesit ă sincronizare atentă
pentru a cule ge datele. Singurul dezava ntaj
real al acestui senzor este faptul că obții date
noi la fieca re 2 secunde.11 Specific ațiile
tehnice ale senzorului sunt cele de mai jos:

Figur a 19 Senzor de Temperatură și Umiditat e
• Gama de transmitere a semn alului: 20m
• Domeniu de măsur are u miditate: 20 – 95% RH
• Eroare de măsurare umiditate: + / -5%
• Interval de măsurare a temperatu rii: 0 – 50 ° C
• Eroare de măsurare a temperaturii: + / -2 ° C
• Tensiunea de operare: 3.3 – 5V
• Tipul de ieșire: ieșire digital .
Pentru utilizare se v or fo losi doar cei 3 pini ai senzorului: VCC, GND si DATA, pe
baza unui schimb de semnale primite. Schema de mai jos reprezint ă modalitatea prin care s -a facut
conectarea senzorului DHT11 la programul Raspberry Pi și prin care s-a real izat func ționarea
optimă:

11 A se vedea https:/ /ardushop.ro/ro/home/121 -modul -senzor -temperatura -i-umiditat e-
digitaldht11.html?gclid=Cj0KCQjww_f2BRC –
ARIsAP3zarEbtAO_FMHsVVAaJKE66SyEoYwAy9 wfJWFKZA4x40MVscn1J0WGfQaAkJIEALw_wc
B , accesat la 08.06.2020.

40

Figur a 20 Schema de conectare a senzorului DHT1112

Comenzi le folosite pentru instalararea librariei în cazul senzorului de CO 2 și a compu șilor
volatili CCS811/BME280 (Qwiic) au fost urm ătoarele:
o sudo pip3 inst all sparkfun -qwiic -ccs811.

Pentru acest senzor este nevoie de o configurare suplimentar ă. Prin nano s -a editat
/boot/config.txt.

o # Enable I2C clock stretching dtparam = i2c_arm_baudrate=10000. 13

12 A se vedea https://ardushop.ro/ro/home/121 -modul -senzor -temperatura -i-umiditate -digital –
dht11 .html?gclid= Cj0KCQjww_f2BRC –
ARIsAP3zarEbtAO _FMHsVVAaJKE66SyEoYwAy9wfJWFKZA4 x40MVscn1J0WGfQaAkJIEALw_wc
B , accesat la 17.06.2020.
13 A se vedea https://qwiic -ccs811 -py.readt hedocs.io/en /latest/?#installation , accesa t la 17.06.2020.

41
Modulul SparkFun este ideal
pentru proiectel e de elect ronic ă ȋn care
trebuie analiza ți factori externi, cum ar fi
presiunea barometric ă, umiditatea,
temper atura sau nivelul echivalent de CO2.
Noutatea acestui produs ȋl reprezint ă
conectorii Qwiic, fiind un ecosistem ce
faciliteaz ă prototip area, pri n conector ii
polariza ți. Senzorul CCS811 este un senzor
popular capabil să măsoare TVOC dar și
nivelul echivalen t de CO2. Astfel, datele
oferite de modul au o precizie ridicată.
Comunicarea cu o placă de dezvoltare se
realizează prin interfața I2C14. Speci ficațiile
tehni ce ale produsului :
Figur a 21 Senzorul de CO2 și a Compușilor Volatili
• Tensiunea de alimentare: 3.3 V
• Compatibil Qwiic
• TVOC (Total Volatile Organic Compound), detectând de la 0 până la 1,187 PPB (Parts Per
Billion)
• eCO2, detect ând d e la 400 până la 8,192 PPM ( Parts Per Million )
• Inter vale de masurare:
– Temperatură: de la -40 C p ână la 85 C
– Umiditate: 0 -100% RH
– Presiune: de la 30,000 Pa până la 110,000 Pa (precizie absolută de 100 Pa)
– Altitudi ne: de la 0 km până la 9.2 km ( precizi e relativă între 1 m si 2 m).

14 A se vedea https://www.opt imusdigital. ro/ro/senzori/4097 -modul -sparkf un-qwiic -cu-
senzoriccs811bme280 -pentru -monitorizare -conditii -atmosferice -si-calitate -aer.html accesat la
08.06.2020.

42

SI1145 este un no u senzor de la SiLabs cu un algoritm de detectare a luminii calibrat,
care poate calcula indicele UV. Nu conține un element de detectare a razelor ultraviolete, însă
aproximează indicele UV pe baza lumini i vizibile și IR (infraroșie) emisă de soare.
Este un senzor digital car e funcționează cu
I2C, ceea ce înseamnă că aproape orice
microcontroller îl poate folosi. Senzorul
include elemente ce pot detecta atât lumina
vizibilă cât și pe cea infraroșie. Dac ă dor iți,
puteți conecta un LED IR la pinul LED și s ă
utilizați senzorul de proximitate inclus în
senzorul SI1145.15 Dintre specifica țiile
tehnice ale produsului enumer ăm:
• Spectrul senzorului IR: lungimea de
undă 550 nm – 1000 nm (centrată pe
800 nm)
Figur a 22 Senzorul de Lumină și Ult raViolete
• Spectrul senzorului de lumina vizibi lă: lungimea de un dă 400 nm – 800 nm (centrată pe
530 nm)
• Sursă de al imentare: 3 – 5V DC
• Greutate: 1.4 grame
• Tip output: I2C address 0x60 (7 -bit)
• Temperat ură de operare: -40 °C ~ 85 °C
• Dimensiuni: 20 mm x 18 mm x 12 mm.

15 A se vedea https://www.optimusdigital.r o/ro/senzori -senzori -optici/1654 -senzor -digital -de-lumina -ir-
uvi-vizibil -si1145.html , accesat la 08. 06.2020.

43
Flask este clasi ficat ca și cel mai bun framework pentru aplicații web în Python neav înd
nevoie de alte depe ndințe suplimentare pentru a îl putea rula, fiind folosit ă arhitectura de tip client –
server. Importanț a implementarii REST în Flask este transfe rul de resurse dintr e client și server
așadar putem accesa o secvență de cod printr -un URL separat . În proiectul de față pentru fiecare
funcțion alitate a sistemului s -a folosit o funcție diferită.
Un mare avantaj pe care îl conferă acest framkework este posibilitatea acestu ia de a
inițializa librăriile și senzorii în momentul în care aplicația este executată astfel este posibilă
dezvolta rea ulteri oară de funcționalit ăți noi. Aplicația flask va rula practic pe un port stabilit de
programator f ăcând posibil ă onorarea în sigura nță a cererilor trimise de c ătre alte aplica ții.
Așadar limbajul de programare folosit pentru realizarea aplicației server es te Python, fiind un
limbaj d e pro gramare dinami c acesta pune accentul pe simplitatea codului și asftfel încât
programatorul poate cu ușurință să își implementeze ideile de dezvolt are într -un mod clar și concis.
Un mare avantaj pe care îl constitue acest l imbaj de programare este ace la de a
administrar ea memoriei care se face în mod automat prin serviciul garbage collector.16

5.3.3 Servicii REST

Arhitectura serviciilor REST a fost original dezvoltat ă pentru protocolul HTTP. Conceptul
utiliz ării serviciilor REST este introducerea no țiunii de resurse . Resursele sunt reprezentate de
URL -uri (link -uri) . Clientul tri mite cereri c ătre ac ele url -uri folosind metode definite de protocolul
HTTP și în func ție de raspunsul primit putem dezvolta aplica ția web. În ace astă lucrare formatul
cereri lor este de tip JSON iar acestea se apelează folosind metoda GET. Fiecare cerere t rimisă are
un cod d e răspuns și un status . În proiectul de față s -au întâlnit codurile următoare. 17

16 A se vedea https ://ro.wikipe dia.org/wiki/Python , accesat la 19.06.2020.
17 A se vedea http://developer.commvault.com/commvault/v11/article?p=45599.htm , accesat la
18.06.2020.

44
Figur a 23 Structura JSON Client

Cod Status Descriere
200 OK Cererea a fost onorată cu success
400 Cerere invalidă Cerere Invalidă
403 Interz is Clientul nu are permisiuni pentru accesarea cererii
404 Nu a fost găsită Cererea pentru resursă respectivă nu a fost găsită
500 Internal Server Er ror Cere rea nu a fost onorată din cauza unei erori interne a serverului
503 Serviciul indisponibil Serve rul este indisponibil

Tabel 3 Stări și coduri pentru cereri le API18

Pentru controlul și monitorizarea de la distanță autentificarea se face la nivel de rețea și nu
prin aplicație . S-a implementat această metodă deoarece aceasta salvează timp utilizatorului ,timp
pe care acesta îl consuma în completarea datelor din câmpu l numelui de utilizator și a parolei. Pe

18 A se vedea http://developer.commvault.com/commvault/v11/article?p=45599.htm l, accesat la data de
16.06.2020.

45
lângă economisirea timpulu i și evitarea greșelilor umane în ceea ce priveș te aute ntificarea , această
metodă este și una foarte sigură din punct de vedere informatic deoarece folosind un pachet de
protocoale din cad rul IKEv2/IPSec toate pachetele for fi criptate , rezultând astfel eliminarea
breșelor de Securitate .
În figura 23 este r eprezentat principiul de funcționare al protocolului VPN și metod a de
securitate folosită în acest pro iect

Figure 24 Principiul de funcționare VPN

Securitatea sistemului se bazează pe rețeaua locală astfel toți utilizatorii car e au access la
această rețea pot folosii aplicația fără nici o restricție .
Pentru m etoda de autentif icare pentru controlul de la distanță vom folosi serviciul VPN
(Virtual Private Network) oferit de router -ul din locuință . Acest serviciu folosește proto colul
OpenVPN care este cel mai securizat protocol din industrie.
Protocolul OpenVPN folosește metoda de criptare IKEv2/IPSec (Internet Ke y Exchange
/ Internet Protocol Security) se definesc ca fiind un set de protocoale care criptează pac hetele
neproteja te trimise/recepționate din int ernet , așadar transferul de informații este criptat.
În prezent toate dispozitivele inteligente sunt compatibi le cu serviciul VPN iar configurarea
acestuia se va face o singură data de către utilizator.

46

Partea III – Implementare și Testare

47
6. Imp lementare

Implementarea tuturor func ționalit ăților în server s-a realizat dup ă ce s -a realizat importul
tuturor librăriilor , după care s -au declarat variabilele lo cale folosite la inițializarea senzorilor și a
led-urilor.
Sistemul de iluminat este format din 2 4 de led -uri conectate la pin-ul GPIO 24 din SBC
folosit în acest proiect .Așadar totalul led -urilor din punct de vedere al programarii reprezint ă un
array pe care îl vom folosii pentru atribuirea num ărului necesar de led -uri în func ție de
dimensiunea spa țiului .

Figure 25 Principiul de funcționare a sistemului de iluminat

Ȋn cele două funcții de mai sus am prezentat principiul de por nire și de oprire a iluminatului
pe anumite zone di n casă. Acest principiu se bazează pe o cerere de tip GET. Ȋn cazul funcției
holTerasa_Led_On() pentru led -urile de pe pozițiile 2 si 3 se va seta culoarea albă cu codul RGB
(255,255,255), iar ȋn moment ul apel ării metodei show LED -urile respective ȋși v or actualiza
starea. Ȋn cazul funcției holTerasa_Led_Off() vom păstra aceeași logică, dar vom schimba
valoarea codului RGB din 255,255,255 ȋn 0,0,0 ceea ce ȋnseamna că, la apelarea metodei show
ledur ile se vor opri din funcționare.

48

Figure 26 Modul de funcționare al senzorului de temperatură

Ȋn figura de mai sus este prezentat modul de funcționare al senzorului de temperatură,
datele colectate de acesta fiind accesate d e către client prin linkul prezentat ȋn fi gură. Ace asta va
trimite apoi valorile prin metoda GET.
Ȋn funcția senzor_Temp_Umid() salvăm informațiile date de senzorul de temperatură ȋn
cele două variabile: umiditate și temperatură.
Inițial, la pornirea a plicației valorile celor două variabile vo r fi egal e cu 0, ulterior acestea
se vor modifica ȋn funcție de valorile citite de către senzor. Ȋn cazul unei erori se va afișa eroarea
“Nu există date de la senzor”.

49
Aplicația web este compusă din trei pagini . În pagina de mon itorizare regăsim două t abele
unul pentru valorile de temperatură și umiditate iar celălalt pentru val orile de CO2 și a compușilor
volatili.

Figur a 27 Citirea datelor de temperatur ă și umiditate din client

Valo rile citite de acești doi senzori sunt actualizate în timp real și au ca și rol infor marea
utilizatorului priv ind calitatea aerului , existența în aer a compușilor volatili , temperatura
ambientală și umiditatea din aerul respirat.

În cazul în care valoa rea compușilor volatili depășește 3000 de unități se va declanșa starea
de alertă ,stare în care se va declanșa alarma și sistemul de ven tilație pentru eliminarea compușilor
volatili existenți. De asemenea dacă valo area temperaturii este ridicată / scăzută atunci pentru
confortul propriu se recomandă pornirea sistemului de ventilație care se poate utiliza din pagina
de control.

50

Figur a 28 Citirea nivelulu i de co2 și a compu șilor volatili din client
În pagina de control avem panoul de comandă al sistemului de iluminat din locuință cât ș i
cel al sistemului de ventilați e , control care se realizează prin acționarea butoanelor pentru fiecare
zonă din locuința respectiv ă. Prin fiecare acțiu ne a butoanelor acestea trimit o cerere către server
iar dacă această cerere se va face cu succes atun ci serverul va schimba starea circuitului ,astfel încât
starea fiecarui buton este actualizată în mod automat .
Din pagina de securitate putem accesa camera de supraveghere care es te conectat ă la un
NVR (Network Video Recorder) care la rândul lui este conect at la rețeaua locală de internet
facilitând astfel cu ușurință monitorizarea video de la distanță a locuinței ne mai fiind nevoie de
configurări supliment are a rețelei .
Interfața grafică a fost dezvol tată folosind HTML / CSS folosind framework -ul Bootstrap
fiind cel mai popular în dezvol tarea aplicațiilor responsive ajutând astfel la compatibilitatea cu
toate dispozitivele inteligente. Partea de funcționali tate a fost dezvoltată f olosind limbajul de
programare JavaScript care realizează conexiunea cu server -ul trimițând astfel cerer i pent ru
actualizarea temperaturii / umidit ății, a dioxidului de carbon a compușilor volatili și a butoanelor
folosite în pagi na de control . Tot prin aceeași modalitate ver ificăm starea și controlul sistemului
de iluminat cât și cel a sistemului de venti lație .

51
7. Testare

Pentru testarea func ționalită țiilor s-a folosit utilitarul curl instalat in mod implicit in Raspberry Pi
, acesta simul ând aplica ția de client p rin trimiterea cererilor de tip GET către server . În capitolul
5.3.3 am menționat codurile și starea acestor a în moment ul recep ționării la ser ver, așadar am testat
fiecare resurs ă în parte pentru a vedea dac ă rezultatul returnat este cel dorit.

Figur a 29 Testarea cererilor folosind utilitarul curl

Observ ăm că cererea a fost onorat ă cu s uccess prin codul 200 și returnarea valorilor de
temperatură și umiditate în formatul JSON. La fel proced ând și în ca zul sistemului de iluminat și
a sistemului de ventila ție
De asemenea s -a testat și sistemul de alert ă simul ând astfel o scurgere de gaze în apropierea
senzorul ui responsabil de calitatea aerului. La valoarea de peste 3000 de unit ăți a compuș ilor
volatili observ ăm declanșarea alarmei și a ventila ției precum și apar iția mesajului de eroare în
aplicația web .

Figur a 30 Testarea sistemului de alert ă

52

Partea IV – Concluzii și direcții viitoare de cercetare

53
8.Direcții viitoare și de cercetare

O direcție viitoare ȋn care putem pr ivi referitor la acest sistem este abordarea int eligenței
artificiale și bineȋnțeles a comenzii lor vocale. Pe viitor, această caracteristică ne-ar ajuta și mai
mult la economisirea timpului personal. Inteligența artificială are scopul de a ȋnvăța și repeta
obiceiurile utilizatorului de zi cu zi, ar put ea avea comanda asupra electrocasnicelor din locuință:
ar pregăti aparatul de cafea, ar opri mașina de spalat haine sau vase, ar seta automat mediul
ambient ul (lumin ă,temperatură și ventilație) în funcție de prefer ințele utilizatorului , ca să nu mai
vorbim de aspectul securității. Pentru siguranța noastră, inteligența artificială ar putea detecta
mișcări străine și ar avea o comandă integrată de a anunța organele de ordine(poliție ,ambulan ță și
pompieri) ȋn cazul unei situații de urgen ță.
În cazul întrerupe rii aliment ării cu energie electric ă a sistemulu i smart proiectat, acesta se
poate alimenta suplimentar și dintr -o surs ă auxiliară de ene rgie ti p UPS care are scopul de a ține
active pentru încă 2 ore serviciile de baz ă (iluminat de urgen ță, inchiderea sau deschiderea usilor,
ventilatia aerului ,securitate etc) .
9.Concluzii

Scopul aceste i lucrări a fost acela de a evidenția funcționalitatea, fiabilitate a,
adaptabilitatea, și nu ȋn ultimul rand, ușurința cu care se poate implementa și utiliza un sistem
smart pentru locuin ță. Din capitolele prezentate mai sus reiese faptul că printr -o investiție
minimă ȋntr-un astfe l de proiect smart putem beneficia de un sistem integrat care să funcționeze
la parametrii optimi pentru confortul personal.
Eficiența sistemulu i propus ȋn această lucrare se bazează pe ușurinta cu care se pot instala
componentele principale, m inima investiție alocată și consumul redus de energie. Factorul
principal care a stat la baza acestei idei a fost nevoia utilizatorilor de a deține și de a folosi un
sistem smart, folosindu -se ȋn același timp de dispozitivele pe care le dețin la momentul actual.
Datele se transmit ȋn timp real facilit ând astfel și monitorizarea securizată a acestora de către
utilizator.

54
Glos ar

Librăria = reprezintă o col ecție de funcții și metode care pot fi folosite fără a mai scrie cod
supliment ar19
TERMINAL= o aplicație care îi permite utilizatorului să comunice direct cu sistemul de operare
prin intermediul comenzilor20
RGB = Red Green Bl ue este un model de culori aditi v.21
API = Termenul API este un acronim și reprezintă „Interfața de programare a aplicațiilor”.22
REST = Representational State Transfer este un stil de arhitectură de aplicație care, în loc să
impună decizii asupra tehnologie i, preferă să definească un set de constrângeri la care sistemul să
adere. În felul acesta, detaliile de imple mentare se pot schimba ulterior, dar să se păstreze
avantajele care decurg din abordarea RESTful.23
URL = URL este prescurtarea de la Uniform Resou rce Locator și reprezintă adresa documentelor
și altor resurse de pe World Wide Web24
HTTP = Hypertext Transfer Protocol (HTTP) este un protocol la nivel de aplicație pentru
distributie, sisteme de colaborare, info rmare hyp ermedia25
GET = Metodă HTTP care ex trage o sursă26
NANO = este un ed itor de text încorporat pentru sistemele de operare LINUX27
IP = este un protocol care asigură un serviciu de transmitere a dat elor, fără c onexiune permanentă28

19A se vedea https://www.quora.com /What -is-a-Python -library -and-what-can-I-use-it-for. Acce sat la
18.06 2020.
20 A se vedea https://pentruprieteni.com/uti l/comenzi -linux-sinucigase -fereste -te-de-ele/. Accesat la
19.06.2020.
21 A se vedea https://www.google.com/amp/s/www.digitalcitizen.ro/ce -este-rgb-cum-este-folosit -dar-
iluminarea -rgb . Accesat la 19.06.2020
22 A se v edea https://www.nav. ro/blog/ce -este-un-api/. Acces at la 18.06. 2020.
23 De la Zero la RESTful în patru pași. Design de API – TSM . A se v edea
http://www.todaysoftmag.ro/a rticle/1744/de -la-zero-la-restful -in-patru -pasi-design -de-api. Acc esat la 18.
06. 2020 .
24 “Ce este un UR L? – DWF.ro .” 6 Feb. 2020, https://dwf.ro/blog/ce -este-un-url/. Acce sat la 18.06. 2020.
25 "Din tain ele web: Ce inseamna HTTP? | Blog | CREADIV." (2014 ), https://creadiv.ro/bl og/din -tainele –
web-ce-inseamna -http/. Accesat la 18.06. 2020 .
26 "REST API's – GirlsGoIT Wiki (ro)." (2018) , https://wiki.girlsgoit.org/backend/rest -apis. Accesat la
18.06. 2020.
27 “GNU nano – Wikipedia." https://en.wikipedia.org/wiki/GNU_nano . Accesat la 18.06.2020.
28 "Adresă IP – Wikipedia." https:// ro.wikipedia.org/wiki/Adres%C4% 83_IP . Accesat la 18.06.2020.

55
SENZOR = este un dispozitiv tehnic care re acționează calitativ sau cantitativ prin proprii mărimi
măsurabile, la anumite proprietăți fizice sau chimice ale mediului din preajma lui.29
MASTER / SLAVE = î nseamnă că dispozitivu l (circuitul ) digital master inițiază cuvân tul de date30
Interfata Serial ă = Este interfața utilizată pentru schimbul de date între computer și periferice .
Protocol = set de reguli și norme care permite ca două sau mai multe entități dintr -un sistem de
comu nicații să c omunice între ele prin transmit erea de informație .31

CLIENT – SERVER = Modelul client -server este o structură sau arhitectură aplicație distribuită
care partajează procesarea între furnizorii d e servicii numiți servere și elementele care solicită
servicii, numite clienți . 32

29 “Senzor – Wikipedia." https://ro.wikipedia.org/wiki/Senzor . Accesat la 18.06. 2020.
30 "Interfața serială SPI – Wikipedia."
https://ro.wikipedia.org/wiki/Interfa%C8%9Ba_serial%C4%83_SPI . Accesat la dat a de 18.06.2020.
31 "Protocol de comunicații – Wikipedia." https://ro.wikip edia.org/wiki/Protocol_de_comu nica%C8%9Bii .
Accesat la data de 18.06.2020.
32 "Client -server – Wikipedia." https://ro.wikipedia.org/wiki/Client -server . Accesat la data de 18.06.2020.

56
Biblio grafie

1) Razvan Deaconescu, Rețele local e, 2008;
2) Alex Bradbury, Learn ing Phyton with Raspberry PI, 2014;
3) Ethan J. Upton , Raspberry Pi: Ultimate Guide from beginner to pro, 2015;
4) Molloy D. ,Exploring Raspberry Pi : interfacing to the real world with embedd ed linux, 2016
5) John C. Shovi c , Raspberry Pi – IoT projects : prototyping experiments for makers, 2016;
6) Radu Pie traru, Proiecte Intern et of Things, 2017;
7) Anthony J. Dos Reis , Writing Interpreters and Compilers for the Raspberry Pi us ing Python ,
2017;
8) Peng Sheng -Lung, Pal, Souvik, Huang, Lianfen, Princip les of Internet of Things (IoT),
Ecosystem: Insight Par adigm.

57
Webografie:
1) www.wikipedia.ro ;
2) www.creadiv.ro ;
3) https://wiki.girlsgoit.org/backend/rest -apis;
4) https://dwf.ro/blog/ce -este-un-url/;
5) www.todaysoft mag.ro ;
6) https://www.nav.ro/blog/ce -este-un-api/;
7)https: //www.google.com/amp/s/www.digi talcitizen.ro/ce -este-rgb-cum-este-folosit -dar-
iluminarea -rgb;
8) https://pentruprieteni.com/util/comenzi -linux -sinucigas e-fereste -te-de-ele/;
9) https://www.quora.com/What -is-a-Python -library -and-what -can-I-use-it-for;
10) http://developer.commvaul t.com/commvault/v11/article?p=45 599.html ;
11)https://www.optimu sdigital.ro/ ;
12) https://qwi ic-ccs811 -py.readthedocs.io/en/ latest/?#installation ;
13)https://ardushop.ro/ro/home/ 121-modul -senzor -temperatura -i-umiditate –
digitaldht11.html?gclid=Cj0KCQjww_f2BRC –
ARIsAP3zarEbtAO_FMHsVVAaJKE6 6SyEoYwAy9wfJWFKZA4x40MVscn1J0WGfQaAkJIE
ALw_wcB
14) https:// learn.adafru it.com
15) https://profs.info.uaic.ro/~arduino/index.php/Comun icare_I2C

Similar Posts