Extensie magento pentru mobilier - profs.info.uaic.roalaiba/pub/absolvire/2016...

50
Cuprins Cuprins .................................................................................................................. 1 1. Introducere ................................................................................................................... 4 1.1 Formularea problemei.......................................................................................... 4 1.2 Soluții existente în prezent...................................................................................... 4 1.2.1 Securitate ...................................................................................................... 5 1.2.2 Energie .......................................................................................................... 6 1.2.3 Confort .......................................................................................................... 7 1.2.4 Sănătate ........................................................................................................ 7 2. Principalele bariere pe piață ...................................................................................... 9 2.1 Principalele elemente motivaționale ale pieței .................................................. 10 2.2 Studiu de caz: Nest................................................................................................. 11 2.2.1 Auto Schedule............................................................................................. 11 2.2.2 Auto Away .................................................................................................. 11 2.2.3 Time-to-Temperature................................................................................ 11 2.2.4 True Radiant ............................................................................................... 12 2.2.5 Leaf .............................................................................................................. 12 2.2.6 Energy History and Reports ...................................................................... 12 3. Tehnologii implicate .................................................................................................... 14 3.1 Introducere .............................................................................................................. 14 3.2 Componente ............................................................................................................ 15 3.2.1 Teren ........................................................................................................... 15 3.2.2 Sursa de apă ............................................................................................... 16 3.2.3 Aspersoare.................................................................................................. 17 3.2.4 Canalul de transport al apei ...................................................................... 18 3.2.4.1 Backyard center - Spatele curții centru (fig. 7) .............................. 20 3.2.4.2 Road side - Lateralul din nord (fig 8) ............................................. 20

Transcript of Extensie magento pentru mobilier - profs.info.uaic.roalaiba/pub/absolvire/2016...

Page 1: Extensie magento pentru mobilier - profs.info.uaic.roalaiba/pub/absolvire/2016 vara/raducan/Home... · celor mai simple procese, precum diminuarea luminilor atunci când se urmărește

Cuprins

Cuprins .................................................................................................................. 1

1. Introducere ................................................................................................................... 4

1.1 Formularea problemei.......................................................................................... 4

1.2 Soluții existente în prezent ...................................................................................... 4

1.2.1 Securitate ...................................................................................................... 5

1.2.2 Energie .......................................................................................................... 6

1.2.3 Confort .......................................................................................................... 7

1.2.4 Sănătate ........................................................................................................ 7

2. Principalele bariere pe piață ...................................................................................... 9

2.1 Principalele elemente motivaționale ale pieței .................................................. 10

2.2 Studiu de caz: Nest................................................................................................. 11

2.2.1 Auto Schedule ............................................................................................. 11

2.2.2 Auto Away .................................................................................................. 11

2.2.3 Time-to-Temperature ................................................................................ 11

2.2.4 True Radiant ............................................................................................... 12

2.2.5 Leaf .............................................................................................................. 12

2.2.6 Energy History and Reports ...................................................................... 12

3. Tehnologii implicate .................................................................................................... 14

3.1 Introducere .............................................................................................................. 14

3.2 Componente ............................................................................................................ 15

3.2.1 Teren ........................................................................................................... 15

3.2.2 Sursa de apă ............................................................................................... 16

3.2.3 Aspersoare .................................................................................................. 17

3.2.4 Canalul de transport al apei ...................................................................... 18

3.2.4.1 Backyard center - Spatele curții centru (fig. 7) .............................. 20

3.2.4.2 Road side - Lateralul din nord (fig 8) ............................................. 20

Page 2: Extensie magento pentru mobilier - profs.info.uaic.roalaiba/pub/absolvire/2016 vara/raducan/Home... · celor mai simple procese, precum diminuarea luminilor atunci când se urmărește

2

3.2.4.3 Backyard porch (fig. 9) ..................................................................... 21

3.2.4.4 Drive way - Placa auto (fig. 10) ....................................................... 21

3.2.4.5 Front - Fața casei (fig. 11) ................................................................. 22

3.2.4.6 Backyard sides - Lateral-spate (fig. 12) .......................................... 22

3.2.4.7 Inside lane – lateral (fig. 13) ............................................................. 23

3.2.5 Electrovalve ................................................................................................ 24

3.2.6 Sistem de interfață hardware ................................................................... 25

3.2.6.1 Elemente ............................................................................................. 25

3.2.6.2 Schema fizică (aproximativă) (fig. 17) ............................................ 27

3.2.6.3 Schema electrică (fig. 18) .................................................................. 27

3.2.6.4 Aplicația de bază Arduino ............................................................... 28

3.2.6.5 Posibilitatea accesării interfeței hardware de la distanță ............ 28

3.2.7 Server .......................................................................................................... 33

3.2.7.1 Funcții de baza pentru server-ul PHP: ........................................... 36

3.2.7.1.1 getAllPins() ................................................................................. 36

3.2.7.1.2 changePinState($pinId, $state) ................................................. 36

3.2.7.1.3 sendArduinoCommand($cmd) ................................................ 37

3.2.8 Interfața grafică .......................................................................................... 39

3.2.8.1 Pagina de început (en. Home) (fig. app1) ...................................... 39

3.2.8.1.1 Meniul aplicației (fig. app2) ..................................................... 40

3.2.8.1.2 Harta interactivă a gospodăriei (fig. app3) ............................ 41

3.2.8.1.3 Starea și controlul aspersoarelor (fig. app6)........................... 44

3.2.8.2 Editarea planului gospodăriei (en. Edit house plan) (fig. app9) 46

3.2.8.3 Editarea aspersoarelor (en. Edit sprinklers) (fig. app10) ............. 47

3.2.9 Interfața pentru mobil ............................................................................... 48

Page 3: Extensie magento pentru mobilier - profs.info.uaic.roalaiba/pub/absolvire/2016 vara/raducan/Home... · celor mai simple procese, precum diminuarea luminilor atunci când se urmărește

3

4 Concluzie ........................................................................................................................ 49

5. Direcții de îmbunătățire/extindere ........................................................................... 49

6. Bibliografie .................................................................................................................... 50

Page 4: Extensie magento pentru mobilier - profs.info.uaic.roalaiba/pub/absolvire/2016 vara/raducan/Home... · celor mai simple procese, precum diminuarea luminilor atunci când se urmărește

4

1. Introducere

1.1 Formularea problemei

O dată cu dezvoltarea tehnologiei, s-a simțit nevoia tot mai accentuată de a automatiza orice proces repetitiv din viața de zi cu zi. Scopul principal a-l acestui fenomen este de a economisi timp, într-o lume în care 24 de ore dintr-o zi par prea puține.

Ideea de automatizare a locuinței a apărut însă din varii motive:

· necesitatea economiei de timp, mergând pe principiul: dacă o activitate dureaza mai mult de 15 minute, trebuie găsită o soluție automată;

· expansiunea economică și mai ales cea tehnologică, impunând un progres în toate aspectele vieții de zi cu zi, nu doar în sfera IT;

· eficientizarea resurselor folosite, având posibilitatea creării de statistici și rapoarte, care să permită evitarea folosirii resurselor în mod ineficient.

Fiind un concept relativ nou, automatizarea locuinței constituie un subiect de interes, căutându-se noi moduri de a oferi sisteme stabile, mulate pe nevoile utilizatorului, la un preț accesibil.

Majoritatea sistemelor de acest gen sunt costisitoare. Lucrarea de față prezintă o soluție de automatizare a sistemului de irigat pentru o locuință, cu un cost relativ scăzut, cu posibilitatea extinderii proceselor de automatizare suportate.

1.2 Soluții existente în prezent

Automatizarea locuinței permite utilizatorilor să se conecteze, să monitorizeze și să controleze toate utilitățile dintr-o casă, prin intermediul unor interfețe intuitive și ușor de folosit. Datorită numeroaselor procese care pot fi automatizate într-o locuință, putem împărți procesele care stau la bază în patru categorii: (fig. 2)

● Securitate; ● Energie; ● Confort; ● Sănătate.

Deși reprezintă o ramură relativ nouă, conform rapoartelor realizate de Consumer Electronics Association (CEA), 10% din casele nou construite în Statele Unite ale Americii în 2011 aveau instalate sisteme de automatizare, observându-se o tendință crescătoare față de 2010, în care doar 5% dintre locuințe beneficiau de un astfel de

