Veebisirvija abil programmeeritava ja jälgitava mikroprotsessorsüsteemi loomine riistvaralähedase programmeerimise e-õppes kasutamise eesmärgil

Size: px
Start display at page:

Download "Veebisirvija abil programmeeritava ja jälgitava mikroprotsessorsüsteemi loomine riistvaralähedase programmeerimise e-õppes kasutamise eesmärgil"

Transcription

1 Eesti Infotehnoloogia Kolledž Veebisirvija abil programmeeritava ja jälgitava mikroprotsessorsüsteemi loomine riistvaralähedase programmeerimise e-õppes kasutamise eesmärgil Diplomitöö IT süsteemide arendamise õppekava Autor: Margus Ernits Juhendaja: Andres Mulin Tallinn 2006

2 AUTORIDEKLARATSIOON Deklareerin, et käesolev diplomitöö, mis on minu iseseisva töö tulemus, on esitatud Eesti Infotehnoloogia Kolledžile lõpudiplomi taotlemiseks Infosüsteemide arendamise erialal. Diplomitöö alusel ei ole varem eriala lõpudiplomit taotletud. Autor Margus Ernits. Töö vastab kehtivatele nõuetele Juhendaja Andres Mulin 2

3 Sisukord Lühendite ja mõistete loetelu... 6 Sissejuhatus Taustainfo Analüüs Lausendid Erinevad võimalused antud laboris e-õppe ja kaugõppe realiseerimiseks Veebi kaudu programmeeritavad kontrollerid ja robotid mujal maailmas Loodava süsteemi eesmärgid ja projekti skoop Majanduslik kasulikkus Loodaval süsteemi rollid Funktsionaalsed nõuded Andmevoo diagramm Mittefunktsionaalsed nõuded Riskianalüüs ja teostatavuse analüüs Tooteriskid Projekti riskid Teostatavuse analüüsi kokkuvõte Disain Kasutatavad tarkvaramoodulid ja valiku metoodika Tulemüür shorewall Virtualiseerimistarkvara valik motion veebikaamera monitor MPS programmeerimisvahendite valik Labor 315 kasutajaliides Tehniline teostus Süsteemi esmane paigaldamine ja virtuaalmasina konfigureerimine Vmware serveri paigaldamine ja konfigureerimine Vmware console installeerimine ja häälestamine Tulemüüri shorewall konfigureerimine Ubuntu Linux installeerimine Mikrokontrolleri 8051 programmeerimiseks vajaliku tarkvara paigaldamine

4 4.1.6 Mikroprotsessorsüsteemi 89c668 laaduri paigaldamine Veebikeskkonna installeerimine ja konfigureerimine apache2 ja php Logitech QuickCam 4000 Pro installeerimine Pildifailide kustutamise protsess Süsteemi administreerimine, jälgimine ja teisaldamine Talituspidevuse tagamine Prototüübi hetkeseis, edasised arendustööd ja uute moodulite lisamine Järgmiste projektide eelanalüüs Autentimise ja autoriseerimisel lisamine olemasolevale süsteemile Süsteemi ründekindlamaks ja töökindlamaks muutmine E-õppe võimaluse loomine Acorn RISC Machinearhidektuurile Süsteemi laiendatavuse võimalikud suunad Kokkuvõte ja järeldused Development of Web Browser Driven and Programmable Microprocessor System for the Purpose of E-Learning Hardware Programming Abstract Kasutatud kirjanduse loetelu LISA 1 Motion konfiguratsioon...56 LISA 2 Diplomitöö virtuaalmasin ja tarkvara algtekstid LISA 3 projekti käigus loodud veebiliidese mooduli 51Kit php algtekstid LISA 4 Programmi Makefile näited kontrolleritele 51Kit ja atmega LISA 5 Host arvuti tulemüüri konfiguratsioon /etc/shorewall/rules LISA 6 /etc/vmware/vmnet8/nat/nat.conf muudatused...68 LISA 7 Guest operatsioonisüsteemi automaatse stardi seadistamine LISA 8 Monitooringuprogrammi nagios konfiguratsiooni muudatused...70 LISA 9 Projekti esimese iteratsiooni ajakava

5 Jooniste sisukord Joonis 1: Üliõpilase tegevused...13 Joonis 2: Õppejõu tegevused...13 Joonis 3: e-õpe kasutades kaugpääsu labori riistvarale...15 Joonis 4: Põhilised andmevood ja tegevused...20 Joonis 5: Tarkvaramoodulite valiku algoritm...27 Joonis 6: Tulemüüri konfiguratsioon...28 Joonis 7: Veebiliidese pealehe struktuur...33 Tabelite sisukord Tabel 1: Projektis kasutatavad moodulid...26 Tabel 2: Virtualiseerimistarkvarale esitatavad nõuded...30 Tabel 3: Mikrokontrolleri 51Kit veebiliidese failide ja kataloogide kirjeldus...34 Tabel 4: Tulemüüris lubatavad teenused...38 Tabel 5: Monitooritavate teenuste nimekiri

6 Lühendite ja mõistete loetelu Tähis MPS AVR SDCC 51Kit GNU Projekt GPL cpeconsole Vmware server shorewall tulemüür Tähendus mikroprotsessorsüsteem protsessori, muutmälu, programmimälu ja sisend/väljund seadmetega firma Atmel seeria mikroprotsessorsüsteemid Small Device C Compiler; GPL litsentsiga kaitstud ANSI C kompilaator Intel 8051, Maxim 80DS390 ja Zilog Z80 MPS süsteemidele Liewenthal Electronics poolt IT Kolledžile annetatud MPS plaadid, mis on kasutusel riistvaralähedase programmeerimise õppeaine laboratoorsetes töödes loodi vaba UNIX laadse operatsioonisüsteemi ja kasutajaprogrammide loomiseks 1984 aastal. Lühend GNU on rekursiivne akronüüm GNU's Not UNIX General Public License on GNU projekti poolt levitatava tarkvara litsents, mis annab tarkvara kasutajale samad õigused tarkvara tootjaga võimaldades programmi kasutada, uurida programmi tööd, muuta programmi, levitada programmi võimaldades oma muudatuste algtekstidele ligipääsu. Kõige levinum avatud lähtekoodiga tarkvara kaitsmisel C-Pec console 89c668 seeria MPS laadur. Saab kasutada 51Kit programmeerimisel EMC omanduses olev tasuta virtualiseerimistarkvara x86 arhitektuuri jaoks Shoreline Firewall on GPL litsentsiga kaitstud open source firewall tool that builds upon the Netfilter (iptables/ipchains) system built into the Linux kernel, making it easier to manage 6

7 Tähis Tähendus more complex configuration schemes. ssh Secure Shell võrguprotokoll ja standard turvalise ühenduse loomiseks kaugarvutisse host vmware serveri masin, mis käitleb virtuaalmasinat diplomitöö realisatsiooniga guest vmware serveris käideldav virtuaalmasin diplomitööga v4l2 Video for Linux Version 2 motion software motion detector tarkvara veebikaamerast pildi saamiseks, töötlemiseks ja veebi kaudu kättesaadavaks muutmiseks netfilter liides Linux operatsioonisüsteemi võrgukihi pakettidega manipuleerimiseks, näiteks nende edastamiseks ja filtreerimiseks nagios GPL litsentsiga võrkude, serverite ja teenuste monitoorimise programm. 7

8 Sissejuhatus Teema valiku ajendiks oli e-õppe võimaluse puudumine riistvaralähedase programmeerimise aine laboratoorsete tööde osas. Praktilist algõpet sängitatud süsteemide alal saab teostada vaid süsteemile juurdepääsu omades või süsteemi lihtsustatud mudeliga, näiteks emulaatoriga tegeledes. Kaugjuhitavaid ning jälgitavaid süsteeme on loodud hulgaliselt (3), kuid antud töös on vaatluse all olemasolevale riistvaralisele platvormile veebiliidese loomine. Töös käsitletava süsteemi kasutamine võimaldab lihtsustada kaugõppe juurutamist ITK's. Kasutatava riistvara ja tarkvara sidumine võib olla keerukas, mitteteostatav või kallis. Samas saavutatav kokkuhoid e- õppe rakendamisest ja õppejõu tippkoormuse ehk kodutööde kontrollimisele kuluva aja vähendamisest võib uue süsteemi arendamisele ja haldamisele kuluva ressursi tasa teha. Lõputöö eesmärgid ja oodatavad tulemused: Analüüsida e-õppe rakendatavust riistvaralähedase programmeerimise laboris Realiseerida prototüüp Luua veebipõhine programmeerimisliides 51Kit platvormile üliõpilase ja õppejõu jaoks Realiseerida kasutatava platvormi jälgimine veebi kaudu Analüüsida projekti laiendatavust teistele sängitatud süsteemide platvormidele. Kasutades robootika suvekooli ja sumorobotite kooli kogemust, analüüsida 8

9 laiendatavust teistele sihtgruppidele näiteks, gümnaasiumite õpetajatele ja õpilastele. Sihtgrupp: Kasu süsteemist on õppuritel, kes saavad riistvaralähedase programmeerimise praktilise osaga tegeleda neile sobivas kohas ja ajal. Õppejõud saab kodutöid kontrollida sobivas kohas ja ajal. kaudu saadud kodutööd saab laadida kontrollerisse/robotisse ja neid seal käivitada Tulevik ja kasvuruum ja järgnevate projektide kirjeldused: Manipulaatoritega varustatud seadet on põnevam programmeerida ja see võib tõsta üliõpilaste huvi vastava aine õppimisel. Käesoleva diplomitöö on jaotatud järgnevalt: taustainfo, kus kirjeldatakse olemasolevat olukorda ja analoogseid projekte mujalt maailmast; analüüsi osaks, mis kajastab loodava süsteemi kirjeldamist, metoodikate valikut ja põhjendust, realiseeritavuse uuringut, funktsionaalsete ja mittefunktsionaalsete nõuete kirjeldust, riskide hindamist ja nende maandamise võimaluste kirjeldust; disaini jaotiseks, milles antakse ülevaade süsteemi arhitektuurist ja tehnilisest realisatsioonist koos prototüübi kirjeldusega; tehnilise teostuse jaotiseks, annab ülevaate süsteemi moodulitest ja arendusest; süsteemi installeerimine on mõeldud süsteemi ülalhoidjale ja katab süsteemi ühest masinast teise tõstmise ja nullist paigaldamise. Eelmisest 9

10 peatükist erineb käesolev suunitluse poolest süsteemi haldamisele. Installeerimisprotsessis käsitletakse virtualiseerimiskeskkonna paigaldamist ja juba konfigureeritud virtuaalmasina käivitamist; haldusprotsessid ja talituspidevuse tagamine kirjeldab haldus- ja monitoorimisprotsesse; kokkuvõte ja järeldused jaotis annab ülevaate töö tulemustest ja uutest võimalustest, millega saaks käesolevat tulemit parendada. 10

11 1 Taustainfo ITK's õpetatava aine riistvaralähedane programmeerimine ID218 (1) laboris on kasutusel Liewenthalis toodetud MPS 51Kit, millele on loodud vastavad laboratoorsed tööd. Riistvaralähedase programmeerimise aines saavad üliõpilased esimese kogemuse sängitatus süsteemide programmeerimisel. Samas laboris tegutseva ITK robotiklubi platvormiks on AVR seeria mikrokontroller atmega88. Laboris on välisvõrku ühendatud server robot.itcollege.ee, mille primaarseks eesmärgiks hoida robotiklubi veebi ja sisuhaldussüsteemi. Võimaluse korral kasutab autor olemasolevaid süsteeme ja ressursse käesoleva projekti teostamisel. Momendil pole laboris kasutusel süsteeme, mis võimaldaks kontrollereid veebi kaudu programmeerida ja jälgida. Laboris on kümme 51Kit plaati ja üle kümne robotiklubi süsteemi. Olemasolevad platvormid ja vahendid ei võimalda veebipõhist praktilist õpet. Loodav süsteem ei baseeru ühelgi kasutuseloleval süsteemil välja arvatud riisvaralised laboriseadmed, millede e-õppe praktikumide võimaldamiseks antud diplomiprojekt on loodud. Enne projekti ekspluatatsiooni andmist ei saa üliõpilane teha aine laboratoorseid töid ilma vastava tarkvara ja riistvara omandamata. Seega ei olnud e-õpe võimalik laboratoorsete tööde vaates. Kodutööde ja laboritööde kontroll sai toimuda analüüsi tulemusena algtekste uurides ja kompileerides. Koodi täielikku toimimist sai kontrollida vaid laboris füüsiliselt kohal olles, mis raskendab hindamist ja koduõpet. Õppetöös kasutatavale vahendile pole üks-üheselt vastavat emulaatorit. Kasutatavaid MPS õppevahendeid on vähe ja neid ei saa üliõpilastele koju laenutada. Riistvaralähedase programmeerimise laboratoorsete tööde tegemiseks peab üliõpilane ennast registreerima õppeosakonnas. Registreerunu saab 3 laboriaega laboris 315. Pärast laboratoorsete tööde sooritamist esitab üliõpilane laboratoorsete tööde aruande õppejõule. Õppejõud kontrollib aruandes esitatud lähtetekste visuaalselt või kui ta on laboris, siis saab ta koodi valideerida reaalset riistvara kasutades. 11

12 2 Analüüs Analüüsi jaotises antakse olemasoleva süsteemi lausendid ja olulisemate kasutusjuhtude valim. Vaadeldakse erinevaid võimalusi e-õppe realiseerimiseks ja määratletakse konkreetse projekti skoop ja edasise programmi sammud koos võimalike järgnevate projektide ja tegevustega. Analüüsi skoop piirdub laboratoorsete tööde temaatikaga ega käsitle muid ITK infosüsteeme ja kasutusjuhte. 2.1 Lausendid Üliõpilane registreerib ennast õppeosakonnas. Õppeosakond annab laborite tegemiseks 3 aega. Üliõpilane teeb laboratoorsed tööd. Üliõpilane esitab laboratoorsete tööde aruande Õppejõule. Õppejõud valideerib aruande. Üliõpilase laboratoorsete töödega seonduvad tegevused on kujutatud Joonisel 1. Õppejõu tegevused on esitatud joonisel Joonisel 2. 12

13 Joonis 1: Üliõpilase tegevused Joonis 2: Õppejõu tegevused 13

14 2.2 Erinevad võimalused antud laboris e õppe ja kaugõppe realiseerimiseks Riistvaralähedase programmeerimise praktiline õpe erineb mõneti tavalisest programmeerimisõppest. Kuna õpitakse opereerima sisend/väljund seadmetega ja programmid ei saa tihti kasutada operatsioonisüsteemi poolt pakutavaid teenuseid, siis on vajalik sardsüsteemi omamine praktikumides. Alternatiivsed võimalused on näiteks emulaatori kasutamine või õppeklassis kasutuses oleva arvuti protsessori käsustiku ja assemblerkeele õpetamine. Üheks võimaluseks on vastavate riistvarakomplektide kojulaenutus. Üliõpilaste jaoks jäävad antud lahendused veidi võõraks. Tavalise arvuti assembleri õppimine ei ole huvitav, kuna samal ajal õpitakse kõrgkeeli, mis annavad neile nähtava eelise ülesannete jaoks, mis neile õppeklassis püstitatakse. Vajalikuks osutub sisend/väljundseadmete ja protsesside juhtimise sissetoomine, mis eeldab teatud liiki sardsüsteemi kasutamist õppetöös. Emulaator suudab tõesti visualiseerida MPS programmeerimise aspekte, nagu sisend/väljund, aritmeetika ja adresseerimine. Samas jääb ka väga hea emulaator hätta reaalse maailma korrapäratuse pakkumisega loodud programmile. Eelkõige on tegu väliste katkestuste emuleerimisega ja mittedetermineeritud anduritega näiteks tavalise laboris kasutusel oleva sardsüsteemi temperatuurianduriga. Ühe võimalusena saaks MPS süsteeme üliõpilastele koju laenutada. See võimaldaks kodutööd ja kaugõpet. Samas peaks iga õppur oma arvutisse installeerima programmide kompileerimiseks ja laadimiseks vajaliku tarkvara. Kuna laboris kasutusel olevad seadmed on programmeeritavad jadaliidese abil ja robotiklubi platvorm paralleeliidese abil, siis kaasaegsed kantavad arvutid ei sisalda enam vastavaid võimalusi ja seaksid tudengid olukorda, kus tuleks hankida vana riistvara. Laboriseadmete laenutamine tooks kaasa mitmeid nõudeid infrastruktuurile. Põhiline probleem on siiski seadmete vähesus. Kuna kodulaenutus nõuaks rohkem riistvara, kui momendil kasutada on, siis tuleks seadmeid juurde tellida, et katta kogu vajadus. Kodulaenutus teeb keeruliseks laborites kasutatavate platvormide vahetamise, kuna uue platvormi kasutuselevõtt nõuab paljude komplektide omandamist. Kaugõppur peab laenutamiseks kooli tulema ja seadmete tagastamist ja jälgimist peab eraldi korraldama. Kuna laboris on programmeerimiseks vajalik riistvara olemas, siis on võimalik 14

