74
UNIVERZA V LJUBLJANI FAKULTETA ZA ELEKTROTEHNIKO JAKA ČADEŽ MIKROKRMILNIŠKI STREŽNIK OPRAVIL UNIVERZITETNO DIPLOMSKO DELO Mentor: doc. dr. Boštjan Murovec Ljubljana, 2005

JAKA ČADEŽ MIKROKRMILNIŠKI STREŽNIK OPRAVILlie.fe.uni-lj.si/diplome/PDF/2005/Diploma_JakaCadez.pdf · 2006-11-07 · razvoj brezžičnega tehnologije. Tako je nastala Bluetooth

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

UNIVERZA V LJUBLJANI

FAKULTETA ZA ELEKTROTEHNIKO

JAKA ČADEŽ

MIKROKRMILNIŠKI STREŽNIK OPRAVIL

UNIVERZITETNO DIPLOMSKO DELO

Mentor: doc. dr. Boštjan Murovec

Ljubljana, 2005

Zahvala Zahvaljujem se mentorju doc. dr. Boštjanu Murovcu, univ. dipl. inž. el., ki mi je dajal smernice pri izdelavi diplomskega dela. Zahvaljujem se mag. Urošu Maliju za tehnično pomoč pri izdelavi diplomskega dela. Zahvaljujem se tudi staršem, ki sta me med študijem podpirala.

Jaka Čadež

- I -

KAZALO

1. Uvod....................................................................... 3

2. Izbira gradnikov sistema ...................................... 5

2.1. Bluetooth serijski modul .......................................................................................... 5 2.1.1. Bluetooth splošno ............................................................................................. 6

2.1.1.1 Zgodovinski razvoj bluetooth standarda ...................................................... 6 2.1.1.2 Splošne karakteristike tehnologije................................................................ 8 2.1.1.3 Bluetooth naprave......................................................................................... 9 2.1.1.4 Radijske specifikacije................................................................................. 11 2.1.1.5 Varnost ....................................................................................................... 12

2.1.2. Blu2i modul..................................................................................................... 15 2.1.2.1 Nastavitve Blu2i modula............................................................................. 16

2.2. Mikrokrmilnik ........................................................................................................ 19 2.3. Delovni pomnilnik (SRAM)................................................................................... 20 2.4. LCD prikazovalnik ................................................................................................. 22 2.5. Dlančnik ................................................................................................................. 22

2.5.1. Programiranje dlančnika................................................................................. 23

3. Varnost ................................................................ 25

3.1. Razvoj tajnopisja in njegov pomen ........................................................................ 26 3.1.1. Terminologija ................................................................................................. 26

3.2. Implementirana varnost v projektu......................................................................... 29

4. Mikrokrmilniški strežnik opravil ........................ 31

4.1. Prijava v sistem ...................................................................................................... 32 4.2. Kontrola opravil ..................................................................................................... 34 4.3. Profili uporabnikov................................................................................................. 36

4.3.1. Skupina brez administratorskih pravic ........................................................... 36 4.3.2. Skupina z administratorskimi pravicami oziroma administratorji sistema .... 37

4.3.2.1 Dodajanje novih uporabnikov .................................................................... 37 4.3.2.2 Pregled uporabnikov shranjenih v bazi podatkov ...................................... 39 4.3.2.3 Odstranjevanje uporabnikov iz baze podatkov .......................................... 40 4.3.2.4 Spreminjanje uporabnikov v bazi podatkov............................................... 40 4.3.2.5 Nastavljanje sistemskega časa.................................................................... 41 4.3.2.6 Spreminjanje opravil .................................................................................. 43

5. Zaključek ............................................................. 46

6. Dodatek A ............................................................ 49

7. Literatura ............................................................. 65

- III -

Seznam Slik

Slika 1.1: Bluetooth prenos podatkov v delu sistema Ultra Energy......................................... 4 Slika 2.1: Bluetooth modul blu2i – Ezurio............................................................................... 5 Slika 2.2: Bluetooth logotip, sestavljen iz črk B in H .............................................................. 7 Slika 2.3: Časovni potek razvoja Bluetootha. .......................................................................... 7 Slika 2.4: Arhitektura Bluetooth naprave................................................................................. 9 Slika 2.5: Protokolni sklad. .................................................................................................... 10 Slika2.6: Hitrost prenosa glede na oddaljenost. ..................................................................... 16 Slika 2.7 : Blokovni prikaz priklopa modula na PC............................................................... 17 Slika 2.8: TDK terminal za programiranje modula. ............................................................... 18 Slika 2.9: Mikrokrmilnik Atmel ATmega 32. ........................................................................ 19 Slika 2.10: M48T08 Timekeeper SRAM. Slika 2.11: Bločni diagram M48T08. ............. 20 Slika 2.12: FujitsuSiemens Pocket Loox 720......................................................................... 22 Slika 2.13: eMbedded Visual C++. ........................................................................................ 24 Slika 2.14: Simulator dlančnika. ............................................................................................ 24 Slika 3.1: Šifriranje in dešifriranje......................................................................................... 27 Slika 3.2: Šifriranje in dešifriranje s ključem......................................................................... 28 Slika 4.1: Vklop Bluetooth povezave na dlančniku. ............................................................. 31 Slika 4.2: Okno za prijavo v sistem........................................................................................ 32 Slika 4.3: Prijava v sistem. ..................................................................................................... 33 Slika 4.4:Okno za kontrolo opravil. ....................................................................................... 34 Slika 4.5: Postopek spremembe opravil. ................................................................................ 35 Slika 4.6: Prepoved uporabe administratorskih orodji. .......................................................... 36 Slika 4.7: Posodobitev polja z opravili................................................................................... 37 Slika 4.8: Omejitev dostopa glede na uro............................................................................... 38 Slika 4.9: Pregled uporabnikov shranjenih v bazi podatkov. ................................................. 39 Slika 4.10: Odstranjevanje uporabnikov iz baze podatkov. ................................................... 40 Slika 4.11: Spreminjanje uporabnikov v bazi podatkov......................................................... 41 Slika 4.12: Nastavljanje ure in datuma sistemskega časa. ..................................................... 42 Slika 4.13: Nastavljanje ure.................................................................................................... 42 Slika 4.14: Spustni seznam za nastavljanje datuma. .............................................................. 43 Slika 4.15: Seznam opravil iz MSO-ja. .................................................................................. 44 Slika 4.16: Sprememba, odstranitev in dodajanje opravila. ................................................... 45 Slika 4.17: Izguba pravice do opravila pri spremembi opravila............................................. 45

Povzetek

Diplomsko delo opisuje izdelavo in delovanje mikrokrmilniškega strežnika opravil, ki

omogoča krmiljenje naprav prek programa na dlančniku. Za povezavo med dlančnikom in

mikrokrmilniškim strežnikom opravil je uporabljena Bluetooth tehnologija. Predstavljen je

razvoj Bluetooth tehnologije, pregled njenega delovanja in implementiranih varnostnih

ukrepov pri prenosu podatkov.

Delo je razdeljeno na tri dele. V prvem delu so predstavljeni gradniki sistema, ki jih delimo

v dve skupini. V prvi skupini imamo Atmelov mikrokrmilnik, Timkeeper SRAM in Blu2i

Bluetooth modul. To so gradniki mikroprocesorskega strežnika opravil. V drugi skupini

imamo dlančnik, ki skupaj s programom, napisanim v eMbedded visual C++, tvori

uporabniški vmesnik za upravljanje mikrokrmilniškega strežnika opravil.

Varnost pri prenosu podatkov je predstavljena v drugem delu. Razložen je pomen varnosti

pri prenosu podatkov, osnovna terminologija in osnovni algoritmi zaščite. Predstavljeni so

tudi ukrepi za dosego varnosti sistema.

V zadnjem delu je opisano delovanje in upravljanje mikrokrmilniškega strežnika opravil.

Razložene so uporabniške skupine, postopek kreiranje novega uporabnika, dodeljevanje

pravic uporabnikom ter brisanje in spreminjanje uporabnikov. Razloženo je tudi delovanje

mikrokrmilniškega strežnika opravil pri posameznem postopku. Prikazan je postopek

dodajanja, spreminjanja in brisanja opravil.

Ključne besede: Bluetooth, mikrokrmilnik, kontrola dostopa, dlančnik, strežnik opravil

Abstract The thesis describes an embedded server used to control devices. The server holds a

complete user and task database controlled by an administrator who has the power to create

new users, grants them permission to control devices and takes care of the system clock. The

administrator can also add tasks, remove them from the database or change them therein,

depending on the devices that are connected to the server. A handheld PC is used as a user

interface. The program for a handheld PC is written in eMbedded visual C++. Bluetooth

technology is used as a linking technology between the embedded server and the handheld

computer. Bluetooth technology gives the server an operating range of 100 m.

Owing to the complete control over users and their right to control devices, the server can be

used to control devices that need a higher level of security. Therefore it can be used for the

entry control, control of alarm and other devices the control of which needs to be supervised.

With an embedded server it is possible to control up to eight devices.

The thesis is divided into three parts. The first part describes the components incorporated in

an embedded server, their basic specifications and functions.

The second part is about security at data exchange, its importance in the past and its

significant role in the network today. Further on, there is a description of measures taken to

assure the embedded server security.

The third part covers the usage of an embedded server for controlling in detail. It describes

how a new user is created, a task assigned to him, a task added, clock changed, and various

other functions. This part provides complete steps of each process.

Devices are controlled by means of an embedded server and provided that security is

implemented an unauthorized usage is prevented. The controlled devices can be simple

lights or more complex devices such as electric doors, vaults and the like. The embedded

server can be used on its own or incorporated into another application.

In addition, a log should be added to track all the activities on the server. It would also be

possible to incorporate voice access control. There are endless possibilities of further

development in view of individual customers’ requirements.

Key words: Bluetooth, microcontroller, handheld computer, embedded server to control devices

1.Uvod

- 3 -

1. Uvod

Osebni računalniki, dlančniki, mobilni telefoni in druge naprave so še pred dobrim

desetletjem uvrščali v razred tako imenovane »zabavne elektronike«. Danes si večina

podjetji ne prestavlja poslovanja brez teh naprav. Najsi bo to v proizvodnji, logistiki, trženju

ali vodenju podjetja brez elektronskih naprav preprosto več ne gre. Z naraščanjem

povpraševanja po »tehnoloških novotarijah« njihova ponudba raste iz dneva v dan. Tako ni

nič nenavadnega, če plačujemo z mobilnim telefonom, fotografiramo, brskamo po

svetovnem spletu ali na njem igramo priljubljeno igrico.

Z naraščanjem popularnosti se je izboljševala medsebojna kompatibilnost naštetih naprav.

Tako lahko slike posnete z digitalnim fotoaparatom shranimo na osebni računalnik, jih

uredimo, tiskamo ali shranimo, pošljemo po elektronski pošti itd. Slike lahko s tiskalnikom

tiskamo tudi neposredno iz fotoaparata.

Ker za prenos podatkov med napravami potrebujemo kabel in so konektorji pri različnih

proizvajalcih različni, so se leta 1994 pri Ericsson Mobile Communications odločili za

razvoj brezžičnega tehnologije. Tako je nastala Bluetooth tehnologija, ki so jo razvijalci

ponudili ostalim proizvajalcem brezplačno.

Čeprav je tehnologija na voljo že nekaj let, se je šele zdaj dovolj pocenila za množično

uporabo[4]. Tako se je cena Bluetooth radijskega integriranega vezja spustila z 20$ na 5$.

Zato se na trgu se pojavlja vse več naprav, ki so namenjene specifičnemu trgu in ne trgu

široke potrošnje.

Eden takih sistemov je Ultra Energy [5] (slika 1.1), Slovenskega podjetja Ultra, ki uporablja

za povezavo med senzorji nivoja tekočin ter bazno centralo Bluetooth tehnologijo.

1.Uvod

- 4 -

Slika 1.1: Bluetooth prenos podatkov v delu sistema Ultra Energy.

V primeru sistema Ultra Energy Bluetooth povezava nadomesti kable, ki bi jih bilo potrebno

položiti od bencinskega servisa do rezervoarjev.

Kot je za bencinske servise pomembna količina naftnih derivatov, shranjenih v rezervoarjih,

je za druga podjetja pomembna kontrola dostopa za zaposlene in goste. Zato smo si v

diplomski nalogi zastavili za cilj izgradnjo sistema, ki bo omogočal varno krmiljenje do

osmih naprav. Krmilimo lahko luči, elektronske ključavnice, električna vrata in druge

naprave, ki zahtevajo kontroliran dostop. Krmiljenje omogoča vklop in izklop naprav. S tem

se izognemo potrebi po magnetni kartici, saj lahko opravimo identifikacijo uporabnika kar

