Florian-Alexandru OANĂ
1
PROIECT DE LICENȚĂ
ACHIZIȚIE ȘI PRELUCRARE DE DATE PROVENITE DE LA O
MICRO-STAȚIE METEO
BUCUREŞTI 2013
Coordonator ştiinţific: Asist. Dr. Ing. Alexandru DUMITRAȘCU Prof. Dr. Ing. Dan Ștefănoiu
Absolvent: Alexandru-Florian Oană
Florian-Alexandru OANĂ
2
CUPRINS
INTRODUCERE
CAPITOLUL 1: Rețele de comunicație integrate in achiziția datelor
1.1 Vedere generala asupra dispozitivelor de achiziție și prelucrare date
1.2 Registrele de comunicație folosite
1.2.1 Wireless
1.2.2 Profinet / Ethernet
1.3 Echipamentele sistemelor de achiziție si monitorizare date
1.3.1 Monitorizarea mediului - sistemul de senzori wireless Memsic® ēKo Pro
1.3.2 Nodul eKo
1.3.3 Sistem wireless - eKo
1.3.4 Interfață web
1.3.5 Transmițator radio
CAPITOLUL 2: Partea teroretică a algoritmilor de predicție
2.1 Semnal Autoregresiv
2.2 Metora Yule-Walker
2.3 Metoda celor mai mici patrate
2.4 Procese ARMA / ARMAX
CAPITILUL 3: Achiziție de date pentru rularea algoritmului de identificare si predicție
3.1 Achizitia de date
3.2 Algoritmul de predicție
3.3 Implementarea in matlab
3.4 Vizualizarea si interpretarea datelor
CAPITOLUL 4: Experimentarea sistemelor de monitorizare de la distanța a
parametrilor stației meteo
4.1 Tehnologii utilizate
4.1.1 CSS
4.1.2 HTML
4.1.3 Baza de date
4.2 Aplicația de vizualizare date
CAPITOLUL 5: Concluzii și contribuții personale
Florian-Alexandru OANĂ
3
ANEXA.A
ANEXA.B
BIBLIOGRAFIE
Florian-Alexandru OANĂ
4
LISTA DE FIGURI
CAP 1:
Figura 1.1. Structura generala
Figura 1.2. Arhitectura wireless
Figura 1.3. Comunicarea Profinet
Figura 1.4. Stația meteorologica – eKo
Figura 1.5. Nodul eKo
Figura 1.6. Sistem wireless in aer liber – eKo
Figura 1.7. Interfața web – eKo
Figura 1.8. Diagrama pe ultima lună
Figura 1.9. Transmițator radio – eKo
CAP 3: Figura 1.10. Direcția vantului
Figura 1.11. Umiditatea mediului
Figura 1.12. Viteza vantului
Figura 1.13. Temperatura
Figura 1.14. Pagina principala a aplicației
Figura 1.15. Pagina in care sunt afișate datele
Florian-Alexandru OANĂ
5
LISTA DE TABELE
CAP 1:
Tabel 1.1 Stația meteorologica – informații generale
Tabel 1.2. Nodul eKo – informații generale
Tabel 1.3. Transmițator radio – eKo
Florian-Alexandru OANĂ
6
INTRODUCERE
Tinand cont de progresele efectuate in domeniul echipamentelor, ne-am propus sa
facem un o aplicație controlabilă atât local, cât si de la distanta. Vom face o analiza a
tehnologiei existente și a echipamentelor necesare, a solutiilor de comanda si control a
acestora. Internetul este acum introdus in toate domeniile de accea ne-am propus sa ne
folosim de acesta și sa facem o aplicație pentru monitorizarea mediului inconjurator.
Putem avem posibile contribuții in domenuiul agriculturii prin automatizarea unor
procese vitale.
Astfel, in Capitolul 1 vom prezenta echipamentul ce il aveam la dispozitie, vom face o
comparatie a echipamentelor existente pe piata și posibilitatile de conducere si monitorizare
ale acestora.
Florian-Alexandru OANĂ
7
CAPITOLUL 1
Rețele de comunicație integrate in achiziția datelor
1.1 Vedere generala asupra dispozitivelor de
achiziție și prelucrare date
Senzorul ES2000 pentru vreme permite utilizatorilor nu numai să monitorizeze
condițiile timp real, dar prezic meteorologice care pot afecta culturile lor. Această soluție
energie solară oferă o suită senzor integrat, inclusiv un colector de ploaie, senzori de
temperatură / umiditate, anemometru oferind viteza vântului și direcția vântului, radiația
solară și presiunii barometrice .
Combinând datele obținute senzor de vreme și caracteristici fundamentale ale
sistemului eKo oferă cultivatorilor, cu acces ușor la informații legate de controlul de irigare,
protecție la îngheț, evapotranspirație, precum și condițiile bolile plantelor. Nodul solar eKo
alimentat, a sporit potențialul de telemetrie wireless de stația meteo standard, permite
producătorilor să acceseze datele din locații la distanță în domeniul lor de oriunde în lume.
Folosind doar un singur port pe nodul eKo, utilizatorii pot maximiza timpul de
colectare a datelor senzorului prin adăugarea de senzori suplimentari, cum ar fi de umiditate a
solului, umezeala frunzelor, etc pentru a obține o mai bună cunoaștere cu privire la condițiile
de mediu lor. Sistemul eKo oferă utilizatorilor posibilitatea de a colecta date din mai multe
puncte de pe tot site-ul lor, oferind un nivel micro de detaliu cu privire la diverse parametrii
critici loc să se bazeze pe informații de la un singur punct.
Tehnologia crossbow a văzut soluția folosită în scenarii tipice, cum ar fi întreținerea
predictivă pe mașini pentru mai multe aplicații unice, cum ar fi monitorizarea speciilor pe cale
de dispariție, măsurarea forței de un cal care rulează la Kentucky Derby, și stabilirea
condițiilor de secetă din Sierra Nevada muntos.
Apa este problema cea mai critica in ziua de azi. Având capacitatea de a măsura
evapotranspiratia cu ES2000, colecta date de umiditate a solului și de a înțelege conținutul de
apă din sol, printr-un sistem unic, cum ar fi eKo Pro Series permite utilizatorilor să ia decizii
inteligente legate de apă și modul în care aceasta ar trebui să fie distribuit, având acces la
acest tip de date elimină o parte din presupunerile legate de managementul de irigare și de
protecție la îngheț. Cultivatorii sunt capabile de a combina date de la stația de vreme și alți
senzori, urmări datele istorice și de a face previziuni în cunoștință de cauză cu privire la
condițiile în curs de dezvoltare.
Florian-Alexandru OANĂ
8
Un sistem de achiziţie si prelucrare de date are trei componente:
achiziţia datelor;
modelarea datelor;
prelucrarea datelor.
Figura 1.1. Structura generala
1.2 Registrele de comunicație folosite
1.2.1 Wireless Senzor Networks (WSN)
WSN-MEMSIC a conecta mediul fizic cu conducerea întreprinderii și sisteme
informatice pentru a oferi solutii avansate de monitorizare, automatizare si control pentru o
gamă largă de industrii. Cererile pentru retele de senzori wireless sunt aproape nelimitate, cu
cerințe cum ar fi fiabilitatea, baterie de viață, gama, frecvențe, topologii, dimensiunea rețelei
și tipuri de senzori. Pentru a răspunde cerințelor unice ale aplicațiilor individuale, MEMSIC
oferă un portofoliu larg de produse de rețea de senzori wireless.
WSN constă din dispozitive autonome distribuite spațial folosind senzori pentru a
monitoriza cooperare condiții fizice sau de mediu, cum ar fi temperatura, sunet, vibrații,
presiune, mișcare, sau poluanți în diferite locații. Fiecare nod într-o rețea de senzori este de
obicei echipat cu un emițător-receptor radio sau alt dispozitiv de comunicații fără fir, un mic
microcontroler, și o sursă de energie, de obicei, o baterie.
Florian-Alexandru OANĂ
9
Rețele de senzori wireless se deschide o nouă lume de monitorizare, așa cum a făcut
telefoanele mobile pentru industria de telecomunicații. Acestea sunt care să permită
companiilor să transforme afacerile lor. Ideea principala din spatele WSN este că informații
că a fost atât de dificil de a colecta în trecut, este atât de ușor pentru a obține de azi. Puteți
colecta date și de a lua decizii mai inteligente. Nu aveți nevoie de cabluri sau o persoană de
colectare de date 24/7. Ideea este de a conecta lumea fizică cu lumea digitală prin intermediul
retelelor de senzori wireless.
Tehnologia fără fir este o sursă renumit de rețea pentru diferite tehnologii de rețele de
calculatoare de epoca actuala. Rețeaua fără fir care este de obicei numit ca WiFi, este un tip
de care tehnologia în care semnalele radio de înaltă frecvență sunt utilizate pentru a transmite
date de la un dispozitiv la altul. Acesta funcționează doar pe câteva sute de metri.
Sunt două mari tipuri, Wireless LAN sau WiFi este împărțit în trei părți principale pe
care toată sale de lucru depinde și toate aplicațiile sale depind, de asemenea, pe aceste piese.
Aceste tipuri sunt după cum urmează;
Modul infrastructură.
Nodul de rețea Ad-hoc
Mod rețea mixtă
Orice tip de aparat care se poate comunica cu fiecare tip de post de lucru de LAN fără
fir sau WiFi cu ajutorul punctelor de acces este numit ca modul infrastructură.
Un tip de rețea în care toate posturile de lucru sunt legate împreună cu alte stații de
lucru, fără orice obstacol este menționată ca modul de rețea ad-hoc.
Este formă de rețea, care este dezvoltat de infrastructură amestecare și rețea ad-hoc și
stațiile de lucru pot lucra simultan în ea, este cunoscut sub numele de modul de rețea mixtă.
Practic, lucru de WiFi se bazează pe procesul de transmisie. În acest proces de date
care urmează să fie transferată trebuie să fie transmise sub formă de semnale radio, iar apoi
dispozitivul transmite aceste semnale la antenă, care este folosit pentru transferul de date.
Aceasta antena este, care este utilizat în scopul pentru transmisia este în legătură cu o rețea
LAN cu fir sau DSL. Un router este, de asemenea, legată de dispozitiv care este capabil de a
primi semnale și, de asemenea, ajuta la decodare ele. Apoi, această informație este răspândit
pe internet.
Procesul de asamblare a pieselor de hardware de calculator în rețele de calculator este
numit ca arhitectura de calculator. Similar, dacă vom folosi aceasta tehnica arhitectural în
wireless LAN sau WiFi este numit ca arhitectura LAN fără fir. Este o tehnica de proiectare și
amenajare a diferitelor componente din dispozitivul fără fir de rețea locală într-un mod
specific. Tip special de dispozitiv, care este o combinație de emițător și receptor numit d ca
transceiver, care este o parte esențială a arhitecturii standard LAN fără fir, care este cunoscut
sub numele de puncte de acces.
Florian-Alexandru OANĂ
10
Figura 1.2. Arhitectura wireless
Arhitectura LAN fără fir este compus din componente diferite, care ajuta la stabilirea
rețeaua locală între diferite sisteme de operare. Aceste componente sunt foarte esențiale
pentru arhitectura WiFi.
Un tip special de dispozitiv, care este folosit pentru a transmite date între dispozitiv de
rețea cu fir și fără fir de rutare este numit ca AP. Acesta este adesea conectat cu ajutorul unor
dispozitive cu fir, cum ar fi Ethernet. Este doar transmite sau transfera date între LAN fără fir
și rețele cu fir cu ajutorul modului de infrastructură de rețea. Un punct de acces poate suporta
doar un grup mic de rețele și funcționează mai eficient. Este operat mai puțin de treizeci de
metri. Se noteaza cu AP.
Orice fel de dispozitiv, cum ar fi calculatoarele personale, Cărții de note, sau orice fel
de dispozitive mobile, care sunt printre legătură cu zona de rețea fără fir menționată ca un
client de arhitectura LAN fără fir.
Un tip special de conectori, care este folosit pentru a stabili conexiuni între dispozitive
de rețea cu fir, cum ar fi Ethernet și diverse rețele fără fir, cum ar fi wireless LAN. Acesta este
numit ca punte. Acesta acționează ca un punct de control din arhitectura LAN fără fir.Două
componente sunt, de asemenea, ceva timp joacă un rol important în LAN fără fir arhitectura
de exemplu
Servicii set de bază (BSS)
Set extins de servicii (SSE)
1.2.2 Profinet / Ethernet
Florian-Alexandru OANĂ
11
Profinet face parte din familia profibus de protocoale de comunicare. Profinet poate
opera mai multe sisteme, atat transmisii standard TCP/IP cat si transmisii in timp real la viteze
de sub o milisecunda. Profinet foloseste standarde industriale ca Ethernet, TCP/IP, XML, și
OPC. Folosind tehnologia proxy el poate conecta si alte tipuri de fieldbus pe langa profibus,
astfel sunt protejate investitiile in echipamente si retele existente in fabrica. Profinet este o
metoda de integrare a echipamentelor de control fara legatura intre ele, nu necesita
programare.
Este un standard pentru implementarea solutiilor de automatizare bazate pe Ethernet-
ul industrial. Acest standard introdus de profibus, ofera noi facilitati la nivel superior de
performanta, pentru schimbul bidirectional de informatii, de la nivel de camp la nivelul
ierarhic de conducere a procesului tehnologic. Cu profinet, distributed I/O (intrari / iesiri) si
aplicatiile (time-critical) pot fi integrate in comunicatia Ethernet, la fel ca un sistem distribuit
de automatizare pe baza de componente automatizate.
Caracteristicile noului standard:
Profinet este standardul deschis Industrial Ethernet elaborat de profigus International
Profinet se bazeaza pe Industrial Ethernet;
Profinet utilizeaza standardele TCP/IP si IT;
Profinet este Ethernet in timp real;
Profinet permite integrarea sistemelor cu magistrala de camp
Structura modulară profinet permite utilizatorilor să selecteze doar funcțiile necesare
pentru diferite cerințe.
Interfațare la periferice este implementat de profinet. Acesta definește comunicarea cu
domeniul dispozitivele periferice conectate. Baza lui este un concept în cascadă în timp real.
Profinet definește întreaga schimbul de date între controlori (dispozitive cu "maestru
funcționalitate") și dispozitive (dispozitive cu "funcționalitate sclav"), precum și stabilirea și
diagnosticarea parametrilor.
Profinet este proiectat pentru schimbul rapid de date între dispozitivele de câmp bazate
pe Ethernet și urmează modelul furnizor-consumator. Dispozitivele de câmp într-o linie
profibus subordonate pot fi integrate în sistemul de profinet, fără nici un efort și perfect prin
intermediul unui IO-proxy.
Profinet foleseste Ethernet cat și TCP/IP pentru comunicare. TCP/IP este standardul
de comunicare in zona IT. Dar pentru punerea in funcțiune, nu este in deajuns realizarea unui
canal pentru comunicatii obisnuit intre dipzozitivele bazate pe TCP si IP, pentru ca aceste
standarde inseamnă baza pentru schimbul de date. Protocoale in plus sunt utilizate peste TCP
pentru a asigura functionarea aplicatiilor, care este garantata numai atunci cand este folosit
acelasi protocol de aplicatie. Protocoale care sunt folosite de aplicații sunt spre exemplu, file
transfer si web.
Schimbul de date care este optimizat pentru performanta poarta numele de comunicare
in timp team (RT).
Folosirea concomitenta a comunicari in timp real si TCP/IP dintre dispozitivele de
camp profinet se poate realiza pe aceeasi magistrala si in acelasi timp.
Florian-Alexandru OANĂ
12
Figura 1.3. Comunicarea Profinet
1.3 Echipamentele sistemelor de achiziție si monitorizare date
1.3.1 Monitorizarea mediului - sistemul de senzori wireless Memsic®
ēKo Pro
Seria MEMSIC Pro eKo este un sistem agricol și de mediu wireless care folosește un
senzor de monitorizare a culturilor, studii de microclimat și de cercetare în domeniul
mediului. Senzorul meteo ES2000 se conectează direct la nodul oferint de stație meteo
wireless care folosește capacitatea de ESB unic Eko.
Această soluție ofera energie solară uni senzor de vreme integrat, care combină un
colector de ploaie, un senzor de temperatură și umiditate cu scut radiații, senzor de radiație
solară, senzor de presiune barometrică, și un anemometru într-un singur pachet.
Această soluție asigură o configurare simplă cu performanțe și fiabilitate îmbunătățite.
ES2000 oferă posibilitatea de a monitoriza temperatura si umiditate pentru a calcula
gradele rece, gradul de căldură și punctul de roua, și sa declanseze alerte vitale atunci cand
este foarte frig afara care poate strica buna funcționalitate a aparatelor.
Precipitațiile și datele despre precipitații sunt transmise la fiecare 15 minute pentru a
permite alarme de ploaie și avertismente de furtună.
Datele colectate de temperatură / umiditate senzori, împreună cu senzorul de radiatia
solara permite utilizatorilor să afișeze ET (evapotranspirație),aceste date sunt o estimare de
apă evaporată din plante și oferă date utile în a determina când și cât de mult este nevoie
pentru a o iriga. Utilizatorii pot utiliza datele colectate pentru a face previziuni, grafice,
înființa alerte, etc.
Aplicații ale stației meteorologice:
cercetare a mediului
agricultură de precizie
evapotranspirația
Florian-Alexandru OANĂ
13
prognoza meteo
managementul de irigare
precipitatiile si punctul de roua
ES2000 Caracteristici:
colector ploaie
temperatura si umiditatea
anemometru
viteza vantului si directia
presiunea barometrică
radiația solară
Sistemul eKo oferă date bazate pe web vizualizare de oriunde, oricând. Familiară și
intuitivă interfață eKoView permite utilizatorilor opțiunea de a vedea date vitale în timp real,
și care le ofera controlul necesar pentru a gestiona și a menține sănătatea culturilor.
Management de irigare, protecție anti-îngheț, modelarea bolilor, și citirile transpirație
evaporare sunt parametrii critici care sunt monitorizații 24/7 cu această soluție și datele
colectate de la sursă sitemului se pot colecta și date de vreme.
Prin interfața cu Nodul eKo, datele sunt transmise wireless, prin rețeaua de plasă la portal.
Integrarea acestor informații, cu date colectate din diverse locații în desfășurarea oferă
utilizatorului, cu un nivel micro de detaliere disponibile, cu statii meteorologice standard.
Folosind doar un singur port pe nodul eKo, utilizatorii pot optimiza senzorul de date la o
anumită locație prin adăugarea de senzori suplimentari, cum ar fi de umiditate a solului,
frunze de umezeala, etc, pentru a obține mai multe cunoștințe despre condițiile mediului. Se
pot lua decizii în ceea ce privește cerințele specifice ale unei anumite regiuni, mai degrabă
decât o decizie arbitrară pe baza informațiilor la o locație generalizată.
Figura 1.4. Stația meteorologica – eKo
Florian-Alexandru OANĂ
14
Tabel 1.1 Stația meteorologica – informații generale
Senzori Rezoluție Distanță Acuratețe
Presiune barometrică
(
-1000’ to +12,500
)
0.1 mbar
880 la 1080 mbar
1.0 mbar
Precipitații 0.02 mm(Rotunjit la
1 mm la 2000 mm și
mai sus)
Zi: 0 to 9999mm
Furtuna: 0 to 9999
Lună: 0 to 19,999mm
An: 0 to 19,999 mm
4%
Radiația solară 1 W/m2 0 la 1800 W/m2 5%
Temperatura 0.1°C -40° la +65°C 0.5°C
Umiditate 1% 0% la 100% 3%
Direcția vantului 1° 0° la 360° 7°
Viteza vantului 0.1 m/s
1 km/hr
1 la 67 m/s3 la 241
km/hr
5%
1.3.2 Pentru monitorizarea mediului- Nodul eKo
Nodul eKo este un complet integrat,robust,de exterior,senzor fără fir alimentat solar
,dispozitiv care permite utilizatorilor să implementeze rapid și ușor o soluție de monitorizare
multi-punct care oferă date în timp real de la mediul lor. Nodul eKo foloseste o energie radio
eficientă si senzori pentru a prelungi viața bateriei și performanța.
Nodul este capabil să transmita pe o distanta de 2 mile in funcție de condițiile mediului de
implementare si configurația nodului hardware ales.
Fiecare nod poate găzdui până la 4 tipuri de senzori diferiți. Interfața simplă ESB permite
utilizatorilor nu doar sa aleaga din portofoliul de senzori , dar sa și integreze a treia parte din
proprii lor senzori.
Nodul eKo integreaza procesorul/placuta radio IRIS de la MEMSIC și antena care sunt
alimentate cu baterii reîncărcabile și o celulă solară. Însăși nodurile dintr-o rețea plasa fara fir
pot fi utilizați pentru a-și extinde gama de acoperire.
Doar prin simpla adaugare a unui nod eKo suplimentar, este mai ușor sa iți extinzi zona de
acoperire. Nodurile vin pre-programate și pre-configurate pentru a forma o rețea plasă
adevărată și necesita aproximativ 1-2 ore pe zi de expunere la lumina solară pentru a menține
bateriile încărcate. Carcasele au un suport metalic pe partea din spate, care poate fi utilizat
pentru a asigura unitațile pe un suport.
Caracteristici :
Energie solară ;
Comunicare fiabilă reţea fără fir ;
Fara taxe lunare ;
Setări fara efort și scalabilitate ;
Comunicare fiabila a rețelei plasă ;
Florian-Alexandru OANĂ
15
Setari de alarma și alerte personalizate.
Figura 1.5. Nodul eKo
.
Tabel 1.2. Nodul eKo – informații generale
Nodul eKo EN2100 EN2120
Porturi senzori
Numărul de porturi 4: Fiecare port poate suporta un senzor compatibil eKo.
Tipuri de senzor Fiecare port suporta fie un senzor simplu sau inteligent compatibil eKo (MEMSIC protocol ESB)
Intervalul de masurare a senzorului
O măsurare la fiecare 15 minute (implicit)
Conectori Compatibil cu 6 pini, Switchcraft
Radio
Frecvența 2.405 - 2.480 GHz
Canale 16 canale selectabile disponibile prin intermediul comutatorului rotativ
Tip DSSS, IEEE 802.15.4
Transmițător putere de ieșire
+3 dBm (tipic) +18 dBm (tipic *)
Sensibilitate primită -101dBm (tipic)
Intervalul exterior pentru un singur radio
500ft-1500ft linii de vedere pe hop 2000ft-2 mile linii de vedere pe hop
Acoperire exterioară (tipic)
-Plat fară nici o acoperire deasupra capului: 1 eN2100 pe 15-25 hectare; -Deluros fară nici o acoperire deasupra capului :1 eN2100 pe 5-7 hectare; -Acoperire deasupra capului cum ar fi paduri, livezi: 1 eN2100 pe 1-2 hectare.
-Plat fară nici o acoperire deasupra capului : Un eN2120 pe 100-150 de hectare; -Deluros fară nici o acoperire deasupra capului : Un eN2120 pe 20-30 hectare; -Acoperire deasupra capului cum ar fi paduri, livezi: 1 eN2120 pe 4-5 hectare.
Antena Dipol, internă
Indicatori virtuali Un LED tricolor pentru a indica senzor și conexiune la rețea
Putere
Curent de operare
0,4 mA medie (fără senzori) la minut rată de eșantionare de 15 de
date
0,5 mA medie (fără senzori) la minut rată de eșantionare de 15 de
date
Panoul solar Panou solar autonom de 1.3”x 2.5” pentru a reincărca bateriile
Baterii
Standard: 3 AAscurgere scazută NiMH (prin intermediul panoului solar intern).
Florian-Alexandru OANĂ
16
Speranța de viață : 3 luni, cu nici o reîncărcare solară, viața de domeniu> 5 ani
Mecanic
Apă / rezistență la praf IP66 (protejat de praf și jeturi de apă sub presiune)
Temperatura de operare -40C la +60 C (de viață a bateriei degradat mai sus de 50C)
Umiditatea de funcționare
0 la 100% RHI, condensare
Temperatura de depozitare
-45C la +70 C (fără baterie)
Suport de montare Perete / pol atașabil suport pentru deconectare rapidă a eN2100
Dimensiune 3.75” x 3.5” x 10.5” / 95 x 89 x 267mm
Greutate 1.2 lbs/544g
1.3.3 Sistemul wireless – ēKo
Seria MEMSIC eKo pro este un sistem de detectare radio asupra mediului,pentru
agricultura de precizie ,microclimat și studii de conservare , cercetare de mediu, si
monitorizarea culturilor. eKo introduce o nouă generație de integrare a senzorilor si
tehnologiei radio anterior indisponibila prin responsabilizarea utilizatorilor cu cunostinte și
datele pentru a înțelege mediul lor cu un instrument fără egal.
Acest sistem nu este doar un nou tip de statie meteorologica sau un regulator de irigare
este un sistem de monitorizare radio care oferă date în timp real, toate intr-un format
prietenos. eko este ideal pentru a raspunde nevoilor de monitorizare in stiinta mediului,
precizia agriculturii, monitorizarea culturilor, gestionarea irigațiilor zone cuprinzand
schimbarea de clima, conservarea ,biodiversitatea , calitatea apei retelele de apa inteligente,
contaminarea apelor subterane,contaminarea solului, utilizarea resurselor naturale, gestionarea
deșeurilor, dezvoltarea durabila si poluarea aerului.
Beneficii cheie include:
Nodul alimentat cu energie solara promoveaza tehnologia verde
Datele pot fi vizualizate pe internet de oriunde, oricând
Setări de alarmă personalizate și alerte
Setupul este usor de folosit, fără abonamente lunare
Bus Senzor de mediu (ESB) pentru capacitatea de senzor de plug-and-play
Portofoliul vast de dispozitive integrate sensor
Aplicații:
Cercetare a Mediului
Agricultură de precizie
Managementul de irigare
Detectarea poluare
Conservare
Rețele de apă inteligente
Florian-Alexandru OANĂ
17
Acest sistem alimentat-solar revoluționează ideea de monitorizare wireless în aer liber
care permite utilizatorilor să ia pulsul naturii și pentru a obține un avantaj competitiv într-o
lume cu resurse limitate.
Figura 1.6. Sistem wireless in aer liber – eKo
1.3.4 Interfață web- eKo
Interfață eKo ofera o privire familiara si intuitivă bazată de exemplu: Internet
Explorer, Firefox, etc, interfată pentru retele de senzori, vizualizarea datelor. Aplicația web
eKo face mai ușoara monitorizarea pentru utilizatorii și acces la datele lor de oriunde din lume
prin intermediul unui laptop sau telefon inteligent. Prin simplificarea interfeței intuitivă eKo,
utilizatorii pot seta rapid și configura cu ușurință punctele lor de de vedere pentru a afișa
numai datele care le sunt interesații si de care au nevoie la momentul respective, date în timp
real vital și ușor de utilizat, algoritmi de modelare boala, ofera utilizatorilor control necesare
pentru a gestiona și a menține sănătatea culturilor.
Caracteristici cheie:
Crearea de catre utilizator harții de noduri si senzori din rețeaua globală
Utilizatorul isi poate defini diagrama de gestionare
Creați diagrame de senzori personalizate pe mai multe perioade de timp
Vezi detalii cu privire la datele individuale ale senzorilor
Monitorizarea performanței rețelei și in alelași timp de sănătate ale nodurilor
individuale
Să stabilească niveluri de alertă și obține notificat prin SMS sau e-mail
Se pot atribui denumiri personalizate pentru noduri și senzori
Florian-Alexandru OANĂ
18
Figura 1.7. Interfața web – eKo
Imaginea urmatoare reprezintă diagramă pe ultima luna a umiditătii mediului unde cea
mai mare valoare este de 90.00 RHI si scade pînă la 14.81 RHI.
Florian-Alexandru OANĂ
19
Figura 1.8. Diagrama pe ultima lună
1.3.5 Transmițator radio – eKo
Transmițatorul radio eKO este un pachet complet integrat care asigura conexiunea
între noduri, senzori eKo și in acelasi timp cu portalul eKo. Radioul de bază integrează un
procesor IRIS / Radio bord MEMSIC, antenă și placa de interfață USB care este preprogramat
cu XMesh protocol de rețea low-power MEMSIC pentru comunicarea cu nodurile eKo.
Interfața cu USB este folosită pentru transferul de date între radio de bază și aplicarția
eKoView care rulează în interiorul portalului eKo.
Figura 1.9. Transmițator radio – eKo
Florian-Alexandru OANĂ
20
Tabel 1.3. Transmițator radio – eKo
Transmițator
radio -eKo
EB2110 EB2120
Radio
Frecvență 2.405 la 2.480 GHz
Canale 16 canale disponibile
Tip DSSS, IEEE 802.15.4
Transmițator
Ieșire
+3dBm
+18dBm
Sensibilitate
primită
-101dBm
Intervalul
exterior
500ft-1500ft linii de vedere pe hop
Raza se extinde prin ochiurile rețelei
2000ft-2 mile linii de vedere pe hop
Raza se extinde prin ochiurile rețelei
Antena Antenă dipol detasabila
Conectorul
antenei
Inversa SMA compatibilă cu antene de interior și exterior cu wifi
Indicator
vizual
5 LED Indica puterea și comunicarea radio
Cabluri
USB Cablu USB 6ft între eKo de radio de bază și eG2100 poarta de acces
Putere
Voltaj Furnizat prin cablu USB de la poarta de acces
Curent de
operare
Media de 30 mA
Mecanic
Închidere Evaluare interioară
Temperatura
de operare
6C la 40C ambiental
Umiditate de
funcționare
10% până la 80% fără condensare
Dimensiuni /
Greutate
2.25” x 1.25” x 4” / 0.25 lbs
Florian-Alexandru OANĂ
21
CAPITOLUL 2
Partea teroretică a algoritmilor de predicție
2.1 Semnal Autoregresiv
În clasa ARMA, semnalele polilor-autoregresivi constituie tipul del mai des utilizat in
aplicațiile folosite. Ecuația AR poate modela spectrul cu vârfuri înguste prin plasarea zerouri
de A-polinom (2.1.1)(cu B(ω)=1) în apropierea cercului unitate. Aceasta este o caracteristică
importantă, deoarece spectrele de bandă îngustă sunt destul de comune în practică. În plus,
estimarea parametrilor din modelele de semnal AR este un subiect bine stabilit, estimările
sunt găsite prin rezolvarea unui sistem de ecuații liniare, și stabilitatea estimată a polinomului
AR poate fi garantată. Considerăm două metode de estimare spectrală AR. Prima se bazează
direct pe relație liniară între covarianțele și parametrii AR derivate din ecuația (2.1.2), se
numește metoda Yule-Walker. A doua metodă se bazează pe soluția celor mai mici pătrate a
parametrilor folosind ecuația AR pentru domeniul timp A(z)y(t) = e(t). Acestă așa-numita
metoda celor mai mici patrate este strâns legată de problema de predicție liniară.
Φ(ω)=|
| (2.1.1)
r(k)+∑ (2.1.2)
2.2 Metora Yule-Walker
În această secțiune, ne concentrăm pe o tehnica pentru estimarea parametrilor AR care
este numit Yule-Walker (YW) metoda [Yule 1927; Walker 1931]. Pentru semnale AR, m = 0
și B (z) = 1. Astfel, ecuatia (3.3.4) are loc pentru k> 0. Astfel, ecuatia (2.1.2) are loc pentru
k> 0. De asemenea, avem din ecuația (2.2.1), care:
r(k)+∑ ∑
(2.2.1)
Combinând (2.1.2) și (2.2.1) pentru k = 1.... n dă următorul sistem liniar de ecuații:
[
] [
]=[
] (2.2.2)
Florian-Alexandru OANĂ
22
Ecuațiile de mai sus sunt numite ecuații Yule Walker sau ecuații normale, și formează
baza multor metode de estimare AR. Dacă {( ) s-au cunoscut, am putea rezolva
(2.2.2) pentru:
Θ=[ (2.2.3)
Folosind toate randurile in afara de (2.2.2):
[
] [
] [
] [ ] (2.2.4)
Sau,
(2.2.5)
Soluția este: θ = - . Odată ce θ este găsit, pot fi obținute de la primul rând de
(2.2.2) sau, echivalent, de la (2.2.1). Metoda Yule-Walker pentru estimarea spectrală AR se
bazeaza direct pe (2.2.2). Având în vedere datele { , am obține covarianța {
,
folosind părtinitoare standard de ACS estimator :
ȓ(k)=
∑
(2.2.6)
Vom introduce aceste estimări ACS (2.2.2) și pentru a rezolva pentru θ și așa cum
sa explicat mai sus, în cazul cunoscut-covarianță. Rețineți că matricea de covarianță în (2.2.2)
poate fi dovedit a fi pozitiv de finită pentru orice n, și, prin urmare soluția la (2.2.2) este
unică. Când covarianțele sunt înlocuite cu estimări standard de părtinitoare ACS, matricea
poate fi dovedit a fi pozitiv de finită pentru orice probă (nu neapărat generată de o ecuație
AR), care nu este identic egal cu zero, a se vedea remarca în secțiunea următoare pentru a se
dovedi.
Pentru a sublinia în mod explicit dependența θ și de pe ordinea n, putem scrie
(2.2.2), în calitate de:
[
]=[
] (2.2.7)
2.3 Metoda celor mai mici patrate
Metora Yule- Walker pentru estimarea parametrilor AR se bazează pe ecuația (2.2.2)
cu covarianță adevărată pentru elemente {r(k)} înlocuiesc cu covarianța eșantion {ȓ(k)}. În
această secțiune, vom obține un alt tip de AR estimator bazat pe o celula pătratica criteriu de
minimizare (LS), folosind relația A(z)y(t) = e(t). Dezvoltam un estimator LS luând în
Florian-Alexandru OANĂ
23
considerare probleme strâns legate de predicția liniara. Apoi am interpreta metoda LS ca o
metodă de tipul Yule- Walker care utilizează o estimare diferită de Rn +1 in ecuația (2.2.7)
e(t)=y(t)+∑ (2.3.1)
unde φ(t)= . Vom interpreta ŷ(t) ca o predicție liniară a lui y (t) de la
probele anterioare , și am interpreta e (t) ca predicție corespunzătoare
eroare. Vector θ care minimizează eroarea de variație de predictive { | | este
AR vector coieficient în (2.2.7), după cum vom arăta. Din (2.3.1) avem:
{ | | {
= r(0)+ (2.3.2)
unde și sunt definite în ecuațiile (2.2.4) -(2.2.5).Vector θ care minimizează (2.3.2) este
dat de:
θ = - (2.3.3)
cu eroare de predicție minimă corespunzătoare:
(2.3.4)
Ecuațiile (2.3.3) și (2.3.4) sunt exact același ecuațiile ale lui Walker Yule în (2.2.5) și
(2.2.1) (sau, echivalent, în (2.2.7)). Astfel, vedem că ecuațiile lui Yule Walker pot fi
interpretate ca soluție la problema de găsind cel mai bun predictor liniar de y (t) la ‘n’ ultimii
pași pana la cei mai recenții. Din acest motiv, modelare AR este uneori menționată ca
modelare predictivă lineară.
Metoda celor mai mici pătrate AR de estimare se bazează pe un eșantion aproximativ
finit pentru soluția de mai sus a problemei de minimizare. Având un set finit de măsurători
{( ) am aproximativ minimizarea E{| | de funcția de cost finite-eșantion
f(θ) = ∑ | | ∑ | ∑ |
=‖[
] [
] ‖
|| || (2.3.5)
unde se presupune y (t) = 0 pentru t <1 și t> N. Vector θ care minimizeaza f (θ) este dată de:
Florian-Alexandru OANĂ
24
θ = (2.3.6)
în cazul în care, așa cum se vede din (2.3.5), de la definiții ale Y și y depinde de alegerea lui
(N1;N2) considerat și avem:
y=
[
]
, Y=
[
]
(2.3.7)
Observați structura Toeplitz de Y, și, de asemenea, că Y se potrivește aceastei
structurii Toeplitz atunci când este adăugată la stânga de Y, care este, [y|Y].
Cele două opțiuni cele mai comune pentru N1 si N2 sunt:
N1 = 1, N2 = N + n (considerat mai sus). Această alegere produce așa numita metoda
autocorelației.
N1 = n +1, N2 = N. Această alegere corespunde îndepărtarea primului ‘n’ și ultimele
‘n’ atat și ultimelor rânduri de Y și y în ecuația (2.3.7), și, prin urmare,acolo elimină
toate valorile arbitrare zero. Estimarea (2.3.6) cu această alegere de (N1, N2) este
adesea numit metoda de covarianță. Ne referim la această metodă ca metoda LS
covarianța, sau metoda LS.
Alte opțiuni pentru N1 si N2 au fost, de asemenea sugerate cur ar fi de exemplu,
prewindow aceasta metoda utilizează N1 și N2 = 1 = N, iar metoda postwindow folosește
N1 = n +1 și N2 = N.
Metodele celor mai mici pătrate pot fi interpretate ca soluții aproximative a ecuatiilor
Yule-Walker (2.2.4), prin recunoașterea faptului că Y*Y și Y*y sunt de la o constantă
multiplicativă, respectiv estimările simple esantioane de și . De fapt, este ușor să se
arate că, pentru metoda de autocorelație, elementele (Y*Y)/N și (Y*y)/N sunt exact estimările
ACS părtinitoare utilizate în AR estimarea Yule-Walker. Scrierea θ în (2.3.6) ca:
ȓ(k)=
∑
, 0 (2.3.8)
θ = -
(2.3.9)
vom vedea ca o consecință faptul că:
Florian-Alexandru OANĂ
25
Metoda autocorelație a celor mai mici pătrate AR, estimare este echivalentă cu metoda
Yule-Walker.Putem dovedi acum o cerere făcută în alineatul precedent, care matricea Y*Y în
(2.3.6), cu Y dată de (2.3.7), este pozitiv pentru orice probă {( ) care nu este identic
egală cu zero.
Pentru a demonstra această afirmație este necesar și suficient că rang (Y) = n. În cazul
în care y (1) 0, atunci în mod clar rang (Y) = n. Dacă y (1) 0 și y (2) 0, apoi din nou
avem clar rank (Y) = n, și așa mai departe.
Pentru estimator LS, (Y*Y) / (N-n) și (Y*Y) / (N= n) sunt estimări impartiale de Rn și
în ecuații (2.2.4) și (2.2.5), și ei nu folosesc niciun fel de date de măsurare în afara
intervalului disponibil 1 t N. Pe de altă parte, matricea (Y*Y) / (N -n) nu este Toeplitz,
Levinson-Durbin sau algoritmi Delsarte-Genin din următoarea secțiune nu poate fi utilizat
(deși algoritmi de similare rapide pentru metoda LS a fost deja dezvoltat, a se vedea, de
exemplu, [Marple 1987]).
Ca N crește,diferențad dintre matricea de covarianță estimările utilizate de cătreYule-
Walker și metodele LS diminuează. Prin urmare, pentru eșantioane mari (de exemplu, pentru
N 1), estimările YW și LS ale parametrilor AR aproape coincide unul cu altul. Pentru
lungimi mici sau mijlocii eșantionate, Yule Walker și LS poate comporta difetit. În primul
rând, modelul AR estimat obținut cu metoda Yule-Walker este garantat sa fie stabil în timp ce
modelul LS estimat poate fi instabilă. Pentru aplicațiile în care unul este interesat de modelul
AR (și nu doar estimarea spectrală AR), stabilitatea modelului este adesea o cerință
importantă. Se poate, prin urmare, să fie considerat că instabilitatea potențială a modelului AR
furnizat de metoda LS este un dezavantaj și un inconvenient major al acestei metode. Caz,
însă, este faptul că modelele LS estimate care sunt instabile apar rar și, în plus, atunci cand
apar există mijloace simple la stabilizarea ei (de exemplu, prin reflectarea poliilor instabili din
interiorul cercului unitate). Prin urmare, pentru a încheia acest punct, lipsa de stabilitate
garantată este un dezavantaj al metodei LS, în comparație cu metoda Yule-Walker, dar de
multe ori nu una serioasă.
În al doilea rând, metoda LS a fost dovedit a fi mai precise decât metoda Yule-Walker,
în sensul că parametrii estimate din prima categorie sunt în medie mai aproape de valorile
reale decât cele din urmă [Marple 1987; Kay 1988] Aanaliza statistică selectivă a acestor
metode este subdezvoltată, o explicație teoretică a acestui comportament nu este posibilă în
acest moment. Numai explicații euristice sunt disponibile. Un astfel de explicație este că
presupunerea că y (t) = 0 în afara intervalului 1 t N, și corespunzătoare a elementelor de
zero în Y și y, rezultat în părtinire în Yule-Walker estimeaza a parametrilor AR. Când N nu
este cu mult mai mare decât n, această prejudecată poate fi semnificante.
2.4 Procese ARMA / ARMAX
Un semnal y(t) satisface ecuatia (2.4.2) se numeste o medie autoregresiva (ARMA
sau ARMA (n, m)) . Dacă m = 0 în (2.4.2), atunci y(t) este un semnal autoregresiv (AR sau
AR (n)) , și y (t) este o medie mobilă dacă (MA sau MA (m)) dacă n = 0. De presupunere,ϕ
(ω) este finit pentru toate ω valorile, ca urmare, A(z) poate să nu aibă nici un zero, exact pe
Florian-Alexandru OANĂ
26
cercul unitate. Mai mult, deoarece poli și zerouri de ϕ(Z) sunt în perechi reciproce, după cum
sa explicat mai înainte, este întotdeauna posibil de a alege A (z) să aibă toate zerouri sale
strict în interiorul discului unitate. Modelul corespunzător (2.4.2) este apoi declarat a fi stabil.
Dacă presupunem, pentru simplitate, că ϕ (ω) nu dispare în orice ω apoi similar ca mai sus
putem alege polinomul B(z), astfel încât acesta are toate zerourile în interiorul unității discului
deschis. Modelul corespunzător (2.4.2) se spune că este de faza minimă. Această discuție, de
asemenea, a arătat că problema factorizarea spectral asociat cu un PSD rațional are mai multe
soluții, cu model stabil și minim ARMA faza fiind doar una dintre ele. În cele ce urmează,
vom lua în considerare problema de estimare a parametrilor din această ecuație ARMA
special. În cazul în care scopul final este estimarea ϕ (ω) concentrându-se pe modelul stabil și
minim ARMA faza este nici o restricție.
ARMA: A(z)y(t) = B(z)e(t)
AR: A(z)y(t) =e(t) (2.4.1)
MA: y(t) = B(z)e(t)
y(t)=
(2.4.2)
Structura proceselor de tip ARMA se poate exprima pentru covarianțele unui proces în
ceea ce privește parametrii { , {
, expresia oferă o metodă convenabilă pentru
estimarea parametrilor ARMA prin înlocuirea adevărate autocovarianțe cu estimările obținute
din date. Aproape toate metodele ARMA de estimare spectrale exploata această structură
covarianță, fie în mod explicit sau implicit, și, astfel, acesta va fi utilizat pe scară largă în
restul capitolului.
Ecuația (2.4.1) poate fi scrisa ca:
y(t) + ∑ =∑
, (2.4.3)
Înmulțirea (2.4.3) prin y*(t - k) și luând randamentele așteptate:
r(k) + ∑ ∑ {
(2.4.4)
Deoarece filtrul H (z) = B (z) / A (z) este asimptotic stabil și de cauzalitate, putem scrie:
H (z) = B (z) / A (z) = ∑
=1 (2.4.5)
care dă:
y(t) = H(z)e(t)= ∑ (2.4.6)
atunci termenul E{e (t - j) (t-k)} devine:
Florian-Alexandru OANĂ
27
E{e (t - j) (t-k)} = E {e(t-j)∑
} (2.4.7)
= ∑
=
în cazul în care vom folosi convenția care = 0 pentru k <0. Astfel, ecuația (2.4.4) devine:
r(k) + ∑ ∑
(2.4.8)
În general, este o funcție neliniară a { } și { } coeficienți. Cu toate acestea, deoarece
= 0 pentru s <0 , ecuația (2.4.8) pentru k m + 1 se reduce la:
r(k) + ∑ pentru k (2.4.9)
Clasa ARMAX:
Ecuațiile clasei ARMAX [na, nb, nc, nk] sunt urmatoarele:
A( )y[n] = B( )u[n] + C( )e[n] , ∀ n,m ϵ ℕ (2.4.10)
E{e[n]e[m]}= [n-m]
Unde, in afara noțiunilor cunoscute, au fost intruduse noile notații: A ,B ,C- polinoame de
grade finite, mai precis:
A( )= 1 +
B( )= (
)
C( )= 1+
(2.4.11)
Cu parametrii { { { indicii structurali na, nb ,nc si intarzierea
intrinseca nk necunoscute.
Tot necunoscuta este și dispersia a zgomotului alb. In cazul in care nk=1 (sau este
tot un parametru necunoscut ), clasa se mai notează prin ARMAX[na,nb,nc] (adica fară a
pune in evidenta intîrzierea intrinsecă). Prin convenție , daca nu se specifică altfel, intîrzierea
intrinsecă este unitară, astfel că eticheta „ARMAX[na, nb, nc, ]” este mai des utilizată decît
„ARMAX[na,nb,nc, nk]”.
Numele clasei provine de la cele trei componente ale ecuației principale din (2.4.10):
A ( ) y[n]- componenta autoregresivă (AR)
B ( ) u[n]- componenta de control exogen (X)
C ( ) e[n]- componenta de medie alunecătoare (MA)
Modelul matematic detaliat al acestei clase este de fapt exprimat de o ecuație liniară cu
diferențe :
Y [n] +
∀ n ϵℕ. (2.4.12)
Florian-Alexandru OANĂ
28
Condițiile inițiale ale acestei ecuații sunt implicit nule, dacănu se precizează altfel.
Desigur, obiectivul nefiind rezolvarea ecuației (2.4.12), ci determinarea structurii și a
coeficienților ei, condițiile initiale joacă doar un rol secundar în acest context.
Clasa ARMAX este un caz particular al modelului general asa cum arata ecuațiile
următoare :
E{ ∀n,m ϵ ℕ (2.4.13)
Astfel, cele doua filtre sunt exprimate prin funcții de sitem raționale:
H( ( )
G( ) =
(2.4.16)
Pentru a simplifica notațiile, in ecuațiile (2.4.10),(2.4.11), (2.4.12),și (2.4.13) a fost
omisă precizarea vectorului parametrilor necunoscuți θ ca argument al polinoamelor și
funcțiilor de sistem.
Florian-Alexandru OANĂ
29
CAPITOLUL 3
Achiziție de date pentru rularea algoritmului
de identificare si predicție
3.1 Achizitia de date
Achiziția de date se face cu ajutorul stației meteo care face un update la baza de date
din 15 in 15 min.Aceste date se pot salva pe o perioada de timp, plecand de la o zi pana la
șase luni sau chiar un an.Ele vin in format csv.
Aceste date pot fi exportate in matlab.Pe baza datelor extrase din aceasta baza de date
se pot construi modele de tip AR(semanl autoregresiv) de ordin superior pentru o aproximare
grosieră (forma simplă a teoriei) , pentru a optine un model matematic.
Metooda folosită pentru identificarea parametrica a sistemului constă in rezolvarea
unui set de ecuatii Yule-Walker. Iar aceste ecuații se bazeaza pe matricea de covarianța a
semnalului.
Folosint acest model de ecuații Yule-Walker se pot prezice iesirile pe o perioada de
timp și pe un anumit nr de eăantioane.In cazul unui perioade de eșantionare de 15 min, o
predicție in patru pași se poate exprima AR in echivalentu la 1 ora, iar una de 96 de
eșantioane ar fi echivalentul AR unei zile intregi.
Predicția se face folosind datele modelul identificat, datele de intrare si parametri
medelului identificat. Iar ca metodă de predicție se dorește minimizarea erorii de predicție.
Florian-Alexandru OANĂ
30
3.2 Algoritmul de predicție
=
∑
n-k] (1)
[
]
[
]=[
] , ∀ ℕ
(2)
= +
+...+ (3)
↓ ↓
Doar pe diagonala, Grad variabil
Polinomii sunt compleți
{
[ ] ∀ ℕ
∀0,j ϵ (4)
[ ]
[ ]
( (
+( , ∀
(5)
V ∑ ∑
∑
=
=∑ ∑
∑
∑
( ) ∑ ∑
=0
(6)
[
∑
∑
∑
∑
∑
∑
]
Florian-Alexandru OANĂ
31
[
∑
∑
∑
]
[
]
,
( ) ∑
y[n] =∑ ∑
∑ [ ∑ { ]
∑
[∑
{( )
}]
=diag[ {
=diad[
∑ [
] ∀ ∊
∑ diag(
)
∑
[n-n ]
{
Cum estimezi ∑ ?
- [n]
=
∑
[n] [
∑
[ ][ ]
Na=max{ }
Florian-Alexandru OANĂ
32
3.3 Implementarea in matlab
function array= read_mixed_csv(fileName)
fileName = uigetfile;
delimiter=',';
fid = fopen(fileName,'r'); %# Open the file
lineArray = cell(1000,1); %# Preallocate a cell array
lineIndex = 1; %# Index of cell to place the next line in
nextLine = fgetl(fid); %# Read the first line from the file
while ~isequal(nextLine,-1) %# Loop while not at the end of the file
lineArray{lineIndex} = nextLine; %# Add the line to the cell array
lineIndex = lineIndex+1; %# Increment the line index
nextLine = fgetl(fid); %# Read the next line from the file
end
fclose(fid); %# Close the file
lineArray = lineArray(1:lineIndex-1); %# Remove empty cells, if needed
for iLine = 1:lineIndex-1 %# Loop over lines
lineData = textscan(lineArray{iLine},'%s',... %# Read strings
'Delimiter',delimiter);
lineData = lineData{1}; %# Remove cell encapsulation
if strcmp(lineArray{iLine}(end),delimiter) %# Account for when the line
lineData{end+1} = ''; %# ends with a delimiter
end
lineArray(iLine,1:numel(lineData)) = lineData; %# Overwrite line data
end
% data=zeros(length(lineArray),1);
lineArray=lineArray(2:end,2);
lineArray=strrep(lineArray,'"','');
lineArray=cellfun(@(s) {str2double(s)},lineArray);
array=zeros(length(lineArray),1);
for i=1:length(lineArray)
array(i)=lineArray{i};
end
end
3.4 Vizualizarea si interpretarea datelor
Florian-Alexandru OANĂ
33
In (figura 1.10, figura 1.11, figura 1.12, și 13 ) avem date pe o perioada de timp de
șase luni de zile. Ceea ce este hașurat cu albastru reprezinta datele introduse din csv, iar cu
roșu reprezintă predicția.
Figura 1.10. Direcția vantului
Figura 1.11. Umiditatea mediului
Florian-Alexandru OANĂ
34
Figura 1.12. Temperatura
Figura 1.13. Viteza vantului
Florian-Alexandru OANĂ
35
Codul pe care ii folosesc pentru afișarea graficelor:
function grafice()
titluri={'Dir_vant_6luni.csv','RH_6luni.csv','Vit_vant_6luni.csv','Temp_6luni.csv'};
ord=10;
axe={'Directia vantului','RH', 'Viteza vantului','Temperatura'};
predhor=10;
for i=1:4
data=read_mixed_csv(titluri{i});
m = ar(data, ord, 'yw'); % yw for Yule-Walker method
pred = predict(m, data, predhor,'InitialState','z');
nextValue = pred{1}(end-predhor+1:end);
for j=1:predhor
data(end+1)=nextValue(j);
end
figure
plot(1:length(data)-predhor,data(1:length(data)-predhor),'b-',length(data)-
predhor:length(data),data(length(data)-predhor:length(data)),'rx:');
xlabel('Timp')
ylabel(axe{i})
end
Florian-Alexandru OANĂ
36
CAPITOLUL 4
Experimentarea sistemelor de monitorizare de la distanța a
parametrilor stației meteo
4.1 Tehnologii utilizate
4.1.1 CSS
CSS (Cacading Style sheets) este un standard pentru formatarea elementelor unui
document HTML. Denumirea de CSS provine din limba engleza de la cacading style sheets,
care se traduce ca fiind foi de stil in cascada.
CSS este utilizat atat de autorii cat si de cititorii de pagini web pentru a defini culori, fonturi,
layout, precum si alte aspecte legate de prezentarea documentelor. El este conceput in primul
rand pentru a permite separarea documentelor ca si continut de documentul de prezentare.
În principiu HTML a fost conceput pentru a marca elementele unei pagini. Odată cu
introducerea HTML 3.2 au fost introduse şi atributele de personalizare a tag-urilor precum
"font", "color" etc. Astfel limbajul de programare HTML a devenit greoi, deoarece fiecare
pagină a websitului trebuie luată separat şi modificate proprietăţile elementelor principale.
Această problemă a fost rezolvată în versiunea 4.0 a HTML-ului. Toate atributele de
personalizare au fost scoase şi salvate într-un fişier extern cu extensia ".css".
Această separare poate îmbunătăţi accesibilitatea conţinutului, să ofere o mai mare
flexibilitate şi poate diminua caietul de sarcini al celui care se ocupă de mentenanţă unui site
web prin asigurarea unui control mai simplu. În felul acesta modificând un singur fişier putem
schimba forma în care sunt afişate toate paginile unui website.
4.1.2 HTML
Paginile de internet sunt , de obicei, realizate într-un limbaj numit HTML - HyperText
Mark-up Language, unul dintre cele mai vechi limbaje de programare. HTML este unul dintre
elementele fundamentale ale WWW (World Wide Web), care descrie formatul de bază
(paragrafe, fonturi, tabele, etc) a documentelor Web.
Codul HTML este redat de un software de redare specializat, numit agent utilizator
HTML. Cel mai comun exemplu de astfel de agent este browserul. Se pot crea siteuri doar cu
ajutorul limbajului HTML, însă HTML-ul reprezintă doar un început pentru realizarea site-
urilor profesionale.
HTML, sau HyperText Markup Language, a fost proiectat sã poatã opera cu
functionalitãtile multimedia ale WWW. Limbajul de marcare permite transformarea oricãrui
text într-un hipertext prin introducerea unor marcaje, care vor indica modul cum se efectueaza
legãturile documentului, cum vor apãrea paginile documentului etc. Un document HTML
poate fi fãcut public dacã este pe un calculator care are acces la Internet. Un document fãcut
public poate fi vãzut din orice punct al Internet-ului. Desi nu este optiunea cea mai fericitã,
vom utiliza cuvantul tag pentru marcaj.[51]
Florian-Alexandru OANĂ
37
SGML, Standard Generalized Markup Language, pãrintele HTML-ului, a devenit, în
1986, standard ISO. Fiecare document SGML are asociat o definire a tipului de document
(DTD) care defineste regulile pentru continutul documentului. Fiecare versiune de HTML a
fost definitã într-un DTD.
HTML 1.0 si HTML+ au apãrut în 1990, respectiv 1993. HTML 2.0, apãrut în 1994, a
fost prima versiune standardizatã. Ea contine 49 de taguri. HTML 3.0 a apãrut în 1995.
Versiunea cuprindea extensii importante, cum ar fi marcaje pentru notatii matematice,
bannere etc. În prezent nu mai este utilizat. HTML 3.2, introdus în 1996, este considerat ca
succesorul versiunii 2.0, incorporând o serie de taguri din HTML 3.0 ca si extensii Netscape.
4.1.3 PHP
PHP este un limbaj de programare destinat în primul rând Internetului, aducând
dinamica unei pagini web. Este unul din cele mai importante limbaje de programare web
open-source şi server-side. Acest limbaj de programare este perfect pentru dezvoltarea unei
aplicații web dinamice sau a unui website care să poată interacționa cu utilizatorul şi poate fi
încorporat direct în cod HTML.
Cel mai important aspect al limbajului este posibilitatea de a fi imbricat cu cod
HTML. Putem astfel crea pagini HTML statice şi din loc în loc, acolo unde este nevoie, să
introducem dinamism cu ajutorul PHP.
Când accesăm o pagină HTML serverul care o găzduieşte trimite pagina HTML catre
browser spre afişare. În cazul unei pagini PHP serverul citeşte codul PHP, îl interpretează şi
generează dinamic pagina HTML care este trimisă browserului spre afişare. Acesta este
motivul pentru care utilizatorii folosesc PHP pentru construirea unor pagini cu conţinut
dinamic.
Popularitatea de care se bucură acest limbaj de programare se datorează următoarelor
caracteristici:
• Familiaritatea : sintaxa limbajului este foarte ușoară combinând sintaxele unora din
cele mai populare limbaje Perl sau C;
• Simplitatea : sintaxa limbajului este destul de liberă. Nu este nevoie de includere de
biblioteci sau de directive de compilare, codul PHP inclus într-un document executându-se
între marcajele speciale;
• Eficiența : PHP-ul se folosește de mecanisme de alocare a resurselor, foarte necesare
unui mediu multiutilizator, așa cum este web-ul;
• Securitate : PHP-ul pune la dispoziția programatorului un set flexibil și eficient de
măsuri de siguranță;
• Gratuitate : este probabil cea mai importantă caracteristică a PHP-ului. Dezvoltarea
PHP-ului sub licența open-source a determinat adaptarea rapidă a PHP-ului la nevoile web-
ului, eficientizarea și securizarea codului.
Florian-Alexandru OANĂ
38
4.1.3 XAMPP
XAMPP este un cross-platform server web, pachet gratuit și sivă open source,
constând în principal din Apache HTTP Server, baze de date MySQL, și interpreți pentru
scripturi scrise în PHP și limbaje de programare Perl.
XAMPP nevoie doar de o zip, gudron, 7z, sau exe dosar pentru a fi descărcate și a
alerga, și configurația puțin sau nu a diferitelor componente care alcătuiesc este necesar
serverul de web. XAMPP este actualizat cu regularitate pentru a include cele mai recente
versiuni de Apache, MySQL, PHP si Perl. De asemenea, vine cu o serie de alte module,
inclusiv OpenSSL și phpMyAdmin.
Mai multe instanțe de sine-stătătoare, de XAMPP poate exista pe un singur calculator,
și orice moment dat pot fi copiate de la un computer la altul.
Acesta este oferit atât în, versiunea standard completă și o versiune mai mică.
Oficial, designerii XAMPP lui este destinat doar ca un instrument de dezvoltare,
pentru a permite designeri site-ul web și programatori pentru a testa activitatea lor pe
computerele lor, fără nici un acces la internet. Pentru a face acest lucru cât mai ușor posibil,
mai multe caracteristici importante de securitate sunt dezactivate în mod implicit. [2] În
practică, cu toate acestea, XAMPP este folosit uneori pentru a servi de fapt pagini Web de pe
World Wide Web [necesită citare]. Un instrument special este oferit pentru a proteja prin
parolă cele mai importante părți ale pachetului.
XAMPP oferă de asemenea suport pentru crearea și manipularea bazelor de date în
MySQL și SQLite, printre altele.
Odată XAMPP este instalat, este posibil pentru a trata o localhost ca o gazdă de la
distanță prin conectarea folosind un client FTP. Folosind un program ca FileZilla are multe
avantaje atunci când instalarea unui sistem de management al conținutului (CMS), cum ar fi
Joomla. Este de asemenea posibil să se conecteze la localhost prin FTP cu un editor HTML.
Utilizatorul FTP implicit este "newuser", parola implicită FTP este "wampp".
Utilizatorul MySQL implicit este "root" în timp ce nu există nici implicit parola
MySQL.
4.1.3 Baza de date
Baza de date este unul dintre instrumentele fundamentale utilizat pentru organuzarea
informatiei. Baza de date reprezinta o colectie de date organizate pentru a facilita cautarea si
regasirea rapida prin intermediul calculatorului.
Reprezinta structuri pe care sunt construite majoritatea sistemelor informatice. Bazele
de date sunt structurate astfel incat sa faciliteze stocarea, regasirea, modificarea si stergerea
datelor in concordanta cu diferite operatii de procesare a datelor.
O baza de date reprezinta o serie de inregistrari, fiecare dintre acestea fiind o entitate
specifica, toate construite in acelasi mod (cu atribute comune) si interconectate. Inregistrarile
sunt componente elementare ale unei baza de date si pot contine informatii numerice, text sau
reprezentari grafice.
Florian-Alexandru OANĂ
39
O inregistrare cuprinde campuri de date sau elemente de date care descriu principalele
atribute ale unei entitati.:
Calitatea unei baze de date se caracterizeaza prin patru criterii :
Volumul informatiei si acoperirea domeniilor de interes stiintific;
Facilitatiile de interogare;
Timpii de acces;
Grafica ecranului;
In functie de structura lor, bazele de date se impart in doua categorii :
Baze de date ierarhizate
Baze de date relationale
Bazele de date ierarhizate utilizeaza in mod traditional structura arborescenta pentru
retinerea informatiei. Ele constau intr-un fisier format dim mai multe intregistrari, care la
randul lor sunt constituite din numeroase campuri de date. Aceste baze de date sunt mai
degraba inflexibile si folosesc mai mult spatiu intrucat datele sunt adesea repetitive.
Bazele de date relationale permit divizarea inregistrarilor in mai multe parti care sunt
pastrate in diferite fisiere. Aceste parti sunt legate intre ele pentru a forma inregistrari
individuale. Fiecare informatie individuala fiind stocata intr-un singur loc dar ea poate fi
utilizata in mai multe inregistrari. De ex: Numele unui autor poate fi stocat intr-un fisier
pentru nume, dar fiecare inregistrare a fiecarei lucrari a respectivului autor este afisata
impreuna cu numele autorului pe ecran.
MySQL este un limbaj simplu de interogare, modificare sau ştergere a datelor, dar şi de
manipulare a structurii bazei de date. Este cel mai popular sistem de gestiune a bazelor de date
relaţionale, simplu şi eficient, care lucrează foarte bine cu PHP.
Popularitatea sa ca aplicaţie web este strâns legată de cea a PHP-ului care este adesea
combinat cu MySQL şi denumit Duo-ul Dinamic. În multe cărţi de specialitate este precizat
faptul ca MySQL este mult mai uşor de învăţat şi folosit decât multe din aplicaţiile de
gestiune a bazelor de date.
Pentru a administra bazele de date MySQL se poate folosi modul linie de comandă sau,
prin descărcare de pe internet, o interfaţă grafică: MySQL Administrator şi MySQL Query
Browser. Un alt instrument de management al acestor baze de date este aplicaţia gratuită,
scrisă în PHP, phpMyAdmin.
4.2 Prezentarea aplicației
Aceasta aplicație prezintă preluarea de date de la un server si afisarea lor. Aplicatia
este facută cu ajutorul mai multor limbaje de programare web, și anume html, css si baze de
date.
Florian-Alexandru OANĂ
40
Baza de date este updatată din 15 in 15 min cu ajutorul serverului care primeste date
de tip vector de la stația meteo eKo.Se pot stoca date pana la șase luni de zile. Aceasta
aplicație este funcțională pe un ecran de 15 inch și se poate umbla pe el cu ajutorul
touchscreenului.
Dialogul dintre servar si acest monitor se face prin cablu utp.
Se pot afișa opt tipuri de date, acestea sunt:
Temperatura ambientala (Ambient temperature) -
Punct de rouă (Dew point) -
Viteza vantului (Wind speed) - ⁄
Presiune barometrică (Barometric pressure) – mBar
Umiditate ambientală (Ambient humidity) - % RH
Direcția vantului (Wind direction) -
Cantitatea de precipitații asupra solului (Rain rate) – cm
Radiații solare (Solar radiation) - ⁄
Figura 1.14. Pagina principala a aplicației
Florian-Alexandru OANĂ
41
Fiecare buton te direcționeaza la o pagina aferentă, unde pot fi vazute valorile trimise
de la stația meteo. Fiecare buton in parte arata datele specifice acestuia.
Cand apeși pe unul din cele opt butoare din pagina principala vei fi redicționat la o
pagină asemănătoare cu aceasta unde se poate vedea datele opținute de la stația-meteo din
acel moment. Aceste date au o perioadă de 15 min in care sunt afișate inainte sa se schimbe
iar, acest lucru repetanduse la infinit.
Figura 1.15. Pagina in care sunt afișate datele
Florian-Alexandru OANĂ
42
CAPITOLUL 5
Concluzii
Florian-Alexandru OANĂ
43
ANEXA.A
Codul de la aplicatie:HTML
<html>
<head>
<link rel="stylesheet" type="text/css" href="css/css.css">
<link rel="stylesheet" type="text/css" href="css/core.css">
</head>
<body>
<div id="container">
<div align="center"id="header">
<img style="margin-left:2em; height:100px; width:200px;
margin-top:3em;"src="images/logo1.png" alt="Logo">
<p><b>Departamentul de Automatica si Ingineria
Sistemelor</b></p>
</div>
<div id="content">
<a href="pages/ambient.php" class="buttons temp">Ambient
Temperature °C</a>
<a href="pages/humidity.php" class="buttons rain">Ambient
Humidity %RH</a> <br>
<a href="pages/dewpoint.php" class="buttons dew">Dew Point
°C</a>
<a href="pages/winddir.php" class="buttons direction">Wind
Direction °C</a> <br>
<a href="pages/windspeed.php" class="buttons wind">Wind
Speed Km/h</a>
<a href="pages/rain.php" class="buttons humidity">Rain Rate
cm</a> <br>
<a href="pages/pressure.php" class="buttons bar">Barometric
Pressure mbar</a>
<a href="pages/radiation.php" class="buttons radiation">Solar
Radiation W/m²</a>
</div>
<div align="center"id="footer">
<img style="padding-top:15px"src="images/logo.png"
alt="Logo">
</div>
</div>
</body>
</html>
Florian-Alexandru OANĂ
44
Codul de la aplicatie: core.css
.buttons
{
width:16em;
height:2.6em;
display: inline-block;
white-space: nowrap;
background: #eeeeee; /* Old browsers */
background: -moz-linear-gradient(top, #eeeeee 0%, #eeeeee 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#eeeeee), color-
stop(100%,#eeeeee)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #eeeeee 0%,#eeeeee 100%); /*
Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, #eeeeee 0%,#eeeeee 100%); /* Opera11.10+ */
background: -ms-linear-gradient(top, #eeeeee 0%,#eeeeee 100%); /* IE10+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eeeeee',
endColorstr='#eeeeee',GradientType=0 ); /* IE6-9 */
background: linear-gradient(top, #eeeeee 0%,#eeeeee 100%); /* W3C */
border: 1px solid #a1a1a1;
padding-right:2em;
margin: 0.5em;
font: bold 1.7em/3em Arial, Helvetica;
text-decoration: none;
color: #333;
text-shadow: 0 2px 0 rgba(255,255,255,.8);
-moz-border-radius: .2em;
-webkit-border-radius: .2em;
border-radius: .2em;
-moz-box-shadow: 0 0 1px 1px rgba(255,255,255,.8) inset, 0 1px 0 rgba(0,0,0,.3);
-webkit-box-shadow: 0 0 1px 1px rgba(255,255,255,.8) inset, 0 1px 0 rgba(0,0,0,.3);
box-shadow: 0 0 1px 1px rgba(255,255,255,.8) inset, 0 1px 0 rgba(0,0,0,.3);
text-align:center;
}
.buttons:hover
{
background: #ffffff; /* Old browsers */
background: -moz-linear-gradient(top, #ffffff 0%, #e5e5e5 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-
stop(100%,#e5e5e5)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #ffffff 0%,#e5e5e5 100%); /*
Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, #ffffff 0%,#e5e5e5 100%); /* Opera11.10+ */
Florian-Alexandru OANĂ
45
background: -ms-linear-gradient(top, #ffffff 0%,#e5e5e5 100%); /* IE10+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff',
endColorstr='#e5e5e5',GradientType=0 ); /* IE6-9 */
background: linear-gradient(top, #ffffff 0%,#e5e5e5 100%); /* W3C */
}
.buttons:active
{
-moz-box-shadow: 0 0 4px 2px rgba(0,0,0,.3) inset;
-webkit-box-shadow: 0 0 4px 2px rgba(0,0,0,.3) inset;
box-shadow: 0 0 4px 2px rgba(0,0,0,.3) inset;
position: relative;
top: 1px;
}
.buttons:focus
{
outline: 0;
background: #fafafa;
}
.buttons:before
{
float: left;
width: 1.2em;
/*text-align: center;*/
font-size: 1.6em;
/*margin: 0 1.5em 0 -1em;*/
margin-right:1em;
padding-left: 0.5em;
pointer-events: none;
}
/* Hexadecimal entities for the icons */
.temp:before { content: "\2600"; }
.dew:before { content: "\2601"; }
.direction:before { content: "\26B6"; }
.wind:before { content: "\2604"; }
.rain:before { content: "\2602";}
.bar:before { content: "\2668"; }
.radiation:before { content: "\2622"; }
.humidity:before { content: "\2614"; }
Florian-Alexandru OANĂ
46
Codul de la aplicatie :Core2.css
.buttons
{
width:10em;
height:3.1em;
display: inline-block;
white-space: nowrap;
background: #eeeeee; /* Old browsers */
background: -moz-linear-gradient(top, #eeeeee 0%, #eeeeee 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#eeeeee), color-
stop(100%,#eeeeee)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #eeeeee 0%,#eeeeee 100%); /*
Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, #eeeeee 0%,#eeeeee 100%); /* Opera11.10+ */
background: -ms-linear-gradient(top, #eeeeee 0%,#eeeeee 100%); /* IE10+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eeeeee',
endColorstr='#eeeeee',GradientType=0 ); /* IE6-9 */
background: linear-gradient(top, #eeeeee 0%,#eeeeee 100%); /* W3C */
border: 1px solid #a1a1a1;
padding-right:0em;
margin: 0.5em;
font: bold 1.7em/3em Arial, Helvetica;
text-decoration: none;
color: #333;
text-shadow: 0 2px 0 rgba(255,255,255,.8);
-moz-border-radius: .2em;
-webkit-border-radius: .2em;
border-radius: .2em;
-moz-box-shadow: 0 0 1px 1px rgba(255,255,255,.8) inset, 0 1px 0 rgba(0,0,0,.3);
-webkit-box-shadow: 0 0 1px 1px rgba(255,255,255,.8) inset, 0 1px 0 rgba(0,0,0,.3);
box-shadow: 0 0 1px 1px rgba(255,255,255,.8) inset, 0 1px 0 rgba(0,0,0,.3);
text-align:center;
}
.buttons:hover
{
background: #ffffff; /* Old browsers */
background: -moz-linear-gradient(top, #ffffff 0%, #e5e5e5 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-
stop(100%,#e5e5e5)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #ffffff 0%,#e5e5e5 100%); /*
Chrome10+,Safari5.1+ */
Florian-Alexandru OANĂ
47
background: -o-linear-gradient(top, #ffffff 0%,#e5e5e5 100%); /* Opera11.10+ */
background: -ms-linear-gradient(top, #ffffff 0%,#e5e5e5 100%); /* IE10+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff',
endColorstr='#e5e5e5',GradientType=0 ); /* IE6-9 */
background: linear-gradient(top, #ffffff 0%,#e5e5e5 100%); /* W3C */
}
.buttons:active
{
-moz-box-shadow: 0 0 4px 2px rgba(0,0,0,.3) inset;
-webkit-box-shadow: 0 0 4px 2px rgba(0,0,0,.3) inset;
box-shadow: 0 0 4px 2px rgba(0,0,0,.3) inset;
position: relative;
top: 1px;
}
.buttons:focus
{
outline: 0;
background: #fafafa;
}
.buttons:before
{
float: left;
width: 1.2em;
/*text-align: center;*/
font-size: 1.6em;
/*margin: 0 1.5em 0 -1em;*/
margin-right:1em;
padding-left: 0.5em;
pointer-events: none;
}
/* Hexadecimal entities for the icons */
.temp:before { content: "\2600"; }
.dew:before { content: "\2601"; }
.direction:before { content: "\26B6"; }
.wind:before { content: "\2604"; }
.rain:before { content: "\2602";}
.bar:before { content: "\2668"; }
.radiation:before { content: "\2622"; }
.humidity:before { content: "\2614"; }
Florian-Alexandru OANĂ
48
Codul de la aplicatie Css.css
html, body
{
height:100%;
padding:0px;
margin:0px;
}
#container
{
min-height:100%;
position:relative;
}
#content
{
text-align:center;
padding-top:3em;
padding-bottom:135px;
}
#footer
{
padding-top:0px;
position:absolute;
height: 140px;
width:100%;
bottom:0;
background: ;
}
body
{
background-image:url("../images/img.png");
background-repeat:repeat;
}
#header
{
}
Florian-Alexandru OANĂ
49
p
{
font-size:2em;
}
Anexa. B
Codul de la butoane
.buttons
{
display: inline-block;
white-space: nowrap;
background: #eeeeee; /* Old browsers */
background: -moz-linear-gradient(top, #eeeeee 0%, #eeeeee 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#eeeeee), color-
stop(100%,#eeeeee)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #eeeeee 0%,#eeeeee 100%); /*
Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, #eeeeee 0%,#eeeeee 100%); /* Opera11.10+ */
background: -ms-linear-gradient(top, #eeeeee 0%,#eeeeee 100%); /* IE10+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eeeeee',
endColorstr='#eeeeee',GradientType=0 ); /* IE6-9 */
background: linear-gradient(top, #eeeeee 0%,#eeeeee 100%); /* W3C */
border: 1px solid #a1a1a1;
padding: 0 2em;
margin: 0.5em;
font: bold 1em/2em Arial, Helvetica;
text-decoration: none;
color: #333;
text-shadow: 0 1px 0 rgba(255,255,255,.8);
-moz-border-radius: .2em;
-webkit-border-radius: .2em;
border-radius: .2em;
-moz-box-shadow: 0 0 1px 1px rgba(255,255,255,.8) inset, 0 1px 0 rgba(0,0,0,.3);
-webkit-box-shadow: 0 0 1px 1px rgba(255,255,255,.8) inset, 0 1px 0 rgba(0,0,0,.3);
box-shadow: 0 0 1px 1px rgba(255,255,255,.8) inset, 0 1px 0 rgba(0,0,0,.3);
}
.buttons:hover
{
background: #ffffff; /* Old browsers */
background: -moz-linear-gradient(top, #ffffff 0%, #e5e5e5 100%); /* FF3.6+ */
Florian-Alexandru OANĂ
50
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-
stop(100%,#e5e5e5)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #ffffff 0%,#e5e5e5 100%); /*
Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, #ffffff 0%,#e5e5e5 100%); /* Opera11.10+ */
background: -ms-linear-gradient(top, #ffffff 0%,#e5e5e5 100%); /* IE10+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff',
endColorstr='#e5e5e5',GradientType=0 ); /* IE6-9 */
background: linear-gradient(top, #ffffff 0%,#e5e5e5 100%); /* W3C */
}
.buttons:active
{
-moz-box-shadow: 0 0 4px 2px rgba(0,0,0,.3) inset;
-webkit-box-shadow: 0 0 4px 2px rgba(0,0,0,.3) inset;
box-shadow: 0 0 4px 2px rgba(0,0,0,.3) inset;
position: relative;
top: 1px;
}
.buttons:focus
{
outline: 0;
background: #fafafa;
}
.buttons:before
{
float: left;
width: 1em;
text-align: center;
font-size: 1.7em;
margin: 0 0.5em 0 -1em;
padding: 0 .2em;
pointer-events: none;
}
/* Hexadecimal entities for the icons */
/*Forms*/
.add:before { content: "\271A"; }
.edit:before { content: "\270E"; }
.delete:before{ content: "\2718";}
.save:before{ content: "\2714";}
Florian-Alexandru OANĂ
51
.email:before{ content: "\2709";}
.cross:before { content: "\2716"; }
/*Currency*/
.dollar:before{ content:"\0024"; }
.euro:before{ content:"\20AC"; }
.pound:before{ content: "\00A3";}
.cent:before { content: "\20B5"; }
/*Temp*/
.celsius:before { content: "\2103"; }
.fahrenheit:before { content: "\2109"; }
/*Math & Factions*/
.pi:before { content: "\213C"; }
.one_thrid:before { content: "\2153"; }
.two_thrid:before { content: "\2154"; }
.one_fifth:before { content: "\2155"; }
.two_fifth:before { content: "\2156"; }
.three_fifth:before { content: "\2157"; }
.four_fifth:before { content: "\2158"; }
.one_sixth:before { content: "\2159"; }
.five_sixth:before { content: "\215A"; }
.one_eighth:before { content: "\215B"; }
.three_eighth:before { content: "\215C"; }
.five_eighth:before { content: "\215D"; }
.seven_eighth:before { content: "\215E"; }
.quarter:before { content: "\00BC"; }
.half:before { content: "\00BD"; }
.three_quarter:before { content: "\00BE"; }
.rhi:before{content: "%";}
/*Arrows*/
.next:before{ content: "\279C";}
.left_arrow:before { content: "\2190"; }
.up_arrow:before { content: "\2191"; }
.right_arrow:before { content: "\2192"; }
.down_arrow:before { content: "\2193"; }
.up_left_arrow:before { content: "\2196"; }
.up_right_arrow:before { content: "\2197"; }
.down_left_arrow:before { content: "\2199"; }
.down_right_arrow:before { content: "\2198"; }
/*Symbols*/
Florian-Alexandru OANĂ
52
.like:before{ content: "\2764";}
.star:before{ content: "\2605";}
.spark:before{ content: "\2737";}
.play:before{ content: "\25B6";}
.blacksun:before { content: "\2600"; }
.cloud:before { content: "\2601"; }
.umbrella:before { content: "\2614"; }
.snowman:before { content: "\2603"; }
.blackstar:before { content: "\2605"; }
.whitestar:before { content: "\2606"; }
.blackphone:before { content: "\260E"; }
.saltire:before { content: "\2613"; }
.hot_drink:before { content: "\2615"; }
.skull:before { content: "\2620"; }
.radioactive:before { content: "\2622"; }
.biohazard:before { content: "\2623"; }
.peace:before { content: "\262E"; }
.yingyang:before { content: "\262F"; }
.frowning_face:before { content: "\2639"; }
.smiling_face:before { content: "\263A"; }
.first_quarter_moon:before { content: "\263D"; }
.last_quarter_moon:before { content: "\263E"; }
.wheelchair:before { content: "\267F"; }
.recycle:before { content: "\267D"; }
.recycle2:before { content: "\267C"; }
.music_note:before { content: "\266C"; }
.warning:before { content: "\26A0"; }
.male_and_female:before { content: "\26A4"; }
.scissors:before { content: "\2701"; }
.airplane:before { content: "\2708"; }
.snow:before { content: "\2042"; }
body
{
background-image:url("img1.jpg");
background-repeat:repeat;
}
Florian-Alexandru OANĂ
53
BIBLIOGRAFIE
http://www.sigma-net.ro/website/home/tehnologia/html/164/1/ro.html