15 realiseerida veebiliides programmi kompileerimiseks ja laadimiseks olemasolevate vahendite abil. Kasutaja saab laboratoorse töö teostada veebiliidese abil. Visuaalse tagasiside saab ta veebikaamerast, vaata Joonist 3. Seega kasutades kaugpääsu laboratoorsete tööde riistvarale saab teostada e-õpet ja kaugõpet antud aines. Joonis 3: e-õpe kasutades kaugpääsu labori riistvarale 2.3 Veebi kaudu programmeeritavad kontrollerid ja robotid mujal maailmas Antud töö käigus sai uuritud analoogsete veebipõhiste lahenduste realiseerimist ja nende otstarvet. Vaatluse all olid veebipõhiselt programmeeritavad, jälgitavad ja juhitavad süsteemid. Tihti valmistavad antud lehed pettumuse, kuna mõnda aega tagasi üleval ja töötanud veebilingid ei anna enam vastust (3). Erinevad lahendused veebipõhiseks mikrokontrolleri programmeerimiseks ja jälgimiseks on loodud väga spetsiifilise eesmärgiga. Näiteks (2) legos süsteem on mõeldud lähtekoodi kompileerimiseks ja ei nõua kompilaatori installeerimist oma arvutisse. Õppetöös kasutuses olevad veebist jälgitava ja juhitava raudtee (4) projekt võimaldab tudengitel tegeleda graafiteooriaga ja matemaatikaga. Antud projekt sisaldab jälgimist ja juhtimist aga mitte programmeerimist. Erandiks on veebipõhised MPS ja robotisüsteemid, mis töötavad pikaajaliselt. Kas süsteemi kodulehed või süsteemid ise pole reeglina töökorras. Näitena võib leida, et lehel (3) toodud linkidest ei tööta 90%. Vähestest töötavatest projektidest ei saa kasutada täit funktsionaalsust, kuna süsteemi allosad ei tööta. Näitena võiks tuua aastal 2001 tegutsenud süsteemi (5), mille veebiliides on siiamaani üleval, aga kõik muu on mittetoimiv. Kokkuvõtlikult võib teha järelduse: Veebipõhiselt jälgitavaid või 15

16 juhitavaid või programmeeritavaid sardsüsteeme on loodud ja luuakse tihti ja paljudes kohtades, kuid üle ühe või kahe aasta elus püsinud süsteem on haruldus. See järeldus määrab ära olulise disainisuuna antud projektis. Keskenduda tuleb süsteemi edasisele haldusele ja elushoidmisele. Näiteks annab süsteemiga siduda õppetööd hõlbustavaid mooduleid nagu õpilase laborisse registreerimine ja aruannete esitamise. See lisaks süsteemile andmebaasi, selle kasutajaliidesed ja mõned haldusprotsessid. Samas on seotud süsteemi raskem hallata ja ka hiljem vajaduse tekkimisel lahti siduda. Kuna pole mõtet luua süsteemi üheks aastaks, siis tuleb arvestada, et iga lisanduva sõltuvusega teise süsteemi või uue põhiprotsessi toimimisega mittetegeleva mooduli lisamine võib valupunktis olevat ekspluatatsiooniaega veelgi vähendada. 2.4 Loodava süsteemi eesmärgid ja projekti skoop Lõputöös käsitletava süsteemi skoop sai kokku pandud tellija, ehk riistvaralähedase programmeerimise aine õppejõuga. Skoobi määramisel oli oluline saada prototüübiline tõestus süsteemi võimalikkusele antud keskkonnas ja analüüsida lisanduvaid võimalusi ja vajadusi järgnevateks projektideks. Süsteemi eesmärgid on: e-õppe võimaldamine riistvaralähedase programmeerimise laborites loodud rakendus on arendatav ja omab selleks vajalikku dokumentatsiooni; süsteem omab administreerimiseks vajalikke juhiseid ja on monitooritav, taasinstalleeritav ja teisaldatav teisele serverile. Tellija poolt määratletud teemad: 1. pääsukontroll; 2. laboriseadmete reserveerimine ehk laboritele registreeriminele; 3. kaughaldamine ja süsteemi administreerimine; 4. laboratoorsete tööde tegemine; 16

17 5. sessiooni lõpetamine; 6. aruande esitamine. Kasutusjuhtudes kuuluvad antud projekti skoopi järgnevad teemad: laboratoorsete tööte tegemine veebisirvija abil; kaughaldus ja süsteemi administreerimine; sessiooni lõpetamine ehk ajutiste sessioonipõhiste failide ja sätete kustutamine. Antud projekti skoopi ei kuulu: pääsukontroll; laboriseadmete ja aegade reserveerimine; aruande esitamine ehk laboriaruannete koostamine, esitamine ja saamine. Koostöös tellijaga määraleti antud projekti põhiväljundiks veebipõhise õppe võimalikkuse analüüs ja töötava prototüübi loomine ühele laboris kasutatavale platvormile (soovitavalt 51Kit). Prototüübile esitatavad nõuded: programmi algteksti saab süsteemi laadida veebisirvija abil; algteksti kompileerib süsteem ja kasutaja arvutis pole vajalik kompilaatori olemasolu; kompileerimise veateated või õnnestumise teated tagastatakse kasutajale; edukalt kompileeritud programmi saab laadida kontrollerisse; laadimise tulemus tagastatakse kasutajale; laetud programm käivitatakse kontrolleris; käivitatud programmi täitmist saab visuaalselt vaadelda veebisirvija kaudu; 17

18 2.5 Majanduslik kasulikkus Lõputöö tellija on ITK. Töö tulemus hoiab kokku üliõpilaste aega ja võimaldab laboratoorseid töid teha kodus või tööl. Esitatud laboriaruannete valideerimine läheb lihtsamaks, kuna õppejõud saab kasutada veebiliidest tulemuse kontrollimiseks. See hoiab kokku õppejõu aega. Töö tulemina valmiv süsteem võimaldab laborite tegemisele ka kaugõppe vormi. Kaugõppe võimaldamisega saab ITK tõsta oma eeliseid kõrghariduse pakkujana. Eraldi võiks välja tuua lisaväärtusena tekkiva keskkonna, mis on kaugadministreeritav ja võimaldab sängitada ka teisi veebipõhiseid projektiaine või diplomiprojekti teenuseid. kaugõppe võimaldamine; üliõpilase aja kokkhoid; õppejõu aja kokkuhoid; 2.6 Loodaval süsteemi rollid Kasutaja (Üliõpilane) kasutab keskkonda e-õppes. Üliõpilane koostab programmi algteksti ja laeb selle süsteemi, mis kompileerib koodi ja laeb tulemuse kontrollerisse; Kasutaja (Õppejõud) kasutab keskkonda üliõpilaste kodutööde kontrollimiseks ja uute laborite kaugarenduseks. Süsteemi seisukohast on tegevused sarnased üliõpilase rolliga; Süsteemi administraator haldab olemasolevat süsteemi ja installeerib uusi instantse, ning uuendab süsteemi osi vastavalt turvanõuetele Süsteemi arendaja lisab süsteemile uusi võimalusi tegeleb vigade parandamisega 18

19 2.7 Funktsionaalsed nõuded Vajadus e-õppe ja kaugõppe järele määrab, et veebi kaudu peab olema programmeeritav vähemalt labori õppetöös kasutatav kontroller 51Kit. Seega on realiseeritavad funktsioonid järgmised: kasutaja saab laadida programmi algteksti süsteemi; süsteem kompileerib algteksti kontrollerile laetavaks mooduliks; kompileerimise tulemus ja veateated tagastatakse kasutajale; veatult kompileeritud moodul laetakse kontrollerisse; laadimise tulemus tagastatakse kasutajale; laetud programmimoodul käivitatakse kontrolleris; käivitatud programm on visuaalselt jälgitav veebisirvija abil. 19

20 2.8 Andmevoo diagramm Andmevood, põhiprotsessid ja vahesalvestused on näha joonisel 2. Keskseks elemendiks on kontroller, kuhu algtekst masinkoodiks teisendatuna jõuab. Tagasisideks on ette nähtud veebikaamera, millest lähtuv pildivoog jõuab tagasi lõppkasutajale. Joonis 4: Põhilised andmevood ja tegevused 2.9 Mittefunktsionaalsed nõuded Antud juhul on mittefunktsionaalsed nõuded juba analüüsi faasis teada. Mittefunktsionaalsed nõuded tulenesid kokkulepetest tellijaga ja olemasoleva infrastruktuuri nõuetest. installeeritav 2 tööpäeva jooksul uude keskkonda (uus serveri riistvara või tarkvara); 20

21 saab kasutada nii vabavaralisel, kui ka Windows platvormil; süsteemi saab integreerida ja lisada uusi MPS seadmeid; süsteemi saab kopeerida ja kasutada mitmes instantsis lisades vastava riistvara ja tarkvara; süsteemi toimimist saab jälgida; süsteem on võimeline saatma teateid väiksematest probleemidest ja vigadest ile; uue MPS süsteemi lisamises on vajalik dokumentatsioon olemas; Installeeritav uude keskkonda 2 tööpäeva jooksul tuleneb tuleviku võimalikust vajadusest serveri riist- või tarkvara uuendamiseks. Tööpäevade arv on suurusjärk, mis määrab ära süsteemi võimaliku keerukuse. Lõppkasutaja saab süsteemi kasutada nii vabavaraliste vahenditega, kui ka Windows platvormil. Nõue süsteemi mitme instantsi võimalikkuse kohta on vajalik selleks, et kui süsteem saab väga populaarseks ja on pidevalt üle koormatud, siis saaks koormust jagada. Jälgitavuse nõue võimaldab kiirelt veenduda, kas mõni süsteemi tööks vajalik moodul on seiskunud. See võimaldab süsteemi riket lokaliseerida ja kiiremini rakendada süsteemi töö taastamiseks vajalikke meetmeid. Nõue süsteemi tehnilisele dokumentatsioonile võimaldab parandada laiendatavust ja hallatavust Riskianalüüs ja teostatavuse analüüs Riskianalüüs on läbi viidud lähtudes kahest aspektist. Tooteriskide all vaadeldakse valmistoote kasutamisega seotud riske. Projektiriskide all käsitletakse riske, mis on tulenevad antud projekti läbiviimisest etteantud eelarve, ajakava ja funktsionaalsuse tagamisest Tooteriskid Tooteriskidena võiks ära tuua järgnevad punktid: üliõpilased käituvad vastavalt tudengi sündroomile ja jätavad oma laborid 21

22 viimasele hetkele ja koormavad loodava süsteemi semestri lõpul üle; maandamiseks tuleb piirata süsteemi aja kergekäelist broneerimist ja volitamata ligipääsu; süsteem on liiga keeruline kasutada ja muutub kasutuks; maandamiseks viia läbi kasutatavuse test ja selle tulemusena kasutajaliides ümber disainida; paljudest omavahel integreeritud tarkvaramoodulitest loodud süsteem on haldamise mõttes keeruline ja mõne komponendi uuendamine näiteks turvakaalutlustel võib koosluse toimimine lõppeda või nõuda uut integreerimis või arendustööd; maandamiseks võimaldada süsteemi eelmise töötava oleku kiiret taastamist; süsteemi ressurss on ebapiisav paralleelsete kasutajate käitlemise seisukohast ja mitmed paralleelsed kasutajad, kes konkureerivad samale MPS ressursile võivad tekitada surnud seisu, kust loodud tulemus ilma administraatori sekkumiseta ei välju; maandamiseks lukustada kriitilised ressursid ühele kasutajale ja kasutada järjekorrasüsteemi. Antud riski maandatakse projekti järgmises etapis, kui risk realiseerub; tulemus on raskesti integreeritav teist e-õppe süsteemidega ja nõuab mõne süsteemi osa muutmist; seda riski antud projektis ei maandata, kuna pole teada riski suurus Projekti riskid Projekti riskidena vaadeldakse probleemi konkreetse diplomiprojekti seisukohast. Osa järgnevatest riskidest pole omased vaid sellele tarkvaraprojektile. Konkreetne süsteem on tarkvaraprojektis mõneti keerukam, kuna omab väga konkreetset sõltuvusekeerukuse seost programmeeritava MPS süsteemiga. Tõenäolisemalt realiseeruvate riskide nimekiri: 22

23 diplomiprojekt on liiga keerukas ja ei saa valmis etteantud ajakava raames; maandamiseks määratled võimalikult täpne skoop koos tellijaga ja minimiseerida keerukate tööde vajalikkus. Antud projekti ajakava (LISA 9); projekti suurendab labori elushoidmiseks vajalikku administreerimistööd tunduvalt; maandamiseks disainida süsteemi hallatavusest lähtudes projekti komponendid vananevad ja süsteemi turvalisus langeb tunduvalt; maandamiseks minimiseerida erinevate vajaminevate komponentide arv ja teha võimalikuks nende kerge uuendamine; tarkvara või riistvaramoodulis esineb tõrge ja selle kõrvaldamiseks kulub palju süsteemiadministraatori aega; maandamiseks võimaldada administraatorile kiire moodus viimase töötava seisu taastamiseks. Disainida süsteem selliselt, et ta ei vajaks staatuse hoidmist andmebaasis, või failisüsteemis; projekti autor lahkub enne e-õppe mooduli täielikku juurutamist ja pole oma tööd kellelegi üle andnud ja projekt hääbub; maandamiseks dokumenteerida projekt ja anda dokumentatsioon üle süsteemi administraatorile koos selgituste ja koolitusega; süsteemi murtakse sisse ja süsteemi olulised failid kustutatakse. ITK mainele mõjub rikutud leht halvasti; maandamiseks võimaldada administraatoril süsteemi kiiret võrgust eemaldamist. kuna süsteem staatust ei hoia, siis saab selle eelmise seisu alati kiiresti taastada. Seejärel süsteemi uuendada ja alles siis võrku tagasi lülitada; 2.11 Teostatavuse analüüsi kokkuvõte Arvestades süsteemide arendamisele ja haldamisele minevaid kulutusi ja seda, et mujal maailmas on sarnased süsteemid lühikese elueaga tuleb disaini faasis keskenduda järgnevatele aspektidele. 23

24 süsteemi tervise jälgimine; töökindluse tõstmine; esialgu implementeerida minimaalne eluks vajalik kogus funktsionaalseid nõudeid; ellimineerida süsteemi sõltuvused välistest süsteemidest. See tähendab mitte integreerida seda teiste süsteemidega; tagada, et süsteem ei peaks salvestama oma staatust; kerge turvapaikade installeerimine ja mittevajalike võimaluste keelamine; teha süsteem iteratsioonide kaupa ja mitte planeerida pikki iteratsioonitsükleid; Ainus mõõdetav tehnilise teostatavuse näitaja on põhifunktsionaalsust katva prototüübi loomine, mis ongi antud diplomiprojekti põhiliseks eesmärgiks. 24

25 3 Disain 3.1 Kasutatavad tarkvaramoodulid ja valiku metoodika Kuna loodav süsteem koosneb veebimoodulist, programmeerimismoodulist, laademoodulist ja tulemuse jälgimiskeskkonnast, siis pole mõttekas kõike algusest peale ise luua. Projekti üheks eesmärgiks on saada valmis etteantud ajakava raames ja see ei luba suuremahulisi programmeerimistöid ette võtta. Võimaluse korral on valik alati open source programmimoodulite kasuks, kuna puudub soetamiskulu ja paigaldamiskulu on ühekordne ja kuulub teostamisele diplomiprojekti autori poolt. Hoolduskulude vähendamiseks kasutatakse antud juhul virtualiseerimise tehnoloogiat, millest täpsemalt edaspidi. Sobivate tarkvaramoodulite valiku algoritm on antud joonisel 5. Projektis on kasutatud erinevate eesmärkide saavutamiseks tabelis 1 kirjeldatud tarkvaramooduleid. Vajalikud moodulid seob veebiliides labor315 mis arendatakse antud projekti käigus. 25

