Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju...

70
Matej Dominko BREZŽIČNI MERILNI SISTEM Diplomsko delo Maribor, julij 2013

Transcript of Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju...

Page 1: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Matej Dominko

BREZŽIČNI MERILNI SISTEM

Diplomsko delo

Maribor, julij 2013

Page 2: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

BREZŽIČNI MERILNI SISTEM

Diplomsko delo

Študent: Matej Dominko

Študijski program: Visokošolski študijski program,

Elektrotehnika

Smer: Elektronika

Mentor: doc. dr. Matej Šalamon

Somentor: viš. pred. dr. Mitja Solar

Lektorica: Polona Završnik

Page 3: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja
Page 4: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja
Page 5: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Zahvala

Zahvaljujem se mentorju profesorju doc.

dr. Mateju Šalamonu za pomoč, nasvete in

vodenje skozi proces nastajanja diplomske

naloge.

Posebej bi se zahvalil staršem, ki so mi

omogočili študij, mi izkazovali podporo in

me spodbujali na poti do cilja.

Page 6: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

II

Brezžični merilni sistem

Ključne besede: mikrokrmilniki, brezžični sistem, vgrajeni sistemi, brezžična omrežja,

razvojno okolje Arduino

UDK: 004.777:[621.317.3+53.08](043.2)

Povzetek

V okviru diplomskega dela smo razvili mikrokrmilniško napravo za brezžično

komunikacijo z Internetom na podlagi standarda 802.11 b/g. Poimenovali smo jo

Brezžični merilni sistem. Sistem je realiziran kot spletni strežnik in sestavljen iz

mikroprocesorja ATmega328P in modula za brezžično komunikacijo RN-XV 171. S

pomočjo senzorjev in preprostih elektronskih vezij pridobivamo podatke o temperaturi,

relativni zračni vlagi, zračnemu tlaku ter enosmerni napetosti in toku. Te podatke

prikažemo na spletni strani, ki nam ponuja tudi možnost upravljanja z napravo. Merilni

sistem je razvit s pomočjo odprtokodnega programskega orodja Arduino.

Page 7: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

III

Wireless Measurment System

Key words: microcontrollers, wireless system, integrated system, Arduino development

environment

UDK: 004.777:[621.317.3+53.08](043.2)

Abstract

Within the thesis we have developed a microcontroller device for wireless

communication with wireless Internet on the basis of a standard 802.11 b/g. We name it

wireless measurement system. The system is realized as a web server and it consist of

an Atmega328P microprocessor and a RN-XV 171 module for wireless communication.

With the help of the sensors and simple electronic circuit we obtain data on temperature,

relative humidity, air pressure, dc voltage and current. We display these data on the

website, which offers the possibility to control the device. The measuring system is

developed using open-source electronics prototyping platform Arduino.

Page 8: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

IV

Vsebina

1 Uvod ...................................................................................................................... - 1 -

2 Brezžična omrežja ................................................................................................. - 2 -

2.1 Kratek zgodovinski pregled brezžičnih omrežij ................................................ - 2 -

2.2 Splošno o brezžičnem lokalnem omrežju ........................................................ - 3 -

2.3 Standardi brezžičnih krajevnih omrežij ............................................................ - 4 -

2.4 OSI model standarda 802.11 .......................................................................... - 7 -

2.5 Arhitektura brezžičnih lokalnih omrežij .......................................................... - 10 -

3 Varnost v brezžičnih lokalnih omrežjih ................................................................. - 13 -

3.1 Standard WEP .............................................................................................. - 13 -

3.2 Standard WPA .............................................................................................. - 15 -

3.3 Standard WPA 2 ........................................................................................... - 16 -

3.4 Filtriranje MAC naslovov ............................................................................... - 16 -

4 Moduli za brezžično komunikacijo ........................................................................ - 17 -

4.1 Brezžični modul RN-XV 171 ......................................................................... - 17 -

4.2 Brezžični modul WIPORT ............................................................................. - 21 -

4.3 Arduino WIFI modul ...................................................................................... - 22 -

5 Elektronske komponente ..................................................................................... - 23 -

5.1 Arduino programsko okolje ........................................................................... - 23 -

5.2 Mikrokrmilnik Atmega328P-PU ..................................................................... - 25 -

5.3 Temperaturni senzor DS18S20..................................................................... - 27 -

5.4 DHT11 senzor vlage in temperature ............................................................. - 28 -

5.5 BMP085 senzor zračnega tlaka in temperature ............................................ - 29 -

5.6 Merjenje enosmerne napetosti ...................................................................... - 29 -

5.7 Merjenje enosmernega električnega toka ..................................................... - 31 -

6 Načrtovanje merilnega sistema ............................................................................ - 33 -

6.1 Načrtovanje tiskanega vezja ......................................................................... - 33 -

Page 9: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

V

6.2 Opis programske kode mikrokrmilnika .......................................................... - 36 -

6.3 Komunikacija med spletnim brskalnikom in strežnikom ................................. - 38 -

7 Lastnosti brezžičnega merilnega sistema ............................................................ - 41 -

7.1 Merjenje električnih in drugih veličin ............................................................. - 41 -

7.2 Krmiljenje naprave na daljavo ....................................................................... - 43 -

8 Sklep ................................................................................................................... - 44 -

9 Viri in literatura ..................................................................................................... - 45 -

10 Priloge .............................................................................................................. - 47 -

10.1 Programska koda.......................................................................................... - 47 -

10.2 Izjave ............................................................................................................ - 55 -

Kazalo slik

Slika 2.1 OSI referenčni model brezžičnega omrežja .................................................... - 7 -

Slika 2.2 Primer priložnostnega ADHOC omrežja ....................................................... - 10 -

Slika 2.3 Primer infrastrukture osnovne postavitve brezžičnega omrežja (lokalno

omrežje) Ali povsod postaviš pike ali pa nikjer ............................................................ - 11 -

Slika 2.4 Razširjena postavitev brezžičnega omrežja .................................................. - 12 -

Slika 4.1 Brezžični modul RN-XV 171 ......................................................................... - 17 -

Slika 4.2 Serijska komunikacija med dvema napravama ............................................. - 20 -

Slika 4.3 Nedovoljena vezava naprav preko UART vmesnika ..................................... - 20 -

Slika 4.4 Brezžični modul WIPORT ............................................................................. - 21 -

Slika 4.5 Brezžični modul Arduino Wifi ........................................................................ - 22 -

Slika 5.1 Arduino UNO označbami priključkov ............................................................ - 24 -

Slika 5.2 Aduino IDE programsko okolje ..................................................................... - 25 -

Slika 5.3 Priključki mikrokrmilnika Atmega 328-P ........................................................ - 26 -

Slika 5.4 Parazitna vezava senzorja DS18S20 ........................................................... - 27 -

Slika 5.5 Standardna vezava senzorja DS18S20 ........................................................ - 27 -

Slika 5.6 Senzor DHT11 ............................................................................................. - 28 -

Slika 5.7 Tiskana ploščica s senzorjem BMP085 in potrebnimi elementi ..................... - 29 -

Slika 5.8 Vezje za merjenje enosmerne napetosti ....................................................... - 30 -

Slika 5.9 Vezje za merjenje enosmernega toka ........................................................... - 31 -

Page 10: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

VI

Slika 6.1 Celotni načrt brezžičnega merilnega sistema. .............................................. - 34 -

Slika 6.2 PCB načrt tiskanega vezja ........................................................................... - 35 -

Slika 6.3 Prikaz 3D pogleda tiskanine ......................................................................... - 36 -

Slika 6.4 Izgled spletnih strani brezžičnega merilnega sistema ................................... - 38 -

Slika 6.5 URL naslov v primeru POST in GET metode ................................................ - 40 -

Slika 7.1 Merjenje električnih in drugih veličin z brezžičnim merilnim sistemom .......... - 41 -

Slika 7.2 Fotografija končnega brezžičnega merilnega sistema .................................. - 42 -

Slika 7.3 Krmiljenje (vklop/izklop) naprave na daljavo ................................................. - 43 -

Kazalo tabel

Tabela 5.1 Uizh v odvisnosti od Uvh ........................................................................... - 30 -

Tabela 7.1 Veličine merjene z brezžičnim merilnim sistemom ..................................... - 42 -

Uporabljeni simboli

Mbps – megabit na sekundo (enota za hitrost prenosa podatkov)

Hz – hertz (enota za frekvenco)

Ω – ohm (enota za elektrino upornost)

˚C – stopinja Celzija (enota za temperaturo)

m – meter (enota za dolžino)

V – volt (enota za električno napetost)

s – sekunda (enota za čas)

Pa – pascal (enota za tlak)

A – amper (enota za električni tok)

Page 11: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

VII

Uporabljene kratice

WLAN – Wirelles local area network (brezžično lokalno omrežje)

LAN – Local area network (lokalno omrežje)

IEEE – Institute of electrical and electronics engineers (Svetovno združenje inženirjev

elektronike in elektrotehnike)

PHY – Physical layer (fizični sloj)

MAC – Media access control (krmiljenje dostopa do medija)

CSMA/CA – Carrier sense multiple access/colision avoidance (dostop z zaznavanjem

nosilca z odkrivanjem trkov)

RTS/CTS – Request to send/Clear to send (zahteva za pošiljanje/pripravljenost za

pošiljanje)

OSI – Open system interconnection (skupina za povezovanje odprtih sistemov)

WEP – Wired protected privacy (zasebnost enaka žični povezavi)

WPA – Wifi protected access (zaščiten brezžični dostop)

TCP – Transmission control protocol (protokol transportnega sloja)

GPIO – General purpose input/output (namenski vhodno/izhodni priključki)

IP – Internet protocol (Internetni protokol)

UART – Universal asynchronus receiver/transmitter (univerzalni asinhroni sprejemnik

in oddajnik)

UDP – User datagram protocol (nepovezavni protokol transportnega sloja)

SPI – Serial peripheral interface bus (serijski periferni vmesnik)

SSID – service set identification (ime brezžičnega lokalnega omrežja)

Page 12: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

VIII

SDA – Serial data (serijski podatek)

SCL – Serial clock (serijska ura)

DHCP – Dynamic host configuration protocol (omrežni protokol za dinamično

nastavitev gostitelja)

HTML – Hyper text markup language (jezik za oblikovanje večpredstavnostnih

dokumentov)

Page 13: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

- 1 -

1 Uvod

V današnjih časih čedalje več ljudi in podjetij različnih panog posega po napravah, ki

komunicirajo brezžično. Brezžične komunikacije na nekaterih območjih predstavljajo

edino možno rešitev povezave z internetnim omrežjem. S pojavom in hitrim razvojem

majhnih brezžičnih naprav pridobiva tehnologija brezžičnih omrežij izjemno priljubljenost,

pojav javnih, odprtih brezžičnih omrežij pa je omogočil dostop uporabnikov do interneta,

ne glede na lokacijo, če je le-ta pokrita s signalom.

Cilj diplomskega dela je bil načrtovanje in realizacija brezžičnega merilnega sistema, ki bi

omogočal merjenje nekaterih električnih in fizikalnih veličin. Merilni sistem temelji na

mikrokrmilniku, s pomočjo katerega se izvajajo meritve, brezžična povezava pa je

vzpostavljena s pomočjo modula RN-XV 171, ki podpira standard 802.11 b/g. Izdelali smo

tudi spletno stran, na kateri so prikazani rezultati meritev in možnost vklopa in izklopa

naprave.

V prvem delu diplomske naloge, ki obsega dve poglavji, so opisani začetki brezžičnega

komuniciranja in brezžična lokalna omrežja. Predstavljen in opisan je obstoječ standard

IEEE 802.11, uporabljen pri komunikaciji naprav preko internetnega omrežja. Opisane so

obstoječe arhitekture brezžičnih omrežij in varnostni protokoli.

V drugem delu diplomske naloge je opisano načrtovanje in izvedba brezžičnega merilnega

sistema. Predstavljen je celoten proces, od izbire primernega modula za vzpostavitev

brezžične komunikacije do strojne izdelave sistema. Opisanih je nekaj modulov, ki

omogočajo povezavo mikrokrmilniških aplikacij na podlagi standarda 802.11 b/g. Med

temi smo za naš primer izbrali cenovno najugodnejšega.

Celoten sistem je razvit v odprtokodnem okolju Arduino. Opisane so glavne značilnosti v

sistemu ter osnovne lastnosti orodja Altium Designer, s pomočjo katerega smo načrtovali

tiskano vezje brezžičnega merilnega sistema. Pojasnjen je proces načrtovanja sistema ter

programske kode. Podane so tudi omejitve in zmogljivosti brezžičnega merilnega sistema.

Page 14: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

- 2 -

2 Brezžična omrežja

2.1 Kratek zgodovinski pregled brezžičnih omrežij

Prvi zametki in ideje o brezžičnih omrežjih, kot jih poznamo danes, segajo v 19. stoletje, v

leto 1888, ko je nemški fizik Heinrich Rudolf Hertz odkril prvi radijski val. Radijski valovi

so postali temelj komunikacije, tako se je pojavilo komuniciranje preko telegrafskih žic, ki

so sprejemale radijske valove v obliki signalov. Z odkritjem radia se je v nekaj letih

izjemno razširil doseg pošiljanja radijskih signalov, najprej na dve milji, leta 1901 pa so

lahko radijski signal poslali preko Atlantskega oceana.

Med drugo svetovno vojno, ki je predstavljala veliko odskočno desko za razvoj radijskih

signalov, so Združene države Amerike kot prve, radijske valove uporabljale za prenos

podatkov. Tako so se pojavile špekulacije, da bi radijske signale lahko izkoristili še za

nekaj širšega in večjega kot do tedaj. Leta 1971 je skupina raziskovalcev iz univerze na

Havajih ustvarila prvo paketno komunikacijsko omrežje, ki so ga poimenovali Alohanet.

Omrežje Alohanet tako velja za prvo brezžično lokalno omrežje, na kratko WLAN. Prvo

brezžično omrežje ni bilo nič posebnega v primerjavi z današnjimi omrežji, je pa

predstavljalo veliko odkritje, saj je združevalo sedem računalnikov, ki so komunicirali