preko mobilnega telefona ali v našem primeru dlančnika.

V nadaljevanju bomo predstavili gradnike sistema, kjer so opisani posamezni gradniki

sistema in njihova naloga v sistemu. Sledi mu poglavje o varnosti. V njem so predstavljeni

načini zagotavljanja varnosti pri prenosu podatkov in implementirana varnost v standardu

Bluetooth. Na koncu je predstavljen še Mikrokrmilniški Strežnik Opravil (MSO).

Predstavljeno je njegovo delovanje in uporaba.

2. Izbira gradnikov sistema

- 5 -

2. Izbira gradnikov sistema

To poglavje predstavi posamezne komponente v sistemu in njihovo vlogo pri njegovem

delovanju.

2.1. Bluetooth serijski modul

Za komunikacijo smo si izbrali Bluetooth serijski modul blu2i proizvajalca Ezurio [6] (Slika

2.1).

Slika 2.1: Bluetooth modul blu2i – Ezurio.

Bluetooth modul nam zagotavlja povezavo med dlančnikom in mikrokrmilnikom. Sam

modul ponuja dosti več, kot potrebujemo v našem projektu. Ena od možnosti, ki jo ponuja, je

prenos zvoka, na podlagi katere bi se dalo narediti strežnik z glasovno kontrolo dostopa.

Pri izbiri modula prenosa podatkov smo se odločali med tehnologijo GSM in Bluetooth. Za

Bluetooth modul smo se odločili, ker je njegova uporaba brezplačna. To pomeni, da v

primerjavi z GSM, Bluetooth deluje v frekvenčnem pasu, za katerega licenca ni potrebna,

zato lahko vsakdo sprejema in oddaja v tem frekvenčnem pasu brezplačno.

2. Izbira gradnikov sistema

- 6 -

2.1.1. Bluetooth splošno

V tem poglavju je predstavljen zgodovinski razvoj Bluetooth standarda in nekaj osnovnih

značilnosti delovanja Bluetootha, ki so pomembne za naše diplomsko delo. Detajlne

specifikacije so opisane v specifikaciji Bluetooth standarda [10].

2.1.1.1 Zgodovinski razvoj bluetooth standarda

Leta 1994 so pri Ericsson Mobile Communications med prvimi opazili potrebo po

nadomestitvi povezovalnih kablov z brezžičnimi povezavami. Odločili so se za razvoj

nizkonapetostnega in poceni radijskega vmesnika, kratkega dosega med mobilnim telefonom

in dodatno opremo, tega so imenovali Multi-Communicator Link ali MC Link. Projekt je

dobil zagon, ko so inženirji odkrili, da lahko MC Link deluje v nizkofrekvenčnem območju,

ki ne potrebuje licence, kar je pomenilo, da ga bo lahko uporabljal kdorkoli, kjerkoli,

kadarkoli brezplačno. To je vodilo do razvoja sistema oddajnik-sprejemnik, integriranega v

mikrokrmilniku [1].

Kmalu so ugotovili, da ponuja tehnologija veliko več, kot je bilo sprva načrtovano, torej ne

samo povezovanje mobilnih telefonov in njihove dodatne opreme, temveč tudi povezovanje

drugih naprav. Ugotovili so, da je za prodor tehnologije na trg potrebno zagotoviti, da bodo

tudi druga podjetja uporabljala isto tehnologijo, zato so tehnologijo brezplačno dali na voljo

ostalim proizvajalcem.

Le-ta so pokazala veliko zanimanje za novost in 20. maja 1998 je pet podjetij Ericsson, IBM,

Intel, Nokia in Toshiba oznanilo skupni razvoj standarda za brezžično povezavo med

računalniki in telekomunikacijskimi napravami. Razvojno ime standarda je bilo Bluetooth,

organizacija, ki je stala za standardom se je imenovala Bluetooth Special Interest Group

(SIG).

Razvojno ime Bluetooth se je obdržalo. Ime je povezano z vikinškim kraljem Harald

Blåtandom, ki je vladal Danski od leta 935 do leta 985 našega štetja. Bluetooth je angleška

izpeljanka iz vikinške besede Blåtand [2] ali po naše modri zob. Kralj Harald je v času

svojega kraljevanja združil Dansko in Norveško in pripeljal krščanstvo v skandinavske

države. Njegov vnuk je bil edini kralj, ki je vladal velikemu imperiju Severnega morja

(Anglija, Danska, Norveška in del Švedske). Tako kot je kralj Harald združeval svoje

2. Izbira gradnikov sistema

- 7 -

kraljestvo, so si razvijalci standarda želeli, da bi Bluetooth združeval svet mobilne

tehnologije. Na sliki 1.1 je Bluetooth logotip, ki je sestavljen iz črk BH po Harald

Blåtandu[3].

Slika 2.2: Bluetooth logotip, sestavljen iz črk B in H

po danskem kralju Harald Blåtandu.

V pičlih petnajstih mesecih je Bluetooth SIG uspelo razviti standard in tako so 26. julija

1999 predstavili Bluetooth standard 1.0. Prvi razmah je Bluetooh standard doživel decembra

1999, ko so se SIG pridružili še 3Com, Lucent Technologies, Microsoft in Motorola. V

naslednjih letih se je v Bluetooth SIG včlanilo prek 2000 podjetji. Časovni potek razvoja

Bluetootha prikazuje slika 2.3.

Slika 2.3: Časovni potek razvoja Bluetootha.

2. Izbira gradnikov sistema

- 8 -

2.1.1.2 Splošne karakteristike tehnologije.

Kot je že omenjeno v kronološkem pregledu Bluetooth tehnologije, so bile zahteve pri

snovanju standarda:

•••• globalna uporabnost,

•••• prenos govora in podatkov,

•••• vzpostavljanje priložnostnih (ad-hoc) povezav,

•••• majhne dimenzije naprave,

•••• majhna porabo energije v primerjavi z drugimi napravami za podobno uporabo,

•••• uporaba prostega frekvenčnega pasu,

•••• neobčutljivost na radiofrekvenčne motnje,

•••• odprt standard in

•••• nizki stroški.

Omenjene zahteve so bile upoštevane, kar se kaže v karakteristikah:

•••• 1 Mbit/s oddajno-sprejemna hitrost,

•••• uporaba hitrega frekvenčnega skakanja (1600 skokov/s) in s tem dobra odpornost na

radiofrekvenčne motnje,

•••• adaptivno prilagajanje izhodne moči za zmanjšanje interferenc in porabe energije,

•••• uporaba enega vseobsežnega integriranega vezja oddajno-sprejemne enote, kar je

povezano z majhnimi stroški proizvodnje in dimenzijami,

•••• hitre potrditve sprejemov in s tem majhen odstotek režijskega prometa,

•••• šifriranje podatkov s 128-bitnim ključem,

•••• uporaba različnih paketnih tipov, ki omogočajo uporabo širokega nabora aplikacij,

•••• širok nabor hkratnih vzpostavitev sinhronih/asinhronih in simetričnih/asimetričnih

povezav,

•••• domet povezav je ali 1 m, 10 m ali 100 m, odvisno od izbire močnostnega razreda

naprave,

•••• uporaba unikatnega 48-bitnega naslova naprave, katerega zgradba je definirana po

seriji standardov IEEE 802,

2. Izbira gradnikov sistema

- 9 -

•••• delovanje v 2,4 GHz prostem frekvenčnem področju, ki je z določenimi omejitvami v

posameznih državah harmoniziran po celem svetu,

•••• uporaba 79 skakalnih frekvenc (nosilcev) pasovne širine 1 MHz, ki so razvrščene

skladno s standardom IEEE 802.11 in

•••• unikatno skakalno zaporedje vsakega omrežja

2.1.1.3 Bluetooth naprave

Pod pojmom Bluetooth naprava si ne predstavljamo samo Bluetooth modula, ki je ključnega

pomena za komunikacijo, ampak tudi vse pripadajoče komponente, ki tvorijo napravo, kot so

mobilni telefon, dlančnik, slušalke. Slika 2.4 prikazuje osnovni komunikacijski model.

Slika 2.4: Arhitektura Bluetooth naprave.

Sestavljen je iz analognega dela radijskega oddajnika, sprejemnika in iz digitalnega dela –

gostiteljski krmilnik (ang. Host Controller – HC). Komunikacija poteka modularno po

nivojih, pri čemer vsak naslednji sloj uporablja storitev prejšnjega. Ti sloji protokolov

sestavljajo protokolni sklad (ang. protocol stack), ki ga prikazuje slika 2.5 [8].

Bluetooth naprava

Bluetooth naprava

Krmilnik fizičnega vodila

Krmilnik fizičnega vodila

HCI Bluetooth

Radijski vmesnik

Krmilnik višjih slojev

Gostiteljski krmilni

vmesnik

Bluetooth modul Gostitelj

Osnovni pas

2. Izbira gradnikov sistema

- 10 -

Slika 2.5: Protokolni sklad.

Detajlni opis vseh slojev je podan v dokumentu Discovering Bluetooth [1]. V nadaljevanju

so predstavljeni sloji, ki so pomembni za delovanje sistema, ki je predmet te diplomske

naloge. To je povezava mikrokrmilniškega sistema za krmiljenje aktivatorjev z dlančnikom.

BT radio je najnižji sloj v BT tehnologiji. V osnovi je namenjen oblikovanju radijskega

signala, ki se v 2,4 GHz frekvenčnem pasu pošilja v eter. V njem so definirani oddajni

parametri (moč, modulacija, stranska sevanja, točnost nosilca, kanalska razporeditev, …) in

sprejemni parametri (občutljivost, intereferenčni in intermodulacijski parametri, …).

Osnovni pas (ang. Baseband) predstavlja fizični sloj tehnologije. Skrbi za vzpostavitev in

krmiljenje fizičnih in logičnih kanalov pri sinhronih in asinhronih povezavah, naslavljanje

naprav, različne tipe in formate paketov, odpravljanje napak, časovno dvosmerni prenos,

vzorec frekvenčnega skakanja in celoten potek komunikacije.

Protokol za upravljanje povezav (ang. Link Manager Protocol – LMP) skrbi za

konfiguracijo vzpostavljenih povezav, overovitev naprave in osebne identifikacijske

številke, šifriranje podatkov, preverjanje in popravljanje sinhronizacije, vzpostavitev

vodilnih oziroma podrejenih in čakalnih vlog, kontrolo moči in kvaliteto povezave.

Gostiteljski krmilni vmesnik (ang. Host Controler Interface – HCI) skrbi za fizično

povezavo med BT napravo in gostiteljem. Gre za povezavo krmilnika osnovnega pasu s

Govorni klic WAE OBEX WAP AT-

komande TCS-BIN SDP

UDP TCP IP PPP Protokol emulacije serijskih vrat Audio Protokol za krmiljenje logične povezave in prilagajanje

Gostiteljski krmilni vmesnik Protokol za upravljanje povezav Osnovni pas

BT radio

2. Izbira gradnikov sistema

- 11 -

krmilnikom upravljalnika povezav in krmilnikom fizične povezave BT naprave in gostitelja

(krmilni register).

Protokol za krmiljenje logične povezave in prilagajanje (ang. Logical Link Control and

Adaptation Protocol – L2CAP) skrbi za krmiljenje povezav in prilagoditev protokolov višjih

slojev s protokolom osnovnega pasu. Ureja in omogoča multipleksiranje, razporeditev ali

segmentacijo podatkov v manjše pakete, označevanje paketov, pripravo skupin odjemalcev,

ki lahko sočasno sprejemajo podatke, označuje uporabljene kanale in ponovno združevanje

paketov.

Protokol emulacije serijskih vrat (ang. Serial Cable Emulation Protocol- RFCOMM) je

transportni protokol, ki omogoča emulacijo serijskega vmesnika RS-232 prek protokola

L2CAP.

2.1.1.4 Radijske specifikacije

BT oprema deluje v 2,4 GHz frekvenčnem področju, ki je v večini držav rezervirano za

delovanje industrijskih, znanstvenih in medicinskih naprav. To območje imenujemo prosto

območje, saj zanj ni potrebno plačevati frekvenčnine. Uporabljeno frekvenčno območje od

2400,0 MHz do 2483,5 MHz je tudi v Sloveniji rezervirano kot prosto frekvenčno področje

[9] (Tabela 2.1).

Geografsko področje Regulirano frekvenčno področje Radiofrekvenčni kanali

2,4000 GHz–2,4835 GHz f = 2 402 + k MHz

k = 0, 1, 2 ..., 78

Spodnji varovalni pas Zgornji varovalni pas

ZDA, Evropa in večina

ostalih držav

2 MHz 3,5 MHz

Tabela 2.1: Frekvenčno področje delovanje ter robni varovalni pasovi.