26 Tabel 1: Projektis kasutatavad moodulid Tarkvaramoodul Kasutusala projektis Vajaminevad muudatused vmware server virtualiseerimiskeskkond, ainult konfiguratsioonis kasutatakse administreerimis, teisaldamis ja süsteemi muudatust tagasikerimiseks vmware console kasutusel puuduvad administreerimisvahendina apache2 veebiserverina ja ainult konfiguratsioonis skriptikeele php mootorina php5 kasutajaliidese mootor puuduvad Ubuntu Linux virtuaalmasina OS muutused konfiguratsioonis muutused kernel pwc moodulis Debian GNU Linux vmware server host OS ainult konfiguratsioonis motion v4l2 pilditöötluse tarkvara ainult konfiguratsioonis sshd süsteemi ainult konfiguratsioonis administreerimiseks shorewall kasutusel tulemüürina host ainult konfiguratsioonis masinas labor 315 kasutajaliides php kasutajaliides loodud selle projekti tarbeks sdcc 8051 kompilaator puuduvad gcc-avr atmega kompilaator puuduvad make GNU make süsteem puuduvad kompileerimise ja koodi laadimise hõlbustamiseks Cambozola viewer multipart/x-mixed-replace ainult konfiguratsioonis voo näitamine veebilehel C-Pec console 51Kit laadur parandatud vead GPL programmis nagios teenuste toimimise jälgimise ainult konfiguratsioonis programm 26

27 Joonis 5: Tarkvaramoodulite valiku algoritm 3.2 Tulemüür shorewall Vabavaraline tulemüür on GPL v2 alusel levitatav netfilter konfigureerimisprogramm. Esmase ja piisava valiku antud mooduli kasuks tingis selle kasutamine robot.itcollege.ee tulemüüri konfiguratsiooniprogrammina. Kuna tegu on vabavaraga, mis rahuldab liikluse filtreerimise, ümbersuunamise ja transleerimise nõuded tulemüürile, siis edasine polnud vajadust samalaadset tarkvara edasi uurida. Tulemüüri 27

28 seadistamisel on lähtutud minimaalse vajalikkuse printsiibist, mis nõuab, et tuleb lubada vaid tööks hädavajalikud ühendused ja ülejäänu keelata. Tulemüüri kasutusest annab ülevaate joonis 6. Joonis 6: Tulemüüri konfiguratsioon Projekti käigus teostatud tulemüüri konfiguratsiooni muudatused (LISA 5) 3.3 Virtualiseerimistarkvara valik Kaasaegses IKT maailmas muutub tarkvara järjest võimalusterohkemaks ja keerulisemaks. Suurenevad kulud haldustöödele, kuna keerulist ja paljudest üksteisest sõltuvatest tarkvaramoodulitest koosnevat süsteemi on kallim hallata. Üksikute moodulite uuendamine on problemaatiline, kuna keerulised sõltuvused eri moodulite vahel vajavad 28

29 järjekordset regressioonitesti. Käsitletavas projektis on kasutusel >15 erineva omavahel integreeritud tarkvaramooduli. Kuna tegu on võrgutarkvaraga, mis oma olemuselt on tihti ründeobjektiks, siis on vajadust süsteemi komponente pidevalt uuendada. Vahel on vaja vahetada teenuse riistvara ja tarkvarakomponente. Kuna pole kasulik iga teenuse jaoks eraldada uut riistvara, siis kasutatakse ühel riistvaral mitmeid võrgurakendusi. Erinevate teenuste koostoimeks ühe füüsilise riistvaraühiku peal peavad teenuste poolt kasutatavad tarkvaramoodulid ja nende konfiguratsioon omavahel ühilduma. Kui mõne teenuse uuendus toob kaasa uuenduse ühiskasutuses olevates komponentides või nende konfiguratsioonis, siis tuleb tarkvara uuendades testida ühilduvust ja vajadusel muuta rakendusi või nende konfiguratsiooni. Eriti kriitiline on olukord turvapaikade installeerimisel. Nende paigaldamine võib teenused katki teha ja vähendada kasutatavat funktsionaalsust. Ühiskasutuses olevate komponentidega tegu komplitseeritud olukorraga, kus iga ühine komponent on häälestatud vastavalt kõrgeimatele turvanõuetele, mille dikteerib kõige kõrgema turvanõudmisega infovara, mis antud komponenti kasutab. Seega võib ühe ühiskasutusega komponendi või selle konfiguratsiooni muutmine tõstatada teistele suurema aktsepteeritud jääkriskiga teenuste ümberkonfigureerimist või halvemal juhul ümberprogrammeerimist. Seega on tihti lihtsam kasutada erinevate teenuste jaoks eraldi riistvara koos vastava komplekti tarkvarakomponentidega. Ühest arvutist teise tõstmisel on tihti vaja kõik komponendid uuesti häälestada ja kui vahepeal on uuendenud operatsioonisüsteem ja kasutatavad tarkvarakomponendid on uuenenud, siis võib süsteemi siire võtta ennustamatult palju aega. Seega puudub võimalus öelda, et selle süsteemi ühelt serverilt teisele, uuema tarkvaraga varustatud masinale tõstmine võtab aega N inimtundi. Kuna projekti luues tutvus autor analoogsete töödega mujal maailmas, siis selgus, et leitud projektid enam ei tööta, või on huvitav projekt siirdunud hooldustöödele ja seda määramata ajaks. Antud projekti nullist paigaldamine ja konfigureerimine on suhteliselt keerukas tegevus ja seda tasub võimaluse korral vältida. Komponentide vahelisi ristseoseid ei saa antud projektis otseselt vähendada ilma funktsionaalsuse olulise vähenemiseta. Alternatiiv oleks kogu süsteemi disainimine monoliitse tarkvaramoodulina, kus oleks vähe väliseid sõltuvusi. Samas nõuaks kõikise lähenemine palju arendustööd, ning ei võimaldaks kasu saada vaba tarkvara ühiskonna poolt tehtud uuendustest süsteemi komponentidesse, kuna antud süsteem on vähem levinud ja väga spetsiifiline. Lahendus keeruka süsteemi lihtsaks paigaldamiseks, ning erinevate 29

30 võrgurakenduste kasutamiseks samal riistvaral, minimiseerides komponentidevahelisi sõltuvusi on kasutada virtuaaliseeritud keskkonda iga komplektse võrguteenuse jaoks. Virtualiseeritud teenused võimaldavad: vähendada ühiskasutuses olevate komponentide arvu ja seega nende konfiguratsioonidele esitatavate nõuete võimalikku konfliktsust; süsteemi teisaldamine seisneb virtuaaliseerimiskeskkonna installeerimises ja virtuaalmasina kopeerimises teisele masinale; virtualiseerimine võimaldab süsteemi eelmise töötava seisundi kiiret taastamist; võimaldab kasutada erinevaid virtualiseerimise serveri operatsioonisüsteeme, mis ei pea ühtima virtuaalmasina operatsioonisüsteemidega; Funktsionaalsed ja mittefunktsionaalsed nõuded virtuaaliseerimistarkvarale ja nende vastavus on toodud tabelis 2. Võrdlustabel on täidetud andmetega, mis on pärit (7) lehelt ja sealt viidatud tootjalehtedelt. Tabel 2: Virtualiseerimistarkvarale esitatavad nõuded Nõue/soovitus vmwar e server Xen (8) Plex (9) Bochs (10) Virtual server 2005 R2 (11) Host operatsioonisüsteem võib olla nii Jah Ei Ei Jah Ei GNU Linux, kui ka Windows USB seadmed on automaatsel Jah?*?*?* Ei ühendatavad guest OS külge Virtuaalmasin toetab hetkeseisu salvestust Jah???? Tarkvara on kergesti paigaldatav Jah??? Jah Omab kaughaldusvahendeid Jah??? Jah Omab Linux guest OS Jah Jah Jah Jah Jah Palju infot ja näiteid konfigureerimise Jah Jah Jah jah Jah kohta Tasuta tarkvara Jah Jah Jah Jah Ei Vabavara Ei Jah Jah Jah Ei 30

31 * ei õnnestunud hankida infot, et vastav omadus oleks võimalik Projekti virtualiseerimistehnoloogiaks valis autor vmware server (6) tarkvara, kuna kõik funktsionaalsed ja mittefunktsionaalsed nõuded olid täidetud. 3.4 motion veebikaamera monitor Veebi kaudu programmeeritava MPS süsteemi jälgimiseks on kasutusel USB veebikaamera. Visuaalne tagasiside programmeeritavast süsteemist on universaalne ja ei nõua erilahendust iga uue jälgitava süsteemi kohta niikaua, kui süsteemid annavad silmaga nähtavat tagasisidet. Kuna laboris kasutatavad seadmed seda teevad, siis pole vaja luua spetsiaalset moodulit, mis loeks MPS väljundeid ja annaks veebirakendusele sisendeid. Tarkvaramoodul motion (12) võimaldab video for linux 2 (13) seadmetelt pilte laadida ja neid http multipart/x-mixed-replace voona veebi saata. Vastab voog on jälgitav vabavaraliste vahenditega cambozola viewer (14) ja vlc (15). Valitud moodul salvestab pildifaile etteantud kataloogi, kui kaamerast tuleval pildid on muudatus. Programm võimaldab kasutada mitut kaamerat ja seega saab kasutada mitut programmeerimissüsteemi korraga. Projektis tarkvaramoodul motion kasutusel ka kaamera heleduse, kontrastsuse ja läve määramiseks. Piltide laadimine USB kaamerast võtab ~30% projektis kasutuses olevast PIII 500MHz protsessori ajast. Kuna motion võimaldab ühendada mitut v4l2 seadet ja saata nende pildivoogu veebi, siis saab korraga jälgida mitut MPS plaati. Kuna USB 1.1 kaamera hõivab kogu kontrolleri ribalaiuse (12), siis saab kahe kontrolleriga masinaga jälgida kuni kahte plaati. Samas võimaldab süsteem kasutada ka teisi v4l2 seadmeid nagu framegrabber tüüpi TV-kaardid ja videokaardid. Seega pole kaamerate valik piiratud USB seadmetega. Antud kaameratüüp sai valitud selle odavust arvestades. Iga kaamera lisamiseks tuleb muuta motion konfiguratsioonifaili (LISA 1) lisades uue videoseadme ja pordi, kuhu seadme voog suunatakse, ning kopeerida kataloogi /home/robot/public_html/kaamera0 sisu uue nimega /home/robot/public_html/kaamera1, ning muuta kaamera.html seest pildivoo pordi numbrit. 31

32 3.5 MPS programmeerimisvahendite valik Laboris kasutatava platvormi 51Kit algtekstide kompileerimiseks kasutatakse vabavaralist kompilaatorit Small Device C Compiler sdcc (16). Kuna antud kompilaator rahuldab funktsionaalsed vajadused, on GPL litsentsiga, ning kasutatav erinevatel platvormidel, siis pole vajadust alternatiive uurida. Robotiklubis kasutusel oleva platvormi atmega88 programmeerimiseks on kasutusel gcc-avr (17), mis katab samuti eelnimetatud vajadused. Koodi laadimiseks atmega88 platvormile on kasutusel avrdude (19) tarkvara. Laboriplatvormi 51Kit jaoks on momendil kasutusel flashmagic (18), mis on tasuta tarkvara, kuid suletud koodiga ja toetab vaid Windows platvormi. Seega antud projektis seda kasutada ei saa. Eelnimetatud nõuetele vastas C-Pec console (20) tarkvara. Vastavast tarkvarast on olemas graafilise kasutajaliidesega versioon, mis testimisel töötas 51Kit kontrolleriga koos hästi. Koodi sai laadida ja koodi laadimise õnnestumisest või mitteõnnestumisest sai korraliku tagasiside. Kuna graafilist kasutajaliidest ei ole mõtet veebi kaudu juhtida ja käsurea versioon programmist peaks sisaldama alamhulka graafilise liidesega programmist, siis sai valitud C-Pec console tarkvara. Integreerimistestide käigus selgus, et käsurealt käivitatavas versioonis olid programmivead, mis avaldusid käsurea parameetrite lugemisel. Projekti käigus said vastavad vead C-Pec console tarkvarast kõrvaldatud. Hilisem veebiserveriga integreerimine tõi programmist esile uued puudused, mis käsurealt käivitades välja ei tulnud. Seega muutis autor järjestikpordi initsialiseerimise koodi, mille tulemusena php funktsiooni abil välja kutsutud C-Pec console programm käitub korralikumalt. Varem õnnestus koodi laadimine veebiserveri poolt vaid 80% juhtudel. Projekti lõpptulemusena muudetud C-Pec console programmikood töötab ka veebiserverist käivitamisel, kui serveri protsessor pole üle 99% hõivatud muude tegevustega. Kuna tagasiside moodul vajaks antud töö järgnevates etappides täiendamist, siis momendil pole GPL litsentsiga kaitstud tarkvaramooduli autoritele veel täiendusi saadetud. Uuendatud versioon asub diplomitöö DVD plaadil (LISA 2). 32

33 3.6 Labor 315 kasutajaliides Süsteemi kasutajaliidese loomisel on programmeerimiskeeleks valitud php, kuna hilisem arendus toimub üliõpilaste poolt, kellede seas on antud veebirakenduste loomisel kasutatav vahend kõige levinum. Halduse seisukohast on tegu ITK-s välisveebis kasutuses oleva vahendiga ja seega majasisene tugi antud tehnoloogiale on hea. Kuna php rahuldab projektis esitatud funktsionaalsed nõuded, ning alternatiivset süsteemi pole ka mittefunktsionaalsete nõuete poolt vaja valida, siis on antud projekti veebiliidesed loodud php vahendeid kasutades. Veebiliidese abil saab kasutaja: 1. Laadida süsteemi programmifaili 2. Kompileerida lähteteksti ja näha kompileerimise tulemust 3. Kompileerimise õnnestumisel saab kasutaja muuta lähteteksti veebisirvijas või tulemuse kontrollerisse laadida 4. Lähteteksti kompileerimise ebaõnnestumisel saab kasutaja laadida parandatud programmifaili uuesti või teha parandused veebisirvijas 5. Viimati kontrollerisse laetud programmide käitumist saab veebisirvija abil vaadata Joonis 7: Veebiliidese pealehe struktuur 33

34 Projektis realiseeritud veebiliides 51Kit asub aadressil: MPS 51Kit poolt täidetava programmi visuaalset väljundit saab jälgida aadressil: Robotiklubi platvormi atmega88 veebiliides asub aadressil: Kuna puudub teine veebikaamera, siis saab atmega88 kontrolleri koodi vaid kompileerida. Projekti edasises käigus on plaanis lisada teine kaamera, koos interaktiivse manipulaatoriga kontrollerile atmega88. Tabel 3: Mikrokontrolleri 51Kit veebiliidese failide ja kataloogide kirjeldus Fail/kataloog Kirjeldus Lisa, kus on antud algtekst footer.php Alumine frame, mis sisaldab infot (LISA 3) projekti autori kohta formupload.inc Veebivorm lähtekoodi serverisse (LISA 3) laadimiseks global.php Globaalsed muutujad ja funktsioonid (LISA 3) header.php Ülemine frame, mis sisaldab ITK logo (LISA 3) ja võimaldab laadida lähteteksti süsteemi index.html Pealeht, mis sisaldab frame kirjeldust (LISA 3) ja põhilist kasutajaliidese jaotust main.php Koodi laadimise ja kompileerimise (LISA 3) veebiliides menu.php Abitekst koos menüüga (LISA 2) pic Pildifailide kaust (LISA 2) refreshmain.inc Programmi laadimisakent värskendava abikood (LISA 2) samples Näiteprogrammid õppeaine kodulehelt (LISA 2) 34

35 Fail/kataloog Kirjeldus Lisa, kus on antud algtekst (21) stile Stiilifaili kaust (LISA 2) var Konkreetse kontrolleri programmeerimiseks vajaliku Makefile (LISA 4) asukoht ja C päisefailide asukoht. Antud kataloogi tekitatakse vajalikud abifailid, ajutised failid ja mikrokontrollerisse laetav programmifail (LISA 2) Loodud veebiliidest saab kergesti kohandada erinevatele kontrolleritele laaduritele. Üksteisest on eraldatud kasutajaliidese disain, ning programmi kompileerimise ja laadimise süsteem. Veebiliides kutsub välja GNU Makefile koos korraldustega make ja make load. Käsklus make kompileerib lähtekoodi ja veebiliides järeldab kompileerimise tulemusese alusel, kas kuvada nupp programmi kontrollerisse laadmiseks. Peale edukat kompileerimist saab kasutajaliidesest valida nupu Lae, mis käivitab make load korralduse. Iga kontrolleri algteksti kompileerimise spetsiifika ja programmi laadimise funktsionaalsus on implementeeritud Makefile (LISA 4) sees ja on veebiliidese kasutajakihist lahus. 35