drug z drugim. Leta 1972 se je Alohanet povezal z WLAN sistemom, imenovanim Arpnet,

kar velja za prelomnico v brezžičnih računalniških telekomunikacijah.

Brezžična omrežja so bila zelo redka, izjemno draga, počasna in nezanesljiva, poleg tega

pa niso bila združljiva med seboj. Leta 1990 je bila zato ustanovljena skupina za razvoj

WLAN standardov IEEE, ki si je prizadevala izdelati enoten standard za komunikacijo

med računalniki. Leta 1997 je bil sprejet standard IEEE 802.11 kot standard, ki določa

komuniciranje preko WLAN. WLAN tehnologija je v naglem razvoju in se bo razvijala in

razširjala verjetno še desetletja, saj se različne vlade in velike korporacije ozirajo za vedno

večjimi hitrostmi podatkovnega prenosa. [16]

Page 15: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

- 3 -

2.2 Splošno o brezžičnem lokalnem omrežju

Omrežje, v katerem je na širšem geografskem območju združeno večje število

računalnikov, imenujemo lokalno omrežje ali LAN. Izraz WLAN predstavlja enak sistem

povezave računalnikov v omrežje, razlika je v tem, da v primeru brezžičnega omrežja

medij za prenos podatkov predstavlja zrak. Nagel razvoj računalniške strojne opreme in

brezžičnih tehnologij je povzročil izjemno razširjenost in priljubljenost brezžičnih omrežij,

ki imajo kar nekaj prednosti pred klasičnimi žičnimi omrežji, npr. večja mobilnost ter

prilagodljivost uporabnikov oziroma postaj. Brezžična omrežja niso več omejena samo na

določena območja, saj radijski valovi potujejo skozi ovire, kot so stene, drevesa ipd.

Preprosto lahko spremenimo tudi konfiguracijo omrežja, na primer iz adhoc arhitekture v

arhitekturo osnovne postavitve omrežja. Poglavitno prednost predstavlja odvečnost žic kot

prenosnega medija, kar omogoča, da so brezžična omrežja implementirana v okoljih, kjer

ni pogojev za nameščanje žične napeljave, ali pa ta, zaradi velike razdalje, ni smiselna in bi

predstavljala velik strošek. Ob nastanku brezžičnih omrežij so bila ta izjemno draga, s

časom pa se je cena zmanjšala, povečala pa se je hitrost prenosa podatkov, ki je v letu 2003

dosegla 54 Mbps. Leta 2007 je bil sprejet standard 802.11n, ki omogoča hitrost prenosa

podatkov z več kot 150 Mbps.

Prenos podatkov v brezžičnih omrežjih poteka z oddajanjem in sprejemanjem radijskih

valov med oddajnikom in sprejemnikom. Na količino prenesenih podatkov v glavni meri

vpliva frekvenca in pa način modulacije. Širši frekvenčni pas omogoča prenos večje

količine podatkov, moč signala pa upada z večanjem razdalje med oddajnikom in

sprejemnikom. Upadanje moči signala lahko zmanjšamo z namestitvijo ojačevalnikov

signala. Prav tako pa na kakovost signala vplivajo pojavi, kot so npr. kozmično sevanje,

sevanje mikrovalovnih pečic ali drugih naprav, ki delujejo oziroma prenašajo podatke na

enakem frekvenčnem območju. Da bi zmanjšali motnje, lahko spremenimo frekvenco

oziroma kanale v območju med 2,4 in 2,4385 GHz. Zaradi omejene pasovne širine se

včasih pojavi problem prenasičenosti frekvenčnega pasu. Večina WLAN naprav je

zgrajena tako, da z lahkoto zamenjamo kanal, za kar se uporabljajo različne tehnike.

Nekateri standardi uporabljajo tehniko SS (ang. Spread Spectrum) razširjenega signala, kar

pomeni, da ima prenosni signal na razpolago celotno pasovno širino. Prednost omenjene

tehnike je manjša možnost motnje signala s strani drugih naprav. Obstajata dve SS tehniki

Page 16: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

- 4 -

in sicer FHSS (ang. Frequency Hop Spread Spectrum) in DSSS (ang. Direct Sequence

Spread Spectrum).

Za vzpostavitev brezžičnega lokalnega omrežja potrebujemo tudi določeno opremo, ki jo

najpogosteje sestavljajo dostopna točka, naprava z mrežno kartico in antena. Dostopna

točka običajno ni mobilna in je po navadi priključena na žično omrežje. Postaje, ki jih

predstavljajo naprave z vgrajeno brezžično omrežno kartico, se za dostop do omrežja

povežejo z dostopno točko. Pomembno komponento predstavljajo tudi antene. Obstaja kar

nekaj vrst anten, v grobem pa jih delimo na usmerjene in razsmerne antene. Razsmerne

antene razširijo signal na vse smeri, obratno pa usmerjene antene oddajajo signal le v eno,

točno določeno smer. Razsmerne antene ponujajo večjo prilagodljivost, ki uporabniku

omogoči gibanje v območju omrežja. Infrardeča tehnologija pa je primer, kjer se

uporabljajo usmerjene antene. [1]

2.3 Standardi brezžičnih krajevnih omrežij

Standard 802.11

Standard 802.11 je prvotni WLAN standard. Deluje v frekvenčnem območju 2,4 GHz s

spodnjo frekvenco pri 2,402 GHz in zgornjo frekvenco pri 2,480 GHz. Standard podpira

hitrost prenosa podatkov pri 1 Mbps in 2 Mbps. Standard prav tako podpira tri različne

fizične sloje: infrardeči spekter, analogni način s frekvenčnim skakanjem in razpršenim

spektrom ter digitalni način z DSSS. Čeprav so podprte vse tri tehnologije, se je med

uporabniki najbolj obdržala tehnologija DSSS. Kasneje so dodali še dva dodatna fizična

sloja. Prvi sloj se imenuje OFDM in podpira hitrost prenosa podatkov do 54 Mbps, drugi

sloj pa služi kot podaljšek DSSS plasti in se imenuje DSSS-PHY. 2,4 GHz spekter je bil

prvotno razdeljen na 14 različnih kanalov pasovne širine 22 MHz s 5 MHz razdalje med

sosednjima kanaloma. Ker je medsebojna razdalja med sosednjima kanaloma relativno

majhna, je med njima prihajalo do motenj. Pravilno delovanje oziroma delovanje brez

motenj je realizirano tako, da je med dvema kanaloma vsaj 25 MHz razlika, kar pomeni, da

sta kanala med seboj ločena z vsaj petimi kanali. [23]

Page 17: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

- 5 -

Standard 802.11a

Standard 802.11a je bil sprejet ob približno istem času kot standard 802.11b. Definiran je

za frekvenčno področje 5 GHz, kar pomeni, da ni združljiv z drugimi standardi, ki delujejo

v 2,4 GHz frekvenčnem spektru. Frekvenčni spekter med 5,125 in 5,850 GHz je razdeljen

na štiri frekvenčne pasove. Čeprav je frekvenčna pasovna širina za oddajanje podatkov

širša kot pri sorodnih standardih, je maksimalna oddajna moč manjša, s tem pa je manjši

tudi doseg oddajanja, ki je med 35 in 120 metri. Standard omogoča hitrost prenosa

podatkov do 54 Mbps, vendar pa je dejanska hitrost prenosa podatkov manjša skoraj za

polovico, kar je posledica CSMA/CA podatkovno povezovalne poti. Standard predstavlja

dobro alternativo v primeru zasedenosti 2,4 GHz spektra. Njegovi slabi lastnosti sta manjši

doseg zaradi krajše valovne dolžine in s tem tudi slabši prehod skozi ovire. Tehnologija

oziroma strojna oprema je dražja in pogostokrat ni združljiva s strojno opremo, ki se

uporablja pri sorodnih standardih. [23]

Standard 802.11b

Standard 802.11b je nadgradnja osnovnega standarda 802.11. Njegova izboljšava je

uporaba višje stopnje fizičnega sloja za zagotovitev hitrejšega povezovanja v WLAN

omrežje, ki deluje v 2,4 GHz frekvenčnem spektru. Izboljšava je bila nujna, saj je

predhodni standard postal prepočasen za najnovejšo strojno opremo, ki se je pojavila na

trgu. Prvotni standard je ponujal hitrost prenosa do 2 Mbps, kar ni zadovoljilo potrebe po

hitrejšem prenosu podatkov. Tako je nastal standard 802.11b, ki je ponudil hitrost prenosa

do 11 Mbps, njegova dobra lastnost je bila združljivost s predhodnim standardom, kar je

povzročilo, da so brezžična omrežja postala izjemno priljubljena. Nov standard je, za

razliko od predhodnika, uporabljal drugačno shemo kodiranja za prenos podatkov pri

hitrosti prenosa podatkov, ki je višja od 2 Mbps. Uporabljal je CCK način kodiranja in

QPSK modulacijo za prenos podatkov pri hitrostih 2, 5,5 in 11 Mbps ter BPSK modulacijo

pri hitrosti 1 Mbps. [23] Sprememba modulacije je omogočala prenos večje količine

podatkov v enakem časovnem obdobju, tipični doseg pa je bil med 38 in 140 metri.

Page 18: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

- 6 -

Standard 802.11g

Leta 2002 je organizacija IEEE ratificirala standard, imenovan 802.11g kot dodatek k že

obstoječima standardoma 802.11 in 802.11b in odgovor na vse pogostejše zahteve po

večjih hitrostih prenosa. Standard deluje v istem frekvenčnem spektru kot predhodnika,

zato ima posledično enake pomanjkljivosti, in sicer omejeno pasovno širino v 2,4 GHz

spektru ter zasedenost 2,4 Ghz frekvenčnega spektra oziroma zasedenost WLAN okolja.

Dodatna težava je nastala ob dokončnem razvoju standarda 802.11g. Standard je bil

zasnovan tako, da je bil združljiv s standardom 802.11b. Vendar pa standard 802.11b ni

razumel oddanih podatkov standarda 802.11g. Da bi se izognili omenjeni težavi 802.11g,

standard uporablja prenosno zaznavni mehanizem imenovan RTS/CTS kot varnostni

mehanizem. Standard 802.11g je združljiv s prejšnjima standardoma 802.11 in 802.11b,

zato uporablja za hitrost prenosa podatkov do 11 Mbps enako modulacijo in kodirno

shemo. OFDM modulacijo pa uporablja za večje hitrosti prenosov. 802.11g standard

podpira hitrosti prenosa pri 6, 9, 12, 18, 24, 36, 48 in 54 Mbps z uporabo razširjenega

ERP-OFDM načina modulacije in kodiranja, doseg omrežja pa se ni povečal in tipično

znaša med 38 in 140 metri. [23]

Standard 802.11n

Najnovejši standard z oznako 802.11n je nastal z namenom povečanja hitrosti prenosa

podatkov v 2,4 GHz in tudi v 5 GHz frekvenčnem spektru. Povečanje hitrosti prenosa

podatkov so dosegli z uporabo tako imenovanih MIMO anten. Izboljšano in dodelano pa je

tudi kodiranje podatkov. Z uporabo več anten in vzporednim delovanjem se je hitrost

prenosa podatkov povečala na kar 150 Mbps, s povezovanjem kanalov pa na kar 300

Mbps. Vse to pa je bilo mogoče brez povečanja pasovne širine in oddajne moči. Najboljši

rezultati se dosežejo ob uporabi sistema 3x3 anten, kar pomeni tri oddajne in tri sprejemne

antene. Vendar pa je ta sistem cenovno drag, zato se kot alternativa uporabljajo

konfiguracije 2x2, z dvema oddajnima in dvema sprejemnima antenama, ter sistem 2x1, z

dvema sprejemnima in eno oddajno anteno. Vendar pa ta dva sistema ne zagotavljata

takšnih lastnosti kot sistem 3x3 [12]. 802.11n standard je, prav tako kot so ostali standardi,

občutljiv na motnje v omrežju, v nekaterih primerih celo bolj. Posledice občutljivosti na

motnje so veliko manjše hitrosti prenosa podatkov kot oglaševane teoretične hitrosti. [20]

Page 19: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

- 7 -

2.4 OSI model standarda 802.11

OSI (ang. Open System Interconnection) model predstavlja modularno zgradbo

protokolov, zgrajeno iz sedmih različnih slojev, vsak sloj pa ima svojo natančno določeno

nalogo. Prvi, najnižji sloj predstavlja fizični sloj, nato pa ji po vrsti sledijo še povezovalni,

omrežni, pogovorni, predstavitveni in kot sedmi, aplikacijski sloj. Na sliki 2.1 2.12.12.1je

prikazan referenčni model OSI, ki se dandanes uporablja v izobraževalne namene. Nižji

sloji se ukvarjajo z električnimi signali, binarnimi signali in usmerjanjem podatkov v

omrežje. Višji sloji pa zajemajo omrežne zahteve in odgovore ter predstavitev podatkov in

omrežnih protokolov, ki so vidni uporabniku. [17]

Slika 2.1 OSI referenčni model brezžičnega omrežja

Page 20: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

- 8 -

Aplikacijski sloj – Sloj predstavlja oziroma skrbi za vmesnik, ki je potreben za interakcijo

oziroma komunikacijo uporabnika z aplikacijo. Obsega protokole in storitve, ki jih uporabi

za dostop do omrežnih storitev, in končni videz omrežja, ki je viden uporabniku.

Predstavitveni sloj – Njegova naloga je kodiranje, dekodiranje, šifriranje in zgoščevanje

podatkov. Odgovoren je za opredelitev, na kakšen način oziroma v katerem formatu bodo

posredovani in predstavljeni elementi spletne strani.

Pogovorni sloj – Naloga pogovornega sloja je razlikovanje med različnimi načini omrežne

povezave in zagotavljanje posredovanja podatkovnih paketov k pravi, ciljni postaji. V

sodelovanju s transportnim slojem pa je odgovoren za vzpostavitev in prekinitev povezave.

Pogovorni sloj skrbi za vzpostavitev dialoga in dodeljevanje prednosti za nekatere vrste