Razdelitev frekvenčnih kanalov se deli na podlagi osnovne frekvence 2 402 MHz + k MHz,

pri čemer je k=0,1,...,78, torej obstaja 79 kanalov oz. nosilnih frekvenc. Razmik med kanali

2. Izbira gradnikov sistema

- 12 -

je 1 MHz, pri čemer imamo pri spodnji mejni frekvenci varnostni pas 2 MHz, pri zgornji

mejni frekvenci pa 3,5 MHz. Varnostni pas preprečuje morebitne motnje v sosednje

frekvenčne pasove oz. interferenco z radijskimi postajami v sosednjih območjih.

Kanal je predstavljen s psevdo-naključnim zaporedjem skakanja skozi vseh 79 nosilnih

frekvenc. Zaporedje (sekvenca) skakanja je unikatno za piko omrežje (ang. piconet) in je

določeno z naslovom nadrejene (ang. master) Bluetooth naprave. Faza skakalnega zaporedja

je določena z Bluetooth uro nadrejene naprave. Za modulacijo je uporabljena GFSK (ang.

Gaussian Frequency Shift Keying) frekvenčna modulacija. To pomeni, da vsak oddajni

simbol (logično »0« ali »1«) izrablja svojo frekvenco. Takšno delovanje poveča tudi varnost

pred vdori, saj zaporedje skakanja med frekvencami ne poznajo naprave, ki niso povezane v

piko omrežje [7].

2.1.1.5 Varnost

Varnost je pomembno poglavje v specifikaciji Bluetootha [11], še posebej, če se uporablja

pri prenosu podatkov pri mobilnem plačevanju ali ostalih storitvah, kot je npr. odpiranje vrat

v prostor, kamor imajo dostop samo pooblaščene osebe. Glavna mehanizma sta overitev

naprave omrežja in šifriranje s podatkovnim ključem. Dodatno varnost prenosa podatkov

nam zagotavlja tudi samo delovanje fizičnega sloja, saj tehnologija uporablja hitro

frekvenčno skakanje in avtomatsko prilagajanje izhodne moči. Če varnost ne bi bila

zagotovljena, standard ne bi bil tako razširjen.

Bluetooth standard deli povezave glede na stopnjo varnosti v tri razrede:

- brez varnosti, kar pomeni, da varnost ni zagotovljena na nobenem nivoju

protokolnega sklada,

- varnost na področju aplikacije je zagotovljena s strani same aplikacije, torej potem,

ko je med napravami že vzpostavljena povezava in

- varnost na nivoju povezave, ki je zagotovljena s samo izvedbo mrežne povezave. To

je najbolj varna vzpostavitev povezave.

2. Izbira gradnikov sistema

- 13 -

Šifriranje s podatkovnim ključem (Key Management)

Deluje z uporabo treh vrst ključev:

• OSEBNO IDENTIFIKACIJSKO ŠTEVILKO (PIN- Personal Identification

number), ki si jo izbere uporabnik. Številka mora biti dolga vsaj 48 bitov (4

decimalna števila). Ker je vsakokratna overovitev zamudna in nadležna, veliko

naprav dovoli shranitev PIN v pomnilnik.

• OSEBNI POVEZOVALNI KLJUČ, AVTENTIKACIJA (Private Link Key-

Private Authentication Keys). Preden lahko Bluetooth naprave uporabijo šifrirne

varnostne mehanizme, se morajo povezati (ang.pairing). Bluetooth naprave

uporabljajo tri vrste uporabniških ključev glede povezave med napravami. Vsi so

začasna 128 bitna števila, ki se ustvarijo sprotno pri vsaki povezavi. Uporabniški

ključi so: ključ naprave KA, kombinacijski ključ KAB in začasni ključ Kmaster. Vsem

trem ključem je skupno, da se pri generiranju uporablja naključno število. Za varno

izmenjavo naključnih števil se uporablja inicializacijski ključ.

Inicializacijski ključ se uporablja pri prenosu začetnih informacij za overitev

naprave. Generira se na osnovi osebnega identifikacijskega števila, ki ga poda

uporabnik, naslova naprave A in naključnega števila. Enako se inicializacijski ključ

ustvari na napravi B, kjer moramo vnesti enako osebno identifikacijsko številko

(PIN) kot na napravi A. Naprava A nato pošlje svoje naključno število napravi B. Na

podlagi naključnega števila, povezovalnega ključa in svojega naslova naprava B

izračuna 32 bitni podpisan odgovor (ang. signed response), ki ga skupaj s svojim

inicializacijskim ključem šifriranega pošlje napravi A. Hkrati naprava izračuna 96

bitno skrivno nadomestilo (ang. cipher offset), ki ostane skrito, in je potrebno pri

generiranju šifrirnega ključa. Naprava A nato preveri, če se odgovor ujema z želenim

odgovorom. Ko inicializacija uspe, se za povezovalni ključ običajno uporablja ključ

naprave KA ali kombinacijski ključ KAB. Slednja se razlikujeta glede sodelovanja

naprave A ali naprave A in B pri izračunu ključa. Začasni ključ Kmaster se uporablja za

povezovalni ključ v primeru, če želi vodilna naprava poslati več podrejenim

napravam enotno šifrirano sporočilo.

2. Izbira gradnikov sistema

- 14 -

• ŠIFRIRNI KLJUČ, ŠIFRIRANJE (Private Encryption Key) uporabimo, ko je

povezava med napravami vzpostavljena in so le-te dokazale svojo pristnost. Zahtevo

po šifriranju lahko sproži vodilna (ang. master) ali podrejena (ang. slave) naprava.

Ko se napravi dogovorita za dolžino ključa, vodilna naprava pošlje naključno število

podrejeni. Naprava A nato generira šifrirni ključ KC iz povezovalnega ključa,

skrivnega nadomesila (ang. cipher offset) in naključnega števila. S pomočjo tega

ključa je narejen končni podatkovni ključ (K), prek katerega neposredno šifriramo

izhodne podatke, ki jih oddajamo v eter. Celoten postopek se na sprejemni strani z

enakim podatkovnim ključem ponovi. V tabeli 2.2 so povzeti postopki overovitve in

izračun ključev.

Ključ/postopek Parametri za izračun Povezovalni ključ

• inicializacijski ključ

• ključ naprave (KA)

• kombinacijski ključ (KAB)

• začasni ključ (Kmaster)

PIN (8–128 bitov), naslov naprave (48 bitov), naključno število (128 bitov)

Naslov naprave (48 bitov), naključno število (128 bitov)

Naslov naprave (48 bitov), naključno število (128 bitov)

PIN (8–128 bitov), naključno število (128 bitov), število zlogov števila PIN

Postopek overitve naprave Naključno število naprave A, povezovalni ključ, naslov naprave B

Šifrirni ključ (KC) Naključno število, povezovalni ključ, skrivno nadomestilo (ang. cipher

offset)

Podatkovni ključ (K) Kc (8–128 bitov), naslov naprave A, naključno število, ura naprave

Tabela 2.2: Uporabljeni parametri za postopek overitve in izračun ključev.

Zaključimo, da je za varnost dobro poskrbljeno, saj imamo več prepletajočih se algoritmov

in parametrov (dolžine do 128 bitov), ki jih uporabljamo pri izračunu ključev in šifriranju

podatkov. Poleg ključev in algoritmov je varnost prenosa dodatno zagotovljena z

delovanjem fizičnega sloja, saj tehnologija uporablja hitro frekvenčno skakanje in

avtomatsko prilagajanje izhodne moči. Hitro frekvenčno skakanje s 1600 skoki/s onemogoča

enostavno prisluškovanje zaradi poravnave časovne in frekvenčne sinhronizacije na

naključno izbrano skakalno zaporedje. Z avtomatskim prilagajanjem izhodne moči, ki skrbi,

da oddajna naprava vedno oddaja z minimalno potrebno izhodno močjo, se območje

2. Izbira gradnikov sistema

- 15 -

prisluškovanja zmanjša pod 1/10/100 m (Ι./ΙΙ./ΙΙΙ. močnostni razred naprave), tako da je le

nekoliko večji od razdalje med oddajno in sprejemno napravo.

2.1.2. Blu2i modul

Za povezavo dlančnika in mikrokrmilnika smo se odločili za [6] Blu2i modul (slika 2.1), ki

je zasnovan za podjetja, ki želijo dodati brezžično povezavo kratkega dometa svojim

produktom. Ker ima modul že definirane Bluetooth protokolne sklade, ga lahko preprosto

nastavimo za želeno opravilo prek AT ukazov [12]. Osnovi podatki so zbrani v tabeli 2.3.

Bluetooth razred 1 razred

Bluetooth standard Bluetooth 2.0

Domet 250 m na prostem

Frekvenca od 2 400 GHz do 2 485 GHz

Max. oddajna moč +6 dBm

Min. oddajna moč +0 dBm

Sprejemna občutljivost boljša od – 90 dB

Ojačanje antene +2 dBi

Hitrost prenosa

podatkov do 300 Kbps

Serijski vmesnik RS 232- dvosmeren za podatke in ukaze (AT ukazi)

Serijski parametri Prenastavljeni 9600,n,8,1- Nastavljivi od 1200 bps do 961200 bps

Podpora DTR,DSR,DCD,RI,RTS,CTS

Dimenzije 22,0x34,0x7,6 mm,8 g

Poraba toka pod 36 mA pri pošiljanju/oddajanju

Temperaturni razpon -40 °C -85 °C

Napajanje 3,3 V- 7V

Vmesniški nivo 3,3 V TTL

Zvok Zvok se prenaša prek SCO kanalov PCM vmesnika pri 64 kbps.

PCM se lahko nastavi kot glavni ali pomožni

Profili Server-SPP(Full), DUN, Audio Gateway,Headset, Handsfree Client

Večuporabniški Maksimalno 7 uporabnikov

2. Izbira gradnikov sistema

- 16 -

vhodi/izhodi 8 x digitalni

2 x analogni(8 bitni)

Tabela 2.3: Osnovne lastnosti blu2i modula.

Slika2.6 prikazuje hitrost prenosa glede razdalje. Vidimo, da ima modul domet 250 m pri

serijski komunikaciji. V povezavi s Pocket Loox dlančnikom je domet samo 20 metrov, saj

ima Bluetooth modul v dlančniku domet 20 metrov.

Slika2.6: Hitrost prenosa glede na oddaljenost.

2.1.2.1 Nastavitve Blu2i modula

Modul se programira prek AT ukazov. Ker je CSR (ang. Cambridge Silicon Radio) BC2

nabor integriranih vezij v blu2i modulu omejen s pomnilnikom, to ni popolna implementacija

AT ukazov, kot jih poznamo iz modemov, vendar razlika ni bistvena. Modul je priklopljen

na osebni računalnik preko serijskih vrat, za programiranje pa je bil uporabljen TDK

terminal. Priklop na serijska vrata osebnega računalnika (Slika 2.7) uporabimo samo takrat,

ko želimo programirati modul. Nastavitve ostanejo shranjene, tudi ko modulu izklopimo

napajanje.

2. Izbira gradnikov sistema

- 17 -

Slika 2.7 : Blokovni prikaz priklopa modula na PC.

Najprej nastavimo modul, da je viden drugim napravam, povezljiv z njimi in da se

samodejno oglasi pri klicu. Nastavimo tudi overovitev in šifriranje za vhodne in izhodne

povezave ter osebno identifikacijsko številko (PIN). Za vsako uspešno vneseno nastavitev se

modul odzove z OK. V nasprotnem primeru ukaz ni bil pravilen in moramo postopek

ponoviti. Primer nastavitve modula prikazuje naslednje zaporedje ukazov; oznaka <cr>

pomeni znak za vrnitev terminalskega kazalca na začetek vrste (ang. carriage return).

• at <cr> – preverimo, če terminal deluje,

• ats0=-1 <cr> nastavimo register S0 na -1. S tem povemo modulu, naj se oglasi ob

klicu, pri tem pa NE pošlje klic/povezava odgovora,

• ats512=4 <cr> z nastavitvijo registra S512 na 4 nastavimo modul, da ga vidijo druge

naprave,

• ats500=1 <cr> overovitev izhodne povezave,

• ats501=1 <cr> šifriranje izhodne povezave,

• ats502=1 <cr> overovitev vhodne povezave,

• ats503=1<cr> šifriranje vhodne povezave,

• at+btk=»xxx«<cr> kjer je xxx osebna identifikacijska številka (PIN). S tem ukazom

določimo PIN številko naprave,

• at&w <cr> s tem ukazom shranimo spremembe v S registru v trajni spomin. Pred

potrditvijo spremembe niso shranjene in bi se ob izklopu modula

izgubile,

MAX 232

UART_TX

UART_RX

PC COM

Blu2i modul

RXD

TXD

T1in

R1out

T1out

R1in CTS