Page 5: Extensie magento pentru mobilier - profs.info.uaic.roalaiba/pub/absolvire/2016 vara/raducan/Home... · celor mai simple procese, precum diminuarea luminilor atunci când se urmărește

5

sistem. Pornind de aici, experții au estimat o creștere a industriei inerentă, atât în America, cât și în Europa, conform statista.com.1(fig. 1)

(fig.1 – valoare investițiilor în domeniul automatizării la nivel global)

Pe lângă aspectele legate de folosirea mai eficientă a resurselor prin intermediul proceselor automate (și îmbunătățirea folosirii resurselor naturale globale), apar argumentele financiare, care au reușit să convingă prin scăderea cheltuielilor dintr-o gospodărie. Pornind de la automatizarea sistemului de iluminat, îmbunătățind timpul de folosire și implicit consumul, la senzori de căldură sau umiditate pentru centrală sau aparatul de aer condiționat, la sisteme de securitate și de monitorizare, economiile rămase schimbând ideea de automatizare a locuinței de la moft la necesitate.

1.2.1 Securitate

Deși în SUA numărul caselor care dețin un sistem de securitate în locuință este mai mare decât în Europa, această piață devine din ce în ce mai mare și în țările Europene. În general, partea de securitate dintr-o locuință este reprezentată de camere de supraveghere și/sau alarme, dotate cu senzori de mișcare.

Conectarea sistemelor de securitate la rețea are numeroase avantaje. Sistemul oferă în general posibilitatea verificării în timp real a camerelor instalate sau informații legate de starea curentă, notificarea utilizatorului prin sms sau email, ori a unor evenimente neobișnuite identificate de sistem. Evenimente precum detecții de mișcare sau deschiderea ușilor sau a geamurilor fără a fi programate anterior, pot fi, de asemenea, stocate în jurnale/baze de date, ce pot fi salvate local sau online.

1https://www.statista.com/outlook/280/109/home-automation/united-states#market-

revenue

Page 6: Extensie magento pentru mobilier - profs.info.uaic.roalaiba/pub/absolvire/2016 vara/raducan/Home... · celor mai simple procese, precum diminuarea luminilor atunci când se urmărește

6

Un alt mod de implementare a părții de securitate din locuință o reprezintă folosirea senzorilor de detecție a scurgerilor de gaz sau de apă, permițând utilizatorului să ia măsuri din primul moment, chiar dacă se află departe de casă în momentul producerii evenimentului. Mergând pe aceeași cale, o altă componentă foarte utilă o reprezintă detectorul de fum. Spre deosebire de detectorul de fum obișnuit, unul conectat la rețea anunță proprietarul, care poate verifica starea locuinței prin intermediul unei camere web și poate acționa în consecință.

Omul modern este de acord să plătească pentru a se asigura că totul este în regulă în locuința sa, atât în momentele în care se află în aceasta, cât și atunci când este plecat, lăsând loc developerilor să îmbunătățească sistemele existente și să vină cu inovații în domeniu. Partea de securitate pare să fie punctul de intrare către automatizarea locuinței, motivațiile unei astfel de decizii fiind simplu de justificat iar rezultatele fiind vizibile imediat.

1.2.2 Energie

Partea de control a energiei prin intermediul unui sistem automat este reprezentată de

monitorizarea și controlul consumului de energie din locuință. Principalii consumatori

dintr-o locuință sunt sistemul de iluminat, sistemul de răcire sau de încălzire, sistemul

de irigare, electrocasnicele (frigider, cuptor, mașina de spălat). Un astfel de sistem

aduce beneficii atât utilizatorului direct, prin reducerea valorii facturilor, planetei, prin

eficientizarea consumului și minimizarea pierderilor, cât și prestatorului de servicii,

întrucât niciun furnizor nu poate asigura serviciul prestat în proporție de 100% pentru

toti utilizatorii în același timp. S-a pus din ce în ce mai mult accent în ultimii ani pe

partea de optimizare a consumului resurselor, fiind nevoiți să stopăm un comportament

risipitor, o soluție fiind chiar adoptarea unui astfel de sistem de automatizare și

conectare a locuinței. Pe lângă posibilitatea opririi de la distanță a apei uitate deschise

sau a pornirii sistemului de încălzire/răcire doar atunci când este nevoie (bazându-se

pe senzori sau pornirea doar înainte de a ajunge acasă în detrimentul lăsării aparatelor

pornite o perioadă de timp îndelungată), un astfel de sistem poate oferi diferite statistici

despre consumul real și cel strict necesar.

Page 7: Extensie magento pentru mobilier - profs.info.uaic.roalaiba/pub/absolvire/2016 vara/raducan/Home... · celor mai simple procese, precum diminuarea luminilor atunci când se urmărește

7

1.2.3 Confort

Confortul a devenit o stare din ce în ce mai greu de găsit, mai ales într-o lume guvernată

de stres și termene limită. Un sistem care îți poate aduce un plus de confort în viața de zi

cu zi pare să devină o necesitate. Sisteme automate care permit controlul de la distanță

a încălzirii/răcirii, iluminatului, sistemului de irigații aduc nu doar o stare de confort,

dar reduc și timpul consumat cu treburi casnice, îmbunătățind aproape instant

condițiile de viață. Închiderea geamurilor de acasă atunci când utilizatorul se află la

serviciu și începe o ploaie puternică poate aduce un sentiment de relaxare și permite un

grad de concentrare mai mare la locul de muncă.

Mergând chiar mai departe în acest domeniu, putem vorbi despre o automatizare a

celor mai simple procese, precum diminuarea luminilor atunci când se urmărește un

film documentar dar închiderea completă a luminii și chiar a draperiilor atunci când

este vorba despre un film horror. Putem astfel observa că ramurile de automatizare a

unei locuințe se pot extinde în orice aspect a vieții de zi cu zi, lăsând programatorilor un

domeniu foarte vast de dezvoltare.

1.2.4 Sănătate

Costurile asociate asistenței medicale în lumea dezvoltată au un trend ascendent, spre

exemplu Statele Unite ale Americii folosind mai bine de 17.1% din produsul intern brut

pe sănatate. Această creștere a fost condiționată în anii recenți de mai mulți factori,

dintre care cei mai importanți fiind o populație din ce în ce mai bătrână a planetei și o

incidență din ce în ce mai mare a unor boli cronice cum ar fi diabetul și hipertensiunea.

Există o dorință clară din partea guvernelor de a gestiona și de a reduce costurile

sănătății și în acelați timp, o dorință a persoanelor în vârstă de a ieși din locuințele lor

cât mai rar posibil.

Aceste obiective pot fi realizate cu ajutorul unor dispozitive ce permit diagnosticarea și

consultarea pacienților la distanță. O serie întreagă de astfel de servici la distanță sunt

Page 8: Extensie magento pentru mobilier - profs.info.uaic.roalaiba/pub/absolvire/2016 vara/raducan/Home... · celor mai simple procese, precum diminuarea luminilor atunci când se urmărește

8

deja testate, precum transmiterea de date biometrice cum ar fi tensiunea, glicemia,

ritmul cardiact. Aceste date sunt trimise către centre medicale și de asemenea către

centre de supraveghere ce pot monitoriza în timp real pe cei bătrâni. Există de

asemenea potențial la accesul unui consult de specialitate prin comunicarea printr-un

canal de înaltă calitate.

Din păcate, piața asistenței medicale este una foarte complexă și foarte

fragmentată, ce poate fi accesată în mare măsura prin canale B2B (business-to-

business). Piața are un potențial foarte mare, dar va mai dura până aceasta va deveni

disponibilă publiclui larg.

Page 9: Extensie magento pentru mobilier - profs.info.uaic.roalaiba/pub/absolvire/2016 vara/raducan/Home... · celor mai simple procese, precum diminuarea luminilor atunci când se urmărește

9

2. Principalele bariere pe piață

Categoria de produse pentru automatizarea unei gospodării nu a intrat încă pe piață pentru publicul larg. În trecut fiecare producător și-a creat propriul sistem de gestionare, chiar deseori și propriul protocol de comunicare. Astăzi aceste sisteme nu pot comunica între ele. Mai mult, multe din acestea necesită instalarea de către companii specializate. Toate aceastea fac conceptul de automatizare al gospodariei să nu fie așa de cunoscut de către utilizatorii de rând.