podatkov med enakima procesoma med dvema vozliščema.

Transportni sloj – Transportni sloj, kot že samo ime pove, skrbi za prevzemanje in

predajanje podatkovnih paketov med sosednjima slojema, višjim pogovornim in nižjim

mrežnim slojem. Opravlja več pomembnih nalog, kot so: razdeljuje večje podatkovne

pakete na manjše, omogoča zanesljiv in pravilen prenos podatkov, multipleksira podatke

ter odkriva in popravlja napake.

Mrežni sloj – Skrbi za pravilno potovanje podatkovnih paketov od izvorne do ponorne

postaje, obenem pa definira logične naslove. Na podlagi številčenja omrežij poskrbi za

pravilno doseganje ciljnih komponent ter omogoča podatkovni promet med posameznimi

sloji.[17]

Povezovalni sloj – Naloga povezovalnega sloja je zagotoviti zanesljiv prenos podatkovnih

paketov višjemu mrežnemu sloju. Sloj določa dostop posamezne komponente do medija, s

katerim je povezan, obenem pa razdeli daljše zaporedje bitov na manjše okvirje.

Odgovoren je za pravilno zaporedje oddajanja okvirjev ter zaznavanje in odpravljanje

napak med sosednjima vozliščema. Skrbi za nadzor porazdeljenosti podatkov na fizičnem

nosilcu. Povedano z drugimi besedami, skrbi za pravilno razdeljevanje razpoložljive

pasovne širine na posamezne kanale, obenem pa sporoča posameznemu kanalu, kdaj naj

sprejema ali oddaja podatke ter s tem skrbi za preprečevanje trkov med podatki. Njegova

Page 21: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

- 9 -

poglavitna naloga je nadzor MAC (ang. Media Access Control) oziroma nadzor dostopa do

prenosnega medija. [21]

Fizični sloj – Prvi ali najnižji sloj referenčnega modela se imenuje fizični sloj, katerega

poglavitna naloga je, da definira električne in mehanske lastnosti vodnikov in priključkov.

Prav tako pa definira prenosne frekvence, napetostne nivoje ter zapisovanje podatkov v

obliko, ki je primerna za določen prenosni medij. [21]

Page 22: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

- 10 -

2.5 Arhitektura brezžičnih lokalnih omrežij

Kot glavna gradnika brezžičnih lokalnih omrežij bi izpostavili dostopno točko (ang. Acces

Point) in brezžično postajo oziroma brezžični odjemalec (ang. WLAN client). Brezžična

postaja je naprava, ki je povezana z brezžičnim omrežjem preko ustrezne radijske

frekvence in jo običajno predstavljajo naprave, kot so: računalniki, dlančniki, pametni

telefoni in druge naprave, opremljene z brezžično mrežno kartico. Dostopna točka pa je

krmilna enota, ki skrbi za dostop do omrežja in dodeljevanje zmogljivosti posamezni

brezžični postaji. Glede na način uporabe omenjenih dveh gradnikov, ločimo tri arhitekture

oziroma topologije brezžičnih lokalnih omrežij. [1]

ADHOC ali priložnostna omrežja

Pod pojmom ADHOC ali priložnostna omrežja razumemo skupino brezžičnih postaj, ki se

hočejo povezati druga z drugo, za medsebojno komunikacijo pa ne potrebujejo dostopne

točke. Ker morajo naprave v ADHOC omrežju komunicirati druga z drugo in vzpostaviti

medsebojno komunikacijo, taka omrežja niso prav učinkovita za brezžično komuniciranje

oziroma brezžičen prenos podatkov v velika brezžična omrežja. Uporaba ADHOC omrežij

je smiselna za medsebojno povezavo manjšega števila računalnikov. Na sliki 2.2 vidimo

ADHOC omrežje izvedeno s štirimi brezžičnimi postajami. [23]

Slika 2.2 Primer priložnostnega ADHOC omrežja

Page 23: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

- 11 -

Osnovna postavitev omrežja -– LAN

Osnovno arhitekturo omrežja predstavlja brezžično omrežje z eno dostopno točko in

poljubnim številom brezžičnih postaj. Dostopna točka predstavlja vozlišče v omrežju,

preko katerega poteka ves podatkovni promet, postajam pa ponuja tudi dodatne storitve,

kot so varčevanje z energijo, QoS (ang. quality of service) in multicast. Tudi v primeru, ko

želi prva postaja poslati podatke drugi postaji, bo prva postaja poslala podatke k dostopni

točki, ta pa bo nato podatke poslala oziroma preusmerila do druge, ciljne postaje. V tem

primeru so podatki odposlani dvakrat in zavzemajo dvakrat več medija kot v primeru

ADHOC omrežja. Čeprav izkoriščenost pasovne širine v tem primeru ni najboljša, so

takšna omrežja, z vidika uporabe, bolj učinkovita kot ADHOC omrežja, saj posamezne

postaje nimajo potrebe po neposredni medsebojni vzpostavitvi komunikacije. Na sliki 2.3

je prikazan primer infrastrukture osnovne postavitve brezžičnega omrežja z eno dostopno

točko in štirimi brezžičnimi postajami. [23]

Slika 2.3 Primer infrastrukture osnovne postavitve brezžičnega omrežja (lokalno

omrežje) Ali povsod postaviš pike ali pa nikjer

Page 24: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

- 12 -

Razširjena postavitev omrežja -– WAN

Pri infrastrukturi razširjenega omrežja obstaja več dostopnih točk in poljubno število

brezžičnih postaj, ki skupaj tvorijo večje brezžično omrežje. V tovrstnem omrežju lahko

določena postaja komunicira z drugo preko dostopne točke, čeprav se postaji ne nahajata v

istem osnovnem omrežju. Medij, ki medsebojno poveže dve osnovni omrežji, imenujemo

distribucijski sistem, ki je običajno kar žično omrežje. Dostopna točka bo ugotovila, če

morajo poslani podatki potovati nazaj v isto osnovno omrežje k drugi postaji, k drugi

dostopni točki drugega osnovnega omrežja, ali pa je cilj v nekem drugem žičnem omrežju.

Dostopne točke podatke posredujejo naprej, naj si bo to iz enega osnovnega omrežja v

drugo osnovno omrežje ali od ene dostopne točke k drugi dostopni točki. Prednost tega

omrežja je komuniciranje oziroma združevanje brezžičnih omrežij s tradicionalnimi

izvedbami omrežij. Na sliki 2.4 je prikazana razširjena postavitev brezžičnega omrežja z

več dostopnimi točkami. [23]

Slika 2.4 Razširjena postavitev brezžičnega omrežja

Page 25: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

- 13 -

3 Varnost v brezžičnih lokalnih omrežjih

Tehnologija brezžičnih omrežij ponuja poceni, preprosto komuniciranje naprav brez

uporabe kakršnekoli žične napeljave, z razmeroma velikim dometom. Komuniciranje

poteka preko medija, ki ga predstavlja zrak, zato so takšna omrežja lahko tarča napadalcev,

ki komunikaciji prisluškujejo ali celo spreminjajo podatkovne pakete.

Zagotavljanje varnosti v brezžičnih omrežjih je v preteklosti predstavljalo veliko težavo,

saj prvotni varnostni ukrepi niso učinkovito zaščitili omrežij, preko katerih je potekal

podatkovni promet z občutljivo vsebino. Omrežja so bila sicer zadostno zaščitena pred

vsakdanjimi laičnimi uporabniki, skrb so vzbujali raznorazni strokovnjaki, ki so vdirali v

omrežja. Pojavila se je potreba po naprednem varnostnem mehanizmu, ki je predstavljen v

naslednjem poglavju. [1]

3.1 Standard WEP

Naloga standarda WEP (ang. Wired Equivalent Privacy ) je enakovredna zaščita brezžičnih

omrežij kot pri tradicionalnih žičnih omrežjih. Da bi zagotovili zadostno stopnjo zaščite in

zagotovili zadostno stopnjo zaupnosti podatkov z občutljivo vsebino, je potrebno izvajati

preverjanje prisotnosti (identifikacija), to pomeni, da z določenim brezžičnim omrežjem

vzpostavijo povezavo le pooblaščene postaje.

Osnovni namen standarda WEP je preprečevanje prisluškovanja za zagotovitev zasebnosti

sporočil in njihove integritete. V ta namen standard uporablja RC4 algoritem za šifriranje

podatkov. Šifriranje je simetrično, kar pomeni, da prejemnik in pošiljatelj uporabljata enak

šifrirni ključ za šifriranje oziroma dešifriranje podatkov. WEP standard deluje na principu

primerjanja dveh integritetnih vrednosti, ki se imenujeta ICV (ang. Integrity Check Value)

Prva integritetna vrednost se kreira tik preden je podatek poslan in je izračunana na podlagi

paketa podatkov, ki ga želimo poslati. Ko podatek prispe na cilj k prejemniku, prejemnik

izračuna drugo integritetno vrednost, ki jo nato primerja s prvotno, shranjeno integritetno

vrednostjo. Če se ti vrednosti ujemata, podatkovni paket na poti od pošiljatelja do

prejemnika ni bil spremenjen. Po generiranju ICV vrednosti se generira še naključni vektor

imenovan IV (ang. Initiation Vector). IV vektor se uporablja skupaj s šifrirnim ključem, ki

je lahko dolg 64 ali 128 bitov, 24 izmed teh bitov pa zasede IV vektor. Ko paket prispe k

Page 26: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

- 14 -

prejemniku, ta uporabi šifrirni ključ skupaj z IV vektorjem za dešifriranje podatkovnih

paketov, da jih lahko prebere (dešifrira). Dostopna točka uporablja enak šifrirni ključ za

preverjanje prisotnosti klientov. Ta način se imenuje skupni ključ, kar pomeni, da lahko z

omrežjem vzpostavijo povezavo le tiste postaje, ki imajo enak šifrirni ključ. Ko hoče

določena postaja vzpostaviti povezavo z omrežjem oziroma dostopno točko, dostopna

točka pošlje postaji odpeta sporočila (plaintext). Postaja odgovori dostopni točki s

povratnim sporočilom, sestavljenim iz šifriranega niza znakov, ki ga nato dostopna točka

dešifrira in, če je rezultat enak prvotno poslanemu, odpetemu sporočilu, se vzpostavi

komunikacija med postajo in dostopno točko.

Kljub velikemu številu dobrih lastnosti ima WEP standard še vedno veliko

pomanjkljivosti, ki brezžičnega omrežja ne zaščiti do te mere kot so zaščitena žična

internetna omrežja. Z naraščanjem klientov v omrežju se posledično poveča tveganje glede

zasebnosti podatkov, kar predstavlja veliko težavo, saj vsi uporabniki uporabljajo enak

šifrirni ključ. Posledično lahko določena postaja prebere sporočilo, ki ni bilo namenjeno

njej. Teh težav se najlažje znebimo tako, da skrbnik omrežja redno spreminja šifrirni ključ.

WEP standard prav tako ponuja niz šifrirnih ključev, ki se izmenjujejo med skrbnikom in

klientom v omrežju, kar sicer ne poveča varnosti, zagotavlja pa večjo zasebnost med

uporabniki v omrežju. Ta način zaščite deluje tako, da ima vsaka postaja svoj edinstven

šifrirni ključ, ki ga deli z dostopno točko.

Težave pa predstavljajo tudi pomanjkljivosti v šifrirni metodi. Šifriranje s 40-bitnim tajnim

ključem je bilo izbrano predvsem zaradi ustrezanja zakonodajam v posameznih državah. V

primeru, da bi izbrali 104-bitni tajni ključ večina proizvajalcev strojne opreme svojih

produktov ne bi smela izvažati v države z drugačno zakonodajo. Težave v 40-bitnem

šifriranju pa predstavlja relativno preprost tajni ključ. Napadalec lahko v nekaj urah

preizkusi vse možne kombinacije (brute force) in tako odkrije šifrirni ključ. S podaljšanjem

ključa na 104 bite se poveča tudi potreben čas za tovrstno odkrivanje ključa. Ena izmed

slabosti je ta, da so določeni proizvajalci strojne opreme dodelili IV vektor, tako da se ta ne

generira naključno in je vedno enak, kar povzroči vedno identično šifriranje. Posledica

tega je, da napadalci prisluškujejo podatkovnemu prometu in s časom preberejo IV vektor,

ki ga nato uporabijo za dešifriranje podatkovnih paketov. WEP standard predstavlja

zadostno stopnjo varnosti le v primeru komunikacije med dvema postajama ali

Page 27: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

- 15 -

komunikacije med postajo in dostopno točko. Kot izboljšavo šifriranj je mogoče omogočiti

časovno spreminjanje šifrirnega ključa.

Obstaja pa tudi druga verzija WEP standarda, preprosto imenovana WEP 2. Standard prav

tako uporablja RC4 algoritem za šifriranje podatkovnih paketov in 128-bitni šifrirni ključ,

ki se za razliko od prvotnega standarda spreminja dinamično. Vendar pa tudi WEP 2 ne

predstavlja zadostno stopnjo varnosti, saj je občutljiv na problem IV vektorja, kar pomeni,

da napadalci še vedno lahko pridobijo šifrirni ključ in dešifrirajo podatke. [1]

3.2 Standard WPA

WPA (ang. WIFI Protected Access) standard ponuja 128-bitni dinamični šifrirni ključ,

nadzor dostopa in preverjanje prisotnosti v omrežju. Obstajata dve verziji standarda. Prva

verzija se imenuje »WPA personal« in varuje pred nedovoljenim dostopom do omrežja z

uporabo nastavljivega gesla. Druga verzija pa se imenuje »WPA enetrprise«, ta preverja

uporabnike omrežja preko strežnika. WPA zagotavlja varen prenos podatkov in je

zamišljen kot standard, ki bi nadomestil ranljiv WEP standard. Nadgradnja poteka kar s

posodobitvijo programske opreme, ki jo uporablja strojna oprema. Protokol WPA

predstavlja zanesljivo zaščito omrežja, ki temelji na TKIP (ang. Temporal Key Integrity),

šifrirnem algoritmu, ki močno poveča težavnost dešifriranja podatkov s strani napadalca.