0 V

2. Izbira gradnikov sistema

- 18 -

• atz <cr> strojni ponovni zagon (ang. hardware reset) .

Slika 2.8 prikazuje TDK terminal, ki smo ga uporabili za programiranje modula.

Slika 2.8: TDK terminal za programiranje modula.

at OK ats0=1 OK ats512=4 OK ats536=1 OK at&w OK atz OK ati4 00809824EE3B OK

2. Izbira gradnikov sistema

- 19 -

2.2. Mikrokrmilnik

Uporabili smo Atmelov 8 bitni mikrokrmilnik ATmega 32 [13] (Slika 2.9) zaradi

preprostega načina programiranja in strojne opreme, ki jo krmilnik ponuja. Program, ki se

izvaja v mikrokrmilniku, je napisan v programskem jeziku Bascom AVR [19]. To je višji

programski jezik, ki izvira iz Basica in ima vgrajene knjižnice, ki omogočajo direkten dostop

do strojne opreme v mikrokrmilniku.

Slika 2.9: Mikrokrmilnik Atmel ATmega 32.

Pomembnejše lastnosti mikrokrmilnika:

- DIL ohišje dimenzij 52 mm x 14 mm x 5 mm,

- 32 kB programskega pomnilnika, 1024 B eeprom-a in 2 kB delovnega pomnilnika

(SRAM) ,

- hitro delovanje, saj deluje na 16 MHz in tako omogoča do 16 milijonov operacij na

sekundo,

- osem 10-bitnih analogno-digitalnih pretvornikov,

- štiri prosto programibilna vhodno-izhodna 8-bitna vrata, skupaj 32 v/i linij,

- od 4,5 V do 5,5 V napajanje,

- sposobnost programiranja v vezju (ang. in-circuit) preko štirih namenskih linij, kar

omogoča hitro programiranje in testiranje brez fizičnega premeščanja

mikrokrmilnika.

2. Izbira gradnikov sistema

- 20 -

Za programiranje je potreben še programator, ki omogoča programiranje v vezju, pri čemer

se uporabljajo linije MISO, MOSI, SCK, RESET, VCC in GND. Uporabljen programator

ima oznako STK 201.

2.3. Delovni pomnilnik (SRAM)

Ker je 2 kB delovnega pomnilnika v mikrokrmilniku za naš projekt premalo, smo ga

nadgradili s Timekeeper SRAM [14]. M48T08 Timekeeper RAM (slika 2.12) je 8K x 8

trajni statični RAM z vgrajeno uro. V RAM shranjujemo vse podatke o uporabnikih. Uro

uporabljamo pri dodelovanju pravic uporabnikom glede časa. Da ne pride do izgube

podatkov, ima SRAM vgrajeno baterijo (. ), ki poskrbi, da se podatki ne

izgubijo tudi, ko je prekinjeno zunanje napajanje SRAM. Ko napajalna napetost VCC pade

pod VSO1

(3 V), se Timkeeper RAM začne napajati iz pomožne baterije.

Slika 2.10: M48T08 Timekeeper SRAM. Slika 2.11: Bločni diagram M48T08.

Podatke beremo/shranjujemo v SRAM, tako da prek naslovnih vrat nastavimo želen naslov,

nato pa prek podatkovnih vrat beremo ali zapišemo vsebino na tem naslovu. Ali gre za

1 Napetost pri kateri se preklopi napajanje na pomožno baterijo.

2. Izbira gradnikov sistema

- 21 -

zapisovanje ali branje določimo z sponko W. Ker je naslovnih sponk 13 število sponk na

mikrokrmilniku pa omejeno uporabimo osem flip-flopov tipa D v integriranem vezju

74HC374. Delujejo tako, da prenesejo vrednost vhodov na izhod, ko na sponki CP (ang.

clock input) pride do prehoda iz nizkega v visoko stanje. Z uporabo dveh 74HC374

zmanjšamo število potrebnih sponk na mikrokrmilniku na deset. Tako najprej nastavimo

spodnjih osem bitov, ki jih zapišemo v 74HC374. Enako naredimo z zgornjimi biti. Tako

imamo dostop do vseh 13 naslovnih vrat s samo desetimi sponkami na mikrokrmilniku. Ko

nastavimo želen naslov SRAM uporabimo iste sponke mikrokrmilnika tudi za branje in

zapisovanje v SRAM.

Podobno kot zapisujemo podatke, nastavimo uro. Na naslovih SRAM od 1FF8 do 1FFF

vpišemo čas in datum. Če želimo dobiti uro ali datum, ga preberemo iz določenega naslova

(tabela 2.4).

Podatki

Naslov D7 D6 D5 D4 D3 D2 D1 D0

funkcija/obseg BCD

format

1FFF 10 let leto Leto 00-99

1FFE 0 0 0 10 m. mesec Mesec 01-12

1FFD 0 0 10 dni dan Dan 01-31

1FFC 0 FT 0 0 0 dan Dan v tednu 01-07

1FFB 0 10 ur ure Ura 00-23

1FFA 0 10 minut minute Minute 00-59

1FF9 ST 10 sekund sekunde Skunde 00-59

1FF8 W R S kalibriranje Kontrola

Tabela 2.4: Naslovi za nastavljanje ter branje ure.

S postavitvijo bita ST (ang. stop) na 0 zaženemo oscilator. Če je ST bit postavljen na 0 ura v

Timkeeper SRAM ne deluje, kar je uporabno, če ga ne uporabljamo dalj časa. R (ang. read)

bit postavimo na 1, ko želimo brati čas. S tem ustavimo posodabljanje urnega registra,

medtem ko beremo podatke. Podobno deluje W (ang. write) bit, ki ga postavimo na 1, ko

želimo zapisati podatke ali nastaviti čas.

2. Izbira gradnikov sistema

- 22 -

2.4. LCD prikazovalnik

LCD prikazovalnik nam je bil v veliko pomoč pri razhroščevanju programa. Z njim smo

nadzorovali potek izvajanja programa. Prikazovalnik je dvovrstični z možnostjo

prikazovanja šestnajstih znakov v vrstici. Pri izvajanju programa se nanj izpisuje ura in

datum. Prav tako se ob spremembi stanja izhodov, ki se uporabljajo za krmiljenje naprav,

izpiše uporabniško ime osebe, ki je zahtevala spremembo.

2.5. Dlančnik

Za krmiljenje smo uporabili dlančnik FujitsuSiemens Pocket Loox 720 [15] (Slika 2.12).

Slika 2.12: FujitsuSiemens Pocket Loox 720.

Deluje na operacijskem sistemu Windows MobileTM 2003. Dlančnik poganja 520 Mhz

Intelov PXA272 procesor. Zaslon je občutljiv na dotik in ima diagonalo 9 cm. Ločljivost

zaslona je 640 x 480 slikovnih elementov. Za povezovanje dlančnika z drugimi napravami

so na voljo štirje vmesniki.

• USB (ang. Universal Serial Bus) [17] vmesnik je najbolj pogosto uporabljen vmesnik

med dlančnikom in osebnim računalnikom. Je specifikacije 1.1 in sicer tako v

podrejenem (ang. slave) kot tudi nadrejenem (ang. master) delovanju. Podrejen

pomeni, ko imamo priklopljen dlančnik in osebni računalnik, da so vsi gonilniki

2. Izbira gradnikov sistema

- 23 -

nameščeni na osebnem računalniku, saj ima le ta vlogo nadrejenega. Redkost med

dlančniki je, da lahko delujejo nadrejeno. Zato je posebnost tega dlančnika, da lahko

nanj priklopimo »USB ključ«, zunanji disk, tipkovnico, miško in druge zunanje USB

enote. USB vmesnik smo uporabljali pri nalaganju našega programa na dlančnik.

• IrDA vmesnik se uporablja večinoma pri prenašanju podatkov med mobilnim

telefonom in dlančnikom. Pred prihodom Bluetootha je bil IrDA edini brezžični

vmesnik v mobilnem telefonu. Zaradi svoje cenenosti še zmeraj prevladuje, toda

Bluetooth ga počasi izpodriva. Ima veliko pomanjkljivost, saj morata biti naprave pri

prenosu podatkov medsebojno vidni in na maksimalni razdalji 30 cm.

• WLAN ali brezžična mreža se uporablja pri povezovanju dlančnika na internet in v

lokalno omrežje. Deluje pri frekvenci 2,4 Ghz, je specifikacije IEEE802.11b, kar

pomeni, da je hitrost prenosa 11 Mbps

• Bluetooth vmesnik je specifikacije 1.2 in močnostnega razreda II, kar pomeni

območje uporabe okoli 10 m. Mi smo od profilov uporabe uporabili profil serijskih

vrat (ang. Serial Port Profile).

2.5.1. Programiranje dlančnika

Programiranju na dlančniku bi bilo zamudno in nepraktično zaradi majhnega zaslona. Zato

se programiranje opravi na osebnem računalniku in prenese po USB vmesniku na dlančnik.

Za programiranje dlančnika smo uporabili Microsoft eMbedded Visual C++ 4.0 (Slika 2.13).

Pred tem je potrebno namestiti SDK (ang. Software Development Kit), ki nam omogoča

pisanje programov za Pocket PC 2003 v eMbedded Visual C++ 4.0. Tako eMbedded Visual

C++ 4.0 kot SDK sta brezplačna in ju lahko dobimo na Microsoftovi spletni strani [18].

eMbedded Visual C++ je po zasnovi enak Visual C++. Delno se razlikujeta po razredni

zasnovi (ang. declaration of the class). Iz tega sledi, da določeni ukazi, v enem delujejo, v

drugem ne.

2. Izbira gradnikov sistema

- 24 -

Slika 2.13: eMbedded Visual C++.

Razlika med njima je tudi, da ima eMbedded Visual C++ 4.0 možnosti simulatorja

dlančnika. Simulator nam je dal možnost spoznavanja programskega jezika in delovanja

samega dlančnika še pred nakupom. Simulator se je izkazal za zelo uporabnega pri učenju

programskega jezika, pri samemu projektu pa je bil neuporaben, saj nima možnosti uporabe

Bluetootha. Prehod pri programiranju iz simulatorja na dlančnik je preprost, saj ni potreba

spreminjati programske kode, ampak samo način, kako in kam naj se program prevede.

Slika 2.14: Simulator dlančnika.

3. Varnost

- 25 -

3. Varnost

Varnost omrežnih povezav je pereč problem današnjega časa. Kjerkoli pride do izmenjave

informacij, obstaja možnost prisluškovanja. Naj si bo to pri pogovoru med dvema osebama,

telefonskem pogovoru, pošiljanju pisem ali izmenjavi podatkov prek interneta.

Varnost konceptualno razdelimo na dve področji.

• Področje identifikacije - nič nam ne pomaga, da imamo zagotovljen varen

prenos podatkov, če jih posredujemo napačni osebi. Pri pogovoru z znano

osebo to ni problem, saj osebo vidimo in jo prepoznamo. Podobno deluje

identifikacija sogovornika po telefonu, kjer se zanašamo na razpoznavanje

glasu. Vse to se spremeni, če osebe ne poznamo. Pri srečanju z neznano

osebo se lahko v njeno istovetnost prepričamo na več načinov. Oseba se nam

lahko predstavi sama, predstavi nam jo prijatelj, ali nam pokaže osebni

dokument. Če se nam oseba predstavi sama, nimamo nobenega jamstva o

njeni poštenosti. Tu nam pomaga prijatelj, ki ga poznamo in mu zaupamo. Ta

osebo pozna in jamči zanjo. Ker je popolnoma jasno, da npr. carinik vseh

oseb, ki prečkajo mejni prehod, ne pozna niti nima toliko prijateljev, ki bi vse

osebe poznali, se mora zanašati na osebne dokumente, ki jih je izdala država,

katere državljan je oseba, ki prečka mejo. Mora pa se prepričati, da

dokumenti niso ponarejeni. To je mogoče samo, če pozna originalen

dokument, saj v nasprotnem primeru ne bi imel primerjave. To je samo nekaj

osnovnih primerov iz vsakdanjega življenja, predstavljamo pa si, da je

identifikacija prav tako pomembna pri plačevanju z čeki, bančno kartico ali

pri obisku zdravnika.

• Drugo področje bi lahko poimenovali zagotavljanje varnosti prenosa

informacij. Če se osebi pogovarjata na samotnem otoku in v bližini ni

nikogar, je ta varnost zagotovljena. Še varnejši bi bil njun pogovor, če bi se

pogovarjala v šifrah. Lahko si predstavljamo, da pri pogovoru čez cesto, ni

3. Varnost

- 26 -

nikakršne varnosti pri prenosu informacij, saj lahko vsak mimoidoči sliši

vsebino. Če že pri pogovoru čez cesto varnost prenosa ni zagotovljena, kako