36 4 Tehniline teostus 4.1 Süsteemi esmane paigaldamine ja virtuaalmasina konfigureerimine Esmane installeerimine seisneb virtualiseerimistarkvara paigaldamises ja konfigureerimises, ning esimese süsteemitõmmise loomises ja testimises. Virtuaalmasina tõmmise esmane installeerimine ja konfigureerimine toimub antud töö raames ja selle tulemust on hiljem kergem siirdata teise serverisse võrreldes süsteemi komponentide uuesti paigaldamise ja konfigureerimisega Vmware serveri paigaldamine ja konfigureerimine Vmware serveri installeerimiseks vajaliku tasuta tarkvara saab Vmware inc (6) kodulehelt. Tarkvara lahtipakkimiseks ja installeerimiseks: tar zxvf Vmware-server-e.x.p tar.gz cd vmware-server-distrib/ su - apt-get install x-window-system-core./vmware-install.pl Installatsiooniprotsessi käigul luuakse kataloog virtuaalmasinate hoidmiseks, mille jätame vaikeväärtusega /var/lib/vmware Konfigureeritakse vmware console port, mille järame vaikeväärtusega

37 Kuna virtuaalmasinas käideldavad teenused peavad olema kättesaadavad välisvõrgust, siis tuleb konfigureerida portide suunamine host serverist guest süsteemi. Selleks tuleb seadistada virtual network nat. Failis /etc/vmware/vmnet8/nat/nat.conf muudatused (LISA 6) Vmware console installeerimine ja häälestamine Administraatori ja arendaja arvutisse on soovitatav installeerida vmware console tarkvara, mis võimaldab konfigureerida host arvutis olevaid virtuaalmasinaid. Kasutusel olevaid virtuaalmasinaid saab konfigureerida ka ssh ühendust kasutades. Samas tagab vmware console ligipääsu ka sellisele virtuaalmasinale, milledel pole võrguühendust konfigureeritud. Antud tarkvara abil saab näha ka käivituvat ja peatuvat masinat, kuna nähtav on kogu graafikakaardile suunduv info. Seega lihtsustab haldus- ja arendusprotsess tunduvalt. Kuna töös kasutatava riistvara küljes pole ei kuvarit, hiirt ega klaviatuuri, siis kaughaldus on mõistlik lahendus. Tarkvara installeerimine: unzip Vmware-server-linux-client-e.x.p zip cd vmware-console-distrib su -./vmware-install.pl Peale vmware console installeerimist ja host arvutis tulemüürist pordi 902 lubamist saab projektis kasutatavat masinat administreerida console tarkvara omavalt arvutilt. Ühenduse turvalisuse tõstmiseks on kasutusel ssl kanal. 37

38 4.1.3 Tulemüüri shorewall konfigureerimine Tulemüüris lubatavate teenuste nimekiri ja kirjeldused on toodud tabelis 4 Tabel 4: Tulemüüris lubatavad teenused Pordi number Teenus Ligipääsu reeglid Suunamised ja märkused 22 ssh Ainult ITK sisevõrgust Kasutatakse host süsteemi konfigureerimiseks 902 vmware console Ainult ITK sisevõrgust Kasutatakse virtuaalmasinate konfigureerimiseks 922 ssh Ainult ITK sisevõrgust Kasutatakse sisemise guest masina administreerimiseks 8080 motion http veebikaamera pilt Igalt poolt Kui kaameraid tuleb juurde, siis lisada pordid 8081 jne 800 http - veebikeskkond Igalt poolt Port on suunatud sisemise virtuaalmasina porti http robot.itcollege.ee Igalt poolt Tegu on robotiklubi CMS süsteemiga ja seega ei saa antud töös seda porti kasutada 443 https robot.itcollege.ee Igalt poolt Tegu on robotiklubi CMS süsteemiga ja seega ei saa antud töös seda porti kasutada 38

39 Lisas (LISA 5) kirjeldatud reeglid lisada faili /etc/shorewall/rules, mille tulemusena host arvuti tulemüür sobib loodavale süsteemile Ubuntu Linux installeerimine Installeerimise kiirendamiseks kasutas töö autor server installeerimisprotsessi. Tööks vajalik tarkvara, koos sõltuvate moodulitega sai lisatud hiljem. Kuna projektis nõutav tarkvara sisaldab kerneli muudetud mooduleid, siis tuleb paigaldada kerneli moodulite ehitamiseks mõeldud pakid, ning soovitatavalt ka kerneli algtekst. Kernel header installeerimiseks: apt-get install linux-headers build-essential Kerneli versioon võib vahepeal muutuda ja seega asendage see momendil uusima pakendatud kerneli versiooniga Mikrokontrolleri 8051 programmeerimiseks vajaliku tarkvara paigaldamine Riistvaralähedase programmeerimise laboris on kasutusel Liewenthal Electronics (23) poolt arendatud MPS süsteemi 51Kit. Selle programmeerimiseks kasutatakse antud töös sdcc kompilaatorit. Vajamineva tarkvara paigaldamine Ubuntu ja muude Debian GNU Linux süsteemides: apt-get install sdcc sdcc-doc sdcc-ucsim gputils 39

40 4.1.6 Mikroprotsessorsüsteemi 89c668 laaduri paigaldamine Projektis kasutatav laadur cpeconsole on GPL litsentsiga vabavara. Paigaldamiseks lae tarkvara alla: wget tar zxvf cpeconsole tar.gz cd cpeconsole /configure make su make install Ühenda MPS järjestikliidese abil ja kontrolli laaduri toimimist cpeconsole käsu võtme -i abil: /usr/local/bin/cpeconsole -i Kontroller tagastab oma info Manufacturer ID: 15 Microcontroller ID1: C2 Microcontroller ID2: 85 Boot vector: FC Boot vector: 00 Programmikoodis olid vead plokkide kustutamise ja programmi laadimise protseduurides, mis ei toiminud laboris kasutatava riistvaraga. Kuna programm oli GPL litsentsi all, siis antud projekti käigus sai kood kohandatud sobivaks 51Kit tarbeks. Programmi laadimiseks:./cpeconsole -u -b f programm.ihx -c /dev/ttys0 -i -r Võtmed: u kustutab MPS mäluplokid b määrab ära bitikiiruse f laetava programmi failinimi 40

41 c kasutatava järjestikpordi seadmenimi i kuvad informatsiooni programmeeritava seadme kohta r taaskäivitab MPS süsteemi pärast programmi laadimist Veebikeskkonna installeerimine ja konfigureerimine apache2 ja php Veebiserveri tarkvara apache2 installeerimiseks vajalik käsurida: apt-get install apache2 libapache2-mod-php5 Veebiserver on sellega paigaldatud ja konfigureeritud Logitech QuickCam 4000 Pro installeerimine Kuna antud kaamera ei tööta korrektselt Linux tuumaga kaasas olevate ohjuritega, siis tuli uuemad parandused laadida aadressilt kompileerida ja paigaldada. Versiooni unofficial abil on pilt korras ja moodul motion töötab korrektselt. Eemalda originaalne pwc.ko kerneliga kaasa pakendatud moodul rm /lib/modules/`uname -r`/kernel/drivers/usb/media/pwc/pwc.ko cd /home/marcus/soft/pwc/pwc make sudo make install Peale kerneli vahetust tuleb antud protseduuri korrata ja kompileerida uuemale tuumale 41

42 oma pwc moodul, kui kerneliga kaasas olev moodul ei tööta korralikult ja näitab väga halli pilti Pildifailide kustutamise protsess Kuna veebikaamera salvestab päeva jooksul pilte igast muudatusest, mis on suurem lävest, siis on vaja neid pilte ka eemaldada. Seega konfigureeritakse igal öösel käivituv protsess, mis eemaldab pildifailid. Kui kaamera salvestab üle pildifaili, siis piltide kustutamine öise protsessi tulemusena ei õnnestu ja kustutamine annab vea -bash: /bin/rm: Argument list too long. Maksimaalse lubatud argumentide listi saab järgnevalt: getconf ARG_MAX Kui failinimedes võib esineda tühikuid, siis kindlalt töötav lahendus suure koguse failide kustutamiseks on find ja xargs kombinatsioon. find /home/robot/pildid/ -name '*.jpg' -print0 xargs -0 rm Piltide eemaldusprotsessi käivitamiseks on shell skript, mis käivitatakse süsteemse crontab abil igal öösel. # webcam piltide eemaldamine 0 0 * * * /root/remove_pictures.sh 42

43 5 Süsteemi administreerimine, jälgimine ja teisaldamine Antud jaotis kirjeldab diplomitöö käigus loodava süsteemi paigaldamise põhilisi aspekte ja on mõeldud installeerimisjuhendi sissejuhatuseks. Süsteemi paigaldamine koosneb: virtualiseerimistarkvara paigaldamisest, vaata jaotist Virtuaalserveri ja virtuaalmasina esmane installeerimine; virtualiseerimistarkvara konfigureerimisest Süsteemi esmane paigaldamine ja virtuaalmasina konfigureerimine; administreerimise hõlbustamiseks on soovitav installeerida Vmware server console tarkvara vastavalt jaotisele Vmware console installeerimine ja häälestamine; peale virtualiseerimistarkvara installeerimist tuleb kopeerida virtuaalmasina tõmmisfail ja konfiguratsioonifail; konfigureerida virtual network ja seadistada guest operatsioonisüsteemi IP aadress; serveri operatsioonisüsteemi alglaadimisel virtuaalmasina automaatseks käivitamiseks tuleb serverit häälestada ja lülitada sisse startup/shutdown options valik On host startup: Power on virtual machine (LISA7); Soovitava lisakomponendina võiks paigaldada monitoorimise tarkvara nagios (24). 5.1 Talituspidevuse tagamine Igapäevases haldusprotsessides on vaja eemaldada süsteemi rikked ja probleemid võimalikult varakult. Antud veebipõhise keskkonna kasutamine õppetöös nõuab 43

44 süsteemide pidevat valmidust. Üheks meetodiks probleemide piisavalt varakult avastamiseks on süsteemi pidev seire ja avastatud vigadest teavitamine i kaudu. Kuna monitooritakse projekti käitlevat virtuaalmasinat, siis on seirevahendid installeeritud host masinasse. Monitooritavad teenused on toodud tabelis Monitooritavate teenuste nimekiri (tabel 5) Tabel 5: Monitooritavate teenuste nimekiri Teenus Kirjeldus Tegevus teenuse maasolekul ssh (22) robot.itcollege.ee Teenus vajalik administraatorite host administraatorile grupile ssh (922) robot.itcollege.ee Teenus vajalik arendajate grupile guest virtuaalmasinas paikneva administraatorite projekti arenduseks ja grupile süsteemi administreerimiseks http (80) robot.itcollege.ee Teenus hoiab üleval robotiklubi host veebilehte webmaster grupile http (800) robot.itcollege.ee Teenus on käesoleva administraatorite guest projekti tarbeks. grupile ssl (902) robot.itcollege.ee vmware server vajalik administraatorite host virtuaalmasinate käitlemiseks grupile http (801) robot.itcollege.ee Pildivoog, vajalik e-labori administraatorite guest toimimiseks. grupile robot.itcollege.ee kettad Kontrollitakse vaba ruumi administraatorite kettal. grupile Seireprogrammidest sai valitud spong (25). Peale installeerimist ja konfigureerimist selgus, et antud tarkvaraga on keeruline projektis loodud süsteemi jälgida, kuna vastavate moodulike kirjutamine eeldab perl programmeerimist ja osutus mahukamaks ja keeruliseks antud tähtaja raames. Seepärast on projekti jälgimisel kasutatud GPL 44

45 litsentsiga kaitstud programm nagios (24). Nagios installeerimise protseduur: apt-get install nagios-common nagios-plugins nagios-statd-server nagios-statd-client nagios-text libcrypt-des-perl libdigest-hmac-perl libio-socket-inet6-perl Nagios konfigureerimisel tehtud muudatuste seadistamiseks vaata (LISA 8) 45

46 6 Prototüübi hetkeseis, edasised arendustööd ja uute moodulite lisamine Valminud prototüüp täidab seatud funktsionaalsuse, kuid reaalses töökeskkonnas kasutamiseks on tal rida piiranguid: hetkel on kaetud lähtekoodi laadimise, kompileerimise, kontrollerisse laadimise ja tagasiside funktsionaalsus. Seega prototüübi loomisel püstitatud eesmärgid on täidetud; autentimine ja autoriseerimine puudub Kuna antud projekti eesmärk pole teostada üliõpilast autentivat ja pääsukontrolli tagavat süsteemi, siis on mõistlik vastav teema realiseerida järgmises projektis; põhimõtteliselt on võimalik kasutada C #include konstruktsiooni veebiserverile loetavatest failidest informatsiooni hankimiseks. Antud projekti ajakava ja raskuspunkti valik ei võimalda kõiki sarnaseid probleeme lahendada. Võimalikud arendussuundade ja lahenduste analüüs on järgnevas peatükis; kuna tegu on piiratud riistvaralise ressursiga ja paralleelseid kasutajaid võib tähtaegade lähenemisel tulla palju, siis hakkavad kasutajad üksteist segama. Koostöös tellijaga sai kokku lepitud, et antud projekt ei sisalda järjekorra süsteemi ja aegade reserveerimist. Probleemi lahendamine jääb järgmisesse iteratsiooni, mille eelanalüüsi teostab käesoleva töö autor; riistvaralähedase programmeerimise laboris on kasutusel Arm arhitektuuriga MPS süsteem, mille programmeerimist käesolev projekt ei käsitle. Kuna tegu on uue kontrolleri lisamisega süsteemi, siis saab kasutada olemasolevat veebiliidest, modifitseerides Makefile faile ja kohandades kasutajaliidese faile süsteemile sobivaks. Esmane analüüs järgneb järgmises alljaotises; 46

47 loodud süsteem võimaldab kasutada mitmeid kaameraid ja MPS süsteeme paralleelselt. Kuna visuaalse tagasiside olemasolu lubab kontrolleritega ühendada manipulaatoreid, siis võiks õppetööd huvitavamaks teha lisades valgusdioodide ja LCD ekraanile mõneti atraktiivseimaid väljundeid. 6.1 Järgmiste projektide eelanalüüs Käesolevas jaotises antakse põgus ülevaade järgnevate projektide ja teemade võimalikest valdkondadest, lähenemisviisidest ja erinevate tehnoloogiate rakendatavusest labori e- keskkonna täiustamisel ja arendamisel Autentimise ja autoriseerimisel lisamine olemasolevale süsteemile Autoriseerimisele saab läheneda kasutades kahte põhimõtteliselt erinevat süsteemi. Lihtsa laborisüsteemi realiseerimisel ei tasu vaadelda rollipõhise pääsukontrolli võimalusi, kui neid ITK infosüsteemis ei kasutata. 1. lokaalsed kasutajad ehk iga kasutaja on registreeritud lokaalses masinas ja tema pääsuluba kontrollib süsteem; Eelised: lihtsus, kerge rakendada, koos SSL krüpteerimisega ei saa paroole varastada. Puudused: raske administreerida. Üliõpilaste andmed on niigi olemas kooli LDAP andmebaasis. Iga lokaalne kasutajate baas toob kaasa lisakulu kasutajate õiguste administreerimiseks. Kasutaja paroolifaili lisamiseks peab tegema eraldi administreerimisliidese. Kasutatavus: Kui realiseerida kasutajaliides tudengite lisamiseks ja luua ajapiiranguid arvestav aeguvate pääsureeglitega süsteem, ning tagada paroolide kaitstus näiteks https abil, siis on lahendus päris hea. 2. keskne kasutajate andmebaas: Eelised: administreerimine toimuks olemasolevaid vahendeid ja näiteks AD gruppe kasutades. Puudused: raskem realiseerida ja siduda sellise väikese süsteemi tarbeks ei tasu ennast tõenäoliselt ära. Kasutatavus: 47