TKIP poveča velikost IV vektorja iz 24 na 48 bitov in uporabi drugačen ključ ob vsakem

prenosu podatkov, prav tako pa vsebuje MIC (ang. Message Integrity Code), ki skrbi za

odkrivanje neveljavnih podatkovnih paketov. [1]

Page 28: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

- 16 -

3.3 Standard WPA 2

Standard WPA 2 izvaja vse elemente zaščite, ki so bili zahtevani s strani zveze WIFI1.

Čeprav se standard imenuje WPA 2, uporablja povsem druge tehnike zaščite kot WPA.

WPA 2 vključuje robustno omrežno varnost, imenovano RSN (ang. Robust Security

Network), ki vsebuje dodatno zaščito za priložnostna oziroma Adhoc omrežja,

predpomnenje šifrirnih ključev in preverjanje predgostovanja oziroma predprisotnosti

določene postaje. Novost, ki jo standard predstavlja, je napredna tehnika šifriranja,

imenovana AES (ang. Advanced Encryption Standard), ki uporablja ključe spremenljive

dolžine, velikosti 128, 192 in 256 bitov. Slabost pa je, da moramo za prehod na standard

WPA 2 zamenjati strojno opremo, za razliko od standarda WPA, kjer smo programsko

opremo strojne opreme le posodobili. [11]

3.4 Filtriranje MAC naslovov

Večina dostopnih točk, ki so dostopne (prisotne, razpoložljive, dosegljive? Da ne bo spet

dostopne) na trgu, podpirajo način filtriranja MAC naslovov. Filtriranje MAC naslovov

deluje v sklopu s požarnim zidom, ki na podlagi določenih pravil sprejme oziroma zavrne

podatkovne pakete. Vsaka naprava z omrežno kartico ima svoj MAC naslov, s filtriranjem

MAC naslovov pa določimo tiste naprave, ki se lahko povežejo z našo dostopno točko in

posledično z našim brezžičnim lokalnim omrežjem. Metoda filtriranja MAC naslovov je

izredno ranljiva. Ena izmed pomanjkljivosti je, da lahko MAC naslov naprave zlahka

spremenimo. Tako lahko hitro pride do zlorabe MAC naslova. Napadalec, ki želi dostopati

do brezžičnega omrežja preprosto ugotovi dovoljen MAC naslov, kar pa danes ne

predstavlja velikega problema, saj v ta namen obstaja programska oprema. Vendar pa

MAC filtriranje vseeno ni neuporabno, saj je zaščiteno omrežje vseeno boljše kot

popolnoma nezaščiteno. Metodo pa lahko izboljšamo z uporabo možnosti pojavnega okna,

ki nas opozori, če se določena postaja želi povezati z našim brezžičnim omrežjem. [1]

1 Wifi neprofitna organizacija-Wifi Alliance

Page 29: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

- 17 -

4 Moduli za brezžično komunikacijo

Trg ponuja pestro izbiro brezžičnih modulov, ki se med seboj razlikujejo po svojih

zmogljivostih, predvsem pa po ceni. V nadaljevanju bodo opisani le nekateri moduli za

brezžično interakcijo mikrokrmilnika s svetovnim spletom. Pri izbiri modula za našo

aplikacijo smo bili pozorni na to, da modul podpira standard IEEE 802.11 b/g, njegov

doseg naj bi presegal 100 metrov, vsekakor pa smo upoštevali tudi njegovo ceno ter

možnost dobave. Omenjenim kriterijem je najbolj ustrezal brezžični modul proizvajalca

Roving Networks z oznako RN-XV 171.

4.1 Brezžični modul RN-XV 171

RN-XV 171 (Wifly modul), prikazan na sliki 4.1, je popolnoma samostojen radijski modul

za povezavo mikrokrmilniških aplikacij z WLAN omrežjem. Ker se modul nahaja v

standardnem 20-pinskem ohišju, je namenjen predvsem uporabnikom, ki želijo, da bi

njihove že obstoječe naprave migrirale iz 802.15.4 standardizirane arhitekture v bolj

priljubljeno in razširjeno TCP/IP standardizirano arhitekturo 802.11 b/g. Pri tem običajno

ni potrebno spreminjati obstoječega vezja oziroma strojne opreme. Standard 802.15.4 je

implementiran v nizko cenovnih napravah za vzpostavitev brezžične komunikacije med

napravami (npr. Xbee, Zig Bee) z nizko hitrostjo podatkovnega prenosa in kratkim

dometom (do 10 metrov). [18]

Slika 4.1 Brezžični modul RN-XV 171

Page 30: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

- 18 -

V najpreprostejših aplikacijah zadostuje uporaba le štirih priključkov. Ti so: priključek za

3,3 voltno napajanje, masa ter RX in TX priključka za serijsko komunikacijo z

mikrokrmilnikom. Ostali priključki predstavljajo priključke, kot so: reset, dva analogna

senzorska vhoda ter GPIO vhodno-izhodne priključke. Vsi priključki pa dopuščajo

enosmerno napetost velikosti 3,3 V. Modul omogoča brezžični prenos podatkov v območju

med 2,4 GHz in 2,48 GHz in v dosegu 100 metrov. Domet je močno odvisen od

vremenskih pogojev in okolja, v katerem aplikacija deluje. Modul je primeren za vgradnjo

v aplikacije, kot so HVAC2 nadzor, nadzor nad roboti ter razne namenske merilne ali

krmilne naprave tudi v industrijskih procesih, saj ima temperaturno območje delovanja od -

45 ˚C pa do +90 ˚C. Njegova dobra lastnost je tudi majhna poraba, ki ne presega 180 mA.

Modul ima na zgornji strani že vgrajeno žično anteno in tri informacijske LED diode

različnih barv, ki služijo kot indikatorji. Rdeča LED dioda utripa hitro, če modul ni

povezan z brezžičnim omrežjem, če pa je dioda ugasnjena imamo uspešno vzpostavljeno

povezavo. Rumena LED dioda utripa, ko modul prejme oziroma odda podatke preko pinov

RX ali TX. Zelena LED dioda utripa hitro, če IP naslov ni na voljo in utripa počasi, ko se

uspešno poveže z dostopno točko ter sveti neprekinjeno, ko je povezava z njo

vzpostavljena. [19]

Nastavitev modula

Modul je potrebno pred vgradnjo v aplikacijo prednastaviti. Določiti mu moramo določene

parametre, kot so npr. IP naslov, privzeti prehod, ime ter geslo domačega omrežja itd. Ker

smo za programiranje mikrokrmilnika uporabili programsko okolje Arduino, smo v njem

lahko prednastavili tudi modul, in sicer preko serijske povezave. Modul smo povezali s 3,3

V napajanjem, maso, RX priključek modula smo povezali s TX priključkom

mikrokrmilnika, TX priključek modula pa z RX priključkom mikrokrmilnika. Ker je

izhodna napetost mikrokrmilnika na priključkih RX in TX večja od 3,3 V, smo dodali

preprost napetostni delilnik, realiziran z dvema uporoma, da RN-XV modula ne bi

poškodoval. Razvojno orodje Arduino in modul smo nato preko USB priključka povezali z

računalnikom. Napisali smo kratek program za vzpostavitev komunikacije med serijskimi

vrati osebnega računalnika in samim modulom. S pomočjo terminala (Tera term) smo nato

po navodilih, ki jih je podal proizvajalec v tehnični dokumentaciji modula, modul

2 Avtomatski nadzor ventilacije, gretja in klimatizacije.

Page 31: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

- 19 -

prednastavili tako, da je ustrezal nastavitvam in specifikacijam našega omrežja. V

komandno okno smo najprej vnesli "$$$", da smo lahko prešli v ukazni način. Modul nato

sprejema ascii znake, po vsakem uspešno vnesenem ukazu pa modul izpiše "AOK".

Neuspešno vnesen ukaz vrne zaporedje znakov "ERR". Po končani nastavitvi smo novo

nastavljene parametre shranili in modul ponovno zagnali z ukazoma "save" in "reboot".

Modul je vzpostavil uspešno komunikacijo z mikrokrmilnikom ter omrežjem in je bil

pripravljen na nadaljnji razvoj programske kode.

Asinhrona serijska komunikacija – UART

Asinhrona serijska komunikacija je ena izmed osnovnih komunikacij mikrokrmilnika in

perifernih naprav. Podatkovne besede se prenašajo zaporedno ena do druge, časovni

razmik med zaporednim prenosom podatkovnih besed pa je različen. Ena podatkovna

beseda po navadi predstavlja en znak. Znak sestavlja do osem podatkovnih bitov, začetni

start bit in končni stop bit, ki lahko obsega (samo končni stop bit?) tudi dolžino 1,5 ali 2

bita. Začetni bit je aktiven ob logično nizkem nivoju (“0”), njegova naloga pa je, da

sprejemniku sporoči začetek prenosa podatkovnih bitov. Nasprotno od začetnega bita je

končni bit aktiven na logično visokem nivoju (“1”). Nato zopet sledi začetni bit za prenos

naslednjega znaka ali pa stanje brezdelja, kar se zgodi, ko je linija prenosa na nizkem

logičnem nivoju dlje časa. Podatkovne bite lahko oklepa tudi bit paritete, ki skrbi za

odkrivanje napak pri prenosu. Paritetni bit lahko zavzame vrednost nič ali ena, odvisno od

uporabljene paritetne sheme in skupnega števila enic v podatkovni besedi. Shema s sodo

pariteto zahteva, da je skupno število enic sodo, liha pariteta pa zahteva liho skupno število

enic. Slabost asinhronega prenosa je majhna učinkovitost. Zaradi začetnih in končnih bitov

predstavlja podatek v najboljšem primeru le osem od desetih bitov. Asinhrona

komunikacija je primerna za uporabo v aplikacijah, ki ne zahtevajo visoke hitrosti prenosa

in vključujejo relativno majhno količino prenesenih podatkov. [7]

Komunikacija poteka med dvema napravama, in sicer tako, da naprava 1 oddaja podatke

preko TX pina, naprava 2 pa ta podatek sprejme na pinu RX. Slika 4.2 prikazuje pravilno

vezavo RX in TX pinov, za brezhibno delovanje pa moramo obe napravi povezati na

skupno maso. [22]

Page 32: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

- 20 -

Slika 4.2 Serijska komunikacija med dvema napravama

Vendar pa ima ob določenem času nadzor nad serijskim vodilom samo ena naprava. Če

imamo več naprav, povezanih na isto serijsko vodilo, pride do napake na vodilu,

imenovane »bus contention«. To pomeni, da bodo podatki sprejeti kot napačni. Na spodnji

sliki 4.3 vidimo, da naprava 1 na pinu RX ne bo pravilno prejela podatkov, poslanih iz

naprave 2 in naprave 3, ker sta ti dve napravi v sporu glede zaporedja pošiljanja podatkov.

Rezultat tega bo, da naprava 1 ne bo sprejela nobenega podatka. [22]

Slika 4.3 Nedovoljena vezava naprav preko UART vmesnika

Page 33: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

- 21 -

4.2 Brezžični modul WIPORT

Ena izmed alternativ Wifly modulu je naprava imenovana WIPORT. Prikazana je na sliki

4.4 in je po osnovnih lastnostih podobna Wifly modulu. Namenjena je za kakovostnejše in

kompleksnejše aplikacije, kar se odraža tudi v ceni, ki je nekajkrat višja.

Slika 4.4 Brezžični modul WIPORT

WIPORT je kompakten integriran modul, ki omogoča komuniciranje naprav preko

serijskega vmesnika v standardizirano 802.11 b/g omrežje. WIPORT ima integriran TCP-

IP protokolni sklad, prav tako pa ima vgrajen spletni strežnik, ki ga lahko uporabimo za

samo konfiguracijo WIPORT naprave na daljavo ali za nadzor ali krmiljenje priključenih

naprav. Programska oprema je zasnovana tako, da omogoča preprosto namestitev in

nastavitev WIPORT naprave. Ponuja namreč več možnosti nastavitve, saj ga lahko

nastavimo na lokalni ravni preko serijskega vmesnika ali pa na daljavo preko ethernet

omrežja z uporabo telnet protokola ali spletnega brskalnika. Integriran flash pomnilnik

omogoča tudi varno shranjevanje spletnih strani.

WIPORT se nahaja v 40-pinskem ohišju, za napajanje pa potrebuje 3,3 voltno enosmerno

napetost. Pri komuniciranju z mikrokrmilnikom pa prav tako uporablja 3,3 voltne logične

vmesnike. Komunikacija z mikrokrmilnikom je serijska, kar pomeni, da ga povežemo

preko RX in TX priključkov. Anteno, ki ni integrirana na samem modulu, priključimo

preko koaksialnih kablov na klasičen SMA priključek, uporabimo pa lahko klasično Wifi

anteno za notranjo uporabo. Temperaturno območje delovanja je med -40 in 85 ˚C,

kovinsko ohišje pa omogoča brezhibno delovanje tudi v bolj zahtevnih aplikacijah ali tudi

industrijskih obratih. [14]

Page 34: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

- 22 -

4.3 Arduino WIFI modul3

Programski del brezžičnega merilnega sistema smo izvedli s pomočjo odprtokodne

programske platforme Arduino, zato bomo na kratko opisali tudi WIFI napravo oziroma

brezžični ščit istega proizvajalca. WIFI ščit temelji na čipu HDG 104, proizvajalca Atmel

in je primeren za senzorske ali krmilne aplikacije za domačo ali industrijsko rabo. Na sliki

4.5 vidimo zgornjo in spodnjo stran omenjenega WIFI ščita.

Slika 4.5 Brezžični modul Arduino Wifi

Arduino WIFI ščit omogoča povezavo Arduino razvojne platforme v 802.11 b/g internetno

brezžično omrežje. Podpira TCP-IP protokol, prav tako pa tudi UDP protokol in omogoča

hitrosti prenosa do 54 Mbps, odvisno od tipa omrežja, v katerem deluje. WIFI ščit služi kot

dodatek osnovnim razvojnim platformam Arduino, njegova namestitev pa je izredno

preprosta. Ščit komunicira s krmilnikom preko SPI vodila, ker pa ima vgrajeno tudi režo za