naj bo pri telefonskem pogovoru v Avstralijo, ali plačevanju z bančnimi

karticami prek interneta.

Obe področji pokriva veda o tajnopisju (ang. cryprography). V nadaljevanju je opisan razvoj

vede in njen pomen. Prav tako je predstavljeno nekaj osnov o tajnopisju zakaj in kako

prihaja do zlorab. V nadaljevanju je predstavljen sistem varovanja, ki smo ga uporabili pri

našem projektu.

3.1. Razvoj tajnopisja in njegov pomen

Tajnopisje povezujemo z velikimi tajnostmi. Med obema svetovnima vojnama je igralo

pomembno vlogo pri odločanju izida bitk. V obdobje hladne vojne se je na področju

tajnopisja veliko razvijalo, ampak malo govorilo. Ob besedi tajnopisje si predstavljamo

vohune, ki spremljajo razvoj atomske bombe in o napredku obveščajo svojo državo. To je

držalo v obdobju pred prihodom računalnikov. Pravijo, da smo v obdobju informacijske

družbe. Informacijska družba brez tajnopisja preprosto ne mora delovati.

3.1.1. Terminologija

Pošiljatelj in prejemnik

Pošiljatelj želi poslati sporočilo prejemniku. Želi si, da bi sporočilo varno poslal. Želi

zagotoviti, da prisluškovalec ne more prebrati sporočila.

Sporočila in šifriranje

Sporočilo je navaden tekst (ang. plaintext). Prikrivanje sporočila, tako da skrijemo njegovo

vsebino, se imenuje šifriranje (ang. encryption). Tako dobimo šifrirano sporočilo (ang.

ciphertext). Dešifriranje (ang. decryption) uporabimo takrat, ko želimo iz šifriranega

sporočila dobiti navaden tekst (Slika 3.1).

3. Varnost

- 27 -

Slika 3.1: Šifriranje in dešifriranje.

Overovitev, celost in nezmožnost zanikanja

Da bi tajnopisju zagotovili zaupnost, mora pogosto vključevati tudi:

• Overovitev (ang. Authentication) Prejemnik sporočila se mora

prepričati o pristnosti pošiljatelja. Vsiljivec se ne more predstaviti kot

kdo drug.

• Celost (ang. Integrity) Prejemnik ima možnost preveriti, da sporočila

niso spremenili med prenosom. Vsiljivec ne more zamenjati

originalnega sporočila s svojim.

• Nezmožnost zanikanja (ang. Nonrepudatino) Pošiljatelj ne more

zanikati, da je poslal sporočilo.

Algoritmi in ključi

Algoritmi šifriranja ali šifra (ang. cipher) je matematična funkcija, ki se uporablja pri

šifriranju in dešifriranju. Če je varnost algoritma zasnovana tako, da je delovanje algoritma

skrivnost, mu rečemo zadrževalni (ang. restricted) algoritem. Uporabljali so ga predvsem v

preteklosti, saj je nezadosten z merili današnjih standardov. Predstavljajmo si skupino ljudi,

ki vsi vedo, kako algoritem deluje. Ko kdo od njih skupino zapusti, morajo ostali spremeniti

algoritem, saj bi v nasprotnem primeru oseba, ki je odšla, še naprej lahko dešifrirala njihova

sporočila. Kljub resni varnostni problematiki je ta način zelo razširjen v slabo zaščitenih

aplikacijah, za katere uporabnik ne ve, bodisi mu je vseeno. Tak izdelek ni primeren za

množično uporabo, saj bi prisluškovalec z nakupom izdelka lahko analiziral algoritem.

Navaden

tekst

Šifrirano

sporočilo

Šifriranje

Dešifriranj

3. Varnost

- 28 -

Moderno tajnopisje rešuje ta problem s ključem. Ključ je lahko poljubne vrednosti. Tako pri

šifriranju kot dešifriranju uporabljamo ta ključ (Slika 3.2). Ključ za šifriranje in dešifriranje

je lahko enak ali različen za vsako operacijo. Vsa varnost teh algoritmov je v ključu in ne v

samem algoritmu. To pomeni, da je lahko algoritem objavljen in je zaželeno, da ga

analizirajo strokovnjaki s področja šifriranja. Tak izdelek je primeren za množično uporabo.

Prisluškovalec lahko pozna algoritem, vendar mu to ne pomaga, če ne pozna ključa.

Slika 3.2: Šifriranje in dešifriranje s ključem.

Razlikujemo dva glavna tipa algoritmov s ključi (ang. key based algorithms): simetričnega

in algoritem javnega ključa (ang. public-key).

Simetričen algoritem, imenovan tudi navaden algoritem, je, ko lahko šifrirni ključ

izračunamo iz dešifrirnega ključa. Po navadi sta ključa celo enaka. Pošiljatelj in

prejemnik se morata predhodno dogovoriti o ključu, preden lahko varno

komunicirata.

Algoritem javnega ključa, imenovan tudi asimetričen algoritem, je zasnovan tako,

da se ključ za šifriranje razlikuje od tistega za dešifriranje. Prav tako dešifrirnega

ključa ne moremo v doglednem času izračunati iz šifrirnega. Algoritem javnega

ključa se imenuje zato, ker je šifrirni ključ lahko javen. Kdorkoli ga lahko uporabi za

šifriranje sporočila, toda samo določena oseba z pravim dešifrirnim ključem lahko

sporočilo dešifrira. Šifrirni ključ zato imenujemo javni, dešifrirnega pa privatni.

Najboljši šifrirni algoritmi so tisti, ki so objavljeni, so bili »napadeni« in so še zmeraj

»nezlomljivi«.

Šifrirni ključ

Dešifrirni ključ

Navaden tekst

Originalen navaden tekst Dešifriranje Šifrirano sporočilo Šifriranje

3. Varnost

- 29 -

Analiza šifriranja (ang. Cryptanalysis)

Bistvo šifriranja je, da ostane navaden tekst tajen prisluškovalcu, čeprav vemo, da ima

popoln dostop do komunikacije med pošiljateljem in prejemnikom. Analiza šifriranja je veda

o pridobitvi navadnega teksta brez poznavanja ključa.

Varnost algoritmov

Različni algoritmi ponujajo različne ravni zaščite. Odvisne so od tega, kako težko je

kodirano sporočilo dešifrirati brez poznavanja ključa. Če je strošek potreben za razbitje

algoritma večji od vrednosti šifriranega sporočila, velja algoritem šifriranja za varnega.

Algoritem je brezpogojno varen, če iz šifriranega sporočila ni mogoče dobiti navadnega

teksta. Samo algoritem enkratne podloge (ang. one-time-pad) velja za nezlomljivega pri

neomejenih virih. Vsi drugi so zlomljivi preprosto tako, da preizkusimo vse možne ključe in

preverjamo smiselnost sporočila. Za dobre algoritme štejemo tiste, ki so danes skoraj

nezlomljivi in bodo ostali tudi v prihodnosti s prihodom močnejših računalnikov [16].

3.2. Implementirana varnost v projektu

Pri prenosu podatkov med dlančnikom in Bluetooth modulom izkoriščamo varnost, ki jo

ponuja sam Bluetooth protokol. Ključno je, da imamo vključeno overovitev in šifriranje

vhodno izhodne povezave. Pri brezžični povezavi nikoli ne smemo popolnoma izključiti

možnosti prisluškovanja povezavi. Ko z dlančnikom začnemo postopek združevanja, se

lahko zgodi, da se prisluškovalec predstavi kot Blu2i modul. Dlančnik ne spozna, da gre za

prisluškovalca in opravi združitev s prisluškovalcem. Z overovitvijo prisluškovalcu

onemogočimo prevzem lažne identitete. Šifriranje podatkov nam zagotovi tajnost podatkov,

tudi ko prisluškovalec prisluškuje zvezi. Tako pri overovitvi kot pri šifriranju je

najpomembnejša osebna identifikacijska številka (PIN), na podlagi katere se računajo

povezovalni in šifrirni ključi. Pri izračunu ključev je PIN edini parameter, ki ga pri

kalkulaciji ključev poda uporabnik. Zato je izbira PIN zelo pomembna. Blu2i modul

3. Varnost

- 30 -

omogoča lastno izbiro PIN, toda ne omogoča določitev različnih PIN-ov različnim

uporabnikom.

Priporočajo je, da se za PIN ne uporablja splošnih števil, kot je npr. 0000. Priporočena

dolžina PIN je 64 bitov. PIN dolžine 40 bitov zagotavlja malo zaščite in ga je mogoče v

razmeroma kratkem času razbiti že z osebnim računalnikom. Priporočene najkrajše dolžine

PIN prikazuje tabela 3.1.

Nabor znakov Priporočena najkrajša dolžina PIN

0-9 (10 znakov) 19 znakov (=63 bitov)

0-9,A-Z (36 znakov) 12 znakov (=62 bitov)

0-0,A-Z,a-z (62 znakov) 11 znakov (=65 bitov)

ASCII (95 znakov) 10 znakov (=66 bitov) Tabela 3.1: Priporočena najkrajša dolžina PIN.

Dodatno varnost smo zagotovili s samo zasnovo aplikacije. Tako smo listo uporabnikov,

gesel, dostopov in opravil shranili v SRAM. Dlančnik teh podatkov ne shrani. Tako lahko

program za dlančnik objavimo na internetu, saj s tem ne bomo ogrozili varnosti aplikacije.

Analiza programa in njegovega delovanja nam brez uporabniškega imena ter gesla ne

koristita. Uporabnik mora poslati uporabniško ime in geslo na modul dostopa. Če se ujemata

s shranjenimi podatki v bazi, mikrokrmilniški strežnik opravil vrne seznam dovoljenih

opravil. Ko izberemo želeno opravilo ponovno najprej pošljmo uporabniško ime in geslo,

kar prepreči zlorabo, če bi bili spremenili program na dlančniku.

4. Mikrokrmilniški strežnik opravil

- 31 -

4. Mikrokrmilniški strežnik opravil

Preden lahko začnemo uporabljati mikrokrmilniški strežnik opravil, ga moramo povezati

(ang. paired) z dlančnikom. To storimo tako, da na dlančniku omogočimo Bluetooth

povezavo s klikom na Bluetooth ikono v spodnjem desnem robu ekrana.

Slika 4.1: Vklop Bluetooth povezave na dlančniku.

Ko je Bluetooth prižgan, ponovno kliknemo na ikono, samo da sedaj izberemo Bluetooth

upravitelja (ang. Bluetooth Manager). V meniju orodja (ang. Tools) izberemo povezane

naprave (ang. Paired devices). Pritisnemo tipko »dodaj«, izberemo napravo MSO

(mikrokrmilniški strežnik opravil) in vpišemo PIN. Nato zaženemo program Racces2. V

programu vpišemo svoje uporabniško ime in geslo, pritisnemo tipko »Potrdi«. Zažene se

postopek overovitve, kjer vnovič vpišemo PIN, ki se uporabi za izračun povezovalnega

ključa. Napravi sta overovljeni, dokler ne pride do ponovnega zagona MSO.

2 Program za dlančnik, ki smo ga napisali v eMbedded visual C++. Z njim dostopamo do MSO.

4. Mikrokrmilniški strežnik opravil

- 32 -

4.1. Prijava v sistem

Kot smo že omenili, so vsi podatki o uporabnikih in opravilih shranjeni v MSO. Neposredno

ob zagonu programa Racces opravil še nimamo na voljo. Za dostop do njih se moramo

prijaviti v sistem. V oknu »Uporabnik« (Slika 4.2) vpišemo svoje uporabniško ime in geslo.

Vnos potrdimo s tipko »Potrdi«. Dlančnik pošlje uporabniško ime in geslo v overovitev na

MSO, ki najprej pogleda, če ima v bazi vpisanega uporabnika. Če je uporabnik v bazi,

preveri še geslo, v nasprotnem primeru prekine operacijo. Če se uporabniško ime in geslo

ujemata, pošlje MSO dlančniku seznam pravic, dovoljenih opravil in njihove nazive (Slika

4.3).

Slika 4.2: Okno za prijavo v sistem.

4. Mikrokrmilniški strežnik opravil

- 33 -

Slika 4.3: Prijava v sistem.

Na dlančniku se v oknu Opravila prikažejo opravila ter njihova imena. Lahko se zgodi, da

nimamo dovoljenja za nobeno opravilo, zato ostane okno »Opravila« prazno. Če imamo

dodeljeno administratorsko pravico, lahko odpremo okno »Administrator«, v nasprotne

primeru nam program to prepreči.

DLANČNIK

Uporabniško ime Geslo

MSO

Baza podatkov

Uporabniško ime = =

Geslo Izhod

NE DA

= =

NE

DA

Seznam opravi Naziv opravil

Pravice

DLANČNIK