48 Lokaalsete kasutajate pääsukontrolli süsteemi rakendamine on suhteliselt lihtne tegevus. Erinevad meetodid nagu Basic Authentication, (26) või kasutajate autoriseerimine kohalikku andmebaasi kasutades on lihtsad juurutada, kuid keerulised hallata. Pääsukontrollisüsteemi juurutamine annab võimaluse realiseerida järjekorra ja registreerimissüsteeme. Kõige kiiremini saab juurutada Basic Authentication skeemi. Enne labor315 üliõpilastele kasutamiseks andmist tuleks realiseerida juurdepääsu ajaliselt piirav süsteem, kuhu saab andmeid sisestada õppejõud või õppeosakond Süsteemi ründekindlamaks ja töökindlamaks muutmine Lihtne meetod süsteemi kindlamaks muutmisel on jailed (27) keskkonna kasutamine veebiserveri poolt käivitatavate make sessioonide jaoks. Üheks lahenduseks oleks php sessioonide kasutamine kombineerituna jail keskkonnaga. Sessiooni loomisel php abil tekitataks sessioonipõhised make tööks vajalikud failid jailed keskkonda. Seejärel saab üliõpilane vabalt toimetada ilma teiste inimeste faile ja süsteem ohtu seadmata. Peale lähteteksti laadimist ja kompileerimist saab vabade kontrollerite/kaamerate komplekti haaramiseks kasutusele võtta lukustusmehhanismi. Koodi laadimine kontrollerisse annaks näiteks maksimaalselt 1 minutilise täitmise ja lukustuse konkreetset sessiooni omavale inimesele. Kogu jailed keskkond ja lukud ressurssidele eemaldatakse peale süsteemist väljumist koos php sessiooniga E õppe võimaluse loomine Acorn RISC Machinearhidektuurile Acorn RISC Machine edaspidi ARM (28) arhitektuuri toetamise võimalikkuseks piisab vaba, linux süsteemis töötava kompilaatori ja laaduri olemasolust ja nende töö testimisest. Peale kompilaatori ja make süsteemi häälestamist on selle sidumine ülejäänud süsteemiga suhteliselt lihtne ülesanne. Samas võib juhtuda see, mis juhtus käesolevas projektis, et vabavaraline laadur lihtsalt ei tööta konkreetse seadmega ja selle koodi tuleb ise kohendada. Kui laadur ja kompilaator on käsurealt make ja vastava Makefile abil juhutavad ja progamm linux süsteemis kontrollerisse laetud, siis edasised tegevused on järgnevad: 1. kopeerida 51Kit0 kataloog näiteks kataloogiks arm0; 48

49 2. vahetada välja var alamkataloogis asuvad C päisefailid ja Makefile; 3. muuta global.php failis asuvaid globaalseid muutujaid; 4. NB! dokumenteerida kogu tehtud tegevus Süsteemi laiendatavuse võimalikud suunad Loodud süsteemi saab muuta atraktiivsemaks lisades kontrolleritele erinevaid väljundseadmeid, nagu näiteks manipulaatorid, sideseadmed jne. Täiesti mõeldav on ka veebipõhiselt programmeeritava roboti loomine, kuna mikrokontrolleri sisendite külge saab ühendada roboti andureid. Manipulaatorite liikumist saab veebikaamera abil jälgida juba prototüübi loomisel tekkinud süsteemiga. Manipulaatoritega varustatud robot oleks üliõpilastele atraktiivsem ja tõstaks huvi riistvaralähedase programmeerimise vastu. Kui vastava seadme programmeerimine viia võimalikult lihtsatele alustele, siis on mõeldav ka gümnaasiumite kaasamine veebipõhise roboti programmeerimise õppesse. Seda tüüpi projekt tõstaks kooli mainet ja võiks osalejates äratada potentsiaalset huvi ITK, kui võimaliku tulevase rakendusliku kõrghariduse andja vastu. Kui süsteemile luua võimalikult mänguline keskkond koos vahelduvate ülesannetega, siis võib sellega äratada kooliealise põlvkonna huvi tehnikateaduste vastu. Seega on arenguruumi rohkem, kui ühe projekti jaoks. 49

50 7 Kokkuvõte ja järeldused Käesolev diplomitöö käsitles e-õppe võimalikkuse analüüsi riistvaralähedase programmeerimise aine laboratoorsete tööde osas. Autori töö tulemusena valmis toimiv prototüüp laboriseadmele 51Kit. Prototüüp võimaldab üliõpilasel teha veebisirvija abil vastava platvormiga seotud laboratoorseid töid. Loodud lahendus võimaldab õppejõul kontrollida talle esitatud laboratoorsete tööde aruannetes olevaid lähtetekste. Laadides algtekstid veebisirvija abil kontrollerisse, ning valideerides aruande õigsust visuaalselt, nähes täidetavat tulemust. Veebisüsteemi kasutamine ei eelda kasutaja arvutis vastava kompilaatori, ning laaduri olemasolu. Laetud programmikoodi täitmist saab kasutaja vaadelda veebisirvija abil. Tagasiside on visuaalne ja selle allikaks on kaamera, mis jälgib kontrolleri valgusdioode ja ekraani. Prototüüp sisaldab järgmist funktsionaalsust: algteksti laadimist loodud süsteemi labor315; algteksti kompileerimist masinkoodi; kompileeritud koodi laadimist kontrollerisse ja selle käivitamist; kontrolleri väljunditena kasutusel olevate valgusdioodide ja LCD ekraani jälgimist veebisirvija abil. Esitatud diplomitöö sisaldab järgnevaid alamosi: sissejuhatusest ja taustainfost, kus kirjeldatakse olemasolevat olukorda ja määratakse projekti üldisemad eesmärgid; 50

51 analüüsi osast, kus uuritakse e-õppe rakendamise võimalikust ja erinevaid lähenemisviise projekti teostamisele. Analüüsi tulemusena pannakse koos tellijaga paika projekti skoop ja täpsustatud, antud projekti kuuluvad eesmärgid. Hinnatakse riske ja nende maandamise võimalusi ning esitatakse analüüsi kokkuvõtlik tulemus; disaini jaotises kirjeldatakse süsteemse tarkvarakomponentide valikut ja kasutajaliidese üldist disaini. Vaadeldakse erinevate tarkvarakomponentide võimalusi ja määratletakse integreerimise ning kohapeal vajaliku koodikirjutamise piirid; tehnilise teostuse jaotises tegeletakse süsteemi tarkvarakomponentide integreerimise ja virtualiseerimisega. Realiseeritakse prototüüp ja kirjeldatakse, ning kirjutatakse süsteemi hilisemat haldust abistavad protsessid ja programmid; süsteemi administreerimise, jälgimise ja teisaldamise peatükk kirjeldab süsteemi virtuaalmasina siirdamist teise serverisse ja annab juhised virtualiseerimistarkvara paigaldamiseks. Olulise komponendina sisaldab talituspidevuse jälgimise soovitusi ja vastava tarkvara paigaldamise juhiseid; prototüübi hetkeseis, edasised arendustööd ja uute moodulite paigaldamine sisaldab projekti hetkeseisu kirjeldust ja tulevaste projektide eelanalüüsi; Seatud eesmärgid ja nende saavutamine: analüüsida e-õppe rakendatavust riistvaralähedase programmeerimise laboris - on saavutatud; realiseerida prototüüp - on saavutatud; luua veebipõhine programmeerimisliides 51Kit platvormile üliõpilase ja õppejõu jaoks realiseerida kasutatava platvormi jälgimine veebi kaudu analüüsida projekti laiendatavust teistele sängitatud süsteemide platvormidele. - on saavutatud ja osaliselt ka realiseeritud prototüübi 51

52 raames; kasutades robootika suvekooli ja sumorobotite kooli kogemust, analüüsida laiendatavust teistele sihtgruppidele näiteks, gümnaasiumite õpetajatele ja õpilastele - on saavutatud. Seega on autori arvates projekti esmased eesmärgid saavutatud ja ületatud. Sügisel 2006 algab pilootprojekt reaalsete kasutajatega. 52

53 8 Development of Web Browser Driven and Programmable Microprocessor System for the Purpose of E-Learning Hardware Programming Margus Ernits Diploma thesis 8.1 Abstract This thesis focuses on possibilities of using web browser driven e-learning in hardware programming laboratory at IT College. Current thesis contains the following parts: initial investigation of e-learning alternatives, analysis, design, technical realization of prototype and conclusions. Project goals are: investigate possibilities of e-learning at hardware programming laboratory; implement prototype; investigate scalability of project; Prototype functionality includes: loading source code to system; source code compiling; loading machine code to microprocessor system; system gives visual feedback of executed program to the user. All project goals were met. Prototype of solution was installed to live system. Pilot project of e-learning starts in September