În mod general, sistemele de automatizări sunt promovate numai la construcții noi sau la cele de lux. Acest fapt doar confirmă pentru utilizatorii normali că astfel de sisteme sunt scumpe și destinate locuințelor de lux. De asemenea, consumatorii nu înțeleg foarte ușor care sunt beneficiile unui astfel de sistem. De exemplu, pontențialul de a ajunge la o reducere de la 5% la 10% la facturile de energie nu pare să fie un motiv destul de convingător pentru a justifica investirea într-un sistem de gestiune a energiei.

În concluzie principalele bariere de pe piață sunt:

● Lipsa unor protocoale standardizate pentru inter-operabilitatea dintre sistemele deja existente;

● Nevoia de instalare de către o persoană specializată; ● Lipsa de conștientizare a consumatorilor; ● Percepția precum că aceste sisteme sunt costisitoare și complexe, destinate doar

pentru locuințele de lux; ● Beneficii concrete insuficiente.

Page 10: Extensie magento pentru mobilier - profs.info.uaic.roalaiba/pub/absolvire/2016 vara/raducan/Home... · celor mai simple procese, precum diminuarea luminilor atunci când se urmărește

10

2.1 Principalele elemente motivaționale ale pieței

Conectivitatea la internet de tip broadband a ajuns să fie un lucru comun în zilele noastre. În 2016 mai bine de 46% din populația pământului era conectată la internet printr-o conexiune de tip broadband2. Conectivitatea la internet va continua să fie îmbunătățită prin dezvoltarea infrastructurii terestre (transportul datelor prin canale de fibra de sticlă sau cablu coaxial) cât si prin mediul fără fir prin tehnologii ca 4G/LTE. Această conectivitate este esențială pentru că face posibilă monitorizarea și controlul de la distanță și de asemenea oferă posibilitatea folosirii puterii computațională și a

flexibilității unei platforme de tip „cloud computing”.

Mișcarea ecologică este de asemenea un jucător foarte important pe piața management-ului energiei. Conform unui raport realizate de către Departamentul de Energie din cadrul Statelor Unite alte Americii, gospodăriile sunt responsabile pentru 25% din consumul de energie al țării. Același raport arăta că dacă s-ar respecta normele de conservare a energiei sugerate de Departament, costurile ar putea fi reduse cu 50%.

Gospodăriile vor trebui să devină mai „inteligente” pentru a gestiona consumul de energie mai bine. Consumatorii sunt dispuși acum să controleze și/sau să reducă consumul de energie, nu doar din motive economice dar și din motive sociale/civice.

Reglementările vor juca de asemenea un rol important în încurajearea sistemelor

„inteligente” de gestionare a gospodăriilor. De exemplu în Germania, guvernul a introdus o lege care cere ca până la finele anului 2020 toate centralele nucleare să fie desființate. În Marea Britanie guvernul a stipulat că până în 2019 toate locuințele

trebuie să fie dotate cu aparate de măsura al utilităților de tip Smart („inteligent”).

Consumatorii sunt foarte obișnuiți să controleze foarte multe aspecte din viața lor folosind ecrane personale, fie ele de pe telefone mobile, tablete sau calculatoare personale. Așadar ar trebuie să fie destul de natural pentru utilizatori să iși extindă folosirea acestor dipozitive pentru controlul gospodăriei. Numărul din ce în ce mai mare de ecrane în locuințe face foarte ușoară integrarea serviciilor de tip automatizare în casă. Nu mai este necesar instalarea de aparatură specializată pentru aceasta, întrucât ecranele pot fi folosite pentru mai multe aplicații simultan, astfel reducând considerabil consturile inițiale.

În concluzie, principalele elemente motivaționale ale pieței sunt:

● Raspândirea globală a conectivității de tip broadband pentru controlul la distanță;

● Tendințe ecologice pentru eficientizarea consumului de energie; ● Reglementări guvernamentale ce încurajează reducerea consumului; ● Obișnuința utilizatorilor cu controlul dispozitivelor folosind ecrane de control.

2 Conform datelor publicate la adresa http://www.ispreview.co.uk

Page 11: Extensie magento pentru mobilier - profs.info.uaic.roalaiba/pub/absolvire/2016 vara/raducan/Home... · celor mai simple procese, precum diminuarea luminilor atunci când se urmărește

11

2.2 Studiu de caz: Nest

Nest este un sistem care oferă un termostat ușor de folosit, eficient în distribuirea energiei, care se programează singur și care reduce temperatura în mod automat atunci când utilizatorii sunt plecați de acasă sau când dorm.

Termostatul este oferit cu o serie de funcții ce permit eficientizarea energiei termice folosite pentru încălzirea unui spațiu:

● Auto-Schedule - programarea automată; ● Auto-Away - modul de detecție a persoanelor din spațiu; ● Time-to-Temperature - timpul până la o anumită temperatură; ● True Radiant - calculul de distribuție al energiei termice; ● Leaf - încurajarea folosiri cât mai ecologică a energiei; ● Energy History and Report - Istoric și statistici ale energiei folosite.

2.2.1 Auto Schedule

Termostatul învață în mod automat orarul de zi cu zi al utilizatorului, bazându-se pe temperaturile cerute de către acesta. Folosind un algoritm automat de învățare, termostatul creează un orar în care poate să reducă temperatura cât timp utilizatorii sunt plecați sau dorm, astfel reușind să facă economie la energia termică folosită fără a scădea nivelul de comfort.

2.2.2 Auto Away

Acest sistem detectează când cineva părăsește locuința, fie pentru câteva ore sau pentru

câteva zile. Datele de la senzorii interni sunt interpretate pentru a afla gradul de

ocupare a casei. Când aceste date indică întru-un mod statistic destul de pronunțat că

cineva se află în spațiu, termostatul va suprascrie orarul normal de lucru. În timpul unui

ciclu „Away”, temperatura țintă este redusă la o valoare definită de către utilizator, unde

se poate realiza încălzirea spațiului într-un mod eficient și economic. Modul „Away”

poate fi setat și în mod manual pe termostat sau folosind aplicația de mobil de la Nest.

Chiar dacă modul „Auto-Away” este dezactivat, utilizatorii pot folosi controlul la

distanță pentru a conserva energia termică când nu sunt în locuință.

2.2.3 Time-to-Temperature

Această funcție calculează și afișează în timp real o estimare a timpului rămas

pentru a modifica o temperatură spre o anumită valoare. În mod tradițional, utilizatorii

setează o valoarea mult mai mare decât cea dorită, sperând ca astfel să grăbească timpul

Page 12: Extensie magento pentru mobilier - profs.info.uaic.roalaiba/pub/absolvire/2016 vara/raducan/Home... · celor mai simple procese, precum diminuarea luminilor atunci când se urmărește

12

de schimbare al temperaturii. Acest mod este ineficient. „Time-to-temperature” oferă o

asigurare utilizatorului, astfel descurajând comportamentul risipitor.

2.2.4 True Radiant

Acest sistem se folosește de Time-to-Temperature pentru a decide când încălzirea ar

trebui să înceapă pentru a ajunge la temperatura dorită conform orarului de pe

termostat. Algoritmul de învățare poate să determine într-un mod destul de precis când

să pornească elementele de încălzire pentru a ajunge la temperatura potrivită la timpul

potrivit. Algoritmul se bazează pe informații despre casă, despre sistemul de încălzire

cât și pe informații despre vreme. Acest sistem poate să conserve o cantitate

considerabilă de energie.

2.2.5 Leaf

Termostatul Nest încurajează utilizatorii să aleagă o temperatură ce este cât mai

eficientă prin afișarea unei frunze verzi în dreptul temperaturii. Temperaturile eficiente

sunt specifice pentru fiecare gospodărie in parte, fiind dependentă de casă și de

obiceiurile utilizatorilor.

2.2.6 Energy History and Reports

Istoricul energiei afișează prin comparație gradul de utilizare al încălzirii în ultimile 10

zile, astefel încât utilizatorii își pot da seama cât au folosit și de ce. Prin aceste statistici

utilizatori pot să înțeleagă mai bine gradul de utilizare al sistemului și cum să îl

eficientizeze mai departe. Nest Energy Report este reprezentat de un email trimis odată

pe lună fiecarui utilizator conectat. Raportul cuprinde un sumar asupra lunii precedente

și sfaturi cu privire la economisirea energiei. Comparând utilizatorii între ei și cu ei

însiși lună de lună, aceștia sunt încurajați să devină și mai eficienți.

Termostatul Nest vine cu o variație de sisteme „inteligente” și automate care pot ajuta