4. Mikrokrmilniški strežnik opravil

- 34 -

4.2. Kontrola opravil

Po uspešni prijavi v sistem se nam v oknu »Opravila« (Slika 4.4) prikažejo dovoljena

opravila. Maksimalno število vseh opravil je osem. Če je kvadratek pred opravilom

odkljukan, pomeni, da je opravilo vključeno. Želena opravila preprosto vključimo tako, da

odkljukamo kvadratke pred opravili in pritisnemo tipko »Potrdi«. S tem pošljemo ukaz na

MSO, ki opravila vključi. Pri prenosu ukazov najprej pošljemo uporabniško ime in geslo. S

tem se izognemo možnosti, da bi prišlo do neavtoriziranega dostopa. To pomeni, da lahko

poznamo sekvenco, ki se pošlje iz dlančnika na MSO, vendar je sistem brez uporabniškega

imena in gesla ne bo izvršil. MSO najprej pogleda, če ima uporabnika shranjenega v bazi

podatkov, preveri pravilnost gesla in šele nato izvrši spremembo opravil.

Slika 4.4:Okno za kontrolo opravil.

Obstaja možnost, da se uporabnik prijavi v sistem, nato pa programa nekaj časa ne uporablja.

S tem bi na dlančniku obdržal opravila, ki bi jih poskušal uporabiti tedaj, ko mu le-ta niso

dovoljena. Pojasnimo to na primeru.

Podjetje svojim uslužbencem zagotovi dostop v poslovne prostore med tednom, med

vikendom pa dostop v poslovne prostore ni dovoljen. Delavec bi lahko uporabil zvijačo in se

prijavil v sistem že v petek in tako dobil seznam dovoljenih opravil. Program v dlančniku bi

4. Mikrokrmilniški strežnik opravil

- 35 -

pustil prižgan do sobote. Tako bi v soboto imel na dlančniku naložen petkov seznam opravil,

ki se razlikujejo od sobotnega, ko vsa opravila niso dovoljena.

Sistem je zasnovan tako, da predvidi možnost take zlorabe in jo prepreči. Ko pogleda

pravilnost uporabniškega imena in gesla, preveri tudi, če je opravilo ob času zahtevka

dovoljeno (Slika 4.5).

Slika 4.5: Postopek spremembe opravil.

Zahtevek po spremembi opravila

Ali se uporabniško ime in geslo ujemata z shranjenimi v bazi podatkov?

NE DA

Ali je opravilo ob zahtevku dovoljeno? NE

DA

IZHOD

Izvršitev opravil

4. Mikrokrmilniški strežnik opravil

- 36 -

4.3. Profili uporabnikov

4.3.1. Skupina brez administratorskih pravic

To so uporabniki sistema, ki lahko spreminjajo stanja opravil v okvirih, ki jih dovoljuje ali

podana administrator. Ne morejo dodajati novih uporabnikov, spreminjati pravic, opravil in

ure. Imajo dostop samo do oken »Uporabnik« in »Opravila«, za ostale jim program to

prepreči (Slika 4.6).

Slika 4.6: Prepoved uporabe administratorskih orodji.

Za uporabnike je tak sistem preprost. Morajo se samo prijaviti v sistem in že lahko

spreminjajo stanja opravil. Tako ni potrebno usposabljanje uporabnikov za delo s sistemom.

Profil uporabnika brez administratorskih pravic je večinski profil uporabnikov. Tako imamo

po navadi samo enega ali dva uporabnika z administratorskimi pravicami.

4. Mikrokrmilniški strežnik opravil

- 37 -

4.3.2. Skupina z administratorskimi pravicami oziroma

administratorji sistema

Administratorji sistema skrbijo za dodajanje novih uporabnikov, odstranjevanje uporabnikov

iz sistema, spreminjanje sistemske ure in dodajanje in odstranjevanje opravil. Lahko tudi

spreminjamo stanja opravil. Administrator ima popoln nadzor nad MSO. V sistem se

administrator prijavi kot ostali uporabniki. Ko se administrator prijavi v sistem, MSO pošlje

dlančniku, da se je prijavil administrator. S tem se v programu na dlančniku odkleneta dve

podokni, ki sta za ostale uporabnike zaklenjeni.

4.3.2.1 Dodajanje novih uporabnikov

V MSO imamo lahko maksimalno 25 uporabnikov. Število administratorjev je pri tem

poljubno. Uporabnika se doda v oknu »Administrator«. Najprej pritisnemo gumb »Osveži«,

ki nam posodobi polje z opravili (Slika 4.7). Nato vpišemo uporabniško ime in geslo novega

uporabnika. Pri tem prisotnost uporabnika, katerega profil kreiramo, ni potrebna. Tako lahko

naredimo profil novemu uporabniku, ki ga osebno ne poznamo.

Slika 4.7: Posodobitev polja z opravili.

4. Mikrokrmilniški strežnik opravil

- 38 -

Uporabniško ime in geslo lahko imata maksimalno dolžino osem znakov. Ko vpišemo

uporabniško ime in geslo, določimo opravila, ki jih bo uporabnik opravljal. Če želimo, da bo

uporabnik imel administratorske pravice, odkljukamo okence pred »Administrator« v

nasprotnem primeru pustimo okence prazno.

Okence »Pon-Pet« pomeni od ponedeljka do petka. S tem uporabniku omogočimo dostop

samo od ponedeljka do petka ali ob delavnikih.

Pod okencem »Pon-Pet« imamo dve prazni okenci (Slika 4.8). V prvo vpišemo uro, od

katere je dovoljena sprememba opravil, v drugega pa do kdaj je dovoljena sprememba. Če

vpišemo od 8-16 pomeni, da ima uporabnik dovoljenje za spremembo opravil vsak dan od

osme ure zjutraj do četrte ure popoldne. Lahko dostop še dodatno omejimo z izbiro

»Pon-Pet«. S tem uporabniku dovolimo spremembo opravil samo od ponedeljka do petka.

Slika 4.8: Omejitev dostopa glede na uro.

Ko izpolnimo vsa želena okenca pritisnemo tipko »Dodaj«. S tem zaključimo vnos podatkov

na dlančniku in jih pošljemo na MSO. MSO jih doda v svojo bazo podatkov. Pri tem

moramo biti pazljivi, saj lahko pritisnemo tipko »Dodaj«, ko še nimamo vnesenih vseh

4. Mikrokrmilniški strežnik opravil

- 39 -

podatkov. V primeru, da se nam to zgodi, lahko uporabniško ime naknadno spremenimo ali

odstranimo.

4.3.2.2 Pregled uporabnikov shranjenih v bazi podatkov

Do uporabnikov shranjenih v bazi MSO pridemo s pritiskom na eno izmed puščic na dnu

ekrana (Slika 4.9). Če pritiskamo na desno puščico se pomikamo po bazi naprej, z levo pa

nazaj. Ko pridemo do zadnjega uporabnika, nam program avtomatsko preskoči na prvega.

Praznih mest v bazi nam program ne prikazuje.

Slika 4.9: Pregled uporabnikov shranjenih v bazi podatkov.

4. Mikrokrmilniški strežnik opravil

- 40 -

4.3.2.3 Odstranjevanje uporabnikov iz baze podatkov

Če želimo odstraniti uporabnika iz baze podatkov, ga moramo v bazi najprej poiskati. To

storimo s pritiskom na puščico v spodnjem delu zaslona. Puščico pritiskamo toliko časa, da

pridemo do uporabnika, ki ga želimo zbrisati. Ko smo izbrali uporabnika, pritisnemo tipko

»Odstrani« (Slika 4.10) in uporabnik se izbriše iz baze podatkov.

Slika 4.10: Odstranjevanje uporabnikov iz baze podatkov.

4.3.2.4 Spreminjanje uporabnikov v bazi podatkov

Ko uporabnika ne želimo izbrisati iz baze podatkov, lahko uporabniški profil samo

popravimo. To storimo, ko želimo nekemu uporabniku dodati ali odvzeti opravila. Lahko

tudi spremenimo geslo, če ga je uporabnik pozabil, ali ga želi spremeniti.

Ponovno moramo najprej uporabnika poiskati v bazi podatkov, kar storimo s puščicama na

dnu ekrana. Ko imamo uporabnikove podatke, ki jih želimo spremeniti na ekranu, preprosto

spremenimo podatke, ki jih želimo popraviti. Kot vidimo na Slika 4.11, smo spremenili

4. Mikrokrmilniški strežnik opravil

- 41 -

geslo, dodali opravila, in spremenili čas uporabnikovega dostopa. Prav tako smo spremenili

geslo. Ko opravimo vse spremembe, pritisnemo gumb »Spremeni« in spremembe se zapišejo

v MSO.

Slika 4.11: Spreminjanje uporabnikov v bazi podatkov.

4.3.2.5 Nastavljanje sistemskega časa

Timekeeper RAM v MSO ima poleg delovnega pomnilnika, v katerega zapisujemo podatke

o uporabnikih, tudi uro in datum. Datum in ura sta pomembna, ko ima uporabnik časovno in

dnevno omejen dostop. Uro in datum v MSO nastavimo prek programa na dlančniku (Slika

4.12).

4. Mikrokrmilniški strežnik opravil

- 42 -

Slika 4.12: Nastavljanje ure in datuma sistemskega časa.

Ker bi bilo nesmiselno, da bi vsak uporabnik lahko nastavljal sistemski čas, ima to pravico

samo administrator. Če bi vsak uporabnik imel pravico spreminjati sistemsko uro, bi

uporabniki, ki imajo časovno omejen dostop, preprosto spremenili uro in datum, na čas, ko

jim je dovoljen za izvajanje opravil.

Uro nastavimo tako, da se postavimo na polje,ki ga želimo spremeniti (Slika 4.13). Tako se

postavimo na polje »Ure« in nastavimo želeno uro. Podobno naredimo še z »Minutami« ter

»Sekundami«.

Slika 4.13: Nastavljanje ure.

Ure Minute Sekunde

4. Mikrokrmilniški strežnik opravil

- 43 -

Datum nastavimo tako kot uro, s spreminjanjem parametrov ali z izborom datuma iz

spustnega seznama (Slika 4.14). Spustni seznam dobimo s klikom na trikotnik v levem delu

datumskega polja. V spustnem seznamu preprosto izberemo želeni datum.

Slika 4.14: Spustni seznam za nastavljanje datuma.

Ko nastavimo želeno uro in datum pritisnemo tipko čas. S tem nastavimo nov čas na MSO.

Omenimo še, da čas, ki je nastavljen v programu dlančnika ob njegovem zagonu, ni

sistemski čas MSO temveč čas, ki je nastavljen na operacijskem sistemu dlančnika.

Sistemski čas nastavljen v MSO se nam izpisuje na LCD prikazovalniku.

4.3.2.6 Spreminjanje opravil

Spreminjanje opravil nam omogoča, da dodajamo, odvzemamo ali spreminjamo opravila.

Opravila lahko administrator spreminja v drugem oknu »Administrator«. Najprej moramo

pritisniti gumb »Osveži«, da dobimo seznam opravil, shranjenih v MSO (Slika 4.15).

4. Mikrokrmilniški strežnik opravil

- 44 -

Slika 4.15: Seznam opravil iz MSO-ja.

Opravila lahko potem poljubno spreminjamo. Če opravilo dodamo, spremenimo ali

odstranimo, moramo odkljukati okence »Spremeni« (Slika 4.16). Tudi če opravila ne

spremenimo in odkljukamo okence »Spremeni«, bo MSO to razumel kot spremembo

opravila. Z odkljukanjem okenca »Spremeni«, povemo MSO, da želimo opravilo spremeniti.

Nadomesti naj ga v bazi opravil MSO z opravilom napisanega v okencu pred odkljukanim

opravilom. Kot vidimo na sliki 6.15 opravilo zbrišemo/dodamo tako, da ga preprosto

zbrišemo/dodamo v okence »Opravila«. Ko smo vnesli vse podatke, pritisnemo gumb

»Shrani«, ki želena opravila pošlje MSO, da jih shrani v bazo opravil.

Ko dodamo novo opravilo, ga moramo dodeliti uporabnikom. Pravico do novega opravila

moramo dodati vsakemu uporabniku posebej, kot je opisano v poglavju 6.3.2.4

(Spreminjanje uporabnikov v bazi podatkov). Prav tako uporabnik izgubi pravico do

opravila, če je spremenjeno ali popravljeno (Slika 4.17). Predstavljajmo si, da opravilo, ki

odpira vhodna vrata podjetja nadomestimo z opravilom, ki odpira sef podjetja. Če pravice do

opravila, ki smo ga spremenili, uporabnikom ne bi odstranili, bi imeli vsi, ki so imeli vstop

do podjetja, tudi vstop do sefa.