SD kartico, si SPI vodilo delita dve napravi. Pravilno delovanje SPI vodila omogočimo

programsko. Kot je standardno pri podobnih brezžičnih internetnih modulih, tudi ta za

napajanje uporablja enosmerno napetost velikosti 3,3 volta. Za uspešno povezljivost v

brezžično omrežje pa mora poznati tako imenovani SSID ali ime omrežja. Na ščitu se

nahaja že integrirana PCB antena, kar nekaj pa je tudi informacijskih LED diod, ki dajejo

informacije o tem, ali je ščit povezan z brezžičnim omrežjem, ali ščit oddaja ali sprejema

podatke in o tem, ali je prišlo do napake v povezovanju z omrežjem. [3]

3 Arduino WIFI shield

Page 35: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

- 23 -

5 Elektronske komponente

V tem poglavju so opisane osnovne lastnosti komponent, ki smo jih uporabili pri izdelavi

brezžičnega merilnega sistema. Pri izbiri komponent smo bili pozorni na to, da smo dosegli

predhodno začrtane cilje, na samo funkcionalnost vezja ter na to, da smo uporabljene

komponente maksimalno izkoristili. Brezžični merilni sistem je sestavljen iz že opisanega

brezžičnega modula RN-XV, jedro sistema pa predstavlja mikrokrmilnik proizvajalca

Atmel z oznako Atmega 328P-PU. Za merjenje podatkov o temperaturi, zračnem tlaku in

relativni vlagi v zraku smo uporabili tri različne senzorje DHT11, BMP085 ter DS18S20.

Za merjenje enosmernih napetosti smo uporabili uporovno vezje ter diferenčni ojačevalnik

INA 122 za posredno merjenje enosmernega toka.

5.1 Arduino programsko okolje

Arduino je odprtokodno razvojno programsko okolje, realizirano na tiskanem vezju z

vhodno-izhodnimi priključki. Uporablja se za razvoj samostojnih aplikacij, lahko pa ga

povežemo z računalnikom in služi kot dodatek k sistemu.

Značilnosti okolja Arduino:

je vsestransko uporabno okolje, ki deluje v operacijskem sistemu Windows,

Macintosh in Linux,

temelji na programskem jeziku C++,

z računalnikom ga povežemo preko priključka USB,

je odprtokodna programska ter strojna oprema, kar pomeni, da si jo lahko

sestavimo sami, vezje in programsko opremo brezplačno prenesemo iz spletne

strani proizvajalca,

strojna oprema je cenovno ugodna, njene komponente je ob morebitni napaki

mogoče enostavno zamenjati,

na spletu obstaja skupnost aktivnih uporabnikov, ki nam lahko svetujejo in

pomagajo pri morebitnih težavah.

Page 36: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

- 24 -

Arduino programsko okolje je sestavljeno iz dveh delov: iz tiskane ploščice z vsemi

komponentami, ki predstavlja strojno opremo, ter programske opreme Arduino IDE, ki jo

poganjamo na osebnem računalniku in predstavlja programsko okolje za pisanje tako

imenovanih skic (angl. sketch) ali programov.

Slika 5.1 prikazuje Arduino platformo z označenimi pomembnejšimi priključki. Arduino

platforma je tiskano vezje z mikrokrmilnikom, ki predstavlja majhen, preprost računalnik s

katerim lahko gradimo zanimive naprave. Ploščo napajamo neposredno iz USB priključka

ali s primernim 9–15 V adapterjem. Obstaja več verzij Arduino plošč. V našem primeru

smo uporabili ploščo imenovano Arduino UNO, ki vsebuje Atmega 328P-PU

mikrokrmilnik in ima naslednje lastnosti:

14 digitalnih vhodno izhodnih priključkov,

6 analognih vhodnih priključkov,

6 analognih izhodnih priključkov.

Slika 5.1 Arduino UNO označbami priključkov

Page 37: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

- 25 -

Arduino IDE (Integrated Development Environment) je poseben računalniški program, ki

služi pisanju programov ter njihovemu nalaganju na mikrokrmilnik. Programska koda se

najprej prevede v strojno kodo, nato pa se prenese na mikrokrmilnik. Na sliki 5.2 vidimo

okno Arduino IDE programskega okolja. [5]

Slika 5.2 Aduino IDE programsko okolje

5.2 Mikrokrmilnik Atmega328P-PU

Pri načrtovanju našega sistema smo uporabili razvojno okolje Arduino UNO, ki vključuje

mikrokrmilnik Atmega 328P-PU z že naloženim bootloaderjem. Bootloader je majhen

program, shranjen na mikrokrmilniku, ki je aktiven na začetku izvajanja programa.

Njegova naloga je pretvorba programske kode v strojni, mikrokrmilniku razumljiv, jezik,

kar dovoljuje nalaganje programske kode na mikrokrmilnik brez uporabe dodatnega

programatorja [2]. Mikrokrmilnik Atmega 328P-PU je zadostoval našim potrebam z vidika

programskega pomnilnika ter števila vhodno-izhodnih priključkov. Na sliki 5.3 so

prikazani vhodno-izhodni priključki omenjenega mikrokrmilnika. [4]

Page 38: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

- 26 -

Slika 5.3 Priključki mikrokrmilnika Atmega 328-P

Nekatere lastnosti mikrokrmilnika Atmega 328P-PU:

PDIP ohišje,

28 priključkov, od tega 23 V/I priključkov,

programski pomnilnik velikosti 32 kB,

SRAM pomnilnik velikosti 2 kB,

EEPROM pomnilnik velikosti 1 kB,

UART vmesnik,

napajalna napetost v območju od 1,8 do 5,5 V,

temperaturno območje delovanje od -45 ˚C do 85 ˚C.

Page 39: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

- 27 -

5.3 Temperaturni senzor DS18S20

Temperaturni senzor proizvajalca Dallas semiconductors DS18S20 je visoko natančni

digitalni termometer. Z mikrokrmilnikom komunicira preko »one wire« vodila, kar

pomeni, da je za prenos podatkov potrebno le eno vodilo. Komunikacija je dvosmerna,

asinhrona, kar pomeni, da podatki tečejo v obe smeri, a le naenkrat v eno smer. »One

wire« vodilo ima kar nekaj dobrih lastnosti, ena izmed njih je zanesljivo delovanje pri

nizkih hitrostih in dolgih signalnih linijah, ki lahko segajo vse tja do 125 m. Pri daljših

povezavah pa si lahko načrtovanje PCB tiskanine dodatno olajšamo s parazitnim

napajanjem, kar pomeni, da se »one wire« naprava napaja neposredno iz podatkovnega

vodila in tako ne potrebuje dodatne napajalne povezave. Način parazitne vezave

temperaturnega senzorja je prikazan na sliki 5.4, slika 5.5 pa prikazuje standardni način

vezave senzorja, ki smo ga uporabili v našem sistemu. Vsaka naprava ima 64-bitno

unikatno kodo, kar nam omogoča, da lahko na enem »one wire« vodilu komunicira več

»one wire« naprav. Njegovo temperaturno območje sega od -55 ˚C do 125 ˚C, pri

natančnosti 0,5 ˚C. Če ne izkoristimo možnosti parazitnega napajanja, mu moramo

zagotoviti 5 V enosmerne napetosti in 4,7 kΩ upor, priključen na napajalno napetost. [9]

Slika 5.4 Parazitna vezava senzorja DS18S20

Slika 5.5 Standardna vezava senzorja DS18S20

Page 40: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

- 28 -

5.4 DHT11 senzor vlage in temperature

Slika 5.6 prikazuje senzor vlage DHT11. Gre za laboratorijsko kalibriran temperaturni

senzor, ki zraven temperature, posreduje še podatke o relativni vlažnosti zraka. Senzor

zagotavlja visoko zanesljivost ter dolgo, stabilno delovanje. Merjenje temperature poteka s

pomočjo NTK termistorja, vlaga v zraku pa se meri s pomočjo upornosti – z naraščanjem

vlažnosti upornost pada. Vsaka DHT naprava je kalibrirana v laboratoriju, kar nam

omogoča visoko točnost izmerjenih podatkov. Senzor zanesljivo zaznava relativno zračno

vlažnost v območju od 20 % do 90 % po 1 % korakih, njegova natančnost pa je ± 5 %.

Temperaturno območje je ožje v primerjavi z ostalima senzorjema, saj je to le od 0 ˚C pa

do +50 ˚C, natančnost temperature pa znaša ±2 ˚C.

Slika 5.6 Senzor DHT11

Senzor ima štiri priključke, za delovanje pa mu je potrebno zagotoviti enosmerno napetost

v območju med 3 in 5 V. Za komunikacijo uporablja podatkovno linijo, en cikel prenosa

podatkov pa traja 4 ms. V primeru, da je povezava krajša od 20 metrov, na napajalno linijo

vežemo 4,7 kΩ dvižni upor. Senzor je primeren predvsem za domače aplikacije, nikakor pa

ni primeren za uporabo v varnostnih sistemih, saj je izjemno občutljiv na zunanje vplive,

kot so dolga izpostavljenost ultravijolični svetlobi, izpostavljenost razmeram, ki presegajo

zgornje ali spodnje meje zaznavanja temperature oziroma zračne vlage. V takšnih primerih

bi z njim izmerjeni rezultati močno odstopali od dejanskih. Proizvajalec prav tako

priporoča montažo senzorja dovolj daleč od vira toplote. [10]

Page 41: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

- 29 -

5.5 BMP085 senzor zračnega tlaka in temperature

BMP085 je visoko natančen digitalni barometer, ki poleg zračnega tlaka zaznava še

temperaturo. Delovanje senzorja je zasnovano na piezo-uporovni tehnologiji, sposoben pa

je zaznavati zračni tlak v območju med 300 hPa in 1100 hPa po korakih 0,01 hPa, ter

temperaturo v območju med -40 ˚C in 85 ˚C po korakih 0,1 ˚C. Odstopanje pri izmerjeni

temperaturi je ± 1,5 ˚C, pri zračnem tlaku pa ± 0,2 hPa. Na sliki 5.7 je prikazana tiskana

ploščica s senzorjem in vsemi dodanimi elementi, potrebnimi za normalno delovanje.

Slika 5.7 Tiskana ploščica s senzorjem BMP085 in potrebnimi elementi

Sam senzor se nahaja v LCC ohišju z osmimi priključki, za pravilno delovanje pa

potrebuje enosmerno napetost v velikosti 3,3 V. Preprosto povezavo z mikrokrmilnikom

nam omogoča I2C način komunikacije, ki za komunikacijo uporablja dva priključka, in

sicer SCL4 ter SDA

5, oba pa za normalno delovanje potrebujeta 4,7 kΩ dvižnega upora.

SCL povezava prenaša uro, ki je 3,4 MHz, SDA povezava pa je podatkovna. S pomočjo

senzorja lahko, glede na absolutno nadmorsko višino – 1013,25 hPa, izračunamo

nadmorsko višino, na kateri se nahaja senzor. Ker je senzor fizično majhen, njegove

dimenzije so 6x6 mm, je primeren za vgradnjo v naprave, kot so mobilni telefoni, GPS

navigacijski sistemi ter raznorazne vremenske postaje. [6]

5.6 Merjenje enosmerne napetosti

Merjenje enosmerne napetosti smo realizirali s pomočjo analogno-digitalnega pretvornika

v mikrokrmilniku in preprostim uporovnim vezjem s tremi upori, ki ga vidimo na sliki 5.8.

S pomočjo tega vezja smo omogočili merjenje enosmerne napetosti v območju od -5 V do

+5 V, analogno-digitalni vhod mikrokrmilnika, s katerim tipamo napetost, pa smo

4 SCL – Serial clock

5 SDA – Serial data

Page 42: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

- 30 -

prednapetostno zaščitili z dvema zaščitnima diodama 1N4148. Diodi poskrbita za zaščito

vhoda pred negativno napetostjo in napetostjo večjo od 5 V. Tabela 7.1 nam prikazuje

odvisnost izhodne napetosti na uporovnem vezju v odvisnosti od vhodne napetosti oziroma

napetosti, ki jo izmerimo.

Slika 5.8 Vezje za merjenje enosmerne

napetosti

Tabela 5.1 Uizh v odvisnosti od Uvh

Uvh (V) Uizh (V)

-5 0

-1,5 1,7

0 2,5

1,5 3,3

5 5

Funkcionalnost in obnašanje vezja smo analizirali v SPICE simulatorju. Pozitivno sponko

izhoda vezja smo povezali na 10-bitni analogno-digitalni vhod mikrokrmilnika, s katerim

tipamo napetost, s preprostim matematičnim izrazom pa v programski kodi mikrokrmilnika

dobljeno vrednost pretvorimo v napetost.

Izraz, s katerim izračunamo napetost na vhodu analogno-digitalnega pretvornika, je sledeč:

(

) (4.1)

Pri tem je:

Uizm – dejanska izmerjena napetost,

UA/D – binarna vrednost na vhodu analogno-digitalnega pretvornika.

Page 43: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

- 31 -

5.7 Merjenje enosmernega električnega toka

Merjenje enosmernega toka smo izvedli posredno, preko merjenja napetosti na znani

omski upornosti. Ker smo želeli, da dodatna serijska omska upornost ne bi bistveno

vplivala na razmere v vezju, in bi bila meritev čim bolj natančna, smo izbrali upor z

vrednostjo 10 Ω in toleranco 1 %. Zaradi majhnega padca napetosti na uporu, smo

uporabili precizno vezje z instrumentacijskim ojačevalnikom, katerega dobra lastnost je

diferenčni vhod, ki ojači majhne razlike dveh vhodnih napetosti, zaradi odpornosti na šum

pa so natančni tudi izmerjeni rezultati. Uporabili smo instrumentacijski ojačevalnik z

oznako INA 122, ki ima že tovarniško nastavljeno 5-kratno ojačenje razlike vhodnih

signalov, zato potrebe po dodatnem uporu za nastavljanje ojačenja nismo imeli [8].

Vrednost napetosti na analogno-digitalnem vhodu mikrokrmilnika je bila sorazmerna