utilizatorii să fie mai eficienți în folosirea energiei pentru a încălzi un spațiu. În funcție

Page 13: Extensie magento pentru mobilier - profs.info.uaic.roalaiba/pub/absolvire/2016 vara/raducan/Home... · celor mai simple procese, precum diminuarea luminilor atunci când se urmărește

13

de casă și clima utilizatorilor, aceștia pot observa o scădere la facturile de încălzire de la

4% la 29%.3

● 3 White paper: Nest Learning Thermostat Efficiency - Simulation for the U.K. -

Nest Labs April 2014

Page 14: Extensie magento pentru mobilier - profs.info.uaic.roalaiba/pub/absolvire/2016 vara/raducan/Home... · celor mai simple procese, precum diminuarea luminilor atunci când se urmărește

14

3. Tehnologii implicate

3.1 Introducere

Pentru a determina fezabilitatea unor servicii de tip „home automation” s-a dorit

găsirea unei activități casnice ce ar putea fi îmbunătățită prin automatizare: s-a ales

sistemul de irigat al unei locuințe din mediul urban (cu vegetația preponderentă de tip

gazon). Această activitate casnică poate fi imbunătățită în 3 din cele 4 categorii care stau

la baza automatizării:

● Confort

○ Pentru o suprafață de aproximativ 300 m2 este nevoie de o oră - o oră

jumătate pentru a uda omogen toată suprafața cu un furtun standard de

grădină. Tot procesul este manual, utilizatorul trebuind să sacrifice în

totalitate timpul pentru această activitate.

○ Gazonul urban poate fi un tip de vegetație foarte pretențios. Dacă nu este

udat la timp și/sau în cantitatea ideală, acesta poate să se ofilească.

Menținerea unui orar zilnic fix poate fi dificilă.

● Energie

○ Folosind senzori de umiditate, temperatură și de asemenea informații

meteo în timp real, se poate determina nivelul minim (optim) de apă ce

trebuie folosită pentru a iriga suprafața.

○ Folosirea mai multor senzori/statistici pe subdiviziuni ale terenului, se

poate crea un sistem de rație prin care fiecare zonă poate să primească

cantități diferite de apă.

● Sănătate

○ Prin irigarea corectă se va menține un nivel de praf scăzut în jurul

locuinței, astfel ajutând la afecțiuni de tip pulomonar.

○ Persoanele în vârstă pot beneficia de un asftel de sistem fiind scutiți de

efort fizic inutil.

Page 15: Extensie magento pentru mobilier - profs.info.uaic.roalaiba/pub/absolvire/2016 vara/raducan/Home... · celor mai simple procese, precum diminuarea luminilor atunci când se urmărește

15

3.2 Componente

Pentru irigarea vegetației este nevoie de următoarele sisteme:

● Teren cu vegetație;

● O sursă de apă capabilă să alimenteze un sistem de aspersoare;

● Un canal de transport al apei de la sursă la aspersoare;

● Dispozitive de tip aspersoare ce pot sa împartă apa în mod uniform pe o

suprafață cât mai mare;

● Un sistem de electrovalve capabile să deschidă si să inchida un circuit de apă,

primind comanda în mod electronic;

● Un sistem de interfață între electrovalve și senzori, și sistemul informatic de

control;

● Un sistem informatic de control de tip server care să controleze toate aspectele

de logică;

● O interfață grafică de control prin care se poate verifica și gestiona întreg

sistemul.

3.2.1 Teren

Pentru proiectul curent va trebui irigat un teren cu dimensiunea de 512m2, dintre care

aproximativ 320m2 sunt cu vegetație de tip gazon ce necesită apă în mod curent (fig. 3).

(fig. 3 – schiță teren)

Page 16: Extensie magento pentru mobilier - profs.info.uaic.roalaiba/pub/absolvire/2016 vara/raducan/Home... · celor mai simple procese, precum diminuarea luminilor atunci când se urmărește

16

3.2.2 Sursa de apă

Tot sistemul se bazează pe disponibilitatea unei surse de apă cu un debit și cu o

presiune suficientă pentru a alimenta aspersoarele de apă. Există două posibile astfel de

surse: conectarea la sistemul central de distribuție al apei sau prin conectarea la un

sistem propriu (puț / fântână / rezervor de colectare a apei de ploaie). Proiectul curent

s-a folosit de sursa de la serviciul public de apă potabilă.

Pentru a calcula debitul de apă furnizat de către rețea s-a cronometrat timpul necesar

umplerii unui recipient de 1L de apă: 11.4 secunde; debitul de apă în mod standard este

exprimat în litri pe secundă (L/sec), astfel la locul de aplicare al proiectului curent

debitul este de 0,087L/sec.

Presiunea locală se poate afla foarte ușor folosind un aparat des întâlnit în gospodării:

centrala de încălzire. Toate centralele sunt prevăzute cu un barometru ce măsoară

presiunea apei în instalația de încălzire. De asemenea, centralele mai sunt prevăzute cu

un robinet de umplere al circulitului de încălzire, ce permite alimentarea cu apă a

centralei. Prin deschiderea la maximum al acestui robinet, si așteptând ca instalația să

se echilibreze (aproximativ 5 minute), se poate afla valoarea presiunii de pe rețea.

Astfel, pentru proiectul în cauză s-a observat o presiune de aproximativ 2.8 bar. După

efectuarea acestei proceduri trebuie refăcută presiunea normală a centralei, conform

specificațiilor tehnice, date de producator.

Page 17: Extensie magento pentru mobilier - profs.info.uaic.roalaiba/pub/absolvire/2016 vara/raducan/Home... · celor mai simple procese, precum diminuarea luminilor atunci când se urmărește

17

3.2.3 Aspersoare

Aspersoarele sunt dispozitive de irigații care distribuie apa peste o suprafata de teren.

Acest termen este generic pentru mai multe categorii de aspersoare: spray, rotor, cu

impact etc.Pentru proiectul curent, s-au ales două aspersoare din gama oferita de firma

Gardena:

● S 80 (fig. 4)

○ Acesta este un dispozitiv de tip spray, ce distribuie apa sub

forma unei flori, având capacitatea de a acoperi deodată o

suprafață radială cu raza cuprinsă între 2,5m și 5m.

Sectorul pe care se face udarea este de asemenea

configurabil de la 5 la 360 de grade.

○ Aspersorul este îngropat în pământ până la nivelul

capătului superior. Când este sub presiune, acest capăt se

extinde 10cm în sus, permițând udarea peste vegetația din

jur.

○ Presiunea de lucru este de minimum 2 bar.

○ Debitul curent permite instalarea în paralel a 4 astfel de

aspersoare pe un singur tronson.

○ Avantaje

■ Puterea mare de udare

■ Timp redus necesar pentru irigarea

unei suprafețe

■ Dimensiuni reduse

■ Durabilitate

■ Conectivitate standard

○ Dezavantaje

■ Raza relativ mică de udare

■ Necesită un debit destul de mare

(fig. 4 – aspersor S 80)

Page 18: Extensie magento pentru mobilier - profs.info.uaic.roalaiba/pub/absolvire/2016 vara/raducan/Home... · celor mai simple procese, precum diminuarea luminilor atunci când se urmărește

18

● T 200 (fig. 5)

○ Acesta este un aspersor de tip rotativ, ce oscilează un debit de apă sub

forma unui jet. Are capacitatea de irigare cu o raza

reglabilă de la 5 la 8m, cu unghiul de bariere reglabil între

25 și 360 de grade.

○ Aspersorul este îngropat în pamânt până la nivelul

capătului superior. Când este sub presiune, acest capăt se

extinde 10cm în sus, permițând udarea peste vegetația din

jur.

○ Avantaje

■ Puterea mare de udare

■ Raza relativ mare de udare

■ Durabilitate

■ Conectivitate standard

■ Se livreaza cu 4 duze care pot fi schimbate pentru debite diferite

○ Dezavantaje

■ Necesită o presiune destul de mare pentru a funcționa corect

■ Timp ridicat necesar pentru irigarea unei suprafețe

Datorită tipului diferit de funcționare al celor două aspersoare, acestea nu se pot

conecta în paralel pe aceeași conductă.

3.2.4 Canalul de transport al apei

Odată stabilită sursa de apă și tipul de aspersoare ce vor fi folosite, se pot planifica

conductele de apă. Pentru proiectul curent s-au aflat următoarele restricții:

● Pentru traseele cu aspersoare de tip S80 se pot monta maximum 4 în paralel.

● Pentru traseele cu aspersoare de tip T200 se pot monta maximum 2 în paralel.

Pentru o irigare eficientă s-a dorit să se facă o acoperire head-to-head, ceea ce înseamnă

că orice aspersor trebuie să aibă raza de acțiune minimă astfel încât apa de la el să

ajungă la primul aspersor vecin. Prin acestă metodă se asigură că fiecare suprafață este

udată de două aspersoare separate.

Analizând suprafața disponibilă de teren pentru irigat s-a realizat următorul plan (fig.

6):

(fig. 5 – aspersor T200)

Page 19: Extensie magento pentru mobilier - profs.info.uaic.roalaiba/pub/absolvire/2016 vara/raducan/Home... · celor mai simple procese, precum diminuarea luminilor atunci când se urmărește

19

(fig. 6 – plan irigare teren)

Page 20: Extensie magento pentru mobilier - profs.info.uaic.roalaiba/pub/absolvire/2016 vara/raducan/Home... · celor mai simple procese, precum diminuarea luminilor atunci când se urmărește

20

Planul conține 7 trasee:

3.2.4.1 Backyard center - Spatele curții centru (fig. 7)

(fig. 7 – Traseu aspersoare I)

○ Spațiul este unul foarte mare, așa că s-a folosit un singur aspersor T200

configurat pentru un unghi de 180 de grade.

3.2.4.2 Road side - Lateralul din nord (fig 8)

(fig. 8 – Traseu aspersoare II)

○ Spațiul este unul îngust (maximum 3m), așa că s-au folosit 4 aspersoare

S80 (180 - 180 - 90 - 5 grade).

Page 21: Extensie magento pentru mobilier - profs.info.uaic.roalaiba/pub/absolvire/2016 vara/raducan/Home... · celor mai simple procese, precum diminuarea luminilor atunci când se urmărește

21

3.2.4.3 Backyard porch (fig. 9)

(fig. 9 – Traseu aspersoare III)

○ Spațiul este unul mediu ca dimensiune, așa că s-au folosit 3 aspersoare

S80 la 180 de grade.

3.2.4.4 Drive way - Placa auto (fig. 10)

(fig. 10 – Traseu aspersoare IV)

○ Spațiul este extram de îngust (1m) și destul de mic în lungime (3m)

○ S-au folosit 4 aspersoare S80 configurate la 5 grade, unul în fața celuilalt.

Page 22: Extensie magento pentru mobilier - profs.info.uaic.roalaiba/pub/absolvire/2016 vara/raducan/Home... · celor mai simple procese, precum diminuarea luminilor atunci când se urmărește

22

3.2.4.5 Front - Fața casei (fig. 11)

(fig. 11 – Traseu aspersoare V)

○ Spațiul este unul foarte mare, așa că s-a folosit un singur aspersor T200

configurat pentru un unghi de 180 de grade.

3.2.4.6 Backyard sides - Lateral-spate (fig. 12)

(fig. 12 – Traseu aspersoare VI)

○ Spațiul este unul foarte mare, așa că s-au folosit două aspersoare T200

configurate pentru un unghi de 90 de grade.

Page 23: Extensie magento pentru mobilier - profs.info.uaic.roalaiba/pub/absolvire/2016 vara/raducan/Home... · celor mai simple procese, precum diminuarea luminilor atunci când se urmărește

23

3.2.4.7 Inside lane – lateral (fig. 13)

(fig. 13 – Traseu aspersoare VII)

○ Spațiul este unul îngust (maximum 3m), așa că s-au folosit 4 aspersoare

S80 (90 - 180 - 180 - 180 grade).

Pentru transportarea apei s-a folosit o țeavă PE80 cu diametru de 25cm pentru a

asigura un debit suficient. S-a ales acest tip deoarece prezintă o rezistență optimă la

stress-cracking cu fiabilitate mare în timp a conductelor sub presiune, rezistență bună la

temperaturi scăzute, flexibilitate mare, caracteristici hidraulice optime care se mențin

constante în timp, rugozitate foarte scăzuta, ceea ce face ca aceste tuburi să intre în

categoria tuburilor netede și se îmbină sigur și simplu.

Pentru accesorii de conectare a pieselor s-au folosit racoduri de presiune precum, coturi

L, coturi T și accesorii flexibile pentru racordarea aspersoarelor.

Toată instalația a fost îngropată la o adâncime de aproximativ 40 de cm, astfel asigurând

un mic strat de pământ pe post de termoizolație. Deoarece adâncimea nu este foarte

mare, pe timp de iarnă instalația se va goli folosind aer comprimat.

Page 24: Extensie magento pentru mobilier - profs.info.uaic.roalaiba/pub/absolvire/2016 vara/raducan/Home... · celor mai simple procese, precum diminuarea luminilor atunci când se urmărește

24

3.2.5 Electrovalve

Pentru oprirea și pornirea apei s-au folosit 7 electrovalve (fig. 14). Acestea sunt niște

dispozitive ce conțin o valvă („robinet”) ce este acționată de către o bobină

electromagnetică. Dacă electrovalva este alimentată cu energie electrică, atunci valva se

deschide și permite trecerea apei. În cazul unei pene de curent, ea revine la starea de

normal-închis. Pentru proiectul curent s-au folosit 7 electrovalve Rain RN 155 Plus.

Acestea funcționează cu o sursă de curent alternativ de 25V.

(fig. 14 – Electrovalve)

Page 25: Extensie magento pentru mobilier - profs.info.uaic.roalaiba/pub/absolvire/2016 vara/raducan/Home... · celor mai simple procese, precum diminuarea luminilor atunci când se urmărește

25

3.2.6 Sistem de interfață hardware

3.2.6.1 Elemente

Pentru a face legătura dintre lumea fizică (hardware) și cea virtuală (software) s-a

folosit o placă de dezvoltare Arduino (fig. 15). Această placă este bazată pe

microcontrolere, ce sunt ușor programabile

printr-o interfață și un limbaj special creat

de către Arduino. Scopul platformei este de

a pune la dispoziție utilizatorilor pini de

intrare/ieșire (digitali și analogici) care pot

fi interfațați cu o gamă variată de alte

plăcuțe, numite shield-uri.

Pentru proiectul curent s-a ales o placă de

tip Arduino Mega. Ea este bazată pe un microcontroller ATmega1280, avânt viteza de

16Mhz. S-a ales această platformă pentru:

Numărul mare de pini de intrare/ieșire (54);

● Memoria extinsă de 128Kb, permițând rularea de programe complexe chiar pe

placa Arduino;

● Comunitatea extinsă în jurul produselor Arduino;

● Stabilitatea sistemul de operare în timp.

Ca suport adițional s-au mai folosit următoarele

componente:

● Arduino WIFI Shield (fig. 16)

○ Permite conectearea la o rețea wireless

folosind protocoalele WIFI 802,11b/g.

○ Suport module de encriptare WEP și WPA2

Personal.

● Placă cu 8 relee

○ Un releu este un întrerupător ce poate fi comandat electronic.

○ Deoarece electrovalvele necesită un curent mai mare (24V) decât poate fi

suportat de placa Arduino (max 5V), comanda electrovalvelor trebuie

făcută prin cadrul unui circuit separat, reprezentat de relee capabile să

(fig. 15 – placă Arduino)

(fig. 16 - Shield Arduino WiFi)

Page 26: Extensie magento pentru mobilier - profs.info.uaic.roalaiba/pub/absolvire/2016 vara/raducan/Home... · celor mai simple procese, precum diminuarea luminilor atunci când se urmărește

26

suporte un curent de 24V. Pentru proiect s-a găsit o placă cu 8 relee (max

240V la 10 A). Această placă are și

■ Conectori rapizi pentru cabluri prin șuruburi.;

■ LED-uri de activitate pentru fiecare releu.

● Transformator pentru aspersoare:

○ Intrare: 224V alternativ

○ Iesire: 25V alternativ, max 24W

● Transformator pentru Arduino:

○ Intrare: 224V alternativ

○ Iesire: 12V, 1A

Conectarea sistemelor s-a făcut astfel:

● Shield-ul WIFI a fost pus peste placa ArduinoMega

● 7 din cele 8 relee au fost conectate astfel:

○ capetele de comandă conectate la porturile 22, 23, 24, 25, 26, 27 și