4. Mikrokrmilniški strežnik opravil

- 45 -

Slika 4.16: Sprememba, odstranitev in dodajanje opravila.

Slika 4.17: Izguba pravice do opravila pri spremembi opravila.

5 .Zaključek

- 46 -

5. Zaključek

Cilj diplomske naloge je bil izdelati mikrokrmilniški strežnik opravil, ki se bodo krmilila iz

mobilnega telefona ali dlančnika. Za njuno povezavo je bil izbran Bluetooth standard.

Vsi izbrani gradniki so zadoščali zahtevam, zastavljenim na začetku izdelave diplomske

naloge. Sistem deluje in je bil testiran ob uporabi samo enega uporabnika hkrati.

Atmelov mikrokrmilnik skupaj s programom, napisanim v Bascomu, se je izkazal kot

zanesljiv in nezahteven za uporabo. Programiranje mikrokrmilnika v vezju nam je prihranilo

veliko časa, saj mikrokrmilnika ni bilo potrebno vzeti iz vezja za vsako programiranje.

Uporaba Bluetooth tehnologije v projektih pri nas še ni tako razširjena, zato je bilo Blu2i

modul težje dobiti kot mikrokrmilnik. Zaradi svoje majhnosti nam je spajkanje Blu2i

konektorja predstavljalo velik izziv, ki smo ga uspešno premostili. Po začetnih nevšečnostih

z nabavo in montažo se je Blu2i modul odlično izkazal. Motilo nas je le pomanjkanje

dokumentacije. Ugotovili smo, da se modul od svojega predhodnika razlikuje samo po

zunanjih dimenzijah, zato smo uporabili kar dokumentacijo TDK Blu2i modula3. S samim

delovanje modula nismo imeli težav.

Pri izbiri pomnilnika smo se sprva odločili za Atmelov 388 serijski EEPROM. Prednost

Atmelovega pomnilnika pred Timekeeperjevim SRAM je njegova cenenost in majhnost.

Shranjevanje na Atmelov pomnilnik bi bilo precej enostavnejše, saj so v Bascomu zanj že

napisane funkcije. Za Timkepeer SRAM smo se odločili zaradi vgrajene ure, ki bi bila pri

nadaljnjem razvoju modula nepogrešljiva. Velikost pomnilnika v Timkeeper SRAM je

zadostovala za naš projekt, saj smo zasedli samo 25% pomnilnika.

Mobilni telefon bi bil zaradi svoje razširjenosti primernejši za nalogo saj imamo mobilni

telefon že skoraj vsi. Toda programi za programiranje mobilnih telefonov so v večini

plačljivi, zato smo se odločili za dlančnik z operacijskim sistemom Pocket PC 2003.

Program EMbedded Visual C++ ter potrebne gonilnike smo brezplačno dobili na

Microsoftovi spletni strani.

Ker smo imeli pri projektu na voljo samo en dlančnik, bi bilo v nadaljnjem razvoju projekta

potrebno testirat, kako se MSO obnaša ob istočasni oddaji zahtevkov po spremembi opravila

3 TDK-jev modul Blu2i je prevzel in ga sedaj trži ter razvija Ezurio.

5. Zaključek

- 47 -

več uporabnikov. V tem primeru bi MSO sprejel prvega uporabnika, ki se prijavi v sistem,

ostali pa bi morali počakati, da le ta konča. Podobno deluje sistem z magnetnimi karticami,

ko le en uporabnik lahko potegne kartico skozi čitalnik.

Za celovitost MSO bi bilo potrebno beležiti prijave v sistem. Dnevnik prijav, bi nam dal

popoln pregled nad uporabo sistema. Tako bi beležili vse vstope v sistem, opravila in

morebitne poskuse zlorabe. V dnevnik bi se beležil tudi čas. S tem bi dobili popoln

kronološki pregled uporabe sistema. Z uporabo dnevnika, bi lahko še izboljšali varnost

sistema. Tako bi lahko zaklenili uporabniško ime, ko bi se uporabnik trikrat zmotil pri geslu.

Uporabniško ime bi bilo zaklenjeno, dokler ga administrator ne bi odklenil.

Lahko bi se beležile tudi ure prihodov in odhodov. Tako bi beležili prisotnost na delovnem

mestu.

Lahko bi rekli, da MSO opravil predstavlja nekakšno osnovo za izdelavo inteligentnih

instalacij4. Tako bi nam sistem poleg vklopov luči na našo zahtevo, lahko prižigal naključno.

S prižiganjem luči bi dajali vtis,da smo doma, kljub naši odsotnosti (zaščita pred vlomilci).

Področje inteligentnih instalacij, kamor lahko uvrstimo MSO, se je začelo razvijati šele pred

nekaj leti. S tem mislimo hišne inteligenčne instalacije v privatnih hišah, pisarnah, hotelih ali

kongresnih centrih. Tehnologija postaja cenovno dostopna, zato lahko v naslednjih letih

pričakujemo poplavo izdelkov, podobnih MSO.

4 Instalacije, ki so centralno krmiljenje in niso omejene samo na en tip instalacij. Tako z eno enoto lahko

krmilimo električne porabnike, ogrevalne/hladilne sisteme, alarmne sisteme, …

- 48 -

Dodatek A

- 49 -

6. Dodatek A

Program mikrokrmilnika $regfile = "m32def.dat" $crystal = 16000000 '$sim Declare Sub Shrani Declare Sub Bericas Declare Function Beri(dolzina As Byte , Naslovb As Word)as String Config Pinb.0 = Output Config Pinb.1 = Output Config Pind.7 = Output Config Pind.5 = Output Config Pind.4 = Output Config Pind.3 = Output Config Pinc.0 = Output Config Pinc.1 = Output Config Pinc.2 = Output Config Pinc.3 = Output Config Pinc.4 = Output Config Pinc.5 = Output Config Pinc.6 = Output Config Pinc.7 = Output Set Portd.4 Set Portd.3 Dim Naslov As Word Dim Nas As Word Dim Niz As String * 35 Dim Opravila As String * 11 Dim Izrama As String * 11 Dim Poslji As String * 100 Dim Posljio As String * 20 Dim Stanje As String * 10 Dim D As Byte Dim Vrednost As Byte Dim Naslovs As Byte Dim Naslovz As Byte Dim Crka As String * 1 Dim I As Byte Dim J As Byte Dim Dol As Byte Dim Prebrano As Byte , Vrednostp As Byte Dim Inic(8) As String * 2 Dim Scas(8) As String * 2 Dim Inic1 As String * 1 Dim Inic2 As String * 1 Dim Cas As Byte Dim T As Bit Dim K As Word Dim R As Byte Dim Uporabnik As String * 8 Dim Geslo As String * 8 Dim E As Byte Dim Dan As Byte Dim Od As Byte Dim Doo As Byte Dim Ura As Byte K = 1

Dodatek A

- 50 -

$baud = 9600 Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.3 , Rs = Portb.2 Config Lcd = 16 * 2 Cls Config Serialin = Buffered , Size = 102 Config Serialout = Buffered , Size = 110 Enable Interrupts Inic1 = " " Wait 1 Do

Inic1 = Inkey() If Inic1 = "$" Then Inic1 = Inkey() If Inic1 = "$" Then 'Waitms 10 Print "" Print "OK"

'************************** Nastavimo uro************************** For I = 1 To 7 Step 1 Inic1 = Inkey() Inic2 = Inkey() If Inic2 = ":" Then Inic(i) = Inic1 Else 'Waitms 10 Inic(i) = Inic1 + Inic2 'Waitms 10 Inic1 = Inkey() End If Next I Inic1 = Inkey() Inic2 = Inkey() Inic(7) = Inic1 + Inic2 T = 1 Niz = "!" Naslov = 8184 ' ne spreminjaj Vrednost = 128 Gosub Shrani For J = 1 To 7 Step 1 Niz = "!" Naslov = 8184 + J Cas = Val(inic(j))

Dodatek A

- 51 -

Vrednost = Makebcd(cas) Gosub Shrani Next J Niz = "!" Naslov = 8184 'ne spreminjaj Vrednost = 0 Gosub Shrani T = 0 Do Inic1 = Inkey() Loop Until Inic1 <> " " '********************************------------------------------********************** Elseif Inic1 = "+" Then Print "" Print "OK" '*******************************Vpišemo opravilo***************************** Opravila = "" For I = 1 To 8 Step 1 Inic1 = Inkey() Opravila = Opravila + Inic1 Next I Niz = Opravila Naslov = 90 Gosub Shrani Inic1 = Inkey() Naslov = 0 J = 1 Niz = "" While J <= 8 Crka = Mid(opravila , J , 1) If Crka = "1" Then '********************* zbrišemo opravila pri uporabnikih************************** R = 0 While R < 25 Nas = R * 35 Nas = Nas + 21 Nas = Nas + J Nas = Nas + 100 Niz = "0" Naslov = Nas Gosub Shrani Incr R Wend '*************************************************************************** Niz = " " Naslov = J * 10 Gosub Shrani

Dodatek A

- 52 -

Niz = "" Do Inic1 = Inkey() If Inic1 = "+" Then Naslov = J * 10 Gosub Shrani Goto Novo Else Niz = Niz + Inic1 End If Loop Else Do Inic1 = Inkey() If Inic1 = "+" Then Goto Novo End If Loop End If Novo: Incr J Wend '****************************------------------***************************** Elseif Inic1 = "*" Then '****************************Dobimo opravila******************************** D = 8 Poslji = "" For J = 1 To 8 Step 1 Naslov = J * 10 Izrama = Beri(d , Naslov ) Poslji = Poslji + Izrama Next J Print "" Print Poslji '*************************************************************************** Elseif Inic1 = "%" Then Print "" Print "OK" '****************************Vpišemo uporabnike ***************************** Nas = 100 J = 0 Izrama = "!" D = 1

Dodatek A

- 53 -

Naslov = Nas While Izrama <> "%" Izrama = Beri(d , Naslov ) Naslov = Naslov + 34 Wend J = 1 Nas = Naslov - 35 Naslov = Nas + 1 Izrama = Beri(d , Naslov ) If Izrama = "%" Then Naslov = Nas + 35 Niz = "%%" Gosub Shrani End If While J <= 6 If J = 1 Then Naslov = Nas Niz = " " Gosub Shrani Naslov = Nas Elseif J = 2 Then Naslov = Nas + 10 Niz = " " Gosub Shrani Naslov = Nas + 10 Elseif J = 3 Then Naslov = Nas + 20 Niz = " " Gosub Shrani Naslov = Nas + 20 Elseif J = 4 Then Naslov = Nas + 22 Niz = " " Gosub Shrani Naslov = Nas + 22 Elseif J = 5 Then Naslov = Nas + 30 Niz = " " Gosub Shrani Naslov = Nas + 30 Elseif J = 6 Then Naslov = Nas + 32 Niz = " " Gosub Shrani Naslov = Nas + 32 End If Niz = "" Do Inic1 = Inkey() If Inic1 = "%" Then Gosub Shrani Goto Novo1 Else Niz = Niz + Inic1 End If Loop Novo1:

Dodatek A

- 54 -

Incr J Wend '*******************************------------------***************************** Elseif Inic1 = "!" Then '***************************Pošljemo uporabnike****************************

Inic1 = Inkey() Prazno: If Inic1 = "1" Then Incr K End If If Inic1 = "0" Then Decr K End If If K > 25 Then K = 0 End If Zac: Poslji = "" J = K * 35 Nas = 100 + J D = 1 Naslov = Nas Izrama = Beri(d , Naslov ) If Izrama = "%" Then D = 1 Naslov = Nas + 1 Izrama = Beri(d , Naslov ) If Izrama = "%" Then K = 0 Goto Zac End If If K = 0 Then K = 26 End If Goto Prazno End If Poslji = "" D = 8 Naslov = Nas Izrama = Beri(d , Naslov ) Poslji = Poslji + Izrama D = 8 Naslov = Nas + 10 Izrama = Beri(d , Naslov ) Poslji = Poslji + Izrama D = 2 Naslov = Nas + 20 Izrama = Beri(d , Naslov )

Dodatek A

- 55 -

Poslji = Poslji + Izrama D = 8 Naslov = Nas + 22 Izrama = Beri(d , Naslov ) Poslji = Poslji + Izrama D = 2 Naslov = Nas + 30 Izrama = Beri(d , Naslov ) Poslji = Poslji + Izrama D = 2 Naslov = Nas + 32 Izrama = Beri(d , Naslov ) Poslji = Poslji + Izrama Print "" Print Poslji '******************************-------------------***************************** Elseif Inic1 = "-" Then Print "" Print "OK" '**************************Popravimo uporabnika*************************** J = K * 35 Nas = 100 + J J = 1 While J <= 6 If J = 1 Then Naslov = Nas Niz = " " Gosub Shrani Naslov = Nas Elseif J = 2 Then Naslov = Nas + 10 Niz = " " Gosub Shrani Naslov = Nas + 10 Elseif J = 3 Then Naslov = Nas + 20 Niz = " " Gosub Shrani Naslov = Nas + 20 Elseif J = 4 Then Naslov = Nas + 22 Niz = " " Gosub Shrani Naslov = Nas + 22 Elseif J = 5 Then Naslov = Nas + 30 Niz = " " Gosub Shrani Naslov = Nas + 30 Elseif J = 6 Then Naslov = Nas + 32 Niz = " " Gosub Shrani Naslov = Nas + 32 End If Niz = ""