ojačeni razliki napetosti na vhodu instrumentacijskega ojačevalnika, pridobljeni na uporu

RT. Na sliki 5.9 vidimo opisano vezje, s pomočjo katerega merimo enosmerni električni

tok.

Slika 5.9 Vezje za merjenje enosmernega toka

Page 44: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

- 32 -

To vrednost smo s pomočjo izraza (4.2) pretvorili v tok, ki teče skozi breme RT. Najprej je

bilo treba izračunati napetost, ki smo jo delili z znano upornostjo, nato pa smo vse skupaj

še pomnožili s 1000, da smo dobili vrednost v miliamperih, ter delili s pet, kar predstavlja

ojačenje instrumentacijskega ojačevalnika. Izraz 5/1023 predstavlja vrednost 1 LSB v

voltih.

(

)

(4.2)

Pri tem je:

Iizm – dejanski izmerjeni tok,

IA/D – binarna vrednost na vhodu analogno-digitalnega pretvornika,

Rt – znana upornost, v našem primeru 10 Ω.

Page 45: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

- 33 -

6 Načrtovanje merilnega sistema

Preden smo se lotili razvoja programske kode, smo vse elektronske komponente povezali

na testni ploščici in tako sestavili prototip brezžičnega merilnega sistema. Pri načrtovanju

vezja smo si pomagali z dokumentacijo proizvajalca posamezne komponente. Pri razvoju

programske kode pa smo uporabili nekatere programske knjižnice, ki smo jih ustrezno

modificirali. V pomoč nam je bila tudi skupnost Arduino, ki združuje uporabnike tega

priljubljenega okolja. Po končanem razvoju programske kode in testiranju brezžičnega

merilnega sistema, smo načrt vezja narisali v okolju Altium Designer in vezje

implementirali na tiskano vezje.

6.1 Načrtovanje tiskanega vezja

Za načrtovanje tiskanega vezja smo uporabili načrtovalsko orodje Altium Designer.

Načrtovanje je potekalo v dveh sklopih: najprej smo narisali električni načrt vezja, nato pa

še tiskano vezje. Celotno vezje smo najprej sestavili ter testirali na testni ploščici, zato

večjih težav pri načrtovanju nismo imeli. Pri izbiri ustreznih elementov, kot so

kondenzatorji in razni dvižni upori, pa smo uporabili tehniško dokumentacijo, ki jo poda

proizvajalec posameznih komponent.

Risanje načrta je potekalo po ustaljenem postopku. V orodju Altium smo najprej kreirali

nov projekt, v katerega smo nato dodali novo shematsko datoteko. V knjižnicah smo

poiskali ustrezne elemente ter jih dodali v sam načrt in jih kasneje povezali. Pri izbiri

elementov smo bili pozorni predvsem na podnožja elementov. Nadalje smo uporabili tudi

orodje za kreiranje simbolov in podnožij, lastnih elementov kot je v našem primeru

brezžični modul RN-XV. Vsak element je sestavljen iz treh delov, in sicer iz simbola,

podnožja ter tridimenzionalnega prikaza ohišja komponente. Za samo načrtovanje ter

funkcionalnost načrta sta dovolj že simbol in podnožje elementa, tridimenzionalni prikaz

ohišja pa služi za zanimivo predstavitev končnega produkta. Za številčenje elementov smo

uporabili izbiro samodejnega številčenja, elementom kot so upori in kondenzatorji pa smo

določili tudi vrednosti, da smo si olajšali samo izdelavo tiskanega vezja. Na sliki 6.1 je

prikazana električna shema celotnega brezžičnega merilnega sistema.

Page 46: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

- 34 -

Slika 6.1 Celotni načrt brezžičnega merilnega sistema.

Page 47: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

- 35 -

Po zaključenem risanju električnega načrta, smo v projekt dodali PCB dokument in

nastavili osnovne lastnosti tiskanega vezja kot so npr.: enoplastna tiskanina, debelina

povezav, velikost pritrdilnih padov, minimalna razdalja med povezavami ter velikost

lukenj. Sledila je posodobitev PCB dokumenta, kar pomeni, da smo uvozili povezane in

urejene elemente iz električnega načrta. Elemente, ki so bili povezani z navideznimi

povezavami, smo smiselno razvrstili po tiskanini in jih povezali z fizičnimi povezavami,

pri tem smo bili pozorni predvsem na končne dimenzije tiskanine, ki bi naj bile čim

manjše. Vezje smo izdelali na enostranski tiskanini. Končni izgled tiskanega vezja je

prikazan na sliki 6.2.

Slika 6.2 PCB načrt tiskanega vezja

Na sliki 6.3. je prikazan izgled tiskanine v tridimenzionalnem prostoru.

Page 48: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

- 36 -

Slika 6.3 Prikaz 3D pogleda tiskanine

6.2 Opis programske kode mikrokrmilnika

Komentirana programska koda je prikazana v prilogah v poglavju 10.1. Z njo je realiziran

preprost spletni strežnik. V prvem delu programa smo inicializirali vse potrebne

spremenljivke ter vključili dodatne knjižnice, ki so potrebne za normalno delovanje našega

programa in strojne opreme. Programska koda je zasnovana tako, da se brezžični merilni

sistem samodejno poveže z ustreznim brezžičnim lokalnim omrežjem takoj, ko ga

priključimo na napajalno napetost, ob pogoju, da je omrežje na voljo. To je omogočeno z

nekaj osnovnimi nastavitvami brezžičnega modula RN-XV, ki vsebujejo nastavitve o

imenu ter geslu brezžičnega lokalnega omrežja, DHCP načinu komunikacije, vrata (80) za

komunikacijo med mikrokrmilnikom in lokalnim omrežjem. Inicializirana je tudi

komunikacija med mikrokrmilnikom in senzorjema BMP 085 in DHT11. Celoten merilni

sistem smo povezali z osebnim računalnikom in v serijskem terminalu opazovali potek

izvajanja programske kode. To možnost smo izkoristili pri samem razvoju kode za

odpravljanje napak. V serijskem terminalu so se izpisovali podatki o prostem pomnilniku,

MAC ter IP naslov RN-XV modula oziroma brezžičnega merilnega sistema, in tudi

opozorila o uspešni ali neuspešni združitvi z lokalnim brezžičnim omrežjem.

Brezžični sistem, povezan z želenim brezžičnim omrežjem, čaka na zahtevo uporabnika –

klienta. Čakanje je realizirano v programski zanki. V njej čakamo na zahtevo uporabnika

spletne strani oziroma na to, da uporabnik spletne strani vnese IP naslov RN-XV

brezžičnega modula. Z metodo GET, odposlano zahtevo brskalnika, preverjamo dva niza

znakov, če sta ta niza enaka, se prikaže prva, pozdravna spletna stran (void.SendIndex), ki

Page 49: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

- 37 -

vsebuje pozdravni besedi "Dober dan", majhno okence za vpis uporabniškega imena ter

potrditveni gumb (submit). Ko v okence vpišemo poljubno uporabniško ime in potrdimo z

omenjenim potrditvenim gumbom, se prikaže glavna spletna stran (void.SendGreeting), ki

vsebuje pozdravni besedi "Dober dan" s prej vpisanim uporabniškim imenom, pridobljene

izmerjene veličine, iz spletne strani pridobljeno uro in datum ter obrazec za krmiljenje

naprave. Ta spletna stran se naloži podobno kot pozdravna stran, s to razliko, da je

brskalnik podatke odposlal z metodo POST. Bistvena razlika med GET in POST metodo je

v tem, da POST metoda ne doda dodatnih spremenljivk v URL vrstico. Preden se stran

prikaže, mikrokrmilnik izmeri posamezne veličine s klicanjem podprograma

(void.opravimeritve). S klicanjem podprogramov smo si olajšali pisanje programske kode

in samo preglednost celotnega programa, saj se podprogram izvede večkrat. V

podprogramu pridobimo zakodirane podatke o temperaturi, vlagi in drugih veličinah.

V spodnjem delu spletne strani je realizirana forma z dvema gumboma za krmiljenje

naprave. Napravo, ki je po privzetem načinu ugasnjena, krmilimo z metodo GET in

preverjanjem dveh nizov znakov. Naprava se prižge, če se niz v URL naslovu ujema z

vpisanim nizom GET/?L=1 ter ugasne, če je niz znakov v URL naslovu enak vpisanemu

nizu GET/?L=0.

Program ob vsaki osvežitvi spletne strani v spletnem brskalniku prikaže novo izmerjene

podatke, če pa v tem času pride do morebitne napake v povezavi brezžičnega merilnega

sistema z brezžičnim lokalnim omrežjem, prikaže spletno stran o napaki 404. Slika 6.4

prikazuje videz spletne strani: prva pozdravna stran in druge strani, na katerih so prikazani

rezultati meritev in stanje naprave.

Page 50: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

- 38 -

Slika 6.4 Izgled spletnih strani brezžičnega merilnega sistema

6.3 Komunikacija med spletnim brskalnikom in strežnikom

HTTP protokol je protokol, ki omogoča komunikacijo med klientom in spletnim

strežnikom. Spletni brskalnik predstavlja klienta, medtem ko spletni strežnik predstavlja

aplikacijo na oddaljenem računalniku. V našem primeru je to opisan mikrokrmilniški

sistem. Proces izvajanja komunikacije poteka tako, da klient najprej poda HTTP zahtevo

strežniku, ki mu odgovori z vsebino, ki vsebuje informacije o stanju zahteve ali s celotno

zahtevano vsebino. Zahtevo po spletni strani sproži uporabnik spletne strani z vpisom IP

naslova brezžičnega merilnega sistema. Izvajanje omenjenega procesa je izvedeno s

HTML kodo HTTP/1.1 200 OK, ki ponazarja, da je spletni strežnik izveden na osnovi

HTTP protokola verzije 1.1, številka 200 pa predstavlja kodo uspešno izvedene zahteve z

odgovorom, ki vsebuje zahtevane podatke. V primeru, da strežnik ni našel odgovora, ki bi

ustrezal zahtevi ob ustreznem IP naslovu, strežnik vrne spletno stran o napaki 404, kar je

izvedeno s HTML kodo HTTP/1.1 404 not found.

Page 51: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

- 39 -

Najbolj pogosto uporabljeni HTTP metodi za komunikacijo med klientom in strežnikom

sta POST in GET metodi. Za uporabo posamezne metode obstajajo določena priporočila,

in sicer naj bi metodo GET uporabljali, če je procesiran objekt idenpotenten, kar pomeni,

da gre za običajen poizvedbeni obrazec, ki ne vsebuje informacij o občutljivih podatkih in

geslih.

Pri uporabi metode GET lahko vidimo, da so poslani podatki vidni v URL vrstici spletnega

brskalnika. Najprej je viden osnovni URL ali naslov strani, ki mu sledi znak "=", prvi

atribut in nato še znak "?". Vse, kar je vidno za znakom "?" imenujemo poizvedbeni niz.

Metoda GET posledično ni primerna za pošiljanje objektov, ki vsebujejo občutljive

informacije, saj so podatki preveč izpostavljeni in ranljivi na spreminjanje. Težavo pa

predstavljajo tudi nekateri spletni brskalniki, ki imajo omejitev glede dolžine URL naslova.

[15]

Metoda POST velja za bolj varno metodo in se lahko uporabi tudi za večjo količino

podatkov. Parametri poslani z metodo POST niso vidni v URL vrstici spletnega brskalnika,

temveč se shranijo v superglobalno polje, imenovano $_POST, prav tako pa se poslani

podatki ne shranijo v piškotke in zgodovino spletnega brskalnika. Lahko bi rekli, da se

GET metoda uporablja le za pridobivanje podatkov oziroma spletnih strani, medtem ko

lahko z metodo POST sprožimo določene akcije na strani strežnika kot so npr. vnos in

posodabljanje podatkov v podatkovnih bazah, naročanje produktov v spletnih trgovinah in

pošiljanje elektronske pošte. V našem primeru smo spreminjali stanje na izhodnem

priključku mikrokrmilnika. [13]

Na sliki 6.5 Slika 6.5 vidimo URL naslove, pridobljene z GET in POST metodo. Opazimo,

da se URL naslovi med seboj razlikujejo, kar je posledica uporabe različnih metod, pri

prižiganju luči smo uporabili metodo GET, kar je razvidno na spodnjem delu slike, kjer

imamo zraven osnovnega URL naslova še dodatne atribute, ki se razlikujejo glede na

stanje luči. Spletna stran z URL naslovom 192.168.101/?L=1 se prenese, ko je luč

prižgana, ko pa luč ugasnemo, pa se prenese stran z URL naslovom 192.168.101/?L=0. Pri

metodi POST opazimo, da URL naslovu ni dodan noben atribut.

Page 52: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

- 40 -

Slika 6.5 URL naslov v primeru POST in GET metode

Page 53: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

- 41 -

7 Lastnosti brezžičnega merilnega sistema

7.1 Merjenje električnih in drugih veličin

Po končanem načrtovanju smo brezžični merilni sistem implementirali na tiskano vezje

dimenzij 10x7 cm. Brezžični merilni sistem napajamo z 9 V baterijo, za zagotovitev nižjih

napetostnih nivojev, ki so potrebni za napajanje senzorjev in mikrokrmilnika, pa smo

uporabili ustrezna stabilizatorja napetosti. Brezžični merilni sistem vzpostavi brezžično

povezavo z dostopno točko takoj, ko dobi napajanje, a le v primeru, da je omrežje, ki je

definirano v programu, na voljo. Brezžična povezava je vzpostavljena na podlagi standarda

IEEE 802.11 b /g, kar omogoča hitrost prenosa podatkov do 54 Mbps v dometu 100

metrov od dostopne točke.

Na sliki 7.1 vidimo blokovno shemo izvajanja meritev ter komunikacijo brezžičnega

merilnega sistema s klientom oz. spletnim brskalnikom.

Slika 7.1 Merjenje električnih in drugih veličin z brezžičnim merilnim sistemom

Page 54: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

- 42 -

Sistem je omejen na merjenje električnih veličin, kot sta enosmerna napetost in tok ter