54 9 Kasutatud kirjanduse loetelu 1. Eesti Infotehnoloogia Kolledž Riistvaralähedane programmeerimine õppeaine kaart [ 2. LegOS Compile legos Code [ 3. NASA Telerobotics programm [ 4. Freiberg, Institute of Computer Science [ 5. CMU's School of Computer Science [ 6. EMC vmware [ 7. Wikipedia Virtualiseerimistehnoloogiate võrdlustabel [ 8. University of Cambridge The Xen virtual machine monitor [ 9. sf.net plex86 [ 10. sf.net Bochs [ 11. Microsoft Microsoft Virtual Server 2005 R2 [ 12. sf.net motion Motion - Web Home [ 13. v4l Video For Linux 2 [ 54

55 14. Cambozola cambozola viewer [ 15. VideoLan Video Lan client [ 16. SDCC projekt Small Device C Compiler [ 17. GNU GNU C compiler [ 18. Avrdude AVR Downloader/UploaDEr [ 19. Embedded Systems Academy flashmagic [ 20. C-Pec console Flash Software for ISP with 89c668 [ 21. ITK Riistvaralähedase programmeerimise aine koduleht [ 22. Vmware Vmware nat advanced configuration [ 23. Liewenthal Electronics Ltd [ 24. Nagios.org Nagios a host, service and network monitoring program [ 25. spong Systems and Network Montoring [ 26. wikipedia Basic authentication scheme [ 27. wikipedia Jail environment [ 28. wikipedia Acorn RISC Machine [ 55

56 LISA 1 Motion konfiguratsioon Projektis teostatud muudatused on kirjastiilis bold. # Minimal motion example config file provided by the # Debian motion package - for basic webcam operation. # You most certainly want to investigate # /usr/share/doc/motion/examples/motion-dist.conf.gz # for further configuration options. Also, refer to the # motion man page and /usr/share/doc/motion/motion_guide.html # for detailed information on configuration options. daemon on quiet on # You may very well need to change this (check with 'dmesg' # after plugging in your webcam) videodevice /dev/video0 # Image size in pixels (valid range is camera dependent) width 640 height 480 framerate 10 quality 80 auto_brightness off # Initial brightness, contrast, hue (NTSC), and saturation # 0 = disabled (valid range 0-255) brightness 80 contrast 200 saturation

57 hue 150 # Encode movies in real-time (install ffmpeg before enabling) ffmpeg_cap_new off # Codec to be used by ffmpeg for the video compression. # Supported formats: mpeg4, msmpeg4. ffmpeg_video_codec msmpeg4 # Target base directory for pictures and films # You should probably change this (create dir beforehand) target_dir /home/robot/pildid # Define a port number (e.g. 8000) to enable the mini-http server # 0 = disabled webcam_port 8080 # Set to 'off' to allow anybody (not just localhost) to view the # webcam via the mini-http server ( webcam_localhost off webcam_quality 50 webcam_maxrate 8 night_compensate on webcam_motion on 57

58 LISA 2 Diplomitöö virtuaalmasin ja tarkvara algtekstid Antud lisas asuval DVD plaadil on diplomitöö tulemusena tekkinud virtuaalmasina tõmmisfailid kataloogis vm_image. Projekti tulemusena tekkinud programmikoodide lähtetekstid on kataloogis svn_source_files. Projektis kasutatavate vabalt levitatavate tarkvaramoodulite lähtetekstid asuvad kataloogis gpl_programs. 58

59 LISA 3 projekti käigus loodud veebiliidese mooduli 51Kit php algtekstid Fail footer.php /* fail footer.php sisaldab pealehe jalust ja kuvab infot autori kohta */ <? include_once("global.php")?> <?php print_header("autor Margus Ernits ITK 2006");?> Autor Margus Ernits ITK 2006 <?php print_footer();?> Fail global.php sisaldab globaalseid muutujaid ja funktsioone erinevate php moodulite ühiskasutuse jaoks. <?php $global_home="/home/robot/public_html/51kit0"; function print_header($title){ echo("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"); echo("<!doctype html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\" \" rg/tr/xhtml11/dtd/xhtml11.dtd\">\n"); echo("<html xmlns=\" echo("<head>\n"); echo("<title>$title</title>\n"); echo("<meta name=\"generator\" content=\"quanta Plus\" />\n"); echo("<meta name=\"author\" content=\"margus Ernits\" />\n"); echo("<meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\" />\n"); echo("<link rel=\"stylesheet\" href=\"./stile/stiil.css\" />"); echo("<style type=\"text/css\">\n"); echo("/* <![CDATA[ */\n"); echo("/* ]]> */\n"); 59

60 echo("</style>\n"); echo("<script language=\"javascript\" type=\"text/javascript\">\n"); echo("/* <![CDATA[ */\n"); echo("/* ]]> */\n"); echo("</script>\n"); echo("</head>\n"); echo("<body>\n"); echo("\n"); echo("\n"); } function print_footer(){ echo("</body>\n</html>\n"); }?> Fail header.php on laadimislehe ülemine frame, mis sisaldab ITK logo ja võimaldab laadida lähteteksti süsteemi <?php include_once("global.php")?> <?php echo("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"); echo("<!doctype html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\" \" rg/tr/xhtml11/dtd/xhtml11.dtd\">\n"); echo("<html xmlns=\" echo("<head>\n"); echo("<title>labor 315</title>\n"); echo("<meta name=\"generator\" content=\"quanta Plus\" />\n"); echo("<meta name=\"author\" content=\"margus Ernits\" />\n"); echo("<meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\" />\n"); echo("<link rel=\"stylesheet\" href=\"./stile/stiil.css\" />"); echo("<style type=\"text/css\">\n"); echo("/* <![CDATA[ */\n"); echo("/* ]]> */\n"); echo("</style>\n"); 60

61 echo("<script language=\"javascript\" type=\"text/javascript\">\n"); echo("/* <![CDATA[ */\n"); echo("/* ]]> */\n"); echo("</script>\n"); echo("</head>\n"); echo("<body class=\"bg\">\n"); echo("\n"); echo("\n");?> <table border="0" cellspacing="10px"> <tr> <TD><IMG src="pic/itksuuryla.gif" alt="itk" width="222" height="63" align="left" bor der="0"></td> <TD> <?php if (!isset($_post['lae'])){ include("formupload.inc"); }else{ if ($_FILES['uploadedfilename']['tmp_name']=="none"){ echo "Faili laadimine ebaõnnestus<br>"; }else{ $destination = $global_home.'/var/demo232.c'; $temp_file = $_FILES['uploadedfilename']['tmp_name']; move_uploaded_file($temp_file,$destination); echo "Kasutan faili ".$_FILES['uploadedfilename']['name']."<br>"; echo "<a href=\"index.html\" target=\"_top\">vali uus fail</a><br>"; include("refreshmain.inc"); } } 61

62 ?> </TD> </tr> </table> <?php print_footer();?> Fail formupload.inc on abistav fail veebivormi ehitamisel <h1>mikrokontrolleri programmeerimine</h1> <form enctype="multipart/form-data" action="header.php" target="header" method="post"> <input type="hidden" name="max_file_size" value="100000" /> Vali c koodifail, mille soovid laadida: <input name="uploadedfilename" type="file" /> <input type="submit" name="lae" value="lae" onclick="parent.main.location.href = 'main.php'" /> </form> Fail main.php sisaldab algtekstide laadimise ja kompileerimise veebiliidest. <? include_once("global.php")?> <?php print_header("koodi sisestamie ja kompileerimine");?> <form action="main.php" method="post"> <?php $filename_in = $global_home."/var/demo232.c"; //isset($_post['uploadedfile']); if( isset($_post['kood'])){ $kood=$_post['kood']; } if( isset($_post['lae'])){ $lae=$_post['lae']; } $Kompileeri = isset($_post['kompileeri']); 62

63 if($lae){ chdir($global_home.'/var/'); $return_code = 0; echo "<pre>"; //syste('cpeconsole -i'); $error = system('make load 2>&1',$return_code); echo "</pre>"; /* if($return_code!=0){ echo "<b><font color=\"red\">laadimine ebaõnnestus</font></b>"; }else{ echo "<b><font color=\"green\">laadimine õnnestus Tulemust vaata siit</font></b>"; }*/ } if( $kood==""){ if($filename_in){ $fs = fopen( $filename_in, "r" ) or die("viga faili lugemisel"); while (!feof($fs)) { $kood.= fgets($fs, 1024); } fclose($fs); } } if (($Kompileeri)){ if (!$filename){ $filename = $global_home."/var/demo.c"; } if($kood){ $kood = stripslashes($kood); $data = fopen($filename, "w"); 63

64 fwrite($data,$kood); fclose($data); chdir($global_home.'/var/'); $output = shell_exec('make clean'); //echo "$output"; $return_code = 0; echo "<pre>"; $error = system('make 2>&1',$return_code); echo "</pre>"; if($return_code!=0){ echo "<b><font color=\"red\">kompileerimine ebaõnnestus</font></b>"; }else{ echo "<b><font color=\"green\">kompileerimine õnnestus</font></b>"; echo "<table width=\"100%\" border=\"0px\"> <tr><td width=\"100%\" height=\"100%\"> </td></tr> <tr><td><input type=\"submit\" name=\"lae\" value=\"lae\" align=\"right\"/> </td></tr > </table>"; } } }?> <table width="100%" border="0px"> <tr><td width="100%" height="100%"> <textarea name="kood" rows="20" cols="80" ><?php echo htmlspecialchars($kood);?> </textarea></td></tr> <tr><td><input type="submit" name="kompileeri" value="kompileeri" align="right"/> </td></tr> </table> </form> <?php print_footer();?> 64

65 LISA 4 Programmi Makefile näited kontrolleritele 51Kit ja atmega88 Kontroller 51Kit Makefile SDCCCFLAGS= -I. ASLINKFLAGS= all: demo.ihx lcd_driver.rel: lcd_driver.c lcd_driver.h sdcc $(SDCCCFLAGS) $(ASLINKFLAGS) -c lcd_driver.c demo.rel: demo.c sdcc $(SDCCCFLAGS) $(ASLINKFLAGS) -c demo.c demo.ihx: demo.rel lcd_driver.rel sdcc $(SDCCCFLAGS) $(ASLINKFLAGS) demo.rel lcd_driver.rel clean: rm *.o demo.ihx demo.rel load: all cpeconsole -f demo.ihx -c /dev/ttys0 -i -r -b Konrolleri atmega88 Makefile CC=avr-gcc OBJCOPY=avr-objcopy CFLAGS= -g -mmcu=atmega88 -I. 65

66 LIBPATH=./.c.x : avr-gcc -c ${CFLAGS} -S -o $@ $< rom.hex : demo.out $(OBJCOPY) -j.text -O ihex $(LIBPATH)demo.out $(LIBPATH)rom.hex demo.out : $(LIBPATH)demo.o $(CC) $(CFLAGS) -o $(LIBPATH)demo.out -Wl,-Map,$(LIBPATH)demo.map $(LIBPATH)demo.o demo.o : $(LIBPATH)demo.c $(LIBPATH)programm.c $(LIBPATH)analog.h $(CC) $(CFLAGS) -O -c $(LIBPATH)demo.c all: $(LIBPATH)rom.hex clean: rm $(LIBPATH)demo.out $(LIBPATH)demo.map $(LIBPATH)demo.o $(LIBPATH)rom.hex load: all avrdude -p m88 -c pony-stk200 -e -Uflash:w:$(LIBPATH)rom.hex 66

67 LISA 5 Host arvuti tulemüüri konfiguratsioon /etc/shorewall/rules # WebCam ACCEPT net fw tcp 8080 # Virtual machine http server - for Margus diploma work ACCEPT net fw tcp 800 # Vmware server console -for Margus diploma work ACCEPT net fw tcp 902 # Virtual server sshd -for Margus diploma work ACCEPT net fw tcp

68 LISA 6 /etc/vmware/vmnet8/nat/nat.conf muudatused Muudatused on sektsioonis [incomingtcp] [incomingtcp]... # WEB (make sure that if you are using named webhosting, names point to # your host, not to guest... And if you are forwarding port other # than 80 make sure that your server copes with mismatched port # number in Host: header) # lynx = : = :8080 # SSH # ssh -p 8889 root@localhost 922 = :922 68

69 LISA 7 Guest operatsioonisüsteemi automaatse stardi seadistamine Avage Virtual Machine Settings Vmware server console tarkvara abil. Seadistage Power on virtual machine on host startup: 69

SQL Server 2005 Expressi paigaldamine

SQL Server 2005 Expressi paigaldamine SQL Server 2005 Expressi paigaldamine Laadige alla.net Framework 2.0 http://www.microsoft.com/downloads/details.aspx?familyid=0856eacb-4362-4b0d- 8edd-aab15c5e04f5 Avage http://www.microsoft.com/express/2005/sql/download/default.aspx

More information

Andmebaasid (6EAP) I praktikum

Andmebaasid (6EAP) I praktikum Andmebaasid (6EAP) I praktikum Mõisteid Server on arvutisüsteem või selles töötav tarkvara, mis pakub teatud infoteenust sellega ühenduvatele klientidele. Klient on tarkvara, mis võimaldab suhelda serveriga.

More information

IT infrastruktuuri teenused. Failiserver. Margus Ernits

IT infrastruktuuri teenused. Failiserver. Margus Ernits IT infrastruktuuri teenused Failiserver Margus Ernits margus.ernits@itcollege.ee 1 Failide hoidmine kasutaja arvutis pole tihti mõistlik, kuna Failiserver Arvuti kõvaketta hävimisega kaovad andmed ja nendest

More information

WD My Net N600 juhend:

WD My Net N600 juhend: WD My Net N600 juhend: 1) Kui WD My Net N600 seade on ühendatud näiteks Elioni Thomsoni ruuteriga (TG789vn või TG784) või Elioni Inteno DG301a ruuteriga, kus üldiselt on ruuteri Default Gateway sama, nagu

More information

MTAT OPERATSIOONISÜSTEEMID praktikumid. Kersti Taurus

MTAT OPERATSIOONISÜSTEEMID praktikumid. Kersti Taurus MTAT.03.008 OPERATSIOONISÜSTEEMID praktikumid Kersti Taurus Mida tehakse praktikumides? Paigaldatakse operatsioonisüsteemid: Windows 7 Professional 64 bit eestikeelne ver. opensuse Linux 11.2 Edasi ülesanded

More information

TP-Link TL-WR743ND Juhend

TP-Link TL-WR743ND Juhend TP-Link TL-WR743ND Juhend 1) Ühenda oma arvuti TP-Link ruuteriga üle kaabli (LAN). 2) Kui arvuti ja ruuter said omavahel ühendatud, siis võid minna seadme koduleheküljele (interneti brauseri otsingu reasse

More information

MSDE Upgrade platvormile SQL 2005 Server Express SP4

MSDE Upgrade platvormile SQL 2005 Server Express SP4 MSDE Upgrade platvormile SQL 2005 Server Express SP4 NB! Windos XP puhul peab veenduma, et masinas oleks paigaldatud.net Framework vähemalt versioon 2.0!!! NB! Muutke oma SA parool turvaliseks ( minimaalne

More information

SQL Serveri paigaldus. Laadimine:

SQL Serveri paigaldus. Laadimine: SQL Serveri paigaldus Laadimine: http://msdn.microsoft.com/vstudio/express/sql/download/ Tasub paigaldada kõige lihtsam versioon (SQL Server 2005 Express Edition SP2). Samalt lehelt saab laadida ka Sql

More information

ArcGIS mobiilsed lahendused kasutades pilve teenuseid. Raido Valdmaa, AlphaGIS

ArcGIS mobiilsed lahendused kasutades pilve teenuseid. Raido Valdmaa, AlphaGIS ArcGIS mobiilsed lahendused kasutades pilve teenuseid Raido Valdmaa, AlphaGIS ArcGIS terviklik süsteem üks kaart, erinevad platvormid ArcGIS Online Server Rakendused ArcGIS Viewers ArcGIS APIs Javascript,

More information

Lõimed. Lõime mõiste. Lõimede mudelid. Probleemid lõimedega seoses. Pthreads. Solarise lõimed. Windowsi lõimed. FreeBSD lõimed.

Lõimed. Lõime mõiste. Lõimede mudelid. Probleemid lõimedega seoses. Pthreads. Solarise lõimed. Windowsi lõimed. FreeBSD lõimed. Lõimed Lõime mõiste Lõimede mudelid Probleemid lõimedega seoses Pthreads Solarise lõimed Windowsi lõimed FreeBSD lõimed Linuxi lõimed MEELIS ROOS 1 Ühe- ja mitmelõimelised protsessid code data files code

More information

NAS, IP-SAN, CAS. Loeng 4

NAS, IP-SAN, CAS. Loeng 4 NAS, IP-SAN, CAS Loeng 4 Tunniteemad Network Attached Storage IP Storage Attached Network Content Addressed Storage Network Attached Storage Tehnoloogia, kus andmed on jagatud üle võrgu Salvestusvahendile

More information

IDU0080 Veebiteenused ja Interneti-lahenduste arhitektuur Loeng 2 Lahenduste inegratsioon. Enn Õunapuu

IDU0080 Veebiteenused ja Interneti-lahenduste arhitektuur Loeng 2 Lahenduste inegratsioon. Enn Õunapuu IDU0080 Veebiteenused ja Interneti-lahenduste arhitektuur Loeng 2 Lahenduste inegratsioon Enn Õunapuu enn.ounapuu@ttu.ee Millest räägime Vaatleme lähemalt rakenduste integratsiooni vajadust ja võimalusi

More information

Mälu interfeisid Arvutikomponendid Ergo Nõmmiste

Mälu interfeisid Arvutikomponendid Ergo Nõmmiste Mälu interfeisid Arvutikomponendid Ergo Nõmmiste Mälu liigid Read-only memory (ROM) Flash memory (EEPROM) Static random access memory (SRAM) Dynamic random access memoty (DRAM) 1 kbaidine mälu vajab 10

More information

SEADISTAMISE JUHEND. Zoiper. Toompuiestee 37, Tallinn;

SEADISTAMISE JUHEND. Zoiper. Toompuiestee 37, Tallinn; SEADISTAMISE JUHEND Zoiper Toompuiestee 37, 10133 Tallinn; teenindus@gonetwork.ee; +372 6310700 Sisukord Sissejuhatus... 3 Täpsustav info... 3 Sätted... 3 Windows (UDP)... 4 Allalaadimine ja Paigaldamine...

More information

Tabelid <TABLE> Koostanud: Merike Hein

Tabelid <TABLE> Koostanud: Merike Hein Tabelid Tabelite kasutusvõimalus on HTML'is olemas juba pikka aega. Tabelimärgendite esmaseks kasutusalaks oli muidugi mõista tabelkujul info kuvamine. tähendab siis tabelite joonistamist.

More information

Andmebaasi krüpteerimine ja dekrüpteerimine

Andmebaasi krüpteerimine ja dekrüpteerimine Andmebaasi krüpteerimine ja dekrüpteerimine Me võime küll asetanud kõikidele andmebaasi objektidele ligipääsuõigused eri kasutajate jaoks, kuid ikkagi võib mõni häkker avada vastava faili lihtsalt failina

More information

EESTI STANDARD EVS-ISO/IEC 27003:2011

EESTI STANDARD EVS-ISO/IEC 27003:2011 EESTI STANDARD EVS-ISO/IEC 27003:2011 INFOTEHNOLOOGIA Turbemeetodid Infoturbe halduse süsteemi teostusjuhis Information technology Security techniques Information security management system Implementation

More information

EESTI STANDARD EVS-ISO 11620:2010

EESTI STANDARD EVS-ISO 11620:2010 EESTI STANDARD EVS-ISO INFORMATSIOON JA DOKUMENTATSIOON Raamatukogu tulemusindikaatorid Information and documentation Library performance indicators (ISO 11620:2008) EVS-ISO EESTI STANDARDI EESSÕNA NATIONAL

More information

Puudub protseduur. Protseduuri nimi võib olla valesti kirjutatud. Protseduuri (või funktsiooni) poole pöördumisel on vähem argumente kui vaja.

Puudub protseduur. Protseduuri nimi võib olla valesti kirjutatud. Protseduuri (või funktsiooni) poole pöördumisel on vähem argumente kui vaja. Puudub protseduur. Protseduuri nimi võib olla valesti kirjutatud. Sub prog1() Msgox "Tere" Sub prog2() a = si(1) Protseduuri (või funktsiooni) poole pöördumisel on vähem argumente kui vaja. a = Sin() Protseduuri

More information

IDU0080 Veebiteenused ja Interneti-lahenduste arhitektuur Loeng 3 Integratsioon. Enn Õunapuu

IDU0080 Veebiteenused ja Interneti-lahenduste arhitektuur Loeng 3 Integratsioon. Enn Õunapuu IDU0080 Veebiteenused ja Interneti-lahenduste arhitektuur Loeng 3 Integratsioon Enn Õunapuu enn.ounapuu@ttu.ee Millest räägime Vaatleme lähemalt rakenduste integratsiooni vajadust ja võimalusi Integratsiooni

More information

XmlHttpRequest asemel võib olla vajalik objekt XDomainRequest

XmlHttpRequest asemel võib olla vajalik objekt XDomainRequest 1 2 3 XmlHttpRequest asemel võib olla vajalik objekt XDomainRequest 4 5 6 7 8 https://www.trustwave.com/global-security-report http://redmondmag.com/articles/2012/03/12/user-password-not-sophisticated.aspx

More information

Nokia E51 kasutamine modemina

Nokia E51 kasutamine modemina Tartu Ülikool Matemaatika-informaatika teaduskond Arvutiteaduse instituut Nokia E51 kasutamine modemina Juhend Koostaja: Allar Tammik Juhendaja: Kersti Taurus Tartu 2008 Sisukord Sissejuhatus...3 Arvuti

More information

Tallinna Ülikooli veebipuhvri teenuse kasutamine väljaspool ülikooli arvutivõrku

Tallinna Ülikooli veebipuhvri teenuse kasutamine väljaspool ülikooli arvutivõrku Tallinna Ülikooli veebipuhvri teenuse kasutamine väljaspool ülikooli arvutivõrku Selleks, et kasutada Tallinna Ülikooli veebipuhvrit väljaspool ülikooli arvutivõrku, tuleb luua ühendus serveriga lin2.tlu.ee

More information

EESTI INFOTEHNOLOOGIA KOLLEDŽ. Aivar Guitar KÜBERKAITSE MOODULI VIRTUAALLABORITE LAHENDUSE LOOMINE EESTI INFOTEHNOLOOGIA KOLLEDŽI NÄITEL.

EESTI INFOTEHNOLOOGIA KOLLEDŽ. Aivar Guitar KÜBERKAITSE MOODULI VIRTUAALLABORITE LAHENDUSE LOOMINE EESTI INFOTEHNOLOOGIA KOLLEDŽI NÄITEL. EESTI INFOTEHNOLOOGIA KOLLEDŽ Aivar Guitar KÜBERKAITSE MOODULI VIRTUAALLABORITE LAHENDUSE LOOMINE EESTI INFOTEHNOLOOGIA KOLLEDŽI NÄITEL Diplomitöö INFOTEHNOLOOGIA SÜSTEEMIDE ADMINISTREERIMISE ÕPPEKAVA

More information

Bluetooth Software Update Manual for Windows 7. Applicable from 2012 products CDE-13xBT & CDE-W235BT & CDA-137BTi

Bluetooth Software Update Manual for Windows 7. Applicable from 2012 products CDE-13xBT & CDE-W235BT & CDA-137BTi Bluetooth Software Update Manual for Windows 7 Applicable from 2012 products CDE-13xBT & CDE-W235BT & CDA-137BTi 1 Sissejuhatus See juhend kirjeldab samm-sammult kuidas uuendada seadme Bluetooth tarkvara.

More information

SIDE (IRT 3930) Põhipunktid. Loeng 11 Transpordiprotokollid Teema - infotransport. Teenuse (lingi) demultipleks. Infotransport kliendilt serverini

SIDE (IRT 3930) Põhipunktid. Loeng 11 Transpordiprotokollid Teema - infotransport. Teenuse (lingi) demultipleks. Infotransport kliendilt serverini SIDE (IRT 3930) Loeng 11 Transpordiprotokollid Teema - infotransport Klient- mudel Teenuste jaotus Infotransport klient- seoses Töökindel infoülekanne võrgukihi kaudu ja transpordiprotokollid Põhipunktid

More information

Nimeserveri teenuse installeerimiese juhend loodud IT infrastruktuuri teenused õppeaine õppetöö raames ITK 2008

Nimeserveri teenuse installeerimiese juhend loodud IT infrastruktuuri teenused õppeaine õppetöö raames ITK 2008 Nimeserveri installeerimiese juhend Versioon 1.0 (14.10.2008) Koostas: Siim Adamson (14.10.2008) Testis: Hermo Adamson (14.10.2008) Sisukord Sissejuhatus...1 Taastamise eelused...1 Riistvara eeldused...1

More information

Integreeritava aadressiotsingu kasutajaliidese (In-ADS) ja geokodeerija tutvustus Andre Kaptein

Integreeritava aadressiotsingu kasutajaliidese (In-ADS) ja geokodeerija tutvustus Andre Kaptein Integreeritava aadressiotsingu kasutajaliidese (In-ADS) ja geokodeerija tutvustus Andre Kaptein Maa-amet, Aadressiandmete osakond 07.05.2015 GIS geograafia kaudu ADS? AaDressiandmete Süsteem ADSi infosüsteem

More information

ITK 2008 Autor: Siim Adamson 1

ITK 2008 Autor: Siim Adamson 1 Autor: Siim Adamson 1 Mis on Nagios? Nagios on süsteemi ja võrgu seire rakendus. Nagios jälgib seadmeid ja teenuseid ning teavitab, nii vigade tekkest, kui normaalse olukorra taastumisest. Autor: Siim

More information

Pinu põhine puhvri ületäitumine DCE/RPC kontroll mootoris Cisco ASA 5500 seeria ja Cisco Catalyst 6500 seeria seadmetel CVE

Pinu põhine puhvri ületäitumine DCE/RPC kontroll mootoris Cisco ASA 5500 seeria ja Cisco Catalyst 6500 seeria seadmetel CVE Tartu Ülikool Matemaatika-informaatikateaduskond Arvutiteaduse instituut Pinu põhine puhvri ületäitumine DCE/RPC kontroll mootoris Cisco ASA 5500 seeria ja Cisco Catalyst 6500 seeria seadmetel CVE-2012-4661

More information

Õpimapi loomise protsess Juhendi sisu I Saidi loomine Mine alusta uue saidi loomist CREATE

Õpimapi loomise protsess Juhendi sisu I Saidi loomine Mine alusta uue saidi loomist CREATE Õpimapi ehk e-portfoolio loomine google sites keskkonnas Õpimapi loomise protsess I. Igapäevane õppetöö, mille õppeülesannete täitmise käigus loob õppija erinevaid materjale: klassitööd, kodutööd, esseed,

More information

Rakendustarkvara ühilduvuse häälestamine ja konfimine tavakasutajarežiimis käivitamiseks septembril 2012 Hotell Tartu Konverentsikeskuses

Rakendustarkvara ühilduvuse häälestamine ja konfimine tavakasutajarežiimis käivitamiseks septembril 2012 Hotell Tartu Konverentsikeskuses Rakendustarkvara ühilduvuse häälestamine ja konfimine tavakasutajarežiimis käivitamiseks 24.-26. septembril 2012 Hotell Tartu Konverentsikeskuses Kava Rakenduste ühilduvus ISKE protseduur B 1.10 Tüüptarkvara

More information

InADS infopäev Villem Vannas Maarja Mahlapuu Janno Tetsmann

InADS infopäev Villem Vannas Maarja Mahlapuu Janno Tetsmann www.datel.ee InADS infopäev Villem Vannas Maarja Mahlapuu Janno Tetsmann Millest räägime Mis on InADS, kasutusjuhud Villem InADS visard keskkond Maarja Arendaja vaade: InADS API Janno Põhiline vajadus

More information

Lühike paigaldusjuhend TK-V201S TK-V401S 1.01

Lühike paigaldusjuhend TK-V201S TK-V401S 1.01 Lühike paigaldusjuhend TK-V201S TK-V401S 1.01 Sisukord Eesti 1 1. Enne alustamist 1 2. Riistvara paigaldamine 2 Technical Specifications 8 Tõrkeotsing 9 Version 05.12.2010 1. Enne alustamist Eesti Pakendi

More information

TARTU ÜLIKOOL MATEMAATIKA-INFORMAATIKATEADUSKOND Arvutiteaduse instituut Infotehnoloogia eriala. Bakalaureusetöö (6 EAP)

TARTU ÜLIKOOL MATEMAATIKA-INFORMAATIKATEADUSKOND Arvutiteaduse instituut Infotehnoloogia eriala. Bakalaureusetöö (6 EAP) TARTU ÜLIKOOL MATEMAATIKA-INFORMAATIKATEADUSKOND Arvutiteaduse instituut Infotehnoloogia eriala Gerrit Kraav Mobiilse haiglainfosüsteemi broneeringu rakenduse arendamine Bakalaureusetöö (6 EAP) Juhendaja:

More information

Tervita oma MacBooki Air.

Tervita oma MacBooki Air. Kiirjuhend Tervita oma MacBooki Air. Alustame. Maci käivitamiseks vajuta toitenuppu ning rakendus Setup Assistant annab sulle mõned lihtsad juhised, kuidas arvuti töökorda seada. See aitab sul Wi-Fi võrku

More information

Multipank versioon 8.3 paigaldamine. 1 Eeldused. 1.1 Multipank. 1.2 Multipanga andmebaas

Multipank versioon 8.3 paigaldamine. 1 Eeldused. 1.1 Multipank. 1.2 Multipanga andmebaas Multipanga versioon 8.3 paigaldamine Multipank versioon 8.3 paigaldamine Enne uue versiooni installeerimist palun saatke e-mail firma@luminor.ee (teemaks: Multipank versioon 8) sooviga uuele versioonile

More information

Protsessimootorite valiku metoodika

Protsessimootorite valiku metoodika TALLINNA TEHNIKA ÜLIKOOL Infotehnoloogia teaduskond Informaatikainstituut Infosüsteemide õppetool IDU70LT Protsessimootorite valiku metoodika Magistritöö Üliõpilane: Edvard-Sander Põldmäe Üliõpilaskood:

More information

2

2 1 2 3 4 5 St. seotud grupid 6 7 Soovitused: Vältida sidusgruppide tähtsuse järgi järjestamist. Minimeerige üksikute sidusgruppide esiletõstmist. 8 9 10 11 12 Päästeameti avalik veebileht (www.päästeamet.ee)

More information

VEEBIRAKENDUSTE ARHITEKTUUR Tehniline vaade

VEEBIRAKENDUSTE ARHITEKTUUR Tehniline vaade VEEBIRAKENDUSTE ARHITEKTUUR Tehniline vaade KOGEMUS ZeroTurnaround - java engineer Developer tools, used by thousands Proekspert - tarkvaraarhitekt EMT & Elisa backend Danske Bank kaardimaksed LOENGU

More information

VEEBIRAKENDUSE ARENDAMINE QUAKE 3 MOOTORIL PÕHINEVATE MÄNGUSERVERITE MAJUTAMISEKS LINUX SERVERITEL

VEEBIRAKENDUSE ARENDAMINE QUAKE 3 MOOTORIL PÕHINEVATE MÄNGUSERVERITE MAJUTAMISEKS LINUX SERVERITEL TALLINNA TEHNIKAÜLIKOOL Infotehnoloogia teaduskond Tarkvarateaduse instituut IT40LT Janno Esko 134221IAPB VEEBIRAKENDUSE ARENDAMINE QUAKE 3 MOOTORIL PÕHINEVATE MÄNGUSERVERITE MAJUTAMISEKS LINUX SERVERITEL

More information

AUTOMAATTESTIMISE PLATVORMI ARENDUS TAXIFY MOBIILIRAKENDUSELE

AUTOMAATTESTIMISE PLATVORMI ARENDUS TAXIFY MOBIILIRAKENDUSELE TALLINNA TEHNIKAÜLIKOOL Infotehnoloogia teaduskond Informaatika instituut IDK40LT Gert Valdek 120947IAPB AUTOMAATTESTIMISE PLATVORMI ARENDUS TAXIFY MOBIILIRAKENDUSELE Bakalaureusetöö Juhendaja: Jekaterina

More information

Androidi rakenduste ligipääsu õigused

Androidi rakenduste ligipääsu õigused Tallinna Ülikool Digitehnoloogiate Instituut Androidi rakenduste ligipääsu õigused Seminaritöö Autor: Martin Kütt Juhendaja: Jaagup Kippar Autor:...... 2017 Juhendaja:...... 2017 Instituudi direktor:......

More information

Vea haldus ja logiraamat hajutatud süsteemides Enn Õunapuu.

Vea haldus ja logiraamat hajutatud süsteemides Enn Õunapuu. Vea haldus ja logiraamat hajutatud süsteemides Enn Õunapuu enn.ounapuu@ttu.ee Millest tuleb jutt? Kuidas ma näen, millises sammus erinevad protsessid parasjagu on? Kuidas ma aru saan, kas protsess töötab

More information

VPN - Virtual Private Network

VPN - Virtual Private Network IT infrastruktuuri teenused VPN - Virtual Private Network Margus Ernits margus.ernits@itcollege.ee 1 Kuidas kasutada sisevõrgus resideeruvaid teenuseid ebaturvalise võrgu kaudu? Teeme teenused igalt poolt

More information

Erik Jõgi. twitter.com/erikjogi twitter.com/codeborne

Erik Jõgi. twitter.com/erikjogi twitter.com/codeborne Disain Erik Jõgi erik@codeborne.com twitter.com/erikjogi twitter.com/codeborne Disain? Miks? Bad code Clean Code A Handbook of Agile Software Craftsmanship Robert C. Martin, 2008 Uncle Bob You know you

More information

This document is a preview generated by EVS

This document is a preview generated by EVS EESTI STANDARD EVS-ISO/IEC 27033-3:2013 INFOTEHNOLOOGIA Turbemeetodid Võrguturve Osa 3: Tüüpsed võrgustsenaariumid Riskid, kavandamismeetodid ja reguleerimisküsimused Information technology Security techniques

More information

PHP-põhise tarkvaraarenduse abivahendid.

PHP-põhise tarkvaraarenduse abivahendid. Tallinna Ülikool Matemaatika-loodusteaduskond Informaatika osakond PHP-põhise tarkvaraarenduse abivahendid. Seminaritöö Ahti Nurme Juhendaja: Jaagup Kippar Autor:.........2006.a. Juhendaja:.........2006.a.

More information

Camunda protsessimootori tutvustus

Camunda protsessimootori tutvustus Tallinna Ülikool Digitehnoloogiate Instituut Camunda protsessimootori tutvustus Seminaritöö Autor: Keio Arula Juhendaja: Jaagup Kippar Autor: Juhendaja: 2015 2015 Instituudi direktor: 2015 Tallinn 2015

More information

Veebirakendused Java baasil

Veebirakendused Java baasil Veebirakendused Java baasil Märt Kalmo https://ained.ttu.ee/course/view.php?id=126 Loeng 1 Servlet, korraldus, Java EE 2 Aine sisu Väga mahukas aine Veebirakendus Java-s on olemuselt sama mis Php-s või.net-is:

More information

Praktikum 3 GROUP POLICY JA ACTIVE DIRECTORY

Praktikum 3 GROUP POLICY JA ACTIVE DIRECTORY Praktikum 3 GROUP POLICY JA ACTIVE DIRECTORY Group Policy Group Policy - vahend Active Directory arvutite ja kasutajate tsentraalseks haldamiseks. Group Policy abil on võimalik kontrollida süsteemi registri

More information

Kujundusmalli loomine sisuhaldussüsteemile Magento

Kujundusmalli loomine sisuhaldussüsteemile Magento Tallinna Ülikool Digitehnoloogiate instituut Informaatika Kujundusmalli loomine sisuhaldussüsteemile Magento Bakalaureusetöö Autor: Raul Gordejev Juhendaja: Romil Rõbtšenkov Autor:...... 2017 Juhendaja:......

More information

"KEGLER" MOBIILRAKENDUSE ARENDUS

KEGLER MOBIILRAKENDUSE ARENDUS TALLINNA TEHNIKAÜLIKOOL Infotehnoloogia teaduskond Informaatikainstituut IDK70LT Artjom Sinkin 141944 "KEGLER" MOBIILRAKENDUSE ARENDUS Magistritöö Juhendaja: Jekaterina Tšukrejeva Magistrikraad Õppejõu

More information

Andmebaasid kursuse andmemudel

Andmebaasid kursuse andmemudel Veebiteenused SyBase SQL Anywhere koostanud Sander Sepp SQL Anywhere on andmebaasi juhtsüsteem, mis sisaldab HTTP veebiserveri funktsionaalsust. Veebiserver võimaldab andmebaasi luua veebiteenuseid. Veebiteenused

More information

BC4J - Java ärikomponentide algõpetus Oracle9i JDeveloper arenduskeskkonna baasil

BC4J - Java ärikomponentide algõpetus Oracle9i JDeveloper arenduskeskkonna baasil Tallinna Pedagoogikaülikool Matemaatika-loodusteaduskond Informaatika osakond Triin Lichfeld BC4J - Java ärikomponentide algõpetus Oracle9i JDeveloper arenduskeskkonna baasil Bakalaureusetöö Juhendaja:

More information

TARTU ÜLIKOOL. Arvutiteaduse instituut LOODUS- JA TÄPPISTEADUSTE VALDKOND

TARTU ÜLIKOOL. Arvutiteaduse instituut LOODUS- JA TÄPPISTEADUSTE VALDKOND TARTU ÜLIKOOL Arvutiteaduse instituut LOODUS- JA TÄPPISTEADUSTE VALDKOND Anita Scharonberg CVE-2015-3457 Referaat Juhendaja: Meelis Roos Tartu 2016 SISUKORD 1 Sissejuhatus... 3 2 Turvaauk... 3 3 Turvaaugu

More information

Microsoftʼi OneDrive ja Silverlightʼi võrdlus sarnaste tehnoloogiatega

Microsoftʼi OneDrive ja Silverlightʼi võrdlus sarnaste tehnoloogiatega TARTU ÜLIKOOL MATEMAATIKA-INFORMAATIKA TEADUSKOND Arvutiteaduse instituut Infotehnoloogia õppekava Ülari Laurson Microsoftʼi OneDrive ja Silverlightʼi võrdlus sarnaste tehnoloogiatega Bakalaureusetöö (6

More information

Platvormiülene NXC keskkond

Platvormiülene NXC keskkond TARTU ÜLIKOOL MATEMAATIKA-INFORMAATIKATEADUSKOND Arvutiteaduse instituut Infotehnoloogia eriala Priit Rand Platvormiülene NXC keskkond Magistritöö (30 EAP) Juhendaja: MSc Anne Villems Kaasjuhendaja: MSc

More information

Microsoft DirectAccess ja OpenVPN võrdluses

Microsoft DirectAccess ja OpenVPN võrdluses Tallinna Ülikool Informaatika Instituut Microsoft DirectAccess ja OpenVPN võrdluses Bakalaureusetöö Autor: Toomas Väärt Juhendaja: Meelis Karp Autor:..... 2013. a. Juhendaja:...... 2013. a. Instituudi

More information

IDU0080 Harjutusülesande 1 abimaterjal. viimati muudetud:

IDU0080 Harjutusülesande 1 abimaterjal. viimati muudetud: IDU0080 Harjutusülesande 1 abimaterjal. viimati muudetud: 04.02.2013 1. Olulisi linke ja eeldusi.... 2 2. Esimese ülesande sisu.... 3 3. Kuidas teha.... 3 3.1. Eclipse konfigureerimine.... 3 1. Charset

More information

Xamarin ja Mvvmcross ios ja Android rakenduste loomiseks. Õppematerjal

Xamarin ja Mvvmcross ios ja Android rakenduste loomiseks. Õppematerjal Tallinna Ülikool Digitehnoloogiate instituut Xamarin ja Mvvmcross ios ja Android rakenduste loomiseks. Õppematerjal Bakalaureusetöö Autor: Priit Mattus Juhendaja: Jaagup Kippar Autor:...,,...,,2016 Juhendaja:...,,...,,2016

More information

RASPBERRY PI 3 MODEL B WI-FI SEADISTAMISPROTSESSI LIHTSUSTAMINE

RASPBERRY PI 3 MODEL B WI-FI SEADISTAMISPROTSESSI LIHTSUSTAMINE TALLINNA TEHNIKAÜLIKOOL Infotehnoloogia teaduskond Tarkvarateaduse instituut Valeri Randalainen 142680IAPB RASPBERRY PI 3 MODEL B WI-FI SEADISTAMISPROTSESSI LIHTSUSTAMINE Bakalaureusetöö Juhendaja: Roger

More information

Veebisaidi arendus sisuhaldussüsteemile WordPress Seminaritöö

Veebisaidi arendus sisuhaldussüsteemile WordPress Seminaritöö Tallinna Ülikool Digitehnoloogiate instituut Veebisaidi arendus sisuhaldussüsteemile WordPress Seminaritöö Autor: Ain Arend Juhendaja: Romil Rõbtšenkov Tallinn 2017 Autorideklaratsioon Deklareerin, et

More information

KOORMA KOOSTAMISE VEEBIRAKENDUS

KOORMA KOOSTAMISE VEEBIRAKENDUS TALLINNA TEHNIKAÜLIKOOL Infotehnoloogia teaduskond Risto Põldsalu KOORMA KOOSTAMISE VEEBIRAKENDUS bakalaureusetöö Juhendaja: Marko Kääramees PhD Tallinn 2017 Autorideklaratsioon Kinnitan, et olen koostanud

More information

PROGRAMMI HTTPD TESTIMINE

PROGRAMMI HTTPD TESTIMINE Nr. 81 Tallinna Tehnikaülikool Informaatikainstituut PROGRAMMI HTTPD TESTIMINE 1. iseseisev töö õppeaines Tarkvara kvaliteet ja standardid Juhendaja: Jaak Tepandi Koostaja: Indrek Mandre Õpperühm: LAP51

More information

Turvaline laohaldussüsteem programmeerituna keeles PHP

Turvaline laohaldussüsteem programmeerituna keeles PHP TARTU ÜLIKOOL MATEMAATIKA-INFORMAATIKATEADUSKOND Arvutiteaduse instituut Informaatika eriala Kristjan Robam Turvaline laohaldussüsteem programmeerituna keeles PHP Bakalaureusetöö (6 EAP) Juhendaja: Helle

More information

IMPLEMENTING TTÜ NANOSATELLITE COMMUNICATION PROTOCOL USING TASTE TOOLSET

IMPLEMENTING TTÜ NANOSATELLITE COMMUNICATION PROTOCOL USING TASTE TOOLSET TALLINN UNIVERSITY OF TECHNOLOGY Faculty of Information Technology Department of Software Science Dan Rodionov 153074IAPM IMPLEMENTING TTÜ NANOSATELLITE COMMUNICATION PROTOCOL USING TASTE TOOLSET Master

More information

MS Silverlight arendusplatvormi uuenduste rakendamise juhend. A Manual of Features of MS Silverlight Development Platform.

MS Silverlight arendusplatvormi uuenduste rakendamise juhend. A Manual of Features of MS Silverlight Development Platform. Tallinna Ülikool Informaatika Instituut MS Silverlight arendusplatvormi uuenduste rakendamise juhend. A Manual of Features of MS Silverlight Development Platform. Bakalaureusetöö Autor: Eiri Selberg Juhendaja:

More information

Sisuhaldustarkvarade Drupal ja Joomla! funktsionaalsuse võrdlus

Sisuhaldustarkvarade Drupal ja Joomla! funktsionaalsuse võrdlus Tallinna Ülikool Informaatika Instituut Sisuhaldustarkvarade Drupal ja Joomla! funktsionaalsuse võrdlus Seminaritöö Autor: Indrek Ruubel Juhendaja: Jaagup Kippar Autor:...... 2010 Juhendaja:...... 2010

More information

Making Orthophotomosaic about Tartu City with PHOTOMOD Program and Its Geometrical Quality

Making Orthophotomosaic about Tartu City with PHOTOMOD Program and Its Geometrical Quality Making Orthophotomosaic about Tartu City with PHOTOMOD Program and Its Geometrical Quality Natalja LIBA and Ina JÄRVE, Estonia Key words: orthophotomosaic, aerial triangulation, block of imagery, orientation,

More information

Digitaalne signaal Diskreetimine ja Dirac Delta Digitaalfiltrid. Digitaalne heli. Hendrik Nigul. Mathematics of Sound and Music.

Digitaalne signaal Diskreetimine ja Dirac Delta Digitaalfiltrid. Digitaalne heli. Hendrik Nigul. Mathematics of Sound and Music. Mathematics of Sound and Music Aprill 2007 Outline 1 Digitaalne signaal 2 3 z-teisendus Mis on heli? Digitaalne signaal Heli on elastses keskkonnas lainena leviv mehaaniline võnkumine. amplituud heli tugevus

More information

Pädevushaldus RESTful veebiteenuste abil

Pädevushaldus RESTful veebiteenuste abil Tallinna Ülikool Informaatika Instituut Pädevushaldus RESTful veebiteenuste abil Seminaritöö Autor: Eigen Lenk Juhendaja: Mart Laanpere Tallinn 2010 Sisukord Sissejuhatus... 3 1. Muutused veebitarkvara

More information

Allalaadimiseks. Virtuaalmasinad. Slaidid

Allalaadimiseks.     Virtuaalmasinad. Slaidid 1 Allalaadimiseks Virtuaalmasinad http://elab.itcollege.ee:8000/ Slaidid http://enos.itcollege.ee/~irokk/v6rgud.pdf ARVUTIVÕRGUD - ALUSED Indrek Rokk Indrek.Rokk@itcollege.ee 3 Meeldetuletuseks (1) Milline

More information

Diplomitöö. Arvutiklasside kasutajate haldussüsteem

Diplomitöö. Arvutiklasside kasutajate haldussüsteem Tallinna Tehnikaülikool Arvutitehnika instituut Diplomitöö Arvutiklasside kasutajate haldussüsteem Autor: Marek Mandre Juhendaja: Peeter Ellervee Tallinn 2000 Sisukord Sisukord 2 Sissejuhatus 3 1. Probleemi

More information

A. Toote kirjeldus. B. Ülevaade

A. Toote kirjeldus. B. Ülevaade A. Toote kirjeldus SUPERTOOTH DISCO on Bluetooth tehnoloogia põhine multimeedia kõlar, mille võib ühendada Bluetooth tehnoloogiaga varustatud mobiiltelefoni, pihu-, süle- või lauaarvutiga traadita leviva

More information

Laomajanduse tarkvara hetkeseis ning disain ja arendus

Laomajanduse tarkvara hetkeseis ning disain ja arendus TARTU ÜLIKOOL MATEMAATIKA-INFORMAATIKATEADUSKOND Arvutiteaduse instituut Infotehnoloogia õppekava Tair Vaher Laomajanduse tarkvara hetkeseis ning disain ja arendus Bakalaureusetöö (6 EAP) Juhendaja(d):

More information

Vähetuntud tootjate tahvelarvutid ja nende täiustamine

Vähetuntud tootjate tahvelarvutid ja nende täiustamine TALLINNA ÜLIKOOL Digitehnoloogiate instituut Vähetuntud tootjate tahvelarvutid ja nende täiustamine Seminaritöö Autor: Janek Kossinski Juhendaja: Jaagup Kippar Autor:......... 2017 Juhendaja:.........

More information

Veebipõhised pilditöötlusprogrammid

Veebipõhised pilditöötlusprogrammid TALLINNA ÜLIKOOL Informaatika Instituut Veebipõhised pilditöötlusprogrammid Seminaritöö Autor: Marilis Aruväli Juhendaja: Andrus Rinde Tallinn 2011 Sisukord SISSEJUHATUS... 3 1 VEEBIPÕHINE TARKVARA...

More information

IPv6 harjutused. Aadressi kuju, kirjaviis, osad, liigid Aadressi saamise viisid

IPv6 harjutused. Aadressi kuju, kirjaviis, osad, liigid Aadressi saamise viisid IPv6 harjutused Aadressi kuju, kirjaviis, osad, liigid Aadressi saamise viisid IPv6 aadressi kuju IPv4 32 bitti (4 baidi kaupa) Kuju kümnendarvud 4 kaupa punktidega eraldatud 192.168.252.200 IPv6 128 bitti

More information

Rakenduse loomine ios operatsioonisüsteemiga seadme jaoks.

Rakenduse loomine ios operatsioonisüsteemiga seadme jaoks. Tallinna Ülikool Informaatika Instituut Rakenduse loomine ios operatsioonisüsteemiga seadme jaoks. Õppematerjal Seminaritöö Autor: Romil Rõbtšenkov Juhendaja: Andrus Rinde Autor:...... 2014 Juhendaja:......

More information

EESTI STANDARD EVS-ISO/IEC :2011

EESTI STANDARD EVS-ISO/IEC :2011 EESTI STANDARD EVS-ISO/IEC 15408-1:2011 INFOTEHNOLOOGIA Turbemeetodid Infoturbe hindamise kriteeriumid Osa 1: Sissejuhatus ja üldmudel Information technology Security techniques Evaluation criteria for

More information

Näidisrakendusel põhinev Microsoft Silverlight 3 õppematerjal

Näidisrakendusel põhinev Microsoft Silverlight 3 õppematerjal Tallinna Ülikool Informaatika Instituut Näidisrakendusel põhinev Microsoft Silverlight 3 õppematerjal Microsoft Silverlight 3 Tutorial for Creation of a Data Driven Application Bakalaureusetöö Autor: Ilja

More information

The Cost of Virtualization for Scientific Computing

The Cost of Virtualization for Scientific Computing UNIVERSITY OF TARTU FACULTY OF MATHEMATICS AND COMPUTER SCIENCE Institute of Computer Science Allan Trukits The Cost of Virtualization for Scientific Computing Bachelor s Thesis (6 ECTS) Supervisor: Pelle

More information

M4 Robootika ja mehhatroonikarakenduste loomine mikrokontrollerite baasil

M4 Robootika ja mehhatroonikarakenduste loomine mikrokontrollerite baasil M4 Robootika ja mehhatroonikarakenduste loomine mikrokontrollerite baasil Õppematerjali koostas ITT Group OÜ 2014/05 Koostajad: Raivo Sell, Rain Ellermaa, Heiko Pikner Litsents: CC BY-SA 3.0 EE Robootika

More information

Sisuhaldussüsteemi ja veebigalerii programmeerimine

Sisuhaldussüsteemi ja veebigalerii programmeerimine TARTU ÜLIKOOL MATEMAATIKA-INFORMAATIKATEADUSKOND Arvutiteaduse instituut Informaatika eriala Rain Oksvort Sisuhaldussüsteemi ja veebigalerii programmeerimine Bakalaureusetöö (9 EAP) Juhendaja: Helle Hein,

More information

Veebiteenuse arendamise teekaart Rada7.ee näitel

Veebiteenuse arendamise teekaart Rada7.ee näitel Tallinna Ülikool Informaatika Instituut Veebiteenuse arendamise teekaart Rada7.ee näitel Bakalaureusetöö Autor: Kirill Milovidov Juhendaja: Jaagup Kippar Autor:...... 2015 Juhendaja:...... 2015 Instituudi

More information

Eesti infoturbepoliitika aluspõhimõtted. Jaak Tepandi Kontakt 2005,

Eesti infoturbepoliitika aluspõhimõtted. Jaak Tepandi Kontakt 2005, Eesti infoturbepoliitika aluspõhimõtted Jaak Tepandi Kontakt 2005, 7.04.2005 Kava Milleks Eesti infoturbe poliitika/strateegia? Eesmärgid, ulatus Valdkonnad Koostöö ja koordineerimine Kriisijuhtimine ja

More information

HTML 5 ja CSS 3 uued võimalused ning nende töökindlus veebilehitsejates

HTML 5 ja CSS 3 uued võimalused ning nende töökindlus veebilehitsejates Tallinna Ülikool Informaatika Instituut HTML 5 ja CSS 3 uued võimalused ning nende töökindlus veebilehitsejates Seminaritöö Autor: Anton Birjukov Juhendaja: Jaagup Kippar Tallinn 2012 Sisukord Sissejuhatus...3

More information

DATA LINEAGE TRACING PROCESS IMPROVEMENT IN FINANCIAL INSTITUTION S DATA WAREHOUSE

DATA LINEAGE TRACING PROCESS IMPROVEMENT IN FINANCIAL INSTITUTION S DATA WAREHOUSE TALLINN UNIVERSITY OF TECHNOLOGY Faculty of Information Technology Department of Informatics IDU70LT Alla Tšornenkaja IAMP132383 DATA LINEAGE TRACING PROCESS IMPROVEMENT IN FINANCIAL INSTITUTION S DATA

More information

Failide jagamine ilma internetiühenduseta kasutades Android operatsioonisüsteemi

Failide jagamine ilma internetiühenduseta kasutades Android operatsioonisüsteemi Tallinna Ülikool Digitehnoloogiate Instituut Informaatika õppekava Failide jagamine ilma internetiühenduseta kasutades Android operatsioonisüsteemi Bakalaureusetöö Autor: Teele Pae Juhendaja: Jaagup Kippar

More information

Pallimängude statistika tegemise veebirakendus

Pallimängude statistika tegemise veebirakendus TARTU ÜLIKOOL Arvutiteaduse instituut Informaatika õppekava Alfred-Reinhard Vuks Pallimängude statistika tegemise veebirakendus Bakalaureusetöö (9 EAP) Juhendaja: Eno Tõnisson Tartu 2016 Pallimängude statistika

More information

Makrode koostamine. Menüüde koostamine

Makrode koostamine. Menüüde koostamine Makrode koostamine Makrode abil Access lubab automaatselt korrata erinevaid tegevusi ning seega tarbija ei pea kirjutama keerukaid programmi mooduleid. Makro on samasugune Accessi objekt, nagu tabel, päring,

More information

Postifoto portaali analüüs

Postifoto portaali analüüs TALLINNA TEHNIKAÜLIKOOL Infotehnoloogia teaduskond Informaatikainstituut Aleksandra Jemeljanova 083894IAPB Postifoto portaali analüüs Bakalaureusetöö Juhendaja: Karin Rava lektor Tallinn 2014 Autorideklaratsioon

More information

11. Transpordikiht. Side IRT3930 Ivo Müürsepp

11. Transpordikiht. Side IRT3930 Ivo Müürsepp 11. Transpordikiht Side IRT3930 Ivo Müürsepp Transpordikihi funktsioonid Ühendusele orienteeritud side. Virtuaalne otsekanal alg- ja sihtpunkti vahel. Sõltumatus alumiste kihtide ülesehitusest ja protokollistikust.

More information

Windowsi võrguseaded. My Network Places (Windows XP)

Windowsi võrguseaded. My Network Places (Windows XP) Windowsi võrguseaded My Network Places (Windows XP) My Network Places (Windows 95, Windows 98 ja Windown NT 4.0 puhul Network Neighborhood) pakub Windows XP operatsioonisüsteemis vaadet võrgule. Vaikimisi

More information

VABA TARKVARALISTE SCADA-PROGRAMMIDE VÕRDLUS

VABA TARKVARALISTE SCADA-PROGRAMMIDE VÕRDLUS EESTI MAAÜLIKOOL Tehnikainstituut Oliver Hellaste VABA TARKVARALISTE SCADA-PROGRAMMIDE VÕRDLUS COMPARISON OF FREE SOFTWARE SCADA PROGRAMS Bakalaureusetöö Tehnika ja tehnoloogia õppekava Juhendaja: lektor

More information

Pythoni SDK LEGO WeDo 2.0-le

Pythoni SDK LEGO WeDo 2.0-le TARTU ÜLIKOOL Arvutiteaduse instituut Informaatika õppekava Janno Peterson Pythoni SDK LEGO WeDo 2.0-le Bakalaureusetöö (9 EAP) Juhendaja: Aivar Annamaa Tartu 2017 Pythoni SDK LEGO WeDo 2.0-le Lühikokkuvõte:

More information

Veebilehe loomine HTML5 abil

Veebilehe loomine HTML5 abil Tallinna Ülikool Informaatika Instituut Veebilehe loomine HTML5 abil Seminaritöö Autor: Vladimir Vološin Juhendaja: Andrus Rinde Autor:......... 2011 Juhendaja:...... 2011 Tallinn 2011 Sisukord Sissejuhatus...

More information

Juhtmevaba nutipistiku integratsioon olemasoleva nutikodu lahendusega

Juhtmevaba nutipistiku integratsioon olemasoleva nutikodu lahendusega TALLINNA TEHNIKAÜLIKOOL Infotehnoloogia teaduskond Arvutitehnika instituut IAY40LT Mihkel Kasepuu 123993IAPB Juhtmevaba nutipistiku integratsioon olemasoleva nutikodu lahendusega Bakalaureuse töö Mairo

More information

Tallinna Ülikool Digitehnoloogiate instituut. Cross-platform mobiilirakenduste arendus kasutades Xamarin'i Seminaritöö

Tallinna Ülikool Digitehnoloogiate instituut. Cross-platform mobiilirakenduste arendus kasutades Xamarin'i Seminaritöö Tallinna Ülikool Digitehnoloogiate instituut Cross-platform mobiilirakenduste arendus kasutades Xamarin'i Seminaritöö Autor: Priit Mattus Juhendaja: Jaagup Kippar Autor:,,,, 2015 Juhendaja:.,,,, 2015 Instituudi

More information