Dodatek A

- 56 -

Do Inic1 = Inkey() If Inic1 = "%" Then Gosub Shrani Goto Novo2 Else Niz = Niz + Inic1 End If Loop Novo2: Incr J Wend '*************************************************************************** Elseif Inic1 = "/" Then Print "" Print "OK" '*****************************Zbrišemo uporabnika*************************** J = K * 35 Nas = 100 + J Naslov = Nas Niz = "% " Gosub Shrani '************************************************************************** Elseif Inic1 = "?" Then '*****************************Pošljemo uporabnike*************************** Nas = 8000 J = 1 While J <= 2 If J = 1 Then Naslov = Nas Niz = " " Gosub Shrani Naslov = Nas Elseif J = 2 Then Naslov = Nas + 10 Niz = " " Gosub Shrani Naslov = Nas + 10 End If Niz = "" Do Inic1 = Inkey() If Inic1 = "?" Then Gosub Shrani

Dodatek A

- 57 -

Goto Novo3 Else Niz = Niz + Inic1 End If Loop Novo3: Incr J Wend D = 8 Naslov = 8000 Uporabnik = Beri(d , Naslov ) Naslov = 8010 Geslo = Beri(d , Naslov ) D = 8 Naslov = 8020 Stanje = Beri(d , Naslov ) '*************************************************************************** E = 0 While E <= 25 J = E * 35 Nas = 100 + J D = 8 Naslov = Nas Izrama = Beri(d , Naslov ) If Izrama = Uporabnik Then D = 8 Naslov = Nas + 10 Izrama = Beri(d , Naslov ) If Izrama = Geslo Then D = 1 Naslov = Nas + 21 Izrama = Beri(d , Naslov ) If Izrama = "1" Then Dan = Val(scas(4)) If Dan > 1 And Dan < 6 Then Goto Po End If Ne: Print "" Print "000000000" Goto Konec Else Po: D = 2 Naslov = Nas + 30 Izrama = Beri(d , Naslov ) Od = Val(izrama) If Izrama = " " Then Goto Pos End If D = 2 Naslov = Nas + 32 Izrama = Beri(d , Naslov ) Doo = Val(izrama)

Dodatek A

- 58 -

Ura = Val(scas(3)) If Ura < Od Or Ura > Doo Then Goto Ne End If Pos: Posljio = Stanje D = 8 Naslov = Nas + 22 Izrama = Beri(d , Naslov ) Posljio = Posljio + Izrama D = 1 Naslov = Nas + 20 Izrama = Beri(d , Naslov ) Posljio = Posljio + Izrama End If D = 9 Poslji = Posljio For J = 1 To 8 Step 1 Naslov = J * 10 Izrama = Beri(d , Naslov ) Poslji = Poslji + Izrama Next J Print "" Print Poslji Goto Konec End If End If Incr E Wend Konec: '****************************************************************************** Elseif Inic1 = "=" Then '*******************************Nastavimo izhode *************************** Nas = 8000 J = 1 While J <= 3 If J = 1 Then Naslov = Nas Niz = " " Gosub Shrani Naslov = Nas Elseif J = 2 Then Naslov = Nas + 10 Niz = " " Gosub Shrani Naslov = Nas + 10 Elseif J = 3 Then Naslov = Nas + 20 Niz = " " Gosub Shrani Naslov = Nas + 20 End If

Dodatek A

- 59 -

Niz = "" Do Inic1 = Inkey() If Inic1 = "=" Then Gosub Shrani Goto Novo4 Else Niz = Niz + Inic1 End If Loop Novo4: Incr J Wend D = 8 Naslov = 8000 Uporabnik = Beri(d , Naslov ) Naslov = 8010 Geslo = Beri(d , Naslov ) '*** E = 0 While E <= 25 J = E * 35 Nas = 100 + J D = 8 Naslov = Nas Izrama = Beri(d , Naslov ) If Izrama = Uporabnik Then D = 8 Naslov = Nas + 10 Izrama = Beri(d , Naslov ) If Izrama = Geslo Then D = 1 Naslov = Nas + 21 Izrama = Beri(d , Naslov ) If Izrama = "1" Then Dan = Val(scas(4)) If Dan > 1 And Dan < 6 Then Goto Po1 End If Ne1: Print "" Print "ERROR" Goto Konec1 Else Po1: D = 2 Naslov = Nas + 30 Izrama = Beri(d , Naslov ) Od = Val(izrama) If Izrama = " " Then Goto Pos1

Dodatek A

- 60 -

End If D = 2 Naslov = Nas + 32 Izrama = Beri(d , Naslov ) Doo = Val(izrama) Ura = Val(scas(3)) If Ura < Od Or Ura > Doo Then Goto Ne1 End If Pos1: End If D = 1 Naslov = 8020 Izrama = Beri(d , Naslov ) If Izrama = "1" Then Set Portc.0 Else Reset Portc.0 End If D = 1 Naslov = 8021 Izrama = Beri(d , Naslov ) If Izrama = "1" Then Set Portc.1 Else Reset Portc.1 End If D = 1 Naslov = 8022 Izrama = Beri(d , Naslov ) If Izrama = "1" Then Set Portc.2 Else Reset Portc.2 End If D = 1 Naslov = 8023 Izrama = Beri(d , Naslov ) If Izrama = "1" Then Set Portc.3 Else Reset Portc.3 End If D = 1 Naslov = 8024 Izrama = Beri(d , Naslov ) If Izrama = "1" Then Set Portc.4 Else Reset Portc.4 End If D = 1 Naslov = 8025 Izrama = Beri(d , Naslov ) If Izrama = "1" Then

Dodatek A

- 61 -

Set Portc.5 Else Reset Portc.5 End If D = 1 Naslov = 8026 Izrama = Beri(d , Naslov ) If Izrama = "1" Then Set Portc.6 Else Reset Portc.6 End If D = 1 Naslov = 8027 Izrama = Beri(d , Naslov ) If Izrama = "1" Then Set Portc.7 Else Reset Portc.7 End If Print "" Print "OK" Goto Konec1 End If End If Incr E Wend Konec1: '*************************************************************************** Else Do Inic1 = Inkey() Loop Until Inic1 <> " " End If End If Cls Upperline Lcd Scas(3) Lcd ":" Lcd Scas(2) Lcd ":" Lcd Scas(1) Wait 1 Gosub Bericas 'Naslov = 300 'D = 4 'Izrama = Beri(d , Naslov ) D = 1 Naslov = 123 Izrama = Beri(d , Naslov )

Dodatek A

- 62 -

Loop End '*************************************************************************** Sub Shrani Naslovs = 0 Naslovz = 0 I = 1 Dol = Len(niz) 'Incr Dol While I <= Dol If T = 0 Then Crka = Mid(niz , I , 1) Vrednost = Asc(crka) Else 'Incr Dol I = Dol End If Config Porta = Output Naslovs = Naslov Rotate Naslov , Left , 8 Naslovz = Naslov Rotate Naslov , Right , 8 Porta = Naslovs Set Portb.0 Reset Portb.0 Porta = Naslovz Set Portb.1 Reset Portb.1 Porta = Vrednost Reset Portd.3 Set Portd.3 Incr I Incr Naslov Wend End Sub Function Beri(dolzina As Byte , Naslovb As Word ) As String Naslovs = 0 Naslovz = 0 Beri = "" I = 1 While I <= Dolzina Config Porta = Output Naslovs = Naslovb

Dodatek A

- 63 -

Rotate Naslovb , Left , 8 Naslovz = Naslovb Rotate Naslovb , Right , 8 Porta = Naslovs Set Portb.0 Reset Portb.0 Porta = Naslovz Set Portb.1 Reset Portb.1 Config Porta = Input Reset Portd.4 Vrednostp = Pina Set Portd.4 Prebrano = Vrednostp Incr Naslovb Incr I Crka = Chr(prebrano) Beri = Beri + Crka Wend End Function Sub Bericas '****sub shrani******* Naslovs = 0 Naslovz = 0 Naslov = 8184 Vrednost = 64 Config Porta = Output Naslovs = Naslov Rotate Naslov , Left , 8 Naslovz = Naslov Rotate Naslov , Right , 8 Porta = Naslovs Set Portb.0 Reset Portb.0 Porta = Naslovz Set Portb.1 Reset Portb.1 Porta = Vrednost Reset Portd.3 Set Portd.3 '***************************-------------------------**************************** J = 1 Naslov = 8185 While J <= 7

Dodatek A

- 64 -

D = 1 Naslovs = 0 Naslovz = 0 Config Porta = Output Naslovs = Naslov Rotate Naslov , Left , 8 Naslovz = Naslov Rotate Naslov , Right , 8 Porta = Naslovs Set Portb.0 Reset Portb.0 Porta = Naslovz Set Portb.1 Reset Portb.1 Config Porta = Input Reset Portd.4 Vrednostp = Pina Set Portd.4 Prebrano = Vrednostp Scas(j) = Bcd(prebrano) Incr Naslov Incr J Wend Naslov = 8184 'ne spreminjaj Vrednost = 0 '****sub shrani******* Naslovs = 0 Naslovz = 0 Config Porta = Output Naslovs = Naslov Rotate Naslov , Left , 8 Naslovz = Naslov Rotate Naslov , Right , 8 Porta = Naslovs Set Portb.0 Reset Portb.0 Porta = Naslovz Set Portb.1 Reset Portb.1 Porta = Vrednost Reset Portd.3 Set Portd.3 End Sub

Dodatek A

- 65 -

7. Literatura

[1] M.Miller, Discovering Bluetooth, Sybex Inc., 2001

[2] Introducing Bluetooth, Media Wiley; http://media.wiley.com/product_data/excerpt/75/07645488/0764548875.pdf

[3] P. Hall, The Bluetooth Name and History, 2002 http://www.developer.com/ws/proto/print.php/10948_1433291_4

[4] M. Bichan, D. Daly, Bluetooth;

http://www.mit.edu/~ddaly/projects/bluetooth/index.html

[5] Ultra energy;

http://www.ultra.si/uploads/files/Wireless_ATG.pdf

[6] Ezurio Blu2i;

http://www.ezurio.com

[7] A. Hočevar, Tehnologija Bluetooth za brezžično komunikacijo, diplomsko delo,

Ljubljana, 2005.

[8] J. Dejak, Pregled delovanja Bluetooth tehnologije ter kvalifikacijskega in tipskega

postopka odobritve naprave, magistrsko delo, Ljubljana 2004

[9] Odredba o radijskih frekvencah, za katere ni potrebno pridobiti odločbe o dodelitvi

radijskih frekvenc, Ur. 1. RS št.91/01

[10] Bluetooth SIG;

http://www.bluetooth.org

[11] Threats and Security Measures, Bundesamt für Sicherheit in der Informationstechnik 2003 [12] Blu2i AT Command Set, Ezurio 2005

[13] Atmel AVR datasheet, Atmel Corporation, 2005; http://atmel.com/dyn/resources/prod_documents/doc2503.pdf

[14] Timekeeprs SRAM, STMicroelectronics,2004; http://www.st.com/stonline/products/literature/ds/2412/m48t58y.pdf

[15] Pocket Loox720, Fujitsu-Siemens; http://vilpublic.fujitsu-

siemens.com/vil/pc/vil/datenblaetter/handheld/ds_pocket_loox_700.pdf

[16] B. Schneir, Applied cryptography, second edition, John Wiley & Soons, Inc., 1996

[17] USB (ang. Universal Serial Bus); www.usb.org/developers

7. Literatura

- 66 -

[18] eMbedded Visual C++ 4.0, Microsoft;

http://www.microsoft.com/downloads/details.aspx?FamilyID=1dacdb3d-50d1-41b2-

a107-fa75ae960856&displaylang=en

[19] Bascom AVR manual, MCS Electronics; http://www.mcselec.com/download/avr/bascom-avr%20manual%201.11.7.pdf

Izjava

- 67 -

Izjava Izjavljam, da sem diplomsko delo samostojno izdelal pod vodstvom mentorja doc. dr.

Boštjana Murovca. Izkazano pomoč drugih sem v celoti navedel v zahvali.

Jaka Čadež