drugih veličin, kot so temperatura okolice, relativna vlažnost v zraku in zračni tlak. Tabela

7.1 vsebuje vse veličine in njihove dopustne vrednosti, ki jih je mogoče izmeriti z

načrtovanim brezžičnim merilnim sistemom.

Tabela 7.1 Veličine merjene z brezžičnim merilnim sistemom

TIPALO VELIČINA MIN MAX ENOTA

DS18S20 temperatura okolice -55,00 +125 ˚C

DHT11 temperatura okolice 0 +50 ˚C

relativna zračna vlaga 20 90 %

BMP085 temperatura okolice -40 +85 ˚C

zračni tlak 700 1100 hPa

INA122 električni tok 0 100 mA

A/D pretvornik električna napetost -5 +5 V

Na sliki 7.2 je prikazan končni izdelek diplomske naloge, poimenovan Brezžični merilni

sistem.

Slika 7.2 Fotografija končnega brezžičnega merilnega sistema

Page 55: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

- 43 -

7.2 Krmiljenje naprave na daljavo

Prikaz izmerjenih podatkov in krmiljenje naprave poteka s preprosto HTML stranjo.

Uporabnik brezžičnega merilnega sistema potrebuje poleg brezžičnega merilnega sistema

tudi brezžični usmerjevalnik, kar mu omogoča dostop do spletne strani ne glede na to, kje

se nahaja. Pogoj je seveda, da ima dostop do interneta, do spletne strani pa pristopi z

vpisom IP naslova in porta, ki smo ju določili v nastavitvah samega brezžičnega modula

RN-XV 171.

Krmiljenje naprave poteka s formo, ki je na dnu spletne strani. Naprava je lahko prižgana

ali ugasnjena, njeno trenutno stanje pa je vidno na spletni strani. Krmiljenje naprave je

izvedeno s primerjanjem dveh nizov znakov, in sicer uporabnik spletne strani potrdi želeno

stanje (ON ali OFF) s potrditvenim gumbom (Submit) in s tem pošlje niz znakov. Naprava

spremeni stanje v primeru, da je poslan niz znakov enak nizu znakov, ki je bil določen ob

razvoju programske kode. Po privzetem načinu je naprava ob vstopu na spletno stran

ugasnjena.

Na sliki 7.3 vidimo potek krmiljenja naprav na daljavo z brezžičnim merilnim sistemom.

Slika 7.3 Krmiljenje (vklop/izklop) naprave na daljavo

Page 56: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

- 44 -

8 Sklep

Tehnologija brezžičnih omrežij pridobiva na svoji priljubljenosti, glavni vzrok temu je

hiter razvoj majhnih prenosnih brezžičnih naprav, kot so prenosni računalniki, pametne

kartice ter tablični računalniki. Zaradi svoje preproste nastavitve, uporabe brezžičnega

prenosnega medija in relativno nizke cene, so takšna omrežja izjemno uporabna pri

vsakdanjih domačih uporabnikih kot tudi v poslovnih prostorih. Danes brezžično povezavo

z internetom ponujajo že nekateri lokali in večji trgovski centri, v nekaterih večjih mestih

pa nastajajo odprta javna omrežja, ki pokrivajo že dobršen del mest. Brezžična omrežja

imajo kar nekaj prednosti pred klasičnimi žičnimi omrežji. Omogočajo svobodo gibanja

uporabnikov v območju, ki ga signal pokriva ter nezahtevno dodajanje novega uporabnika

v omrežje, saj ne potrebujemo nobene dodatne strojne opreme.

Razvili smo brezžični merilni sistem, ki uporabnika informira o trenutno izmerjenih

fizikalnih in električnih veličinah na oddaljenem mestu preko interneta. Sistem vzpostavi

brezžično povezavo in s tem omogoči uporabniku dostop do spletne strani, ki ponuja

izmerjene podatke. Sistem ponuja tudi možnost vklopa in izklopa naprave, prikazuje pa

tudi trenutno stanje naprave (vklopljena/izklopljena).

Ker pa je bil to naš prvi kompleksnejši mikrokrmilniški projekt, ki smo ga izdelali od same

zamisli do strojne izdelave, smo občasno naleteli na težave, predvsem v procesu razvoja

programske kode. Uporaba odprtokodnega programskega okolja Arduino nam je

omogočila, da smo lahko brez večjih težav sprotno rešili težave, ki so se pojavile ob

samem razvoju. Na spletu namreč obstaja Arduino skupnost, v kateri so zbrani ljubitelji

elektronike z vseh koncev sveta, ki opisujejo svoje projekte in težave, s katerimi so se

srečevali pri izdelavi le-teh.

Brezžični merilni sistem bi lahko uporabili kot vremensko postajo, z nekaj nadgradnje pa

bi ga lahko uporabili za oddaljen nadzor naprav v odročnih zgradbah, kot so vikendi ipd.

Njegova dobra lastnost je dostop do spletne strani z izmerjenimi podatki. Z dodanimi

senzorji bi lahko prikazovali tudi druge podatke, kot so vsebnost vnetljivih plinov (butan,

propan, metan, vodik in alkohol) v prostoru.

Page 57: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

- 45 -

9 Viri in literatura

[1] Abrahamsson, C., Wessman, M. WLAN Seciurity, IEEE 802.11b or Bluetooth –

which standard provides best seciurity methods for companies?, Bachelor Thesis in

Computer Science. School of Enginerring Blekinge Institute of Technology.

Sweden: Maj 2004

[2] Arduino bootloader. [online]. Dostopno na:

http://arduino.cc/en/Guide/Environment?from=Tutorial.Bootloader [5.5.2013]

[3] Arduino Wifi shield. [online]. Dostopno na:

http://arduino.cc/en/Main/ArduinoWiFiShield [23.1.2013]

[4] Atmel AVR. 8-bit Microcontroller with 4/8/16/32 K Bytes In-System Programable

Flash, Atmega 328P Data Sheet

[5] Banzi, M. Getting Started with Arduino. O' Reilly Media. U.S.A.: September 2011

Second edition

[6] Bosch Sensortec. BMP085 Digital Presure Sensor Datasheet. Revision 1.2

15.10.2009

[7] Brezočnik., Z. Mikroračunalniški sistemi. Fakulteta za elektrotehniko,

računalništvo in informatiko. Maribor: 2008

[8] Burr-Brown, Single Supply Micropower Instrumention Amplifier. Texas

Instruments. INA 122 Datasheet. 14.7.2012

[9] Dallas Semiconductors. DS18S20 High Precision 1-wire Digital Thermometer

Datasheet

[10] D-Robotics UK. DHT11 Humidity & Temperature Sensor Data Sheet. 30.7.2010

[11] Dubrawsky, I. Eleventh Hour Seciurity +. Syngres: 26.9.2009

[12] Gradišnik., M. Solata, imenovana IEEE. Moj mikro: 21.12.2011, [online].

Dostopno na: http://www.mojmikro.si/preziveti/varnost/solata_imenovana_ieee

[18.2.2013]

[13] Korpela., J. Methods GET and POST in HTML forms – what's the diference?

14.7.2012 [online]. Dostopno na:

http://www.cs.tut.fi/~jkorpela/forms/methods.html [25.3.2013]

[14] Lantronix. Wiport User Guide. Revision K. Januar 2010 [online]. Dostopno na:

http://www.lantronix.com/pdf/WiPort_UG.pdf [25.1.2013]

Page 58: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

- 46 -

[15] Medved., M. Delo z obrazci. 2007 [online]. Dostopno na:

http://www.medved.si/php/php/2.13._delo_z_obrazci.html [27.3.2013]

[16] Nutt, A. The History of Wireless Network. 14.8.2009 [online].Dostopno na:

http://ezinearticles.com/?The-History-of-Wireless-Networking&id=2761612

[11.2.2013]

[17] OSI reference model (pdf). [online]. Dostopno na:

https://www.google.si/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CD

AQFjAA&url=https%3A%2F%2Flearningnetwork.cisco.com%2Fservlet%2FJiveS

ervlet%2Fdownload%2F34197-

6073%2F&ei=FYuHUcypCcfjswbeloDAAQ&usg=AFQjCNHtTPYNCOuNj8L6k

Su97LnhXOht_g&sig2=wMzu9ziHPiHXJeGV6CUJRA&bvm=bv.45960087,d.Ym

s&cad=rja [27.2.2013]

[18] RN171XV 802.11 b/g replacement for 802.15.4 systems. [online] Dostopno na:

http://rovingnetworks.com/products/RN171XV [4.3.2013]

[19] Roving Networks. RN-171-XV 802.11 b/g Wireless LAN Module Data Sheet.

version 1,04. 29.10.2012

[20] Ruckus in 802.11n standard. [online]. Dostopno na:

http://www.telos.si/ruckus/80211n.htm [18.2.2013]

[21] Satarsa, U. Basic Arhitecture of a Wirelles LAN. 10.12.2008 [online] Dostopno

na:

http://setup-wireless.blogspot.com/2008/12/basic-architecture-of-wireless-lan.html

[27.2.2013]

[22] Taylor., C. TX and RX signals. 1.12.2010 [online]. Dostopno na:

https://www.sparkfun.com/tutorials/224 [5.3.2013]

[23] Wireless LAN Standards and Topologies (pdf). [online]. Dostopno na:

http://www.mhprofessional.com/downloads/products/0071701524/0071701524_ch

ap02.pdf [15.2.2013]

Page 59: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

- 47 -

10 Priloge

10.1 Programska koda

#undef PROGMEM

#define PROGMEM __attribute__(( section(".progmem.data") ))

#undef PSTR

#define PSTR(s) (__extension__({static prog_char __c[] PROGMEM = (s); &__c[0];}))

#include <WiFlyHQ.h> //Vključene potrebne knjižnice za normalno izvajanje

#include <OneWire.h> //programa in priključene strojne opreme.

#include <Wire.h>

#include <Adafruit_BMP085.h>

OneWire ds(8); //Temperaturni senzor DS18S20 na pinu 8.

#include <SoftwareSerial.h>

SoftwareSerial wifiSerial(10,11); //Programska določitev Rx(10) in Tx(11) pina.

int ledPin=7; //LED dioda na pinu 7.

WiFly wifly; //Inicializacija serijske komunikacije Wifly modula.

Adafruit_BMP085 bmp;

#include "DHT.h"

#define DHTPIN A0 //DHT11 senzor na pinu A0.

#define DHTTYPE DHT11 //Tip senzorja DHT 11.

DHT dht(DHTPIN, DHTTYPE);

const char mySSID[] = "Polo"; //SSID našega WLAN omrežja.

const char myPassword[] = "odranci19"; //Geslo našega WLAN omrežja.

//Podrutine, ki se izvajajo tekom programa.

void sendIndex(); //1. spletna stran.

void sendGreeting(char *name); //2. spletna stran.

void send404(); //3. spletna stran – stran ni na voljo.

void opraviMeritev(); //Zajamemo podatke senzorjev – posodobimo podatke.

char username[16]; //Niz znakov vpisano ime.

char buf[80]; //Niz znakov URL naslov.

boolean LEDON=false; //Status LED diode – ugasnjena ali prižgana.

byte i; //DS18S20 parametri.

byte present = 0;

byte type_s;

byte data[12];

byte addr[8];

float celsius; //DS18S20 temperatura.

float tlak; //BMP085 tlak.

float h; //DHT11 relativna zračna vlažnost.

float t; //DHT11 temperatura.

float vout = 0.0; //Merjenje enosmerne napetosti.

float tok=0.0; //Merjenje enosmernega toka.

int RT=10; //Vrednost upora RT-merjenje toka.

Page 60: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

- 48 -

void setup()

{

pinMode(ledPin,OUTPUT); //LED dioda na pinu 7 kot zunanja naprava.

Serial.begin(115200); //Nastavitev baudne hitrosti za serijsko komunikacijo z

Serial.println(F("Starting")); //računalnikom, izpis statusnih napisov in prostega

Serial.print(F("Free memory: ")); //pomnilnika Wifly naprave v serijsko okno.

Serial.println(wifly.getFreeMemory(),DEC);

int (!bmp.begin()); //Inicializacija BMP085 in DHT11 senzorja.

dht.begin();

wifiSerial.begin(19200); //Nastavitev baudne hitrosti za serijsko komunikacijo z

if (!wifly.begin(&wifiSerial, &Serial)) { //Wifly modulom.

Serial.println(F("Failed to start wifly"));

wifly.terminal();

}

if (!wifly.isAssociated()) { //Če Wifly še ni povezan z omrežjem, naj se poveže.

Serial.println(F("Joining network")); //Nastavitev wifly modula s parametri, da se

wifly.setSSID(mySSID); //bo povezal z WLAN omrežjem. Nastavimo mu

wifly.setPassphrase(myPassword); //SSID in geslo WLAN omrežja ter omogočimo

wifly.enableDHCP(); //DHCP način delovanja.

wifly.save();

if (wifly.join()) { //Izpis statusa o stanju Wifly modula v serijsko okno

Serial.println(F("Joined wifi network")); // računalnika.

} else {

Serial.println(F("Failed to join wifi network"));

wifly.terminal();

}

} else {

Serial.println(F("Already joined network"));

}

wifly.setBroadcastInterval(0); //Onemogočimo UDP oddajanje.

Serial.print(F("MAC: ")); //Pridobimo in izpišemo MAC ter IP naslov Wifly

Serial.println(wifly.getMAC(buf, sizeof(buf))); // modula.

Serial.print(F("IP: "));

Serial.println(wifly.getIP(buf, sizeof(buf)));

wifly.setDeviceID("Wifly-WebServer"); //Naj se Wifly obnaša kot spletni strežnik.

if (wifly.isConnected()) {

Serial.println(F("Old connection active. Closing"));

wifly.close();

}

wifly.setProtocol(WIFLY_PROTOCOL_TCP);

if (wifly.getPort() != 80) { //Če lokalni port ni enak portu 80, ga nastavimo

wifly.setPort(80); //na 80,nastavitev začne veljati, ko nastavitve shranimo

//in rebootamo.

wifly.save();

Serial.println(F("Set port to 80, rebooting to make it work"));

Page 61: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

- 49 -

wifly.reboot(); //Shranimo in rebootamo wifly modul

delay(3000); // ter zakasnimo za 3 s.

}

Serial.println(F("Ready"));

}