respectiv 28 de pe Arduino;

○ alimentarea de 5V de pe placa de relee conectată la ieșirea de 5V de pe

placa Arduino;

○ masa de pe placa de relee conectată la un port de tip masă (Ground) de pe

placa Arduino.

● Firul de fază de la transformatorul de 24V conectat în paralel la fiecare bornă de

fază de la fiecare releu

● Firul de fază de la fiecare electrovalvă conectat separat la borna de normal închis

de la fiecare releu

● Firul de masă de la transformatoul de 24V conectat în paralel la fiecare

electrovalvă

Page 27: Extensie magento pentru mobilier - profs.info.uaic.roalaiba/pub/absolvire/2016 vara/raducan/Home... · celor mai simple procese, precum diminuarea luminilor atunci când se urmărește

27

3.2.6.2 Schema fizică (aproximativă) (fig. 17)

(fig. 17 – Schema fizică a circuitului)

3.2.6.3 Schema electrică (fig. 18)

(fig. 18 – Schema electrică a circuitului)

Page 28: Extensie magento pentru mobilier - profs.info.uaic.roalaiba/pub/absolvire/2016 vara/raducan/Home... · celor mai simple procese, precum diminuarea luminilor atunci când se urmărește

28

Placa Arduino se programează folosind un limbaj de programare dezvoltat și întreținut

de către Arduino. Este bazat pe un dialect de C++. Pentru proiectul curent s-a dorit

implementarea următoarelor funcționalități:

● Posibilitatea accesării interfeței hardware de la distanță;

● Interogarea stării pinilor;

● Schimbarea stării unui anumit pin;

● Protecție în cazul problemelor de comunicare pe rețea.

3.2.6.4 Aplicația de bază Arduino

O aplicație Arduino este constituită din două funcții de bază ce sunt apelate de către

sistemul de operare al plăcii:

● setup() - apelat imediat după încărcarea sistemului de operare;

● loop() - funcție apelată recursiv de către sistemul de operare.

3.2.6.5 Posibilitatea accesării interfeței hardware de la distanță

Comunicarea cu placa Arduino de la distanță este unul dintre punctele esențiale, care

face ca tot proiectul să poată fi implementat cu ușurință în orice locuință. Pentru aceasta

s-a folosit shield-ul WIFI de la Arduino. Interfața cu Arduino se face printr-o bibliotecă

WIFI.h.

Protocolul de transport ales este TCP, pentru simplitatea lui și pentru disponibilitatea

lui pe majoritatea platformelor. WIFI.h simplifică comunicarea prin acest protocol

printr-o clasa numita WiFiServer.

Page 29: Extensie magento pentru mobilier - profs.info.uaic.roalaiba/pub/absolvire/2016 vara/raducan/Home... · celor mai simple procese, precum diminuarea luminilor atunci când se urmărește

29

Conectarea la reteaua WIFI se realizează în funcția standard Arduino de setup() în

următorii pași:

● într-o buclă se încearcă conectarea;

● folosind clasa WiFi, se poate încerca conectarea la o rețea wireless prin

WiFi.begin(ssid, pass). Această funcție returnează un status care poate fi testat

folosind constanta WL_CONNECTED;

● atât timp cât statusul returnat de WiFi.begin() este diferit de WL_CONNECTED se

va reîncerca conectarea.

Odată conectați la rețea, în metoda de inițializare mai trebuie setați ca pini de OUTPUT

pinii ce controlează releele. Acest lucru se realizează prin funcția standard Arduino

pinMode(). Odată setați pinii pentru OUTPUT, se setează și starea inițială prin funcția

digitalWrite(). Poziția pinilor și statusul lor (dacă releul este pornit sau oprit) sunt

salvate în doi vectori definiți global: int pins[] și int state[].

Pentru pornirea serverului TCP, pe instanța clasei WiFiServer se apelează metoda

begin() în cadrul funcției setup(). Server-ul nostru va comunica folosind protocolul 80,

Page 30: Extensie magento pentru mobilier - profs.info.uaic.roalaiba/pub/absolvire/2016 vara/raducan/Home... · celor mai simple procese, precum diminuarea luminilor atunci când se urmărește

30

pentru a implementa un protocol standardizat: HTTP. Prin acest protocol vom primi

cereri HTTP GET și vom răspunde cu documente de tip JSON.

Pentru a identifica dacă un client încearcă să se conecteze la server-ul HTTP de pe

plăcuța Arduino, se folosește metoda available() de pe instanța clasei WiFiServer.

Aceasta va returna o instanță a clasei WiFiClient în cadrul căreia metoda connected()

returnează true când o cerere este făcută. Acest process trebuie executat în cadrul

funcției loop().

Odată conectat un client, se va citi caracter cu caracter cererea HTTP. Fiecare caracter

este concatenat la o variabilă currentLine de tip String, care va reține linia de header

curentă. Citirea se va face conform protocolului HTTP până se vor întâlni două caractere

de linie nouă (\n). Odată ce se găsește finalul cererii, se poate răspunde clientului

folosind metoda println() de pe instanța de client a clasei WiFiClient. Din nou,

respectând protocolul HTTP vom trimite:

● Header-ul de raspuns: HTTP/1.1 200 OK;

● Tipul MIME al continutului: Content-type: text/json;

● două caractere de linie nouă: \n\n;

● documentul JSON în format șir de caractere.

Interfața hardware este capabilă să răspundă la două feluri de cereri:

1. GET /status

○ Comanda returnează un document JSON cu starea fiecărui pin.

○ Exemplu de raspuns: {“22”: 0, “23”: 1, “24”: 0, “25”: 0, “26”: 0, “27”: 0, “28”:

0}, care arată că pinul 23 este deschis.

Page 31: Extensie magento pentru mobilier - profs.info.uaic.roalaiba/pub/absolvire/2016 vara/raducan/Home... · celor mai simple procese, precum diminuarea luminilor atunci când se urmărește

31

2. GET /22/1/changepin

○ Comanda returnează true în caz de succes și false altfel.

○ Primele două segmente ale URL-ului sunt reprezentate de ID-ul pinului și

respectiv de starea în care se dorește schimbarea.

○ Dacă pinul cerut nu este înregistrat, comanda va returna false.

○ Dacă un alt pin este deja pornit, acesta va fi închis, pentru a nu permite ca

două trasee de aspersoare să fie deschise concomitent.

○ Odată schimbat un pin pe starea 1, se va observa pe placa de relee un led

roșu aprins în dreptul releului deschis.

Page 32: Extensie magento pentru mobilier - profs.info.uaic.roalaiba/pub/absolvire/2016 vara/raducan/Home... · celor mai simple procese, precum diminuarea luminilor atunci când se urmărește

32

Placa Arduino are o rutină de protecție inclusă în cod pentru a închide toate

aspersoarele în caz că nu a primit nici o comandă de la server timp de 20 de secunde.

Aceasta va preveni risipa de resurse în cazul în care canalul de comunicare este

perturbat.

Page 33: Extensie magento pentru mobilier - profs.info.uaic.roalaiba/pub/absolvire/2016 vara/raducan/Home... · celor mai simple procese, precum diminuarea luminilor atunci când se urmărește

33

3.2.7 Server

Deoarece placa Arduino are resurse limitate, logica unui sistem automat este destul de

dificil de implementat direct pe ea. Pentru a rezolva această problemă, s-a creat un

server web, ce va fi responsabil de programarea și de automatizarea aspersoarelor.

Acest server este construit folosind PHP rulând pe un server Apache + MySQL. S-au ales

aceste techonologi datorită:

● Gradului mic de dificultate pe care îl necesită pentru a crea aplicații simple;

● Portabilitatea sporită, server-ul putând fi distribuit pe oricare din sistemele de

operare majore;

● Comunitate mare;

● Afinitatea crescută pentru tehnologii web (comunicarea prin HTTP / citirea

formatului JSON / etc.)

Ca platformă pentru acest proiect s-a ales în mod particular XAMPP for Windows,

folosind doar submodulele Apache 2.4 si PHP 7, deoarece majoritatea gospodăriilor vor

avea un sistem ce rulează Windows.

Server-ul este reprezentat de un script recursiv PHP ce rulează în linia de comandă pe

fundal. Acesta se reapelează singur o dată la 5 secunde. Primul apel trebuie apelat

manual din linia de comandă prin: php service.php. Pentru a reapela script-ul s-a folosit