void loop()

{

if (wifly.available() > 0) { //Pošlji podatke, če je vrednost prejetih podatkov večja

if (wifly.gets(buf, sizeof(buf))) { //od 0.

if (strncmp_P(buf, PSTR("GET / "), 6) == 0) { //Če se niza znakov ujemata, je prišlo do

Serial.println(F("Got GET request")); //zahteve GET in naloži se 1. spletna stran

while (wifly.gets(buf, sizeof(buf)) > 0) { //s klicanjem podrutine sendIndex.

}

sendIndex();

Serial.println(F("Sent index page"));

} else if (strncmp_P(buf, PSTR("POST"), 4) == 0) { //Če se niza znakov ujemata, je prišlo

Serial.println(F("Got POST")); //do zahteve POST. Pred naložitvijo

if (wifly.match(F("user="))) { //2. spletne strani zajamemo podatke

opraviMeritev(); //senzorjev in nato naložimo spletno

wifly.gets(username, sizeof(username)); //stran, ki vsebuje tudi vpisano besedilo,

wifly.flushRx(); //ki smo ga vpisali na 1. spletni strani.

sendGreeting(username);

Serial.println(F("Sent greeting page"));

}

}

else if (strncmp_P(buf, PSTR("GET /?L=1"), 9) == 0) { //Če se niza znakov ujemata,

digitalWrite(ledPin, HIGH); //prižgemo LED diodo priključeno

Serial.println("ledpin paa"); //na pinu 7, spremenljivka LEDON

LEDON = true; //spletni strani sporoči, da je

opraviMeritev(); //LED dioda prižgana.

wifly.flushRx();

sendGreeting(username);

Serial.println(F("Sent greeting page"));

}

else if (strncmp_P(buf, PSTR("GET /?L=0"), 9) == 0) { //ČE se niza znakov ujemata,

digitalWrite(ledPin, LOW); //ugasnemo LED diodo priključeno

Serial.println("ledpin av"); //na pinu 7, spremenljivka LEDON

LEDON = false; //spletni strani sporoči, da je

opraviMeritev(); //LED dioda ugasnjena.

wifly.flushRx();

sendGreeting(username);

Serial.println(F("Sent greeting page"));

}

else {

Serial.print(F("Unexpected: ")); //Če je prišlo do nepričakovane zahteve

Serial.println(buf); //oziroma do napake v omrežju, se naloži

wifly.flushRx(); //3. spletna stran, ki sporoča napako 404.

Serial.println(F("Sending 404"));

send404();

}

}

}

}

void opraviMeritev()

Page 62: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

- 50 -

{

//ZAJEMANJE SENZORSKIH PODATKOV

---------------------------------------------------------------------------------------- -------------------------------------------

-------------------------------------------*/

{

if ( !ds.search(addr)) { //Poiščemo naslove DS18S20 naprav

Serial.println("No more addresses."); //na one wire vodilu in pridobimo kaj? o

Serial.println(); //številu senzorjev.

ds.reset_search();

delay(250);

return;

}

Serial.print("ROM ="); //Poiščemo ROM kodo DS18S20 senzorja

for( i = 0; i < 8; i++) { // ter jo izpišemo v serijsko okno

Serial.write(' '); //računalnika v šestnajstiški obliki.

Serial.print(addr[i], HEX);

}

if (OneWire::crc8(addr, 7) != addr[7]) { //Poiščemo CRC kodo DS18S20 senzorja

Serial.println("CRC is not valid!"); //ter izpišemo njen status, če ni pravilna.

return;

}

Serial.println();

switch (addr[0]) {

case 0x10:

Serial.println(" Chip = DS18S20"); //Izpišemo tip oziroma družino senzorja DS18X20

type_s = 1; //s pomočjo case stavka. Senzor je lahko tipa

break; //DS18S20, DS18B20 ali DS1822. V primeru, da senzor

case 0x28: //ne pripada nobeni od omenjenih družin, to izpišemo v

Serial.println(" Chip = DS18B20"); //serijsko okno računalnika.

type_s = 0;

break;

case 0x22:

Serial.println(" Chip = DS1822");

type_s = 0;

break;

default:

Serial.println("Device is not a DS18x20 family device.");

return;

}

ds.reset(); //Resetiramo one wire vodilo in pripravimo senzor

ds.select(addr); //na konverzijo pridobljenih podatkov.

ds.write(0x44,1);

delay(750); //Zakasnimo za 750ms zaradi pretvorbe.

present = ds.reset();

ds.select(addr); //V primeru več senzorjev na one wire vodilu

ds.write(0xBE); //glede na naslov preberemo scratchpad pomnilnik.

Serial.print(" Data = "); //V serijskem oknu izpišemo podatek o

Serial.print(present,HEX); //temperaturi v šestnajstiški obliki

Serial.print(" ");

Page 63: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

- 51 -

for ( i = 0; i < 9; i++) {

data[i] = ds.read();

Serial.print(data[i], HEX);

Serial.print(" ");

}

Serial.print(" CRC="); //V serijskem oknu izpišemo CRC kodo senzorja v

Serial.print(OneWire::crc8(data, 8), HEX); //šestnajstiški obliki.

Serial.println(); //Pretvorimo pridobljene podatke v dejansko

// temperaturo.

unsigned int raw = (data[1] << 8) | data[0];

if (type_s) {

raw = raw << 3; // 9 bit resolution default

if (data[7] == 0x10) {

raw = (raw & 0xFFF0) + 12 - data[6];

}

} else {

byte cfg = (data[4] & 0x60);

if (cfg == 0x00) raw = raw << 3; // 9 bit resolution, 93.75 ms

else if (cfg == 0x20) raw = raw << 2; // 10 bit res, 187.5 ms

else if (cfg == 0x40) raw = raw << 1; // 11 bit res, 375 ms

// default is 12 bit resolution, 750 ms conversion time

}

celsius = (float)raw / 16.0;

Serial.print(" Temperature = "); //Izpis temperature senzorja DS 18S20

Serial.print(celsius); //v stopinjah Celzija v serijsko okno računalnika.

Serial.print(" Celsius, ");

}

int value = analogRead(A3); //Inicializacija pina za merjenje vrednosti napetosti

Serial.println("odcitek"); //ter kontrolni izpis v serijsko okno računalnika.

Serial.println(value);

vout = 2*(value*(5.0/1023.0)-(5.0/2.0)); //Izračun v dejansko vrednost merjene napetosti.

int current = analogRead(A1); //Inicializacija pina za merjenje vrednosti toka

Serial.println(current); //ter kontrolni izpis v serijsko okno računalnika.

tok = (current*(5.0 / 1023.0)/RT)*1000.0/5.0; //Izračun v dejansko vrednost toka.

tlak=0.1*bmp.readPressure(); //Branje zračnega tlaka in pretvorba v milibare.

h = dht.readHumidity(); //Branje relativne zračne vlažnosti in temperature

t = dht.readTemperature(); //pridobljene s senzorjem DHT11.

if (isnan(t) || isnan(h)) { //Preverimo ali senzor DHT11 deluje pravilno,

Serial.println("Failed to read from DHT"); //vrnjene neštevilčne vrednosti nakazujejo na

} else { //nepravilno delovanje senzorja. V serijsko

Serial.print("Humidity: "); //okno računalnika izpišemo tudi podatke o

Serial.print(h); //izmerjenih podatkih.

Serial.print(" %\t");

Serial.print("Temperature: ");

Serial.print(t);

Serial.println(" *C");

}

}

/** Send an index HTML page with an input box for a username */

void sendIndex()

Page 64: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

- 52 -

{

/* Send the header direclty with print */

wifly.println(F("HTTP/1.1 200 OK"));

wifly.println(F("Content-Type: text/html"));

wifly.println(F("Transfer-Encoding: chunked"));

wifly.println();

/* Pošljemo vsebino strani s pomočjo "chunked" protokola, tako da klient ve,

* kdaj je sporočilo zaključeno.

*/

wifly.sendChunkln(F("<html>"));

wifly.sendChunkln(F("<title> Brez&#382;i&#269;ni merilni sistem </title>"));

wifly.sendChunkln(F("<h1>"));

wifly.sendChunkln(F("<p> Dober dan </p>"));

wifly.sendChunkln(F("</h1>"));

wifly.sendChunkln(F("<form name=\"input\" action=\"/\" method=\"post\">"));

wifly.sendChunkln(F("Username:"));

wifly.sendChunkln(F("<input type=\"text\" name=\"user\" />"));

wifly.sendChunkln(F("<input type=\"submit\" value=\"Submit\" />"));

wifly.sendChunkln(F("</form>"));

wifly.sendChunkln(F("</html>"));

wifly.sendChunkln();

opraviMeritev();

}

/** Send a greeting HTML page with the user's name and an analog reading */

void sendGreeting(char *name)

{

/* Send the header directly with print */

wifly.println(F("HTTP/1.1 200 OK"));

wifly.println(F("Content-Type: text/html"));

wifly.println(F("Transfer-Encoding: chunked"));

wifly.println();

/* Pošljemo vsebino strani s pomočjo "chunked" protokola, tako da klient ve,

* kdaj je sporočilo zaključeno.

*/

wifly.sendChunkln(F("<html>"));

wifly.sendChunkln(F("<title> Brez&#382;i&#269;ni merilni sistem </title>"));

wifly.sendChunk(F("<h1><p> Dober dan "));

wifly.sendChunk(name);

wifly.sendChunkln(F("</p></h1>"));

wifly.sendChunkln("<hr />");

wifly.sendChunkln("<hr />");

//Obrazec, s katerim pridobimo uro iz spletne strani: http://free.timeanddate.com

wifly.sendChunkln("<h3>Datum in cas</h3>");

wifly.sendChunk("<iframe src=http://free.timeanddate.com/clock/i3burjrr/n736/tlsi26/tt0/tw0/tm1/ts1/tb4

frameborder=0 width=86 height=34></iframe>");

wifly.sendChunkln("<br/>");

wifly.sendChunkln("<br/>");

//Izpis izmerjenih podatkov poteka z ukazom wifly.sendChunkln

//številsko vrednost veličin pa izpišemo z ukazom dtostrf, ki nam

//omogoča decimalni izpis vrednosti.

wifly.sendChunkln("Temperatura 1=");

dtostrf(celsius, 2, 2, buf);

wifly.sendChunkln(buf);

wifly.sendChunkln( "&#176 C");

Page 65: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

- 53 -

wifly.sendChunkln("<br/>");

wifly.sendChunkln("Temperatura 2=");

dtostrf(t, 2, 2, buf);

wifly.sendChunkln(buf);

wifly.sendChunkln("&#176 C");

wifly.sendChunkln("<br/>");

wifly.sendChunkln("Temperatura 3=");

dtostrf(bmp.readTemperature(), 2, 2, buf);

wifly.sendChunkln(buf);

wifly.sendChunkln("&#176 C");

wifly.sendChunkln("<br/>");

wifly.sendChunkln("Relativna vlaga");

dtostrf(h, 2, 0, buf);

wifly.sendChunkln(buf);

wifly.sendChunkln("%");

wifly.sendChunkln("<br/>");

wifly.sendChunkln("Zracni tlak=");

dtostrf(tlak, 2, 0, buf);

wifly.sendChunkln(buf);

wifly.sendChunkln("mbar");

wifly.sendChunkln("<br/>");

wifly.sendChunkln("Napetost=");

dtostrf(vout, 2, 4, buf);

wifly.sendChunkln(buf);

wifly.sendChunkln("V");

wifly.sendChunkln("<br/>");

wifly.sendChunkln("Tok=");

dtostrf(tok, 4, 4, buf);

wifly.sendChunkln(buf);

wifly.sendChunkln("mA");

wifly.sendChunkln("<br/>");

wifly.sendChunkln("<h3>Vklop/izklop naprave</h3>");

//Obrazec za kontrolo LED diode, status spreminjamo glede na URL naslov, ki izgleda tako: http:

//192.168.1.101/?L=1, ko LED diodo prižgemo.

wifly.sendChunkln("<form method=\"get\" name=LED> <input type='radio' name='L' value='1'>LED

ON<br><input type='radio' name='L' value='0'>LED OFF<br><br><input type=submit

value=submit></form>");

wifly.sendChunkln("<br />");

//Izpis statusa LED diode.

wifly.sendChunk("<font size='5'>LED status: ");

if (LEDON == true) {

wifly.sendChunkln("<font color='green' size='5'>ON");

}

else {

wifly.sendChunkln("<font color='grey' size='5'>OFF");

}

wifly.sendChunkln("<hr />");

wifly.sendChunkln("<hr />");

Page 66: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Brezžični merilni sistem Diplomsko delo

- 54 -

wifly.sendChunkln(F("</html>"));

wifly.sendChunkln();

opraviMeritev();

}

//Izpis strani on napaki 404.

void send404()

{

wifly.println(F("HTTP/1.1 404 Not Found"));

wifly.println(F("Content-Type: text/html"));

wifly.println(F("Transfer-Encoding: chunked"));

wifly.println();

wifly.sendChunkln(F("<html><head>"));

wifly.sendChunkln(F("<title>404 Not Found</title>"));

wifly.sendChunkln(F("</head><body>"));

wifly.sendChunkln(F("<h1>Not Found</h1>"));

wifly.sendChunkln(F("<hr>"));

wifly.sendChunkln(F("</body></html>"));

wifly.sendChunkln();

}

Page 67: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Diplomska naloga Brezžični merilni sistem

- 55 -

10.2 Izjave

Page 68: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Diplomsko delo Brezžični merilni sistem

- 56 -

Page 69: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Diplomsko delo Brezžični merilni sistem

- 57 -

Page 70: Diplomsko delo - COnnecting REpositories · 2017-11-28 · Zahvala Zahvaljujem se mentorju profesorju doc. dr. Mateju Šalamonu za pomoč, nasvete in vodenje skozi proces nastajanja

Diplomsko delo Brezžični merilni sistem

- 58 -