biblioteca .NET COM din php pentru a crea o instanță a obiectului WScript.Shell ce

conține o metodă run(), capabilă să execute o aplicație în fundal (simulând astfel

comportamentul unui program de tip serviciu).

Server-ul îndeplinește două funcționalități:

● Trimite comenzi pentru ținerea unui aspersor deschis, atât timp cât încă se află

în perioada de irigare setată;

● Rularea unui orar de irigare, pornind pe rând mai multe trasee într-o anumită

ordine.

Page 34: Extensie magento pentru mobilier - profs.info.uaic.roalaiba/pub/absolvire/2016 vara/raducan/Home... · celor mai simple procese, precum diminuarea luminilor atunci când se urmărește

34

Starea pinilor este salvată în baza de date astfel:

● pins

○ stocheaza pinii înregistrați în sistem. Ei reprezintă fiecare din cele 7

trasee de aspersoare;

○ ID - ID-ul pinului de pe placa Arduino pentru comandă;

○ Label - numele traseului pentru interfața grafică;

○ Duration - durata (în secunde) pentru care va sta pornit acest traseu;

○ Status - starea curentă a pinului;

○ StartTimer - data și ora la care a fost pornit traseul.

● jobs

○ stochează orarul automat pentru irigare;

○ pind_id - ID-ul pinului de pe placa Arduino pentru comandă:

○ start_date - data și ora la care trebuie pornit traseul;

○ start_date - data și ora la care trebuie oprit traseul.

● houseparts

○ stochează elementele grafice pentru desenarea interfeței;

○ ID - id-ul desenului;

○ label - nume descriptiv;

○ shape - „square”, „circle”, „rectangular”;

○ x - coordonata X în pixeli;

○ y - coordonata Y în pixeli;

○ width - lățimea desenului;

○ height - inălțimea desenului;

○ color - culoarea de fundal;

○ sprinkler_id - ID-ul pinului de pe placa Arduino pentru comandă.

● config

○ Ține locul unui dicționar cheie-valoare pentru stocarea de informații de

configurare ale aplicației.

Page 35: Extensie magento pentru mobilier - profs.info.uaic.roalaiba/pub/absolvire/2016 vara/raducan/Home... · celor mai simple procese, precum diminuarea luminilor atunci când se urmărește

35

Diagrama bazei de date:

(Diagrama bazei de date)

Page 36: Extensie magento pentru mobilier - profs.info.uaic.roalaiba/pub/absolvire/2016 vara/raducan/Home... · celor mai simple procese, precum diminuarea luminilor atunci când se urmărește

36

3.2.7.1 Funcții de baza pentru server-ul PHP:

3.2.7.1.1 getAllPins()

generează un vector cu toate informațiile tuturor pin-urilor precum: starea curentă,

data la care a fost deschis ultima dată.

3.2.7.1.2 changePinState($pinId, $state)

Va schimba starea unui pin, ce în realitate va porni/opri un traseu de irigație. Pentru a

porni un traseu, sistemul va actualiza cu status = 1 în tabela de pin pentru ID = $pindId.

La acest moment nicio comandă nu va fi trimisă la placa Arduino. service.php va fi cel

care va lansa comanda la Arduino la următorul ciclu. Preventiv, daca se dorește

pornirea unui traseu, prima dată se va seta Status = 0 pentru toate pin-urile, pentru a

evita cazul în care două trasee sunt deschise concomitent.

În cazul în care se dorește închiderea unui traseu, pe lângă actualizarea tabelei Pins, se

transmite imediat și comanda $pinId/0/changepin pentru a închide fizic traseul de apă.

Page 37: Extensie magento pentru mobilier - profs.info.uaic.roalaiba/pub/absolvire/2016 vara/raducan/Home... · celor mai simple procese, precum diminuarea luminilor atunci când se urmărește

37

3.2.7.1.3 sendArduinoCommand($cmd)

Rulează o comandă pe placa de Arduino, prin trimiterea unui request HTTP spre

Arduino. Trimiterea unui request HTTP si citirea răspunsului se face foarte ușor în PHP

folosind funcția file_get_contents(). Raspunsul de la Arduino va fi interpretat ca un

obiect JSON folosind funcția json_decode().

Folosind funcțiile de bază de mai sus, server-ul PHP la fiecare iterație a script-ului

service.php, face două lucruri:

Iterează peste vectorul de pinuri, căutând acei pini care au statusul == 1. Dacă se găsește

un aspersor ce ar trebui să fie pornit, se verifică să nu fi trecut mai mult de durata

definită (Duration) pe pin de la ora de la care s-a pornit aspersorul (StartTimer). În caz

că pinul este în starea activă și în perioada validă de timp, se trimite o comandă de

changepin pe starea 1 către Arduino. În caz contrar se cere închiderea traselui prin

comanda changepin pe starea 0.

Iterează peste vectorul care reține orarul de irigare automat, verificând dacă există un

traseu ce trebuie pornit. În cazul în care se găsește un astfel de traseu, se apelează

funcția changePinState() cu starea setată pe 1 pentru a porni traseul.

Page 38: Extensie magento pentru mobilier - profs.info.uaic.roalaiba/pub/absolvire/2016 vara/raducan/Home... · celor mai simple procese, precum diminuarea luminilor atunci când se urmărește

38

Server-ul mai conține și un script adițional pentru generarea orarului automat de

irigație, start-auto-job.php. Acesta iterează peste toți pinii înregistrați în sistem și

creează câte o inserare în tabelul jobs (orar) astfel:

● pin_id - ID-ul pinului de control Arduino

● start_date - ora de la care să înceapă irigația

○ primul pin primește start_date = time() - ora curentă.

○ fiecare pin după va primi ca start_date = end_date-ul pin-ului precedent -

ora la care se termină de irigat traseul precedent.

● end_date - ora la care să se termine de irigat

○ calculată automat folosind start_date + durata pentru care trebuie să stea

deschis un traseu.

Page 39: Extensie magento pentru mobilier - profs.info.uaic.roalaiba/pub/absolvire/2016 vara/raducan/Home... · celor mai simple procese, precum diminuarea luminilor atunci când se urmărește

39

3.2.8 Interfața grafică

Pentru controlarea sistemului de irigație s-a dorit o interfață grafică ce să întrunească

două calități:

● interfață ușoară și intuitivă;

● disponibilă pe mai multe platforme: desktop, tabletă, telefon mobil.

3.2.8.1 Pagina de început (en. Home) (fig. app1)

(fig. app1 – pagina de început)

Rolul principal al paginii este de a oferi o privire de ansamblu asupra stării actuale al sistemului și de a oferi o modalitate facilă asupra controlului funcțiilor de bază.

Pagina de început este alcătuită din 3 componente principale:

Meniul aplicației;

Harta interactivă a gospodăriei;

Starea și controlul aspersoarelor.

Page 40: Extensie magento pentru mobilier - profs.info.uaic.roalaiba/pub/absolvire/2016 vara/raducan/Home... · celor mai simple procese, precum diminuarea luminilor atunci când se urmărește

40

3.2.8.1.1 Meniul aplicației (fig. app2)

(fig. app2 – Meniul aplicației)

S-a creat un meniu lateral care permite navigarea către toate modulele:

Home – pagina de start a aplicației;

Edit House plan – duce către pagina de editare a planului gospodăriei;

Edit Sprinklers – duce către pagina de gestionare a aspersoarelor;

Start water cycle – buton care pornește ciclul automat de irigare. În cazul

în care un ciclu este deja în desfășurare, butonul are ca etichetă „Stop

water cycle”.

Vizual, bara de meniu este compusă dintr-o imagine reprezentând simbolul aplicației și

o listă de linkuri.

Page 41: Extensie magento pentru mobilier - profs.info.uaic.roalaiba/pub/absolvire/2016 vara/raducan/Home... · celor mai simple procese, precum diminuarea luminilor atunci când se urmărește

41

3.2.8.1.2 Harta interactivă a gospodăriei (fig. app3)

(fig. app3 – Hartă aspersoare)

S-a creat o interfață personalizabilă, prin care să se poată modela orice aranjare a

sistemului de aspersoare din oricare gospodărie.

Harta permite vizualizarea traseelor existente, precum și starea acestora, în timp real.

Atunci când un traseu este pornit, harta va sublinia această acțiune printr-o umbră albă

în jurul elementelor traseului (în figura app3 se poate observa că traseul roz este

pornit).

Harta se desenează vectorial, folosind următoarele 3 forme:

Cerc – folosit ca mod de reprezentare al aspersoarelor (prin convenție);

Dreptunghi – folosit pentru desenarea obiectelor din gospodărie (casă,

trotuar, placa auto, etc - prin convenție);

Țeavă (en. Pipe) – folosit pentru a desena traseele aspersoarelor (prin

convenție).

Fiecare element vectorial are următoarele proprietăți (fig. app4):

Etichetă (en. Label) – nume sugestiv pentru zonă, în vederea facilitării editării

planului;

Page 42: Extensie magento pentru mobilier - profs.info.uaic.roalaiba/pub/absolvire/2016 vara/raducan/Home... · celor mai simple procese, precum diminuarea luminilor atunci când se urmărește

42

Formă (en. Shape) – poate avea una dintre valorile descrise anterior (cerc,

dreptunghi, țeavă);

X – valoarea coordonatei, în pixeli, reprezentată de proprietatea CSS left (punctul

de referință a desenului fiind colțul stânga sus);

Y – valoarea coordonatei, în pixeli, reprezentată de proprietatea CSS top (punctul

de referință a desenului fiind colțul stânga sus);

Lățime (en. Width) – lățimea formei desenate, în pixeli;

Înălțime (en. Height) – înălțimea formei desenate, în pixeli;

Culoare – culoarea formei desenate, în format hexadecimal;

Id-ul aspersorului – aspersorul asociat formei desenate (0 pentru obiectele care

nu fac parte din traseul aspersoarelor – ex: casa).

(fig. app4 – exemplu de configurare)

Pentru a fi utilizabilă pe o varietate de dispozitive, harta a fost creată cu o structură

fluidă. Astfel, sistemul încearcă să folosească 100% din lățimea ecranului, totodată fiind

limitat la maximum 70% din înălțime. Toate redimensionările sunt făcute în timp real și

la scală, folosind JavaScript (fig. app5).

Page 43: Extensie magento pentru mobilier - profs.info.uaic.roalaiba/pub/absolvire/2016 vara/raducan/Home... · celor mai simple procese, precum diminuarea luminilor atunci când se urmărește

43

(fig. app5 – funcția de redimensionare a hărții)

Harta permite pornirea/oprirea aspersoarelor și făcând click pe un element care are un

aspersor asociat (în implementarea de față înseamnă pe un cerc sau pe o țeavă). Acest

lucru este posibil atât timp cât sistemul nu se află într-un ciclu de irigare automată.

Page 44: Extensie magento pentru mobilier - profs.info.uaic.roalaiba/pub/absolvire/2016 vara/raducan/Home... · celor mai simple procese, precum diminuarea luminilor atunci când se urmărește

44

3.2.8.1.3 Starea și controlul aspersoarelor (fig. app6)

(fig. app6 – lista de comenzi)

Această componentă are două roluri: unul informativ și unul de control.

Uitându-se în listă, utilizatorul poate să afle următoarele:

Numărul de trasee și numele acestora;

Starea unui traseu, reprezentat textual prin „status: open/closed” și vizual

prin modificarea culorii de fundal (fig. app7);

(fig. app7 – exemplu de reprezentare a statusului)

Durata de irigare a traseului;

Pentru traseul deschis, se afișează și perioada rămasă până la finalizarea

ciclului de irigație;

Page 45: Extensie magento pentru mobilier - profs.info.uaic.roalaiba/pub/absolvire/2016 vara/raducan/Home... · celor mai simple procese, precum diminuarea luminilor atunci când se urmărește

45

Atunci când sistemul se află în procesul de irigare automat, pentru fiecare traseu se

afișează următorii timpi (fig. app8):

Pentru traseele terminate se afișează ora la care s-au terminat;

Pentru traseul în curs se afișează timpul rămas până la finalizare;

Pentru următoarele trasee, timpul rămas până la pornirea lor.

(fig. app8 – actualizarea timpilor în procesul de irigare automat)

Sub lista de aspersoare se găsește opțiunea de pornire/oprire a ciclului automat, care va

reactualiza timpul necesar completării tuturor traseelor. Aceeași funcționalitate poate fi

apelată și din meniul lateral.

Page 46: Extensie magento pentru mobilier - profs.info.uaic.roalaiba/pub/absolvire/2016 vara/raducan/Home... · celor mai simple procese, precum diminuarea luminilor atunci când se urmărește

46

3.2.8.2 Editarea planului gospodăriei (en. Edit house plan) (fig. app9)

(fig. app9 – panoul de configurare a planului gospodăriei)

Această pagină conține un formular tabelar care permite utilizatorului

modificarea/adăugarea elementelor de desen, a căror proprietăți au fost descrise în

capitolul 3.2.8.1.2.

Ștergerea și adăugarea elementelor se fac fără reîncărcarea paginii HTML, iar

actualizarea în baza de date se face doar la apăsarea butonului de SUBMIT.

Page 47: Extensie magento pentru mobilier - profs.info.uaic.roalaiba/pub/absolvire/2016 vara/raducan/Home... · celor mai simple procese, precum diminuarea luminilor atunci când se urmărește

47

3.2.8.3 Editarea aspersoarelor (en. Edit sprinklers) (fig. app10)

(fig. app10 – panoul de configurare al aspersoarelor)

Modul de editare al listei de aspersoare este similar cu procesul descris în capitolul

3.2.8.2.

Acest site se poate publica foarte ușor în domeniul public (prin atribuirea unui domeniu

IP-ului public al gospodăriei), astfel controlul la distanță putând fi făcut fără costuri

suplimentare. În mod predefinit accessul se poate face din rețeaua internă.

Page 48: Extensie magento pentru mobilier - profs.info.uaic.roalaiba/pub/absolvire/2016 vara/raducan/Home... · celor mai simple procese, precum diminuarea luminilor atunci când se urmărește

48

3.2.9 Interfața pentru mobil

Pentru ca aplicația să fie accesibilă de pe o varietate de dispozitive (desktop, tabletă,

telefon mobil) s-au folosit tehnologii din cadrul standardului CSS3, pentru a putea

schimba aspectul site-ului în funcție de dimensiunea ecranului pe care este vizualizat.

Astfel, pentru un ecran mai mic de 700 de pixeli în lățime, meniul se mută în antetul

paginii (fig. mobile2), iar conținutul este afișat folosind întreaga lățime disponibilă a

ecranului (fig. mobile1).

(fig. mobile1) (fig. mobile2)

Page 49: Extensie magento pentru mobilier - profs.info.uaic.roalaiba/pub/absolvire/2016 vara/raducan/Home... · celor mai simple procese, precum diminuarea luminilor atunci când se urmărește

49

4 Concluzie

Proiectul îndeplinește cu succes toate cerințele enumerate inițial, astfel:

● S-a experimentat cu automatizarea unui proces casnic

○ Aplicația este capabilă să controleze sistemul de irigație al gospodăriei,

atât în mod manual cât și în mod automat.

● S-a creat o platformă utilă, care:

○ Sporește gradul de confort al utilizatorului;

○ Economisește energie și resurse prin irigarea eficientă;

○ Îmbunătățește condițiile de mediu, prin diminuarea nivelului de praf.

5. Direcții de îmbunătățire/extindere

● Adăugarea de senzori de temperatură/umiditate a solului, pentru a eficientiza

procesul de irigație;

● Integrarea unui serviciu online de furnizare date meteo;

● Crearea unui modul de statistici pentru a evalua gradul de irigații;

● Gestiunea unor gospodării multiple (Software-as-a-Service).

Page 50: Extensie magento pentru mobilier - profs.info.uaic.roalaiba/pub/absolvire/2016 vara/raducan/Home... · celor mai simple procese, precum diminuarea luminilor atunci când se urmărește

50

6. Bibliografie

[1]https://www.arduino.cc

[2]White paper: Nest Learning Thermostat Efficiency - Simulation for the U.K. -

Nest Labs April 2014

[3]Deepali Javale, Mohd. Mohsin, Shreerang Nandanwar and M. Shingate - Home

Automation and Security System Using Android ADK - International Journal of Electronics

Communication and Computer Technology, 2013

[4]U. Sharma and S. R. N. Reddy , Design of Home/Office Automation Using

Wireless Sensor Network - International Journal of Computer Applications, 2012

[5] Sabin Buraga - Programarea în Web 2.0 - Polirom, 2007

[6]http://www.php.net

[7]http://www.mysql.com