D I P L O M S K A N A L O G A

Size: px
Start display at page:

Download "D I P L O M S K A N A L O G A"

Transcription

1 FAKULTETA ZA INFORMACIJSKE ŠTUDIJE V NOVEM MESTU D I P L O M S K A N A L O G A VISOKOŠOLSKEGA STROKOVNEGA ŠTUDIJSKEGA PROGRAMA PRVE STOPNJE DEJAN ERJAVEC

2

3 FAKULTETA ZA INFORMACIJSKE ŠTUDIJE V NOVEM MESTU DIPLOMSKA NALOGA IMPLEMENTACIJA ANDROID MOBILNE APLIKACIJE Z RS232 KOMUNIKACIJO SENSORTALK Mentor: pred. Gregor Berginc Somentor: viš. pred. mag. Andrej Dobrovoljc Novo mesto, september 2015 Dejan Erjavec

4 IZJAVA O AVTORSTVU Podpisani Dejan Erjavec, študent FIŠ Novo mesto, izjavljam: da sem diplomsko nalogo pripravljal samostojno na podlagi virov, ki so navedeni v diplomski nalogi, da dovoljujem objavo diplomske naloge v polnem tekstu, v prostem dostopu, na spletni strani FIŠ oz. v elektronski knjižnici FIŠ, da je diplomska naloga, ki sem jo oddal v elektronski obliki identična tiskani verziji, da je diplomska naloga lektorirana. V Novem mestu, dne Podpis avtorja(ice)

5 Zahvala Iskreno se zahvaljujem mentorju pred. Gregorju Bergincu in somentorju viš. pred. mag. Andreju Dobrovoljcu za vodenje, strokovno pomoč in podporo pri pisanju diplomske naloge. Zahvaljujem se podjetju Krka, d. d., Novo mesto za možnost opravljanja delovne prakse v konstruktivnem okolju in za učenje dela z merilnimi napravami. Hvala tebi, Blažka, ki si mi v času mojega študija stala ob strani ter skrbela za otroka, predvsem pa za potrpežljivost. Hvala Neli in Neži za vajino prisotnost, s katero sta mi krepili voljo za študij. Posebna zahvala gre staršema za vso pomoč, podporo in pozitivne misli, brez katerih bi bil študij mnogo težji. Zahvaljujem se tudi Ivanki Višček za lektoriranje diplomske naloge.

6

7 POVZETEK Digitalne komunikacije nas danes spremljajo prav na vsakem koraku. V ozadju razvoja hitrejših in uporabnikom prijaznejših digitalnih komunikacijskih protokolov med elektronskimi napravami počasi zamirajo standardi in tehnologije prenosa podatkov, ki so se uporabljali skoraj 30 let. Vendar kljub razvoju tehnologij še vedno lahko zasledimo uporabo robustnega komunikacijskega protokola serijske komunikacije za potrebe vzdrževanja industrijskih merilnih naprav. Razvoj sodobne mobilne tehnologije, predvsem mobilnih telefonov, predstavlja pomemben del našega vsakdanjega življenja. Zmogljivosti mobilnih naprav lahko že primerjamo z zmogljivostmi klasičnih računalniških sistemov. Z diplomsko nalogo sem skušal raziskati možnosti razvoja mobilnega komunikacijskega sistema med Android pametnimi mobilnimi telefoni in industrijskimi merilnimi napravami kot izboljšavo vzdrževanja merilnih naprav. Na koncu sem predstavil ugotovitve, pridobljene tekom implementacije in testiranja mobilne aplikacije SensorTalk s podporo serijske komunikacije z merilnimi napravami. KLJUČNE BESEDE: serijska komunikacija, univerzalno serijsko vodilo, komunikacijski pretvornik, Android, mobilna aplikacija ABSTRACT These days digital communications follow us every step of our lives. Old fashioned standard communication protocols between electrical devices that were in use for the last 30 years, are vanishing in the background of fast modern communication protocols. But on most industrial measuring devices we can still find serial communication protocols used for maintenance and repair. Development of the modern mobile smart phones has become important part of our life today. The newest smart phones already mostly meet the efficiency of the PCs. With this thesis I wanted to research the possibilities how to develop mobile communication system between Android smart phone and industrial measuring devices with serial protocols. The main purpose was to find improvements in maintenance of the measuring devices. At the end I introduced solution of implemented and tested Android mobile serial communication application SensorTalk with supported measuring devices. KEY WORDS: Serial communication, Universal Serial Bus, communication converter, Android, mobile application

8

9 KAZALO 1 UVOD Raziskovalno vprašanje in cilji raziskave Pričakovani rezultati VHODNO IZHODNI PODATKOVNI TOKOVI RAČUNALNIŠKE KOMUNIKACIJE Serijska komunikacija RS Univerzalno serijsko vodilo (USB) Universal Serial Bus On-The-Go (OTG) Pretvornik USB RS232C MOBILNE TEHNOLOGIJE IN ORODJA RAZVOJA Mobilne naprave Mobilni operacijski sistemi Operacijski sistem Android Delovanje Android OS in mobilnih aplikacij Življenjski cikel mobilne aplikacije Android Razvojno okolje Android Studio Android SDK RAZVOJ MOBILNE APLIKACIJE SENSORTALK Metodologija Obstoječe stanje in pričakovanja Pregled obstoječih programskih rešitev Opis praktičnega postopka komunikacije Specifikacija zahtev funkcionalnosti aplikacije SensorTalk Načrtovanje aplikacije Programski vmesnik gonilnik Komunikacijski protokol pretvornika PL2303HX Gonilnik Grafični uporabniški vmesnik... 33

10

11 4.6.1 Načrtovanje in implementacija uporabniškega grafičnega vmesnika Primarni uporabniški vmesnik Vmesnik nastavitev Vmesnik za orodja Vmesnik komunikacijskega terminala TESTIRANJE APLIKACIJE Testna mobilna naprava Lastnosti testne mobilne naprave LG G Testna zunanja merilna naprava Protokol serijske komunikacije tehtnice AT Načrtovanje in testiranje Načrtovanje poteka testiranja Modeliranje poteka testiranja in določitev kriterija ustreznosti Rezultati testov ZAKLJUČEK LITERATURA IN VIRI... 61

12

13 KAZALO SLIK Slika 2.1: Primer štirinivojske arhitekture USB kontrolnika z nekaterimi napravami in razdelilniki (angl. hub) Slika 2.2: Shematski prikaz sestave USB vodnika z oznakami posameznih žic Slika 3.1: Nabor novejših in popularnih vrst mobilnih naprav Slika 3.2: Shema Android programske kopice (angl. software stack) Slika 3.3: Diagram poteka življenjskega cikla Android mobilne aplikacije z ustreznimi klici sistemskih funkcij Slika 3.4: Osnovni uporabniški grafični vmesnik razvojnega okolja Android Studio Slika 4.1: USB pretvornik Aten UC232A Slika 4.2: Idejna skica aktivnosti aplikacije SensorTalk Slika 4.3: Prikaz različnih dimenzij grafičnih vmesnikov aplikacije SensorTalk Slika 4.4: Izrezek slike Android standardnega gumba»nazaj« Slika 4.5: Levo dialog ročnega pridobivanja dovoljenja, desno dialog zagona aplikacije ob priključitvi USB pretvornika Slika 4.6: Preverjanje imetnika dovoljenja uporabe storitev USB Slika 4.7: Metoda prejemnika zahtevanega dovoljenja uporabe storitev USB Slika 4.8: Začetni uporabniški grafični vmesnik s prikazom podatkov pred in po prepoznavanju USB naprave Slika 4.9: Obvestila, generirana v povezavi s priključeno USB napravo Slika 4.10: Grafični vmesnik aktivnosti z nastavitvami serijske komunikacije Slika 4.11: Metoda klica gumba nazaj, detekcija sprememb in klic funkcije za shranjevanje nastavitev Slika 4.12: Potrditev ali zavrnitev shranjevanja sprememb v nastavitvah Slika 4.13: Metoda shranjevanja nastavitvenih parametrov v ozadju aplikacije Slika 4.14: Metodi za preverjanje razpoložljivosti strojne opreme in vklop/izklop funkcije ročne svetilke Slika 4.15: Uporabniški vmesnik aktivnosti "Tools" Slika 4.16: Definiranje opravila, ki se bo izvajal v ozadju aplikacija ter klic funkcije za posodabljanje prejetih podatkov... 46

14

15 Slika 4.17: Metoda za posodobitev prejetih podatkov na zaslonu in kontrolniki opravila v ozadju aplikacije Slika 4.18: Potrditveni dialog ponastavljanja komunikacijskega terminala Slika 4.19: Vmesnik serijskega terminala aplikacije ter primer poslanih (zeleno) in prejetih (oranžno) prikazanih podatkov Slika 5.1: Shema formata poslanih podatkov tehtnice gostitelju Slika 5.2: Načrtovani potek uporabe mobilne aplikacije po opisu specifikacije uporabniških zahtev KAZALO TABEL Tabela 4.1: Opis štirih obstoječih aplikacij s serijsko komunikacijo po kriteriju izbora najbolj ocenjena in plačljiva aplikacija Tabela 5.1: Pomembnejše lastnosti mobilne naprave za izvedbo testov Tabela 5.2: Nastavitveni parametri serijske komunikacije tehtnice Mettler Toledo tipa AT Tabela 5.3:Tabela uporabljenih ukaznih stavkov in opisi zahtevkov Tabela 5.4: Komunikacijski protokoli testnih ciklov aplikacije SensorTalk Tabela 5.5: Primer modeliranja testiranja aplikacije SensorTalk

16

17 1 UVOD Digitalne komunikacije nas danes spremljajo prav na vsakem koraku, največkrat le-teh ne opazimo. Večina sodobnejših komunikacijskih protokolov se izvaja s pomočjo brezžičnih tehnologij. V ozadju razvoja hitrejših in uporabnikom prijaznejših digitalnih komunikacijskih protokolov med elektronskimi napravami počasi zamirajo standardi in tehnologije prenosa podatkov, ki so se uporabljali skoraj 30 let. Prednosti, ki jih pripisujemo trajni uporabnosti starejšim komunikacijskim tehnologijam (npr. TIA-232-F), je sprva enostavna uporaba in kot drugo zakoreninjenost v vseh vejah sodobne elektronike ter računalniške tehnologije. Vedno bolj razširjena novejša komunikacijska tehnologija (USB, Bluetooth) izpodriva starejše tehnologije. To pomeni, da je uporaba starejših tehnologij težja ali včasih nedostopna. Pri novejših računalniških sistemih se starejši komunikacijski vmesniki praktično več ne vgrajujejo. Čeprav vgradnja sodobnih komunikacijskih vmesnikov izpodriva starejše tehnologije pri računalniških sistemih in elektronskih napravah, še vedno lahko zasledimo vgrajene tehnologije klasične serijske komunikacije. Predvsem pri industrijskih merilnih napravah fizikalnih veličin kot servisni komunikacijski vmesnik. Vmesnik se pri merilnih napravah tako uporablja npr. za prvi zagon naprave, nastavljanje sistemskih parametrov in odpravljanje merilnih negotovosti, odkritih med periodično kalibracijo. Potreba po uporabi tehnologije serijske komunikacije v sodobnem času je privedla do razvoja namenskih integriranih vezij. Te naprave imenujemo komunikacijski pretvorniki, s katerimi obojestransko transformiramo komunikacijski protokol med novejšim in starejšim protokolom. Serijski pretvorniki so tako postali pomemben člen pri vsakodnevnih opravilih strokovnjakov iz smeri meroslovja ter vzdrževanja merilne tehnike. Poleg razvoja tehnologij digitalnih komunikacij je v porastu tudi razvoj sodobnih mobilnih naprav. Z vedno večjim naborom vgrajenih elektronskih pripomočkov in sodobnim komunikacijskim vmesnikom USB razširjajo uporabnost na različnih področjih. Mobilne naprave, predvsem mobilni telefoni, predstavljajo pomemben del našega vsakdanjega življenja. Zmogljivost mobilnih naprav lahko tako programsko kot tudi strojno že primerjamo 1

18 z zmogljivostmi klasičnih računalniških sistemov. Trenutno je pri mobilnih napravah v uporabi najpogosteje nameščen operacijski sistem Android. Cilj diplomske naloge je z naborom sodobnih strojnih in programsko razvojnih orodij vzpostaviti mobilni sistem za enostavno serijsko komunikacijo. S celovito rešitvijo bom skušal izboljšati delovne procese pri vzdrževanju merilnih naprav. Sistem bo omogočal komunikacijo med Android mobilnim telefonom in elektronsko merilno napravo z vgrajenim serijskim vmesnikom. Ciljno mobilno aplikacijo bom poimenoval SensorTalk (govoriti z merilno napravo). V času pisanja naloge bom raziskoval standarde komunikacijskih protokolov USB in RS232 ter se spoznal s programiranjem Android mobilnih aplikacij. Pomembno pri razvoju programske opreme za digitalno komunikacijo je poznavanje protokolov, s katerimi želimo prenašati vsebino podatkov po komunikacijskem kanalu. Upoštevanje predpisanih pravil komuniciranja privede do izmenjave informacij, s čimer dosežemo želeno stanje oz. povratno informacijo. Z razvojem novejšega komunikacijskega protokola USB smo uporabniki pridobili učinkovit in na videz izjemno enostaven protokol. To pomeni, da se večino aktivnosti, kot so prepoznavanje in povezovanje naprav, izvede v ozadju. Vnos protokolarnih pravil se je z razvojem vodila USB skoraj v celoti preložilo na razvijalce zunanjih naprav. Programsko opremo, potrebno pri komunikaciji z USB protokolom, imenujemo programski gonilnik (angl. driver). Rokovanje z USB perifernimi napravami uporabniku tako ne predstavlja večjih bremen, z izjemo fizičnega povezovanja naprav s povezovalnim kablom. Preostale aktivnosti se izvedejo s pomočjo gonilnika. Nekoliko več aktivnosti uporabnika je potrebno pri vzpostavljanju starejše serijske povezave RS232, ki zahteva usklajevanje protokolarnih pravil pred pričetkom prenosa podatkov. Pri izdelavi diplomske naloge si bom pomagal z uporabo ciljno strojne konfiguracije mobilne naprave, komunikacijskega pretvornika in laboratorijske tehtnice. Pred pričetkom razvoja Android mobilne aplikacije bom podrobno preučil komunikacijski protokol in zagotovil ustrezni USB programski gonilnik za komunikacijo mobilne aplikacije s pretvornikom USB RS232. Uporabljena laboratorijska tehtnica omogoča usklajevanje protokolarnih pravil oz. bom nastavljena pravila uskladil z vnosom pravil v razviti mobilni aplikaciji SensorTalk. Mobilno aplikacijo bom razvil s priporočenim Android razvojnim 2

19 okoljem Android Studio. Na koncu bom aplikacijo testiral s pomočjo Android mobilnega telefona ter ugotovitve predstavil v nalogi. 1.1 Raziskovalno vprašanje in cilji raziskave Temeljno raziskovalno vprašanje diplomske naloge se glasi:»ali lahko z uporabo tehnologij sodobnih prenosnih mobilnih pametnih telefonov in razvojnih orodij zagotovim učinkovitejši sistem za izvajanje standardne serijske komunikacije z zunanjimi industrijskimi merilnimi napravami?«. Na podlagi raziskovalnega vprašanja sem definiral sledeče cilje raziskave: preučiti standardno digitalno serijsko komunikacijo RS-232, univerzalno serijsko vodilo USB, ugotoviti možnosti izvedbe serijske komunikacije z uporabo pametnih telefonov, analizirati možne rešitve in izbrati ustrezen mobilni sistem, implementirati Android mobilne aplikacije s funkcionalnostjo serijske komunikacije, testirati rešitve na razpoložljivih napravah in analiza uporabnosti (prednosti in slabosti). 1.2 Pričakovani rezultati Preučevanje možnosti za vzpostavitev digitalne serijske komunikacije z zunanjimi merilnimi inštrumenti in pametnimi mobilnimi telefoni mi bo koristilo pri razvoju in odločanju za izbiro najprimernejše in najučinkovitejše rešitve. Rešitev se bo navezovala na delo z vzdrževanjem obstoječih in novih industrijskih merilnih inštrumentov. Pri tem pričakujem izpolnitev naslednjih predpostavk: boljša mobilnost in fleksibilnost komunikacijskega sistema, manjša strojna in energijska zahtevnost delovanja sistema, krajši čas odkrivanja in posledično odpravljanja napak na merilnih inštrumentih, enostavnejša prilagoditev uporabniškega vmesnika ciljnega uporabnika, prednost uporabe vgrajenih strojnih komponent mobilnih telefonov. Pričakovani rezultat diplomske naloge je torej razviti sistem z uporabo sodobnih mobilnih tehnologij in odprtokodnih razvojnih orodij operacijskega sistema Android. S sistemom bom zagotovil učinkovitejšo uporabo pri vsakodnevnih opravilih strokovnjakov na področju vzdrževanja industrijskih merilnih inštrumentov. 3

20 2 VHODNO IZHODNI PODATKOVNI TOKOVI RAČUNALNIŠKE KOMUNIKACIJE Podatki v svetu računalništva predstavljajo niz elektromagnetnih signalov. To so npr. spremembe električne napetosti, radijsko valovanje, mikro valovanje ali infrardeče valovanje. Elektronske komponente, vgrajene v napravah, in naprave med seboj neprestano izmenjujejo informacije. Razumevanje podatkov se vzpostavi s skupnim komunikacijskim protokolom. Tekom razvoja elektronskih naprav od samega začetka se je razvilo mnogo različnih tipov komunikacijskih protokolov. Podatki so v računalništvu predstavljeni z določenimi nabori logičnih enic in ničel, ki jih po električnih vodnikih prenašamo z različnimi stanji električnih ali optičnih veličin (npr. električna napetost, elektromagnetno valovanje ). V glavnem lahko vse komunikacijske protokole razvrstimo v dve večji skupini glede na način prenosa podatkov. Skupini imenujemo serijske in paralelne komunikacije (Du Winncy, 2006). Komunikacijski protokoli znotraj obeh skupin se poglavitno razlikujejo v fizični izvedbi strojnih komponent in prenosu omenjenih signalov. Pri paralelnem komunikacijskem vodilu se prenos signalov na vodilu prenaša vzporedno. Tako je mogoče v enakem časovnem intervalu prenesti več signalov hkrati. Hkratni prenos več signalov omogoča več vzporednih povezovalnih vodnikov. Najpogosteje se uporablja povezave z 8 linijami za prenos podatkov dolžine 8 bitov (1 bajt). Standardne izvedbe paralelnih komunikacijskih protokolov zmorejo prenašati podatke s hitrostjo 50 do 100 kilobajtov na sekundo. Prednosti uporabe paralelnih komunikacijskih protokolov so: najhitrejša oblika prenosa podatkov, posledično delovanje z nizkimi frekvencami komponent ter enostavna izvedba. Slabost protokola pa predstavlja zahtevnejša in dražja izvedba povezovalnih komunikacijskih kablov. Večinoma so dolžine povezovalnih kablov paralelnih protokolov krajše zaradi povečane možnosti napak, povzročenih z elektromagnetnimi motnjami. Med bolj prepoznavne paralelne komunikacijske protokole spadajo: IEEE-488 Parallel (HPIB, GPIB), Centronics Parallel Protocol, SCSI, IDE, ISA (Industrial Standard Architecture, 16 bit), 4

21 PCI (32 bit), AGP. V sodobnem času se je bolj uveljavila uporaba serijskih komunikacijskih protokolov. Čeprav se prenos podatkov z uporabo serijskega protokola izvede s pretvorbo signalov iz paralelnega tipa komunikacije (UART pretvornik), je uporaba principa serijskega prenosa podatkov vedno bolj v uporabi (Silicon labs, 20. oktober 2010). Skupino serijskih komunikacijskih protokolov je potrebno nadalje deliti na dve podskupini, in sicer glede na sinhroni ali asinhroni prenos podatkov. Sinhroni prenos podatkov pomeni, da se podatek po vodilu prenese v določenem časovnem intervalu, ki predstavlja dolžino prenesenega podatka, hkrati pa se po posebni povezovalni liniji usklajuje tudi časovnik. Asinhroni prenos podatkov poteka podobno, vendar z uporabo posebnih začetnih in končnih bitov prenesenega podatka, kar pomeni, da ne potrebuje dodatnega usklajevanja prenosnih časovnikov. Prednost obeh tipov serijske komunikacije, predvsem asinhronega prenosa, je minimalna zahtevnost povezovalnih kablov in priključkov, za katere je dovolj že samo ena povezovalna žica (večinoma do štiri). Nekateri komunikacijski protokoli omogočajo oba tipa prenosa podatkov (npr. RS232). Standardni protokoli serijske komunikacije so (Du Winncy, 2006): RS 232, RS 422, RS 485, UART (Universal Asynchronous Receiver-Transmitter), USART (Universal Synchronous-Asynchronous Receiver-Transmitter), MIDI, IEEE1395 FireWire, CAN (Controller Area Network), USB (Universal Serial Bus), I 2 C (Inter Integrated Circuit), SPI (Serial Peripheral Interface), Micro-wire, Ethernet, Bluetooth, WiFi, optični internet. 5

22 Praktično je v uporabi več različnih komunikacijskih protokolov glede na zahtevnosti prenosa različnih podatkov. Zaradi potrebe diplomske naloge se bom v nadaljevanju osredotočil na sorodna serijska komunikacijska protokola RS232 in USB. Priljubljenost obeh podatkovnih komunikacijskih protokolov je predvsem v enostavni uporabi, vendar pri nasprotno različnih opravilih. Omenjena protokola bom v nadaljevanju naloge podrobneje predstavil. 2.1 Serijska komunikacija RS-232 Standardni komunikacijski protokol RS-232 je starejši predhodnik protokola USB, razvit z namenom povezovanja računalnika s perifernimi napravami. Standard za digitalno serijsko komunikacijo z oznako RS-232-C, je bil specificiran v letu 1962 pod okriljem organizacije Electronic Industries Association (EIA) (Stallings 2000, str. 12). Skozi nagel razvoj računalniške tehnologije se je na tržišču pojavilo mnogo različnih vrst priključkov in nestandardnih povezav z zunanjimi napravami, zato je bilo nujno potrebno opredeliti standard RS-232, ki standardizira tako protokol za prenos podatkov med napravami kot tudi fizično oblikovanje priključkov in povezovalnih vodnikov. Uporaba starejše različice serijske komunikacije je kljub temu še danes prisotna za komunikacijo z nekaterimi zunanjimi napravami. Predvsem se standard RS-232 danes uporablja zaradi preproste vgradnje in uporabe komunikacijskega protokola v industriji ter enostavnih razvojnih okoljih. Standardni prenos podatkov poteka med računalniškim sistemom»data Terminal Equipment«(DTE) in napravami»data Communication Equipment«(DCE), katere skupino predstavljajo vse zunanje naprave s komunikacijskim vmesnikom RS-232. S standardom je hitrost prenosa podatkov omejena do bit/s, na hitrost prenosa pa zelo vpliva izvedba fizične povezave naprav (el. motnje iz okolice). Standard RS-232 definira različne tipe priključkov, kot so DB-25, RJ45, DB-9, pri nekaterih napravah je mogoče povezovalni kabel priključiti tudi z vijačnimi sponkami neposredno na integriranem vezju naprave. Glede na vlogo komunikacije naprave se priključki razlikujejo še z moško ali žensko izvedbo (npr. smer računalnik tipkovnica). Danes je pri napravah najpogostejši priključek tipa DB-9 (priključek z 9 nožicami). Prenos podatkov med napravama je mogoč v obeh smereh istočasno, kar omogoča t. i.»full-duplex«tehnologija z implementacijo dveh prenosnih linij za prejemanje in oddajanje podatkov. Podatek se po žicah prenaša z generiranjem električnih signalov digitalno, pri čemer logično 0 (t. i.»space«) predstavlja el. napetost od +3 V do +12 V, logično 1 (t. i.»mark«) pa predstavlja el. napetost od 12 V do 3V. Nedefinirano 6

23 območje el. napetosti na liniji od 3 V do +3 V je namenjeno izločanju morebitnih električnih motenj, povzročenih iz okolice. Dolžina komunikacijskih kablov je sicer s standardom omejena na 15 m, vendar so dolžine lahko tudi daljše, kar je pogojeno s tehnologijo izvedbe kablov in z omejitvijo hitrosti prenosa podatkov (SparkFun Electronics, 2012). Večjo dolžino prenosnega vodnika se lahko zagotovi z vmesnimi t. i. el. ojačevalniki signala. Protokol serijske komunikacije omogoča komunikacijo na dva načina, in sicer sinhrono in asinhrono. Sinhrona komunikacija poteka tako, da napravi med vzpostavljeno povezavo konstantno izmenjujeta informacije o trenutnem stanju prenosnih kanalov. Tovrstno komuniciranje omogoča hitrejši prenos podatkov, saj ni potrebno pošiljanje podatkov o začetku in koncu pošiljanja informacij, temveč se informacije izmenjajo takoj ob zahtevi za prenos. Asinhrono komuniciranje je najbolj razširjen tip serijske komunikacije. Za razliko od sinhronega, asinhrono komuniciranje pri prenosu podatkov uporablja oznake za začetek in konec pošiljanja informacij. Prednost uporabe asinhronega pošiljanja namesto hitrejšega sinhronega je predvsem v razbremenitvi procesorske moči računalnika med pošiljanjem informacij o stanju prenosnih kanalov. Komunikacija RS-232 poteka s predhodno določenimi komunikacijskimi parametri. Parametre je potrebno vnesti v računalniški program in predstavljajo način sporazumevanja. Nabor parametrov, ki jih je potrebno nastaviti, je (TAL Technologies Inc., 2015): hitrost prenosa bitov na enoto časa (bits/s)»baud rate«, število bitov za prenos podatkov ali podatkovni okvir (5 9 bitov)»data bits«, število sinhronizacijskih bitov na koncu prenesenega paketa (1 2 bita)»stop bits«, mehanizem prepoznavanja napak pri prenosu podatkov (»Odd«,»Even«,»Mark«,»Space«)»Parity bit«, kontrola in reduciranje pretoka podatkov med napravama v primeru počasnejšega delovanja gostujoče naprave»handshaking«. Komunikacijski parametri so navadno navedeni v navodilih uporabe zunanje naprave in morajo biti usklajeni z nastavitvami računalniškega programa, lahko pa se parametri spreminjajo glede na zmožnost spreminjanja nastavitev na strani zunanje naprave. 7

24 2.2 Univerzalno serijsko vodilo (USB) Danes najbolj razširjeno in uporabljeno vodilo v računalništvu se imenuje univerzalno serijsko vodilo ali krajše USB (angl. Universal Serial Bus). Tehnologija vodila je bila razvita z namenom povezovanja in komuniciranja računalnika (gostitelja) z vhodno/izhodnimi ali perifernimi napravami, kot so tipkovnica, miška, spletna kamera, zvočniki, mikrofoni, tiskalniki, optični čitalci, fotoaparati, itd. USB v računalništvu večinoma že nadomešča starejša serijska in paralelna računalniška vodila. Ideja o razvoju univerzalnega in poenostavljenega vodila se je pojavila zaradi takrat širokega nabora različnih vodil, ki so bila razmeroma počasna (RS-232, RS-422, RS-485, LPT, I2C), predvsem pa so starejša vodila predstavljala težavno fizično kot tudi logično povezovanje zunanjih naprav z računalnikom. Univerzalno serijsko vodilo je s pomočjo sodelavcev razvil računalniški arhitekt Ajay Bhatt, zaposlen v računalniškem podjetju Intel. Leta 1994 so podjetja Intel, Compaq, Microsoft, IBM, Digital Equipment Corporation (DEC), Nortel in NEC ustanovila korporacijo»usb Implementers Forum«, kot neprofitno organizacijo za specifikacijo standarda USB ter pričela s prvo proizvodnjo računalniških vmesnikov USB (AllUSB.com, 27. avgust 2015). Omrežje povezanih naprav temelji na asimetrični ureditvi topologije zvezda, z zvezdiščem v kontrolniku gostitelja vodila. Računalnik lahko vsebuje več vgrajenih USB kontrolnikov. Posamezni kontrolnik omogoča priključitev do največ 127 različnih USB naprav. Kontrolniki, vgrajeni v računalniških sistemih, ponujajo navadno le nekaj USB priključkov, zato potrebujemo za razširitev omrežja samostojne USB razdelilnike. Nekatere naprave, kot so na primer spletne kamere, lahko prav tako vsebujejo notranji razdelilnik, ki povezuje napravi video kamere in mikrofona v eni kompaktni napravi. Razširitev povezovalnih priključkov vodila enega kontrolnika je omejeno na 6 razdelitvenih nivojev, pri čemer razdelilnik prav tako predstavlja USB napravo (6 zaporedno povezanih priključnih razdelilnikov). Prav tako je tehnologija omejena z razdaljo povezovalnega vodnika na dolžino petih metrov. 8

25 Slika 2.1: Primer štirinivojske arhitekture USB kontrolnika z nekaterimi napravami in razdelilniki (angl. hub). Vir: Erjavec, lastni prikaz (2015) Električni vodnik USB je sestavljen iz štirih bakrenih žic. Prenos podatkov z električnimi signali se vrši s prepoznavanjem diferencialnih signalov dveh prepletenih žic, označenih z D+ in D-, drugi dve žici Vbus in GND, pa se uporabljata za distribucijo +5 V električne energije priključenim napravam. Ena od ključnih prednosti tehnologije predstavlja predvsem distribucija električne energije preko USB vodnika, ki z ustrezno izvedeno zunanjo napravo omogoča delovanje izključno z dobavljeno električno energijo iz vodila, kar omogoča uporabnikom prijazno uporabniško izkušnjo. Vodnik je na obeh koncih zaključen z enim izmed standardnih priključkov USB (Zoltan, 2014). Slika 2.2: Shematski prikaz sestave USB vodnika z oznakami posameznih žic. Vir: Zoltan (2014, str. 6) Skozi razvoj vodila USB so se sicer razvili številni različni tipi priključkov. Različni tipi standardnih priključkov se uporabljajo zaradi različnih oblik perifernih naprav ter z namenom preprečevanja napak med priključevanjem naprav. Priključki, ki jih najpogosteje srečamo, so: priključek tipa»standard-a«za priklop vodnika v vtičnico računalnika, priključek tipa»mini- 9

26 B«se uporablja za povezovanje video kamer in fotoaparatov ter priključki tipa»micro-b«vgrajeni v manjših napravah, prenosnih telefonih in tablicah, ki v zadnjem času pogosteje služijo tudi polnjenju baterij naprav. Pravzaprav vgradnjo USB kontrolnika, tako za prenos podatkov kot tudi za polnjenje baterije, določa mednarodni standard»iec 62684:2011«. Standard opisuje specifikacijo vgradnje skupnega standardnega električnega napajanja (EPS) za mobilne naprave, ki omogočajo tudi prenos podatkov s tehnologijo USB (International Electrotechnical Commission, 2011). Hitrosti prenosa podatkov z univerzalnim serijskim vodilom se razlikujejo glede na različico protokola USB skozi čas samega razvoja. Prva različica protokola USB 1.0 je sprva omogočala prenos podatkov s hitrostjo 1,5 Mbps, kasneje do hitrosti 12 Mbps. V primerjavi z najvišjo specificirano hitrostjo prenosa podatkov bps predhodnega standarda RS-232 je nižja hitrost prve različice USB 1.0 višja za 92 %. Napredek razvoja tehnologije danes dosega hitrosti prenosa podatkov do 480 Mbps različice protokola USB 2.0 in hitrosti do 5 Gbps z različico USB 3.0. Nadgradnja tehnologije USB sledi trendu zahtevam prenosa vedno večjih količin podatkov, ki jih zahteva kompleksnejša in naprednejša obdelava podatkov. Korporacija USB-IF tako na trgu že predstavlja različico protokola USB 3.1 z nazivno hitrostjo prenosa podatkov kar do 10 Gbps. Komunikacijski protokol USB deluje na principu paketnega prenosa podatkov v obeh smereh med zunanjo napravo in gostiteljem, pri čemer zunanje naprave med seboj neposredno ne morejo komunicirati, razen v nekaterih posebnih izvedbah, ki jih bom predstavil v nadaljevanju. Standard univerzalnega serijskega vodila ne opredeljuje enotnega komunikacijskega protokola, ki bi ga razumeli vsi operacijski sistemi hkrati, kot ga opredeljuje npr. standard RS-232. Zato je potrebno za uspešno prepoznavanje in komunikacijo namestiti v operacijski sistem tudi programsko opremo oz. gonilnik. Gonilnik poskrbi, da sporazumevanje perifernih naprav z gostiteljem poteka ustrezno in nemoteno. Tehnologija USB krmilnika omogoča konstantno detekcijo novih priključenih naprav in se ob morebitni priključitvi novih naprav samodejno sproži postopek povezovanja z ustreznim gonilnikom naprave ter tako omogoča enostavno in takojšnjo razpoložljivost zunanje naprave uporabniku. Prednost predstavlja predvsem prihranek pri dodatnih posegih v nastavitve računalnika. Novejši operacijski sistemi, kot je npr. Windows 7, v primeru povezanosti z internetnim omrežjem poišče in samodejno namesti ustrezen gonilnik novo priključene 10

27 periferne naprave. Storitev samodejnega nameščanja gonilnikov tako uporabnikom še dodatno olajša delo z USB napravami. Proces identifikacije novo priključene USB naprave se imenuje enumeracija oz. popis. Gostitelj napravi dodeli 7 bitno identifikacijsko oznako, ki se uporablja pri naslavljanju paketov za prenos na vodilu. Posamezne naprave imajo lahko več različnih USB podatkovnih struktur (angl. configuration). Vsaka podatkovna struktura lahko vsebuje več podatkovnih vmesnikov (angl. interface) z različnim naborom komunikacijskih pomnilnikov. Vmesniki imajo s standardom omejeno do največ 15 vhodnih in 15 izhodnih komunikacijskih pomnilnikov, ki se imenujejo končne točke (angl. endpoints). Prenos paketov se izvaja po t. i. logičnih cevovodih, vzpostavljenih med gostiteljem in posamezno končno točko. Prenos paketov poteka po cevovodih usmerjeno, in sicer od gostitelja proti končni točki z oznako»out«(npr. prenos podatkov tiskalniku) ali v smeri zunanje naprave proti gostitelju za končne točke z oznako»in«(npr. prenos zvoka iz mikrofona). Vse naprave vsebujejo vsaj eno ničelno končno točko, namenjeno enumeraciji naprave ob priključitvi krmilniku gostitelja. Prenos paketov ob enumeraciji z ničelno končno točko poteka v obeh smereh. Zahtevku gostitelja z naslovljeno ničelno končno točko se odzovejo vse priključene periferne naprave. Priključene naprave na istem krmilniku hkrati prejmejo zahtevek gostitelja za prenos podatkov, vendar ga upošteva le naslovljena naprava oz. vmesnik. Paketi se po vodilu prenašajo na štiri različne načine:»control transfer«pakete običajno generira gostitelj v času enumeracije naprave, lahko tudi za specifično uporabo interpretirano v času razvoja naprave,»interrupt transfer«namenjeno prenosu manjših paketov v omejenem časovnem intervalu, navadno zahtevano iz strani zunanje naprave (npr. sprememba pozicije miške),»bulk data transfer«sekvenčno pošiljanje večjih paketov z integriranim strojnim nadzorom nad poškodovanimi paketi med prenosom in ponovnim pošiljanjem le teh (npr. prenos podatkov med podatkovnim ključem),»isochronous transfer«sinhroni prenos paketov v realnem času, pri čemer ni nadzora nad napakami in izgubljeni paketi kasneje niso pomembni (npr. prenos slike spletne kamere) 11

28 USB protokol definira tri tipe paketov različnih formatov. Izmenjava informacij se prične s pošiljanjem zahtevka paketa tipa»token«, ki vsebuje podatke o tipu transakcije, smeri pošiljanja, naslov naprave in naslov končne točke. Nato se naprava odzove na zahtevek s pošiljanjem paketa tipa»data«z vsebino podatkov končne točke oz. z informacijo v primeru, da podatki za prenos ne obstajajo. Na koncu prejemnik podatkov potrdi prejem ali sporoči napako pri prenosu s paketom tipa»handshake«(zoltan 2014, str. 15). 2.3 Universal Serial Bus On-The-Go (OTG) Razširitev protokola univerzalnega serijskega vodila»on-the-go«ali krajše OTG, se je pojavila zaradi želje po povezovanju in komunikaciji USB naprav med seboj, tudi ko v bližini nimamo računalnika in lahko ena od perifernih naprav prevzame vlogo gostitelja. Prva specifikacija protokola, predstavljena v letu 2001, je bila izpeljana z USB verzije 2.0. Protokol OTG omogoča kompleksnejšim USB kontrolnikom v napravah menjavo vloge med zunanjo napravo in gostiteljem. Povezovanje naprav in komunikacija poteka enako kot standardna USB komunikacija 2.0, gostitelj pa postane tista naprava, ki jo določi uporabnik. Nekatere naprave lahko s pomočjo tehnologije OTG uporabljajo dvojno vlogo, kot je npr. tiskalnik. Na primer tiskalnik lahko s standardno povezavo USB do računalnika izvaja opravila, prejeta iz računalnika. Sočasno pa lahko tiskalnik omogoča tudi komunikacijo z USB podatkovnim ključem, katero povezavo gosti prav tiskalnik in izvaja opravila tiskanja podatkov iz ključa (USB Implementers Forum, Inc. 2008). Z razvojem OTG so se pojavile tudi nove zmogljivosti in sicer»attach Detection Protocol«(ADP), ki služi OTG napravam detekcijo priklopa novih naprav na vodilo. Novost»Session Request Protocol«(SRP) omogoča napravam gostiteljem izklop dobave električne energije preko vodnikov, kar je zelo priporočljivo za mobilne naprave, ki za delovanje potrebujejo baterijo. Zadnja med novostmi»host Negotiation Protocol«(HNP) omogoča napravam dvojno vlogo USB gostitelja ali zunanje naprave oz. sprotno menjavo le teh (USB Implementers Forum, Inc. 2008). Uporabniško najbolj oprijemljivo razširitev protokola USB OTG, lahko opazimo predvsem z novejšimi mobilnimi telefoni, katerih proizvajalci vgrajujejo standardni USB priključek»mikro-b«za polnjenje baterij. Prav tako nam sistem omogoča standardno USB komunikacijo neposredno z računalniškimi sistemi. Krmilnik OTG omogoča mobilnim telefonom z 12

29 operacijskimi sistemi Android verzije 3.1 dalje priključitev skoraj enako paleto USB zunanjih naprav, kot jih lahko priključimo računalniškim sistemom. Tako lahko zajete slike s fotoaparatom telefona nemudoma pošljemo tiskalniku za tiskanje, brez vmesnih postopkov uporabe računalnika. 2.4 Pretvornik USB RS232C Dandanes je integracija serijskega komunikacijskega vmesnika RS-232 v sodobnih računalnikih vedno bolj v zatonu zaradi večjih prednosti novejšega protokola USB. Proizvajalci sodobnih računalnikov in drugih naprav zato opuščajo vgradnjo priključkov RS- 232 pri vseh računalniških sistemih. Kljub temu pa veliko naprav (predvsem merilno krmilna tehnika) še vedno uporablja osnovni komunikacijski protokol RS-232, predvsem zaradi preprostega protokola izmenjave podatkov. Standardni komunikacijski priključek DB-9 na računalniku je nadomestil t. i. USB-RS232 pretvornik, ki s pomočjo integriranega vezja in programskega gonilnika na računalniku pretvori signale iz standarda USB v standardni RS-232 protokol. Na trgu je že kar nekaj različnih izvedb komunikacijskih pretvornikov, vendar zaradi programske kompleksnosti tehnologije USB nekateri pretvorniki niso kompatibilni pri vzpostavljanju povezave z vsemi zunanjimi napravami. Vir navaja, da se napake z manj kvalitetnimi pretvorniki pojavljajo predvsem zaradi slabo načrtovanega razvoja programskega gonilnika za operacijske sisteme in programske podpore v integriranih vezjih samih pretvornikov. Pretvorniki, kot vse naprave s komunikacijskih protokolom USB, potrebujejo za svoje delovanje nameščen ustrezni programski gonilnik, ki poskrbi za sporazumevanje z računalnikom in pretvornikom. Operacijski sistem računalnika ob priključitvi pretvornika v vtičnico USB krmilnika s pomočjo gonilnika prepozna in identificira napravo kot virtualna serijska vrata z avtomatskim programskim naslavljanjem (npr. COM1). Uspešna vzpostavitev povezave tako virtualno nadomesti vgradnjo serijskega komunikacijskega krmilnika z novejšimi računalniškimi sistemi (U.S. Converters LLC, 2015). 13

30 3 MOBILNE TEHNOLOGIJE IN ORODJA RAZVOJA Izredna razširjenost in prisotnost mobilnih tehnologij povsod po svetu predstavlja izjemno pomembno vlogo v našem vsakdanjem življenju. Izraz mobilne tehnologije ne pomeni le skupine prenosnih mobilnih telefonov, kot meni večina ljudi, ampak predstavlja sodobne prenosljive tehnologije, ki uporabnikom med uporabo omogočajo mobilnost oz. prenosljivost. Razdelimo jih lahko na tri večje skupine (Hribar, 2007): brezžična omrežja, mobilne naprave in mobilne storitve. Del rešitve diplomske naloge se nanaša predvsem na uporabo sodobnih mobilnih naprav, ki jih bom opisal v nadaljevanju. Poleg mobilnih tehnologij na trgu bom v tem poglavju raziskal tudi odprtokodna programska razvojna orodja za mobilne naprave, ki jih bom potreboval pri razvoju mobilne aplikacije SensorTalk. 3.1 Mobilne naprave Mobilne naprave so elektronske digitalne naprave, kot jih prepoznamo v obliki prenosnih pametnih telefonov, pametnih ročnih ur, tabličnih in prenosnih računalnikov. Mobilne elektronske naprave smo uporabniki v preteklosti uporabljali predvsem za brezžično komuniciranje z drugimi uporabniki. Razvoj tehnologij mobilnih naprav je preoblikoval običajne mobilne telefonske naprave v večpredstavnostne pametne komunikacijske naprave kot jih poznamo danes (angl. smart phone). Razvoj tehnologij pa se navezuje tudi na druge mobilne tehnologije. 14

31 Slika 3.1: Nabor novejših in popularnih vrst mobilnih naprav. Pametni telefon Tablični računalnik Pametna ročna ura Prenosni računalnik Vir: prirejeno po Telekom (26. avgust 2015) Razvoj tehnologij, vgrajenih v sodobnih mobilnih napravah, danes postavlja uporabnost v povsem novo dimenzijo. Razmeroma majhna velikost in teža mobilnih naprav je ena od ključnih prednosti, ki omogoča uporabnikom preprosto uporabo, praktično v rokah uporabnika. Kompaktno mobilno napravo sestavlja LCD zaslon, občutljiv na dotik, ki virtualno nadomešča uporabo klasične računalniške kombinacije osnovnih vhodnih komponent miške in tipkovnice. Trend sodobne uporabe digitalnih tehnologij zasebnih uporabnikov nakazuje vedno večjo rast koriščenja mobilnih tehnologij. Statistični podatki statističnega urada Evropske unije Eurostat za leto 2013 kažejo, da je izmed 75 % individualnih uporabnikov interneta, kar 43 % uporabnikov uporabljalo mobilno napravo za dostopanje do interneta (Eurostat, 2015). Rast uporabe mobilnih tehnologij nam omogoča razvoj mobilnih tehnologij, ki v nekaterih pogledih že presega uporabnost tehnologij, ki jih ponuja klasični stacionarni in prenosni računalnik. Procesiranje podatkov z novejšimi mobilnimi napravami poteka prav tako kot pri računalnikih, z več jedrnimi procesorji, ki obratujejo s taktom do 2,5 GHz. Z napredkom tehnologije računalništva v oblaku se je zmanjšala potreba po velikih diskovnih pogonih za hranjenje podatkov. Z uporabo tehnologije SaaS»Software as a Service«je uporabnikom omogočen dostop in uporaba programske opreme na spletu. Storitev IaaS»Infrastructure as a Service je oblika računalništva v oblaku, ki omogoča koriščenje virtualnih računalniških virov (strojna oprema, programska oprema, strežniki, podatkovni hranilniki ) (Griffith, 17. april 2015). Mobilne naprave postajajo vse bolj zmogljive tudi zaradi razvoja mobilnih telekomunikacijskih tehnologij. Omrežje slovenskega mobilnega operaterja Telekom Slovenije omogoča uporabnikom prenos podatkov v kar 90 % vseh krajev 15

32 s tehnologijo 3 G (doseganje hitrosti do 3,6 Mbit/s), najnovejša tehnologija 4 G pa pokriva 80 % krajev in omogoča prenos podatkov s hitrostjo kar do 150 Mbit/s (Telekom Slovenije, d. d., 2012). Sodobne mobilne naprave imajo vgrajenih vse več uporabnih pripomočkov, ki jih pri klasičnih računalnikih proizvajalci ne vgrajujejo. To so npr. digitalni fotoaparat z zajemom slike visoke kakovosti, LED sijalka, mikrofon, vibrator, žiroskop, merilnik pospeškov, barometer, svetilka, GPS, NFC, WiFi, Bluetooth itd. Z uporabo vgrajenih pripomočkov in zmogljivo programsko opremo postajajo mobilne naprave za uporabnike vedno bolj zanimive in uporabne pri raznih opravilih, kar nakazuje tudi statistika ameriške internacionalne korporacije za podatke, da je bilo v letu 2014 prodanih kar 1,3 bilijona pametnih mobilnih naprav po vsem svetu (International Data Corporation, 2015). 3.2 Mobilni operacijski sistemi Mobilni operacijski sistem je kompleksna programska oprema, ki povezuje uporabniško programsko opremo z elektronskimi komponentami oz. strojno opremo, vgrajeno v mobilnih napravah. Mobilni operacijski sistemi v primerjavi z operacijskimi sistemi klasičnih računalnikov (Windows, ios, Linux) se ne razlikujejo bistveno. Razvoj mobilnih operacijskih sistemov se je pojavil zaradi potrebe po optimizaciji tako strojnih zahtevnosti kot tudi uporabniških izkušenj uporabe mobilnih naprav. Ključni dejavniki razvoja namenske programske opreme so bili optimizacija porabe električne energije, manjše dimenzije grafičnih zaslonov kot pri računalnikih, vnos podatkov z uporabo zaslona na dotik ter interakcije s specifičnimi vgrajenimi strojnimi komponentami (npr. žiroskop, bliskavica, GPS). Prav tako sodobni mobilni operacijski sistemi vedno bolj strmijo k naprednejši rabi električne energije oz. daljšemu času uporabe naprave brez polnjenja baterij. To je izjemno zahtevna naloga ob dejstvih, da je vedno več zahtevnih grafičnih zaslonov ter daljšem času uporabe mobilnih naprav (Beal, 10. avgust 2011). Skozi čas razvoja mobilnih naprav se je razvilo več različnih mobilnih operacijskih sistemov, v zadnjem času pa so najbolj pogosti sistemi Android (Google), ios (Apple) in Windows Phone (Microsoft). Uporabniška izbira operacijskega sistem je vezana izključno na izbiro tipa in proizvajalca mobilne naprave. Proizvajalec tovarniško namesti ustrezen operacijski sistem. Glede na statistiko prodanih mobilnih naprav v letu 2014 ameriške internacionalne 16

33 organizacije za podatke IDC, je bilo največje število naprav z operacijskim sistemom Android, kar 81 %, 15 % je bilo naprav s sistemom ios, 3 % delež naprav pa ima nameščen sistem Windows Phone (International Data Corporation, 2015). 3.3 Operacijski sistem Android Mobilni operacijski sistem Android (krajše Android OS) je odprtokodna programska rešitev danes podjetja Google, ki temelji na jedru Linux (angl.»kernel«). Imenovanje programske opreme izhaja iz angleške besede»android«in predstavlja robota v podobi človeka (blagovna znamka). Android je najbolj razširjen operacijski sistem, namenjen mobilnim napravam, kot so pametni mobilni telefoni in tablični računalniki z vgrajenim zaslonom na dotik. Priljubljenost in zmogljivost operacijskega sistema se širi tudi na t. i. pametne televizijske naprave ter razširja zmogljivosti televizijskih ekranov z mnogo uporabniškimi aplikacijami, dostopnih z internetno povezavo. V zadnjem času na trg prihajajo vse bolj zmogljive Android pametne ročne ure, ki tudi v klasični obliki ročnih ur ponujajo barvni zaslon z vrsto različnih uporabniških programov. Android OS je prvotno razvilo start-up podjetje Android, Inc. v letu 2003 v Kaliforniji (Amerika) z namenom poenostavljanja naprav pri rokovanju manj izkušenih uporabnikov. Prvotni namen je bil razvoj programske opreme za digitalne fotoaparate, vendar se je zaradi ozkega trga razvoj operacijskega sistema usmeril na mobilne telefone. V letu 2005 je podjetje Google v želji po vstopu na mobilni trg, prevzelo vodenje projekta Android in celotnega podjetja. Danes razvoj operacijskega sistema še vedno vodi podjetje Google, najnovejša verzija sistema pa je bila predstavljena novembra Razvoj operacijskega sistema je leta 2008 privedel do objave prve različice sistema 1.0»Alpha«pod okriljem OHA (»Open Handset Alliance«), ki danes združuje okoli 84 podjetij z namenom izboljšanja odprtokodnega razvoja mobilnih aplikacij (Open Handset Alliance, 2007). Kot zanimivost je imenovanje verzij Android OS navezano na imenovanje različnih znanih slaščic, prve črke imen različic pa sledi vrstnemu redu angleške abecede. Tako je imenovanje zadnje različice operacijskega sistem 5.0»Lollipop«, ki spominja na široko prepoznavno liziko. Uporaba operacijskega sistema je podprta z direktno manipulacijo gradnikov uporabniškega vmesnika z uporabo zaslona na dotik, kar pomeni, da uporabnik vnaša informacije z drsenjem, tapkanjem, razširjanjem, krčenjem prstov na zaslonu. Funkcionalnosti vgrajenih 17

34 pripomočkov v mobilnih napravah, mobilnega operacijskega sistema in mobilne aplikacije omogočajo povratno informacijo uporabnikom med vnašanjem informacij, kot sta npr. vibracije in obračanje zaslonske slike med vrtenjem naprave. Mobilne naprave z vgrajeno dodatno strojno opremo, kot so npr. merilnik pospeškov, žiroskop, senzor prisotnosti, barometer in druge, omogočajo uporabnikom izjemno izkušnjo z ustreznimi namenskimi aplikacijami. Delovanje Android OS spominja na uporabo okenskega operacijskega sistema Windows, nameščenega na stacionarnih in prenosnih računalniških sistemih, pri čemer začetno okno predstavlja namizje sistema, zagon aplikacij je omogočen s tapkanjem ikone aplikacije na namizju ali v meniju, aplikacijo pa lahko sestavlja več okenskih pogledov. 3.4 Delovanje Android OS in mobilnih aplikacij Arhitektura Android OS (glej Sliko 3.2) sestoji iz programske arhitekture temelječ na jedru Linux, ki je osnova operacijskega sistema, ki vsebuje programske vmesnike za nižje nivojsko vhodno/izhodno komuniciranje med operacijskim sistemom in strojno opremo mobilnih naprav. Jedro sistema skrbi za temeljne storitve, kot so varnost, upravljanje s pomnilnikom, upravljanje procesov, omrežni sklad in model gonilnikov. Višje nad jedrom se nahajajo naprednejše programske knjižnice s podporo za operacijski sistem, kot so npr. izris grafike, mrežna komunikacija, podatkovne baze, ogrodje spletnega brskalnika itd. Na istem nivoju se knjižnicam pridružuje izvajalnik DVM»Dalvik Virtual Machine«, ki skrbi za izvajanje programske kode na višjem programskem nivoju. Izvajalnik DVM deluje podobno kot pri ostalih računalniških operacijskih sistemih (npr.»java Virtual Machine«) z razliko, da je DVM posebej optimiziran za hitrejše delovanje s čim manjšo porabo električne energije. Na predzadnjem nivoju arhitekture sistema se nahaja Android programsko okolje, ki vsebuje gradnike za doseganje zahtev najsodobnejših mobilnih uporabniških aplikacij, kot so npr. gradniki za uporabniški vmesnik (GUI), upravljanje pogledov, paketni prenos, telefonija, lokacija itd. Android programsko okolje vsebuje programske vmesnike API-je (»Application Programming Interface«), s katerimi funkcionalnosti razširjajo namenske uporabniške aplikacije napisane z objektnim programskim jezikom Java. Android programski vmesniki so zbrani v paketu za razvijalce aplikacij, imenovani Android SDK (»Software Development Kit«). 18

35 Slika 3.2: Shema Android programske kopice (angl. software stack). Vir: Javatpoint (2014) Naprednejše mobilne aplikacije združujejo več različnih sistemskih komponent. Android mobilne aplikacije se z Android OS vršijo z eno ali več funkcionalnostmi štirih programskih izvršljivih komponent (Android Developers, 2015): aktivnosti (angl. Activities) aktivnost je posamezen grafični uporabniški vmesnik z izvršljivo programsko kodo, ki se izvaja v svojem življenjskem ciklu, aplikacija pa je navadno sestavljena soodvisno z več aktivnostmi, storitve (angl. Services) storitev je programska komponenta, ki se izvaja v ozadju samostojno ali vezano na aplikacijo in ne omogoča prikaza uporabniškega vmesnika, ponudniki vsebine (angl. Content providers) je programska komponenta, namenjena izmenjavi podatkov med aktivnostmi z uporabo standardnih poizvedovalnih mehanizmov (npr. imenik), sprejemniki (angl. Broadcast receiver) programska komponenta, namenjena obveščanju in sporočanju med aplikacijami in uporabniki, ki se izvaja v ozadju in 19

36 ni namenjena prikazu grafičnega uporabniškega vmesnika temveč prikazu opozoril v statusni vrstici. 3.5 Življenjski cikel mobilne aplikacije Android Android mobilne aplikacije se v primerjavi z drugimi operacijskimi sistemi prav tako pričnejo z vstopno točko (klic metode»main«). Posebnost pri mobilnih aplikacijah so namenske samooklicne metode, ki se izvršijo glede na pozicijo in status aplikacije v življenjskem ciklu. Ustrezni klic posameznih omenjenih funkcij poskrbi Android OS. Življenjski cikel Android aplikacij je razdeljen na faze, ki določajo stanje ali dogodek aktivnosti v določenem trenutku. Prav tako kot ostale aplikacije imajo mobilne aplikacije oz. posamezne aktivnosti vstopno točko življenjskega cikla s klicem metode»oncreate()«. S klicem te metode se ustvarijo vsi grafični gradniki aktivnosti, na zaslonu pa se prikaže uporabniški vmesnik aktivnosti. Aktivnost je na zaslonu vidna v fazi»onstart()«in»onresume«, ki si zaporedno sledita po zagonu aktivnosti. Potek aktivnosti se v fazi»onresume()«, kjer je uporabniški vmesnik popolnoma viden uporabniku, spremeni v delno vidnega v primeru prehajanja med drugimi aktivnostmi s klicem metode»onpause()«. V kolikor se prehod v tej fazi ne izvede, se v aktivnosti ponovno kliče metodo»onresume()«. Prehod iz ene aktivnosti v drugo aktivnost izvrši klic metode»onstop()«, ki pomeni neaktivno stanje aktivnosti, vendar se podatki aktivnosti še vedno hranijo v ozadju za ponovni klic izvajanja aktivnosti. Ponovni klic aktivnosti v ozadju izvrši klic metode»onrestart()«, grafični vmesnik aktivnosti pa se zopet prikaže na zaslonu z začasno shranjemi podatki iz predhodne uporabe. Življenjski cikel aktivnosti se konča s klicem metode»ondestroy()«, s katero operacijski sistem opusti podatke, generirane z aktivnostjo in zaključi proces aplikacije (Steele 2011, str. 32). Potek življenjskega cikla aplikacije Android nazorno prikazuje spodnja Slika

37 Slika 3.3: Diagram poteka življenjskega cikla Android mobilne aplikacije z ustreznimi klici sistemskih funkcij. Vir: Android Developers (2015) 3.6 Razvojno okolje Android Studio Android Studio je prilagojeno integrirano razvojno okolje (IDE-»Integrated Development Environment«) za razvoj Android mobilnih aplikacij. Program Android Studio je napredna zbirka že uveljavljenih odvisnih programskih orodij in stremi k preprostejšemu razvoju novih mobilnih aplikacij. Razvojno okolje je produkt podjetja Google. Izdelka je podjetje predstavilo prvič na konferenci leta 2013 kot uradno razvojno okolje za razvoj Android mobilnih aplikacij. Okolje Android Studio temelji na osnovnem javanskem razvojnem okolju IntelliJ IDEA (»Java integrated development environment«), ki ga je razvilo podjetje JetBrains z licenco Apache 2.0. Razvojno okolje Android Studio je prosto dostopna programska oprema na medmrežju za namestitev na računalniške operacijske sisteme Windows, Mac OS X in Linux. Testiranje programske rešitve in odpravljanje napak razvijalcem omogoča vgrajena Android virtualna naprava (AVD-»Android Virtual Device«). Program omogoča izbiro nekaterih najpopularnejših različnih tipov naprav ter najbolj pomembno za razvoj, z različnimi specifikacijami zaslonov. Virtualna naprava na računalniški sistem poleg razvojnega okolja namesti tudi programsko opremo navidezne strojne opreme Intel x86, s katero razvijalci učinkoviteje testirajo mobilno aplikacijo (Android Developers, 2015a). 21

38 Ena izmed prednosti novega razvojnega okolja Android Studio je predvsem možnost prenosa in nameščanja razvojne programske opreme uporabnikom v enem razširljivem paketu, ki združuje vsa potrebna orodja za razvoj že najbolj preprostih Android aplikacij. Predhodna razvojna okolja, kot je npr. Eclipse, je uporabnik lahko uporabljal le s predhodno namestitvijo vrste posameznih programskih orodij, ki jih je bilo potrebno za ustrezno delovanje medsebojno programsko povezati oz. nasloviti. Razvojni koncept je tako predstavljal vrsto težav razvijalcem začetnikom. Prednost, ki jo prinaša Android Studio razvijalcem mobilnih aplikacij, je tudi predogled uporabniškega vmesnika med samim razvojem aplikacije (glej Sliko 3.4). Prav tako je enostavna manipulacija grafičnih gradnikov kar na predoglednem oknu vmesnika (v preteklosti je bila konstrukcija vmesnika mogoča le z urejanjem programske kode). Slika 3.4: Osnovni uporabniški grafični vmesnik razvojnega okolja Android Studio. Vir: Smith (2015, str. 31) 3.7 Android SDK Razvoj Android mobilne aplikacije omogoča programsko ogrodje Android SDK (»Standard Development Kit«). Ogrodje Android SDK je za razvijalce ključnega pomena, saj ponuja vse 22

39 potrebne programske pripomočke za razvijanje, testiranje in odkrivanje napak mobilnih aplikacij. Paket je razdeljen na dve komponenti, in sicer pripomočki, neodvisni od ciljnega mobilnega operacijskega sistema, in pripomočki, namenjeni izključno določenemu operacijskemu sistemu. Za razvoj novih aplikacij je nujno potreben nabor SDK orodij za mobilne aplikacije, neodvisne od operacijskega sistema, in vsebuje naslednje ključne pripomočke (Steele 2011, str. 14): programski vmesniki knjižnična zbirka programskih vmesnikov (ang. Application Programming Interface API) razvijalcem novih aplikacij zagotavlja mehanizme za delo z vhodno/izhodnimi komponentami mobilnih naprav oz. vzpostavlja komunikacijo z nizkonivojskimi programskimi vmesniki, Android virtualna naprava (AVD) simulator mobilne naprave z izbranim Android operacijskim sistemom z namenom testiranja delovanja nove mobilne aplikacije in odpravljanje napak v programski kodi (angl. debuging), razvojna orodja pripomočki za predogled uporabniškega vmesnika, prevajanje in razhroščevanje programske kode v Android izvršljivo aplikacijo, za kar avtomatično poskrbi konstrukcijski program Gradle, dokumentacija vsebine razvojnega ogrodja SDK z vsebinami pomoči in praktičnimi primeri uporabe programske kode. 4 RAZVOJ MOBILNE APLIKACIJE SENSORTALK 4.1 Metodologija Mobilno aplikacijo SensorTalk sem razvijal s pomočjo kaskadnega modela. K izboru metodologije je prispevalo predvsem dejstvo, da se pri realizaciji zadane naloge prvič srečujem s programiranjem Android mobilnih aplikacij. Kaskadni model omogoča sprotno napredovanje in dokumentiranje razvoja programske opreme ter s povratnimi zankami med fazami modela spodbuja k sprotnemu odpravljanju napak ali dopolnjevanju vsebine. Razvoj aplikacije s kaskadnim modelom poteka skozi razvojne faze načrtovanja, implementacije, testiranja, namestitve, odpravljanja napak ter nenazadnje upravljanje in vzdrževanje aplikacije. Model je primeren za razvoj manj zahtevne aplikacije, katerih cilji so jasno 23

40 določeni. Model omogoča sprotno ovrednotenje tako napredovanja kot tudi kakovost implementacije izdelka (Rouse, 2007). Uporabnik rešitve razvoja programske opreme bom sam, zato se pri razvoju ciljno osredotočam le na lastno idejno funkcionalnost končne mobilne aplikacije. V nadaljevanju bom predstavil vse faze razvojnega procesa od analize in specifikacije zahtev, načrtovanja, implementacije, vključno s končnim testiranjem mobilne aplikacije. 4.2 Obstoječe stanje in pričakovanja Ideja za razvoj mobilne aplikacije SensorTalk se je porodila med opravljanjem praktičnega izobraževanja v oddelku za obvladovanje meril in merilnih inštrumentov v generičnem farmacevtskem podjetju Krka, d. d., tovarni zdravil v Novem mestu. Strokovnjaki s področja merilne tehnike pri svojem delu vsakodnevno opravljajo servisne ali preventivne posege v digitalnih elektronskih inštrumentih, za kar morajo vzpostaviti tudi digitalno komunikacijo z računalniškim sistemom. Digitalni merilni inštrumenti so naprave, s katerimi merimo različne fizikalne veličine, kot so temperatura, masa, tlak itd. Merilni inštrumenti so opremljeni z elektronskimi digitalnimi komponentami, ki poleg funkcionalnosti za merjenje fizikalnih veličin omogočajo tudi različne vrste računalniških komunikacijskih vmesnikov z namenom nastavljanja sistemskih in procesnih parametrov merjenja ter prenosa podatkov o izmerjenih vrednostih do računalniških nadzornih sistemov (JCGM, 2012). Pri spoznavanju procesne in laboratorijske merilne tehnike je bilo moč opaziti različne vrste komunikacijskih vmesnikov in protokolov, kot so npr. USB, LAN, Bluetooth, Profibus, RS485 in drugi. Med vsemi komunikacijskimi protokoli, tako starejši kot tudi novejši merilni inštrumenti iz servisnega stališča, še vedno v večini primerov temeljijo na standardnem komunikacijskem protokolu RS232. Standardno komunikacijo protokola RS232 z merilnimi inštrumenti se danes vzpostavlja z uporabo sodobnega prenosnega računalniškega sistema, ki ne ponuja več vgrajenega standardnega vmesnika RS232, temveč je potrebno uporabiti digitalni serijski pretvornik, ki s pomočjo namenske programske opreme (gonilnik) in namenskih digitalnih komponent pretvori komunikacijski protokol iz USB v RS232 in obratno (glej poglavje»pretvornik USB- RS232C«). Sodobni prenosni računalniki kljub kompaktni konstrukcijski izvedbi predstavljajo breme uporabniku pri prenosljivosti. Procesna merilna tehnika je nameščena v 24

41 različnih okoljih, mnogokrat v težko prehodnih tehničnih prostorih (t. i. strojnicah, namensko zgrajeni prostori za postavitev in montažo sestavnih delov večjih naprav), do katerih je potrebno dostopati z računalniškim sistemom. Rešitev, ki bi olajšala delo z merilnimi inštrumenti, se nanaša na tehnologijo sodobnih mobilnih telefonov in tabličnih računalnikov, ki z novejšim USB krmilnikom (OTG) in programskimi orodji omogoča priključitev široke palete USB naprav. Med njimi je prav tako pretvornik USB - RS232, katerega potrebujemo pri komunikaciji z merilnimi inštrumenti. Mobilni operacijski sistem Android od verzije 3.1 (API nivo 12) dalje omogoča razvijalcem Android aplikacij implementacijo gonilnikov za komunikacijo z različnimi USB napravami. Z implementacijo mobilne aplikacije, pametnim telefonom in serijskim pretvornikom želimo doseči celovit mobilni sistem za komunikacijo z zunanjimi napravami, ki podpirajo standardni RS232 komunikacijski protokol Pregled obstoječih programskih rešitev Del razvoja mobilne aplikacije SensorTalk je zajemal pregled podobnih obstoječih rešitev, objavljenih na svetovnem spletu. Iskanje obstoječih programskih rešitev je najlažje izvesti na spletni strani Google Play, kjer avtorji aplikacij svoje izdelke objavijo in ponudijo za prenos uporabnikom. Avtorji na spletni strani uporabnikom ponudijo vsebine brezplačno ali z odkupom. Storitve spletne strani Google Play zagotavlja podjetje Google Inc., ki poleg mobilnih aplikacij Android ponujajo prenos uporabnikom tudi glasbo, slike, video vsebine in t. i. elektronske knjige. Storitve so uporabniku na voljo po modelu računalništva v oblaku (angl. cloud computing), kar pomeni, da lahko uporabnik vsebino hrani na spletnih strežnikih in dostopa do vsebin preko svetovnega spleta (Google play). Iskanje podobnih mobilnih aplikacij sem izvedel z integriranim iskalnikom omenjene spletne strani. Ključno besedo za iskanje sem vnesel»usb serijska«(angl. usb serial). Iskalnik je našel in prikazal številne zadetke (preko sto zadetkov), za katere je bilo razvidno, da vsebinsko ne ustrezajo iskalnim kriterijem oz. opisu zahtev za mobilno aplikacijo SensorTalk. Med njimi pa so bile različne aplikacije na voljo tako brezplačno kot tudi z možnostjo nakupa. Zato sem se odločil med njimi izbrati štiri najbolje ocenjene (ocene od 0,0 do 5,0), vsebinsko ustrezne ter plačljive aplikacije. Izbrane aplikacije sem preučil in ugotovitve zajel v spodnji Tabeli

42 Tabela 4.1: Opis štirih obstoječih aplikacij s serijsko komunikacijo po kriteriju izbora najbolj ocenjena in plačljiva aplikacija Ikona Naziv (avtor) USB Serial Control Panel Pro (hosun lim) USB Serial Terminal Pro (hosun lim) OTG UART Terminal (Apps Gempro) Slick USB 2 Serial Term Pro (SlickDe v Labs) Opis Program serijske nadzorne plošče za pametne telefone Program serijskega terminala za Android mobilne telefone Testno programsko orodje za testiranje serijske komunikacije s pametnimi telefoni ali tablicami Program namenjen uporabi s tablicami, serijski terminal Android različica Minimum 3.2 (HONEYCO MB_MR2, API nivo 13) ali novejši Minimum 3.1 (HONEYCO MB_MR1, API nivo 12) ali novejši Minimum 2.3 (GINGERB READ, API nivo 9) ali novejši Minimum 3.1 (HONEYCO MB_MR1, API nivo 12) ali novejši Vir: prirejeno po Google play (3. september 2015) Zmogljivosti Povezljivost s serijskimi komunikacijskimi vmesniki tipa: SilLab CP210X, FTDI FT232, Prolific PL2303, CDC/ACM UART, Zigbee TI CC2531; Shranjevanje in urejanje ukaznih stavkov hitri kontrolni gumbi Povezljivost s serijskimi komunikacijskimi vmesniki tipa: SilLab CP210X, FTDI FT232, Prolific PL2303, CDC/ACM UART, Zigbee TI CC2531; Predstavitev podatkov v šestnajstiškem, dvojiškem in ascii znakovnem načinu; Shranjevanje in urejanje ukaznih stavkov; Arhiviranje poslanih in prejetih podatkov Pošiljanje podatkov neposredno na vhod UART vmesnika; Nekatere naprave potrebujejo pridobiti sistemsko dovoljenje ROOT Povezovanje in komunikacija s serijskimi vmesniki Prolific in FTDI; Shranjevanje ukaznih stavkov hitri gumbi; Spreminjanje nastavitev prikaza teksta Cena ( ) / Ocena 1,34 / 5,0 2,04 / 4,5 1,49 / 4,5 5,19 / 3,9 Ugotovil sem, da po opisu funkcionalno najbolj ustreza aplikacija»usb Serial Terminal Pro«. Razvoj aplikacije SensorTalk za potrebe diplomske naloge bo sledil smernicam omenjene obstoječe aplikacije. Hkrati pa bo razvoj strmel tudi k implementaciji dodane vrednosti, ki jo obstoječe aplikacije še nimajo in jo bom predstavil v nadaljevanju Opis praktičnega postopka komunikacije V času praktičnega izobraževanja sem ugotovil, da se proces serijske komunikacije izvaja izključno z uporabo računalniškega sistema. Proces specifikacije zahtev za mobilno aplikacijo SensorTalk sem izvedel s pomočjo uporabe Windows računalniškega sistema ter prosto 26

43 dostopnega terminalskega programa PuTTY, ki je široko uporabna programska rešitev kot nadomestilo nekdanjega Windows HyperTerminala, katerega z novejšimi verzijami operacijskega sistema Windows (Vista, 7, 8) dalje ni več mogoče uporabljati (Microsoft, 2015). Navodila in primer vzpostavljanja serijske komunikacijske povezave z računalniškim programom PuTTY sem poiskal na svetovnem spletu (Cyberoam Technologies Pvt. Ltd., 2015). Programska oprema PuTTY ne zagotavlja nabora programskih gonilnikov za komunikacijske pretvornike USB-RS232, zato je potrebno pred uporabo orodja poiskati in namestiti ustrezni programski vmesnik pretvornika, ki ga želimo uporabiti. V mojem primeru testiranja je operacijski sistem Windows 7 samodejno zaznal na spletu ustrezni programski gonilnik in ga namestil. Tako sem pretvornik lahko uporabil brez dodatnih posegov v operacijski sistem. Program PuTTY sicer omogoča več različnih opravil, za potrebe raziskave sem uporabil le razdelek za vzpostavitev serijske komunikacije. Uporabniški vmesnik omogoča vnos vseh potrebnih komunikacijskih parametrov serijske komunikacije ter izbiro virtualnega serijskega vmesnika (angl. COM port). S potrditvijo vnesenih protokolarnih parametrov serijske komunikacije se uporabniku prikaže terminalno okno, v katerega lahko vpisujemo znakovne (nabor ASCII znakov) zahtevke za pošiljanje preko serijskega vmesnika periferni napravi. Prav tako program v terminalu prikaže odzive periferne naprave. Nabor ukaznih stavkov za testno periferno napravo je podrobneje opisan kasneje v sklopu testiranja programske rešitve SensorTalk (glej poglavje 5). 4.3 Specifikacija zahtev funkcionalnosti aplikacije SensorTalk Razvoj mobilne aplikacije mora zagotavljati ustrezen programski vmesnik oz. gonilnik za prepoznavanje in komunikacijo z USB RS232 pretvornikom. Operacijski sistem mora v trenutku priključitve pretvornika na USB vodilo mobilne naprave uporabniku ponuditi zagon mobilne aplikacije in vzpostaviti povezavo z vmesnikom. Vzpostavljanje in prekinitev povezave je zaželeno tudi med samim izvajanjem aplikacije z izbirnim gumbom na osnovnem uporabniškem vmesniku. Aplikacija naj status povezanosti s pretvornikom jasno označuje na uporabniškem vmesniku. Vsako prekinitev vzpostavljene povezave z USB vmesnikom naj uporabnika ustrezno obvesti z dialogom. 27

44 Protokol serijske komunikacije RS232 med aplikacijo in priključeno napravo s pretvornikom je potrebno omogočiti s prilagajanjem osnovnih parametrov serijske komunikacije RS2323 (parametri opisani v teoretičnem delu). Posamezne parametre komunikacije uporabnik izbira v predpripravljenih spustnih seznamih na posebnem nastavitvenem uporabniškem vmesniku, do katerega dostopa iz osnovnega vmesnika z navigacijskim gumbom. Nastavitvene parametre serijske komunikacije je potrebno shraniti v ozadju aplikacije za kasnejšo uporabo enakih nastavitev pri komunikaciji in ponovnem zagonu aplikacije. Vnos teksta za pošiljanje uporabnik vnese v vnosno tekstovno okno z uporabo zaslonske tipkovnice mobilne naprave. Prenos podatkov na vodilo USB priključeni napravi se izvede z gumbom za pošiljanje. Nekateri podatki se morajo s serijskim komunikacijskim protokolom določeno zaključiti z ASCII znakoma nove vrstice»new line«in ali s povratnim znakom»carrier return«. Uporabnik mora imeti možnost vključiti posebna znaka v nastavitvah aplikacije. Vhodni podatki, prejeti iz USB vodila, se prevedejo v berljivo obliko ASCII znakov, ki morajo biti vrstično označeni in prikazani v terminalskem oknu. Uporabnik mora imeti možnost nastavitve prikazovanja poslanih podatkov v terminalskem oknu med prejetimi podatki. Uporabnikom je potrebno omogočiti brisanje prikazanih podatkov v terminalskem oknu oz. ponastavljanja grafičnih gradnikov. Aplikaciji je zaželeno vključiti tudi implementacijo pripomočka ročne svetilke za uporabo sistema v slabo osvetljenih prostorih na posebnem grafičnem vmesniku, dostopnega iz glavne aktivnosti. 4.4 Načrtovanje aplikacije Razvoj mobilne aplikacije sem zaradi kompleksnosti in boljše organiziranosti izvedel v dveh nivojih. Najprej sem pričel s kompleksnejšo implementacijo programskega vmesnika oz. gonilnika za sporazumevanje z USB serijskim pretvornikom. V drugem nivoju razvoja sem se posvetil gradnji grafičnega uporabniškega vmesnika oz. namenske aktivnosti aplikacije. Sočasno z razvojem posameznih aktivnosti sem vnesel tudi programsko logiko interakcije aplikacije z uporabnikom in integriral USB programski gonilnik. Na koncu sem izvedel testiranje mobilne aplikacije z uporabo testne mobilne naprave (API programski nivo verzije 3.1 ali novejša), USB serijskim pretvornikom in laboratorijsko tehtnico. 28

45 4.5 Programski vmesnik gonilnik Pri načrtovanju programskega vmesnika za komunikacijo je bilo najprej potrebno ugotoviti, s katero vrsto USB naprave bo mobilna aplikacija komunicirala in način komuniciranja. Prednost uporabe USB tehnologije z raznimi napravami uporabnikom omogoča enostavno priključevanje in vzpostavljanje povezave, to prednost pa zagotovi namenski programski gonilnik. Protokol USB je način sporazumevanja med elektronskimi napravami. Ljudje se med seboj lahko sporazumevamo le ob predpostavki, da se naučimo skupnega jezika in upoštevamo določena pravila (Komuniciranje in njegov pomen). Prav tako je potrebno elektronskim napravam podati znanje za sporazumevanje s protokolom USB in določiti pravila. Pravila in znanje z uporabo tehnologije USB določa razvijalec strojne kot tudi programske opreme USB naprav. Zato je potrebno poleg razvoja USB naprav upoštevati tudi razvoj programskih vmesnikov oz. gonilnikov za posamezne operacijske sisteme (prenosljivost gonilnikov med operacijskimi sistemi ni ustrezna). Gonilniki služijo interpretaciji informacij, ki jih sistem prejme od priključene USB naprave. Na trgu je mnogo digitalnih pretvornikov USB RS232 različnih proizvajalcev. Proizvajalci svojim izdelkom definirajo specifična pravila USB komunikacije (FTDI, Prolific, Silicon Labs ). Nekateri proizvajalci pretvornikov za razvijalce programskih vmesnikov na spletu objavijo celovito dokumentacijo z opisom komunikacijskega protokola naprave. Razumevanje in učenje komunikacijskega protokola ostalih slabo ali nič dokumentiranih pretvornikov je mogoče s postopkom reverzibilnega inženirstva, ki ga v tem sklopu sicer ne bom obravnaval. Pri načrtovanju mobilne aplikacije sem imel na voljo le pretvornik tipa UC232A proizvajalca ATEN, ki sem ga predhodno že testiral z računalniškim sistemom. Izdelek je izveden v obliki kabelskega vmesnika z vgrajenimi digitalnimi komponentami v standardnem DB9 moškem priključku na eni strani kabla in na drugi strani s standardnim USB moškim priključkom tipa A. Proces pretvorbe signalov med protokoloma USB in RS232 se izvede z integriranim namenskim čipom PL2303HX proizvajalca Prolific. Dokumentacijo za omenjeni pretvornik sem uspel poiskati na spletni strani proizvajalca in analizirati komunikacijski protokol. 29

46 Slika 4.1: USB pretvornik Aten UC232A. Vir: ATEN International CO. (2013, str. 16) Komunikacijski protokol pretvornika PL2303HX USB konfiguracija pretvornika PL2303HX predstavlja enotna periferna naprava z identifikacijsko oznako proizvajalca 0557 (VID) in oznako izdelka 2008 (PID). Identifikacijske oznake vmesnika so v dokumentaciji pretvornika PL2303HX definirane sicer nekoliko drugače, ker je proizvajalec vmesnika UC232A ATEN z dovoljenjem podjetja Prolific priredil oznake. Oznake sem poiskal na svetovnem spletu med postopkom specifikacije uporabniških zahtev z računalniškim sistemom. Komunikacija pretvornika z gostiteljem poteka s štirimi podatkovnimi linijami (angl. endpoints). Osnovna podatkovna linija ima z USB standardom določen naslov 0x00h, katerega kontrolnik gostitelja naslovi pri vzpostavljanju povezave in inicializaciji komunikacije z gonilnikom uporabniške aplikacije. Podatkovna linija 1 (»Interrupt input«) je naslovljena z oznako 0x81h in jo naprava uporablja za periodično (interval 1 ms) pošiljanje informacij gostitelju o strojnih prekinitvah serijske komunikacije. Podatkovna linija 2 (»Bulk output OUT«) z naslovom 0x02h je namenjena prenosu paketov v smeri iz pomnilnika gostitelja proti pomnilniku vmesnika. Podatkovna linija 3 (»Bulk input IN«) z naslovom 0x83h pa je namenjena prenosu paketov iz pretvornika proti gonilniku gostitelja. Zahteva gostitelja za prenos podatkov se vrši z naslednjim standardnim naborom zahtevkov (Prolific Technology Inc., 2007):»Clear Future / Set Future«navadno gostitelj pošlje paket in napravi informacijo binarnega stanja določenega parametra),»get Configuration / Set Configuration«uporabno za poizvedovanje ali nastavljanje konfiguracije naprave, 30

47 »Get Descriptor«zahteva napravi za posredovanje deskriptorjev generalni zahtevek»configuration Descriptor«vrne podatke za vse deskriptorje,»get Status«zahtevek za informacijo o vrsti el. napajanja naprave ter o možnosti vzbujanja naprave s»clear Future/Set Future«zahtevkom,»Set Address«uporaba pri enumeraciji naprave in prirejanju napravi unikatnega naslova na vodilu Gonilnik Na spletni strani»github.com«, ki je največje spletno gostišče odprtokodnih programskih projektov, med katerimi so na voljo tudi projekti za razvoj Android mobilnih aplikacij, sem poiskal prosto dostopno API knjižnico programske kode, imenovano»usb-serial-forandroid«, ki že implementira nekatere USB programske gonilnike. Med njimi sem našel tudi gonilnik za komunikacijo s pretvornikom Prolific PL2303HX. Mobilno aplikacijo SensorTalk sem se tako odločil razviti s pomočjo prosto dostopne razvojne knjižnice in tako prihraniti čas za razvoj svoje različice gonilnika. Poleg tega sem aplikaciji integriral tudi ostale gonilnike programske knjižnice, ki sem jo pri razvoju aplikacije SensorTalk uporabil s sprejetjem licenčnih pogojev GNU LGPL 2.1 (GNU Lesser General Public License). Za uporabo obstoječega gonilnika pri razvoju mobilne aplikacije sem se odločil na podlagi pregleda dokumentacije API knjižnice»usb-serial-for-android«na spletni strani GitHub. Ugotovil sem skladnost USB komunikacijskega protokola s serijskim pretvornikom UC232A. Čeprav knjižnica omogoča podporo USB serijske komunikacije tudi z nekaterimi drugimi pretvorniki (FT232R, CDC/ACM, CP2102), bom preučevanje in razvoj aplikacije usmeril le na ciljno konfiguracijo s pretvornikom PL2303HX in gonilnikom»prolificserialdriver«. Razvojna knjižnica z gonilniki temelji na podlagi programske knjižnice Android USB Host API. Implementirane metode v knjižnici vršijo nalogo vmesnika med uporabniško mobilno aplikacijo, Android operacijskim sistemom ter strojno opremo mobilne naprave. Android programska knjižica USB Host API je za delo z USB kontrolnikom mobilnih naprav na voljo z verzijo Android 3.1 (API nivo 12) dalje. Knjižnica»usb-serial-for-android«serijske komunikacije z USB pretvornikom je sestavljena z naslednjimi komponentami, ki jih bom uporabil tudi pri razvoju mobilne aplikacije (Wakerly, 2015): 31

48 UsbId.java {UsbId.class} objekt definira seznam USB naprav z identifikacijskimi oznakami VID (proizvajalec izdelka) in PID (izdelek); oznake v seznamu se uporabljajo za prepoznavanje/enumeracijo USB naprave z gonilnikom ob zaznavi novo priključene naprave USB kontrolnika; seznama kasneje pri uporabi končne mobilne aplikacije ni mogoče dopolnjevati; ProbeTable.java {ProbeTable.class} objekt definira novo podatkovno strukturo»probetable«tipa zemljevid, sestavljeno iz ključa VID:PID in ustreznega gonilnika; vsebovane osnovne metode za delo s podatkovno strukturo; UsbSerialProber.java {UsbSerialProber.class} pripomoček za delo s podatkovno strukturo»probetable«in iskanju ustreznega gonilnika (lahko tudi več različnih) novo priključeni napravi v fazi USB enumeracije; UsbSerialRuntimeException.java {UsbSerialRuntimeException.class} objekt razširja razred»runtimeexception«z namenom obvladovanja sistemskih sporočil generiranih med izvajanjem aplikacije; HexDump.java {HexDump.class} orodje, namenjeno pretvorbi podatkov iz šestnajstiških v decimalne oz. znakovne podatkovne tipe; SerialInputOutputManager.java {SerialInputOutputManager.class} orodje namenjeno avtomatizaciji branja in obdelave podatkov na USB komunikacijskem vhodu; UsbSerialPort.java {UsbSerialPort.interface} vmesnik definira temeljno strukturo (metode, parametre, obliko) klasičnega serijskega komunikacijskega prehoda RS232; CommonUsbSerialPort.java {CommonUsbSerialPort.class} razširitev vmesnika»usbserialport«z alokacijo internega vhodno/izhodnega podatkovnega pomnilnika, potrebnega za serijsko komunikacijo in določanje komunikacijskega prehoda novi USB napravi; UsbSerialDriver.java {UsbSerialDriver.interface} vmesnik definira temeljno strukturo USB gonilnika; ProlificSerialDriver.java {ProlificSerialDriver.class, ProlificSerialPort.class} namenski programski gonilnik za enumeracijo in komunikacijo z USB serijskimi pretvorniki Prolific (PL2303HX); gonilnik razširja in združuje vse predhodno opisane gradnike in vmesnike. Ostali namenski gonilniki za komunikacijo z drugimi tipi pretvornikov: FtdiSerialDriver.java {FtdiSerialDriver.class, FtdiSerialPort.class} 32

49 Cp21xxSerialDriver.java {Cp21xxSerialDriver.class, Cp21xxSerialPort.class} CdcAcmSerialDriver.java {CdcAcmSerialDriver.class, CdcAcmSerialPort.class} 4.6 Grafični uporabniški vmesnik Uporabniški vmesnik mobilne aplikacije je vizualna podoba aplikacije, sestavljena iz pogledov oz. aktivnosti ter grafičnih gradnikov, s katerimi je uporabnik v interakciji med izvajanjem aplikacije. Android mobilno aplikacijo lahko sestavlja več aktivnosti z različnimi grafičnimi sklopi, med katerimi uporabnik lahko prehaja s tapkanjem navigacijskih tipk ali z drsenjem po na dotik občutljivem zaslonu Načrtovanje in implementacija uporabniškega grafičnega vmesnika Aktivnosti mobilne aplikacije SensorTalk sem razdelil glede na opravila, s čimer sem pri implementaciji grafičnega vmesnika zmanjšal težavo pomanjkanja prostora na zaslonu mobilne naprave in pripomogel k lažji uporabi aplikacije. Idejo grafičnega vmesnika sem upodobil s pomočjo uporabe orodja MS Excel 2010 (Slika 4.2). Načrt aplikacije sem pri implementaciji vmesnika uporabil kot podlago za gradnjo. Načrt sem kasneje prav tako uporabil pri povezovanju funkcionalnih delov aplikacije z gradniki vmesnika ter prehajanja med aktivnostmi. 33

50 Slika 4.2: Idejna skica aktivnosti aplikacije SensorTalk Glavni vmesnik: Main Activity - vhodna točka aplikacije Conversation Activity Vmesnik pogovora: - implementacija serijskega terminala za komunikacijo z zunanjo napravo - vnos teksta za prenos in pošiljanje - prejemanje podatkov zunanje naprave z časovnim zaznamkom in osveževanje - prepoznavanje priključene USB naprave - prikaz podatkov priključene USB naprave - navigacijski meni med aktivnosti Settings Activity Vmesnik nastavitev aplikacije: - nastavitve parametrov serijske komunikacije - arhiv že uporabljenih nastavitev komunikacije z različnimi napravami Vmesnik orodij: Tools Activity - ročna svetilka - vklop bliskavice v primeru slabe svetlobe med priključevanjem USB naprave z drugimi napravami Vir: Erjavec, lastni prikaz (2015) Za gradnjo grafičnega uporabniškega vmesnika aplikacije SensorTalk sem uporabil orodje razvojnega okolja Android Studio. Vmesnik sem realiziral z Android standardnimi grafični komponentami, ki sem jih s funkcijo»drag-drop«umestil na virtualni zaslon mobilne naprave. Napredne funkcije razvojnega okolja so pripomogle k minimalističnemu urejanju XML kode, ki sicer predstavlja osnovo za gradnjo grafičnih vmesnikov. Aktivnosti aplikacije so sestavljene iz naslednjih osnovnih gradnikov palete gradnikov Android Studia:»LinearLayout«vsebnik skupine grafičnih gradnikov, razvrščenih v določeni smeri horizontalno ali vertikalno,»imageview«grafični element služi prikazovanju slik na zaslonu različnih virov in omogoča nekatere osnovne funkcije manipulacije (velikost, usmerjenost, barvni odtenki ),»ImageButton«razširjena izvedba gradnika»imageview«s funkcionalnimi lastnostmi gumba,»button«gradnik predstavlja interaktivni gumb, ki služi interakciji uporabnika z mobilno aplikacijo oz. klicu programskih funkcij, 34

51 »TextView«element prikazuje tekst na zaslonu z možnostjo posrednega urejanja z vršenjem programske kode, direktna uporabniška manipulacija z vnosno tipkovnico ni priporočljiva,»edittext«razširitev gradnika»textview«za prikazovanje teksta na zaslonu z možnostjo neposredne uporabniške manipulacije teksta z uporabo tipkovnice,»scrolview«vsebnik skupine grafičnih elementov ali posameznega gradnika, katerega velikost lahko presega dimenzije zaslona in je pregled dela vsebine možen z drsenjem po zaslonu mobilne naprave,»spinner«spustni seznam, prikaz izbrane vsebine ali izbira druge vsebine iz spustnega seznama. Gradnike vmesnikov sem v večini oblikoval z orodji razvojnega okolja z izjemo grafične podobe glave aplikacije, ki sem jo oblikoval s pomočjo programa MS Word 2010 in MS Paint. Orodje okolja Android Studia omogoča tudi hkratno implementacijo vmesnika za različne dimenzije mobilnih naprav, kar pomeni, da lahko razvijalec določi ciljno vrsto dimenzij zaslonov in jih med razvojem ureja istočasno. Razvoj grafičnega vmesnika aplikacije sem omejil na tipične pravokotne zaslone mobilnih naprav dimenzij od 3,7 inča do 7,0 inča. Slika 4.3: Prikaz različnih dimenzij grafičnih vmesnikov aplikacije SensorTalk Vir: Erjavec, lastni prikaz (2015) 35

52 Mobilna aplikacija bo večino časa prikazovala zaslonsko tipkovnico, hkrati pa bo uporabnik potreboval pregled nad prejetimi podatki iz zunanje naprave, kar predstavlja večjo prostorsko obremenitev zaslona (predvsem manjšim zaslonom). Zato sem aplikaciji med razvojem vmesnika določil končno vertikalno postavitev vmesnika ter optimalne velikosti gradnikov prikazovalnikov pomembnih podatkov za vrsto izbranih velikosti zaslonov. Prehod pogleda na podaktovnosti aplikacije sem realiziral z implementacijo navigacijskih gumbov v glavnem meniju, za vračanje na pogled glavne aktivnosti pa sem uporabil Android standardni gumb»nazaj«(slika 4.4). Slika 4.4: Izrezek slike Android standardnega gumba»nazaj«vir: Erjavec, lastni prikaz (2015) Primarni uporabniški vmesnik Vstopno točko aplikacije SensorTalk sem določil z vstopno oz. glavno aktivnostjo, ki sem jo poimenoval»activity_main.xml«. Programsko kodo glavne aktivnosti sem urejal v samodejno generirani datoteki»mainactivity.java«, ki jo ustvari razvojno okolje Android Studio soodvisno z ustvarjanjem nove aktivnosti. Programska koda izvaja vse funkcije življenjskega cikla glavne aktivnosti. Uporabnik lahko v aplikacijo SensorTalk vstopi na tri različne načine: iz začetnega zaslona (tapkanje ikone na začetnem zaslonu), iz seznama aplikacij (tapkanje ikone v meniju seznama aplikacij), s pomočjo namenskega filtra ob priključitvi USB naprave. Operacijski sistem Android varnostno omejuje dostop aplikacijam do storitev USB kontrolnika. Zato aplikacija za polni dostop storitev potrebuje posebno dovoljenje operacijskega sistema»extra_permission_granted«, ki ga lahko pridobi na dva različna načina: samodejno uporabnik potrdi dialog za zagon aplikacije z uporabo namenskega filtra»intent-filter«definiranega v datoteki»androidmanifest.xml«, 36

53 ročno pošiljanje zahtevka za dovoljenje med izvajanjem mobilne aplikacije in potrditev dialoga s strani uporabnika. Aplikaciji SensorTalk sem omogočil oba mehanizma. Ročno pridobivanje dovoljenja sem implementiral v sklopu klica aktivnosti komunikacijskega terminala z dodatnim preverjanjem dosegljivosti priključene USB naprave (Slika 4.5). Slika 4.5: Levo dialog ročnega pridobivanja dovoljenja, desno dialog zagona aplikacije ob priključitvi USB pretvornika Vir: Erjavec, lastni prikaz (2015) Slika 4.6: Preverjanje imetnika dovoljenja uporabe storitev USB Preverjanje in klic metode za pridobivanje dovoljenja 37

54 Slika 4.7: Metoda prejemnika zahtevanega dovoljenja uporabe storitev USB Metoda pridobivanja dovoljenja Vir: Erjavec, lastni prikaz (2015) Namen glavne aktivnosti poleg vstopne točke je prikaz osnovnih podatkov priključenega USB-RS232 pretvornika ter prikaz navigacijskega menija med ostalimi aktivnostmi aplikacije. Pomembnejši podatki, ki sem jih umestil na uporabniški vmesnik, so (glej Sliko 4.8): ime naprave, status povezanosti, par identifikacijskih številk proizvajalca in izdelka (»Vendor ID:Product ID«), število USB vmesnikov naprave, število podatkovnih linij vmesnikov (»Endpoints«), ime ustrezajočega gonilnika naprave iz nabora gonilnikov»usb-serial-forandroid«. Del vmesnika predstavlja tudi navigacijski meni z naborom interaktivnih gumbov, ki jih uporabnik lahko aktivira s tapkanjem po zaslonu mobilne naprave. Navigacijski meni sestavljajo gumbi: 38

55 »Search«klic funkcije za enumeracijo na novo priključene USB naprave oz. povezovanje naprave z enim od gonilnikom ter posodabljanje prikazanih podatkov naprave, generiranje obvestil o uspehu pri iskanju,»start conversation«klic aktivnosti»activity_conversation.xml«(uporabniški vmesnik serijske komunikacije), preverjanje in urejanje dovoljenja USB naprave za dostop do storitev Android»USB Host«ter shranjevanje podatkov USB naprave (ime naprave, par identifikacijskih številk v obliki»proizvajalec:izdelek«) s pomočjo objekta»sharedpreferences«v namen preverjanja pri kasnejšem vzpostavljanju komunikacije, generiranje obvestil v primeru nedosegljive naprave,»settings«klic aktivnosti»activity_settings.xml«(uporabniški vmesnik osnovnih nastavitev parametrov serijske komunikacije),»tools«klic aktivnosti»activity_tools.xml«(uporabniški vmesnik s pripomočki aplikacije),»exit«končanje aktivnosti in izhod iz aplikacije SensorTalk. Slika 4.8: Začetni uporabniški grafični vmesnik s prikazom podatkov pred in po prepoznavanju USB naprave Vir: Erjavec, lastni prikaz (2015) Prikazani podatki USB naprave in status povezanosti se osvežijo s klicem funkcionalnosti gumbov. Glavna aktivnost povratne informacije uporabniku posreduje tudi z generiranjem 39

56 kratkotrajnih sporočil ob uspešni enumeraciji USB naprave ali morebitnih napakah, nastalih z enumeracijo. Slika 4.9: Obvestila, generirana v povezavi s priključeno USB napravo Vir: Erjavec, lastni prikaz (2015) Vmesnik nastavitev Implementacija aktivnosti z nastavitvami parametrov serijske komunikacije RS232 je potrebna za vnos konfiguracije serijskega komunikacijskega protokola z zunanjo napravo. Nastavljanje parametrov sem realiziral z namensko aktivnostjo, ki sem jo imenoval»activity_settings.xml«in samodejno generirano (Android Studio) programsko datoteko»settingsactivity.java«. Aktivacijo aktivnosti uporabnik kliče z navigacijskim gumbom»settings«iz programa glavne aktivnosti. Aktivnost uporabniku ponuja nastavljanje parametrov serijske komunikacije, ki sem jih navedel v teoretičnem sklopu naloge. Poleg nastavitev serijske komunikacije lahko uporabnik določi še zaključevanje poslanega sporočila z novo vrstico oz. posebnima znakoma»carierreturn«in»linefeed«ter ali se poslani podatki tudi prikažejo v terminalu med vrsticami prejetih podatkov ali ne. 40

57 Slika 4.10: Grafični vmesnik aktivnosti z nastavitvami serijske komunikacije Vir: Erjavec, lastni prikaz (2015) Hranjenje nastavitvenih parametrov sem realiziral z namenskim orodjem»sharedpreferences«, s katerim v ozadju aplikacije program ustvari uporabniku nevidno datoteko in v njej shrani nabor nastavljenih parametrov. Aktivnost z nastavitvami se zaključi ob aktiviranju Android gumba nazaj. Ob izhodu iz aktivnosti se najprej izvede preverjanje morebitnih sprememb nastavitev glede na predhodno shranjene parametre. V primeru sprememb pred izhodom iz aktivnosti ta prikaže uporabniku dialog z možnostjo shranjevanja sprememb nastavitev v datoteko ali pa se aktivnost konča brez shranjevanja. Podatke nastavitev serijske komunikacije aplikacije v podatkovni strukturi»sharedpreferences«sem shranil s klicem metode v programu aplikacije. Shranjeni podatki so indeksi izbranih elementov v spustnih seznamih, saj so ob nastavljanju parametrov serijske komunikacije na strani gonilnika USB naprave vrednosti enakovredne. 41

58 Slika 4.11: Metoda klica gumba nazaj, detekcija sprememb in klic funkcije za shranjevanje nastavitev Vir: Erjavec, lastni prikaz (2015) Slika 4.12: Potrditev ali zavrnitev shranjevanja sprememb v nastavitvah Vir: Erjavec, lastni prikaz (2015) 42

59 Slika 4.13: Metoda shranjevanja nastavitvenih parametrov v ozadju aplikacije Vir: Erjavec, lastni prikaz (2015) Vmesnik za orodja Mobilno aplikacijo SensorTalk sem z implementacijo aktivnosti, imenovano»activity_tools.xml«, dodatno opremil kot orodje aplikacije. Mobilna aplikacija se bo uporabljala tudi pri povezovanju z zunanjimi napravami v slabo osvetljenih prostorih (t. i. strojnicah). Za ustrezno povezavo mobilne naprave z zunanjo napravo bom tako potreboval dodatni vir svetlobe. Tako sem z uporabo vgrajene strojne komponente bliskavice in Android programske knjižnice»camera«dodal funkcionalnost ročne svetilke. Mobilna naprava lahko postane ročna svetilka v smislu aktivacije bliskavice za čas, ki ga potrebuje uporabnik pri priključevanju. Aktivnost orodij aktiviramo z gumbom»tools«iz navigacijskega menija glavne aktivnosti. Vklop in izklop ročne svetilke uporabnik izvrši s pritiskom na interaktivni gumb»turn on/off«. Vračanje na glavno aktivnost enako kot pri ostalih aktivnostih izvede uporabnik s pritiskom na gumb nazaj, hkrati pa se v primeru vklopljene svetilke ta tudi izklopi. Nekatere mobilne naprave v naboru strojnih komponent nimajo vgrajene»bliskavice«. Temu primerno aktivnost dodatno označuje možnost uporabe dodatne funkcije. 43

60 Slika 4.14: Metodi za preverjanje razpoložljivosti strojne opreme in vklop/izklop funkcije ročne svetilke Vir: Erjavec, lastni prikaz (2015) Slika 4.15: Uporabniški vmesnik aktivnosti "Tools" Vir: Erjavec, lastni prikaz (2015) Vmesnik komunikacijskega terminala Aktivnost, s katero bomo vršili serijsko komunikacijo in predstavlja funkcijo serijskega terminala, sem imenoval»activity_conversation.xml«. Implementacijo aktivnosti serijskega 44

61 terminala na nekoliko manjšem zaslonu mobilne naprave kakor na prenosnem računalniku, sem realiziral z uporabo gradnikov, s katerimi sem omogočil kar najboljšo preglednost nad prejetimi in poslanimi podatki serijske komunikacije. Klic aktivnosti se izvede iz menija glavne aktivnosti z gumbom»start Conversation«, pri čemer se predhodno preveri status povezanosti priključene naprave, preveri in pridobi potrebna dovoljenja za komunikacijo. V primeru neustrezne povezanosti naprave se klic aktivnosti serijskega terminala prekine, hkrati pa glavna aktivnost generira obvestilo uporabniku o napaki. Ob klicu aktivnosti se v ozadju naložijo shranjeni nastavitveni parametri serijske komunikacije iz datoteke ter vzpostavi komunikacijo s priključeno USB napravo. Uspešnost vzpostavljanja povezave s pretvornikom USB-RS232 se prav tako seznani uporabnika z generiranjem obvestila. Vnos teksta in pošiljanje zunanji napravi se izvede s pomočjo vnosnega tekstovnega polja, virtualne zaslonske tipkovnice in priležnega gumba»send«. Vnesene podatke v tekstovnem polju uporabnik lahko briše z gumbom»clear input«. Prejeti podatki iz USB pretvornika se v terminalu prikažejo samodejno z oznako številke vrstice, v kateri se nahaja podatek. Samodejno prejemanje in obdelavo podatkov sem implementiral s pomočjo integriranega objekta USB gonilnika»serialinpuoutputmanager.class«. Ob uspešni vzpostavitvi komunikacije s pretvornikom sem s klicem pripomočka gonilnika ustvaril novo opravilo v ozadju Android mobilne aplikacije. Izvajanje opravila v ozadju samodejnega prejemanja podatkov iz zunanje naprave je zelo pomembno, saj bi sicer to opravilo zasedlo večino procesorskega časa, kar bi upočasnilo delovanje aplikacije. Tako lahko uporabnik brez motenj vpisuje in pošilja zahtevke zunanji napravi. Sočasno aplikacija lahko prejema podatke iz zunanje naprave in jih ustrezno prikaže v terminalu. 45

62 Slika 4.16: Definiranje opravila, ki se bo izvajal v ozadju aplikacija ter klic funkcije za posodabljanje prejetih podatkov Vir: Erjavec, lastni prikaz (2015) Slika 4.17: Metoda za posodobitev prejetih podatkov na zaslonu in kontrolniki opravila v ozadju aplikacije Vir: Erjavec, lastni prikaz (2015) 46

63 Z aktivacijo nastavitev prikaza poslanih podatkov v nastavitvenem vmesniku, se med prejetimi podatki prikažejo tudi poslani podatki. Razlikovanje prejetih in poslanih prikazanih podatkov v terminalu sem za prejete podatke določil odtenek oranžne barve, poslani podatki pa so obarvani z zeleno barvo. Uporabniku sem z gumbom»reset«omogočil ponastavljanja grafičnih elementov terminala (brisanje podatkov), pri čemer sem upošteval možnost neželene aktivacije gumba. Zato sem ob klicu gumba za ponastavljanje implementiral tudi potrditveni dialog, s katerim uporabnika tudi obvestim o brisanju podatkov. Slika 4.18: Potrditveni dialog ponastavljanja komunikacijskega terminala Vir: Erjavec, lastni prikaz (2015) Slika 4.19: Vmesnik serijskega terminala aplikacije ter primer poslanih (zeleno) in prejetih (oranžno) prikazanih podatkov Vir: Erjavec, lastni prikaz (2015) 47

64 5 TESTIRANJE APLIKACIJE Testiranje programske opreme je namenjeno objektivnemu, neodvisnemu vpogledu v aplikacijo s čemer razvijalec potrdi in ovrednoti morebitna tveganja uporabe aplikacije. Tehnike testiranja programske opreme v prvi vrsti pripomorejo k učinkovitejši detekciji napak v programski kodi, ki jih tekom razvoja programske opreme ni enostavno odkriti. Navadno koraki testiranja sledijo predhodno specificiranim zahtevam strank za razvoj programske opreme. Zahtevnost testiranja in čas, porabljen za proces, je v veliki meri odvisen od zahtevnosti aplikacije, pomembnosti rezultatov, ciljne uporabniške skupine, itd. V skladu s standardom ANSI/IEEE 1059 (Guidance in preparing Software Verification and Validation Plans V&V) lahko opredelim testiranje programske opreme kot analiziranje programske opreme ali kosa programske opreme z namenom odkrivanja razlik med specificiranimi zahtevami in dejanskim stanjem opreme (napake, okvare, hrošči). Testiranje mobilne aplikacije SensorTalk za Android operacijski sistem bom opravil v realnem okolju z razpoložljivima napravama pametnega mobilnega telefona in zunanjo merilno napravo laboratorijsko tehtnico. 5.1 Testna mobilna naprava Mobilna aplikacija SensorTalk je namenska aplikacija za uporabo z Android pametnimi mobilnimi napravami (pametni telefon ali tablični računalnik). Glavna funkcionalnost aplikacije je sposobnost vzpostavljanja serijske komunikacije z zunanjimi merilnimi napravami, kar omogoča vmesnik komunikacijskega protokola pretvornik USB RS232. Sodobne mobilne naprave imajo sicer vgrajeno vodilo USB, ki pa pri vseh, tudi sodobnih napravah, niso tudi USB kombinirani kontrolniki in zatorej vse naprave niso sposobne komunicirati s pretvornikom. Izbira testne mobilne naprave je omejena z mobilnimi napravami, ki imajo vgrajen kombinirani USB kontrolnik OTG (On-The-Go). Prav tako je izbira mobilne naprave omejena s programsko opremo naprave, ki jo mora poganjati mobilni operacijski sistem Android različice 3.1»Honeycomb«API nivo 13 ali novejši. Za testiranje mobilne aplikacije sem uporabil napravo pametni mobilni telefon proizvajalca LG model G3 (predhodno v uporabi). 48

65 5.1.1 Lastnosti testne mobilne naprave LG G3 Naprava LG G3 med mobilnimi napravami spada v skupino pametnih mobilnih telefonov. Proizvajalec LG (Lucky Goldstar) Electronics je izdelek lansiral na trg maja 2014 s pred naloženim mobilnim operacijskim sistemom različice 4.4.2»KitKat«(API nivo 19). Med samim razvojem aplikacije SensorTalk sem nadgradil Android operacijski sistem z različico 5.0»Lollipop«(API nivo 21). Nadgradnjo Android sistemov omogoča uporaba funkcije samodejnih posodobitev. V spodnji tabeli sem strnil nekatere, za testiranje aplikacije pomembne lastnosti mobilne naprave. Tabela 5.1: Pomembnejše lastnosti mobilne naprave za izvedbo testov Zaslon TEHNIČNE LASTNOSTI NAPRAVE True HD (16M barv) 1440x2560 pik z diagonalo 5,5 incha Osnovna plošča Qualcomm MSM8975AC Snapdragon 801 Procesor Quad-core 2.5 GHz Krait 400 Grafični vmesnik Adreno 330 Interni spomin USB kontrolnik Kap. baterije Bliskavica Operacijski sistem Vir: prirejeno po GSMArena.com 32 GB, 3 GB RAM microusb v2.0 (SlimPort), USB Host (OTG dvojna vloga gostitelja in zunanje naprave) 3000 mah Li-Ion vgrajena Android 5.0 Lollipop API nivo 21 Kernel v (Linux) 5.2 Testna zunanja merilna naprava Izbor zunanje merilne naprave je nekoliko lažji. Kot sem že v teoretičnem delu omenil, je v uporabi široka paleta merilnih naprav, ki poleg sodobnejših komunikacijskih vmesnikov kot temeljni komunikacijski vmesnik vsebujejo serijsko komunikacijo RS232. Pri izboru testne zunanje merilne naprave sem uporabil sicer meroslovno neustrezno laboratorijsko tehtnico Mettler Toledo AT 201. Tehtnica kljub meroslovni neustreznosti še vedno omogoča serijsko 49

Organizacija računalnikov (OR) UNI-RI, 3.l. RS Vaje. doc.dr. Mira Trebar

Organizacija računalnikov (OR) UNI-RI, 3.l. RS Vaje. doc.dr. Mira Trebar Organizacija računalnikov (OR) UNI-RI, 3.l. RS Vaje doc.dr. Mira Trebar 2 Vaja 1 (11.10.2010) Vaje so obvezne (delo v laboratoriju + doma) S1: Logisim MIPS procesor eno-cikelna izvedba ( logisim ) MIPS

More information

Prometno načrtovanje xdsl

Prometno načrtovanje xdsl Prometno načrtovanje xdsl 1 Kazalo Prometno načrtovanje naročniške zanke Prometno načrtovanje MSAN Izbira agregacijskega modela Izbira opreme 2 Potrebe po pasovni širini Zahtevana pasovna širina na uporabnika

More information

IP PACKET QUEUING DISCIPLINES AS BASIC PART OF QOS ASSURANCE WITHIN THE NETWORK

IP PACKET QUEUING DISCIPLINES AS BASIC PART OF QOS ASSURANCE WITHIN THE NETWORK UDK621.3:(53+54+621 +66), ISSN0352-9045 Informacije MIDEM 39(2009)2, Ljubljana IP PACKET QUEUING DISCIPLINES AS BASIC PART OF QOS ASSURANCE WITHIN THE NETWORK Sasa Klampfer, Joze Mohorko, Zarko Cucej University

More information

RAZLOG ZA IZVAJANJE PROGRAMA POPRBAZA

RAZLOG ZA IZVAJANJE PROGRAMA POPRBAZA RAZLOG ZA IZVAJANJE PROGRAMA POPRBAZA POPRBAZA je namenjen večji reorganizaciji podatkov v računalnikovem spominu. Reorganizacijo narekujejo bodisi zakonske spremembe, bodisi novosti v programu. Zato je

More information

Vodnik skozi Google Analytics Beta verzija 1. del. prehod s stare kode (urchin.js), k novi kodi za sledenje (ga.js)

Vodnik skozi Google Analytics Beta verzija 1. del. prehod s stare kode (urchin.js), k novi kodi za sledenje (ga.js) Vodnik skozi Google Analytics Beta verzija 1. del prehod s stare kode (urchin.js), k novi kodi za sledenje (ga.js) Ta vodnik je povzetek Googe vodiča ' Tracking Code Migration Guide Switching from urchin.js

More information

Sistemske zahteve za SAOP

Sistemske zahteve za SAOP Sistemske zahteve za SAOP Samostojna delovna postaja višji). icenter je ERP sistem, ki zagotavlja popolno kontrolo nad vsemi poslovnimi procesi v podjetju. V tej postavitvi je SAOP icenter nameščen na

More information

» Nakup in vzdrževanje Oracle programske opreme «Tehnične specifikacije

» Nakup in vzdrževanje Oracle programske opreme «Tehnične specifikacije Obrazec P-5 Specifikacije 30K250316» Nakup in vzdrževanje Oracle programske opreme «Tehnične specifikacije KAZALO VSEBINE 1. Predmet javnega naročila...3 1.1. SKLOP-1: STORITEV VZDRŽEVANJA ORACLE LICENČNE

More information

Hitra rast hranjenih podatkov

Hitra rast hranjenih podatkov Tomaž Borštnar - član uredništva računalniške revije Monitor od začetka (oktober 1991; ne-pc okolja (Unix, etc) - sodelavec YUNAC in ARNES od začetka - postavil in upravljal večino strežnikov na SiOL -

More information

E R S Š G L J U B L J A N A Š O L S K O L E T O

E R S Š G L J U B L J A N A Š O L S K O L E T O Datotečni sistem E R S Š G L J U B L J A N A Š O L S K O L E T O 2 0 1 0 / 1 1 Vsebina Programska oprema Sistemska programska oprema Operacijski sistem Lupina (shell) Datotečni sistem Programska oprema

More information

BLUETOOTH KOMUNIKATOR ZA WINDOWS MOBILE 6.5

BLUETOOTH KOMUNIKATOR ZA WINDOWS MOBILE 6.5 Alen Rojko BLUETOOTH KOMUNIKATOR ZA WINDOWS MOBILE 6.5 Diplomsko delo Maribor, april 2013 BLUETOOTH KOMUNIKATOR ZA WINDOWS MOBILE 6.5 Diplomsko delo Študent(ka): Študijski program: Alen Rojko Visokošolski

More information

Delavnica za konfiguriranje dostopovnih točk WEB konfiguracija LANCOM L-54

Delavnica za konfiguriranje dostopovnih točk WEB konfiguracija LANCOM L-54 Delavnica za konfiguriranje dostopovnih točk WEB konfiguracija LANCOM L-54 Boštjan Lemut Prva povezava na L-54 s povezovalnim kablom povežemo mrežna vmesnika na računalniku in L-54 v brskalniku vpišemo

More information

Delavnica za konfiguriranje dostopovnih točk Konfiguracija LANCOM L-54 z uporabo orodja LANConfig

Delavnica za konfiguriranje dostopovnih točk Konfiguracija LANCOM L-54 z uporabo orodja LANConfig Delavnica za konfiguriranje dostopovnih točk Konfiguracija LANCOM L-54 z uporabo orodja LANConfig Boštjan Lemut Prva povezava na L-54 s povezovalnim kablom povežemo mrežna vmesnika na računalniku in L-54

More information

Mobilne multimedijske storitve. mag. Urban Burnik Fakulteta za elektrotehniko Laboratorij za digitalno obdelavo signalov

Mobilne multimedijske storitve. mag. Urban Burnik Fakulteta za elektrotehniko Laboratorij za digitalno obdelavo signalov Mobilne multimedijske storitve mag. Urban Burnik Fakulteta za elektrotehniko Laboratorij za digitalno obdelavo signalov Uvod Mobilne storitve danes Multimedijske storitve Sistemske zahteve Nova generacija

More information

Lotus Quickr Najhitrejši način izmenjave poslovne vsebine

Lotus Quickr Najhitrejši način izmenjave poslovne vsebine Lotus Quickr Najhitrejši način izmenjave poslovne vsebine Zoran Povh, IT specialist zoran.povh@si.ibm.com 2007 IBM Corporation Vsebina Kaj je Lotus Quickr? Integracija z namiznimi programi Skupinski prostori

More information

sodobne poslovnoinformacijske rešitve Birokrat Kratka navodila za namestitev demo verzije programa Birokrat

sodobne poslovnoinformacijske rešitve   Birokrat Kratka navodila za namestitev demo verzije programa Birokrat sodobne poslovnoinformacijske rešitve www.andersen.si Birokrat Kratka navodila za namestitev demo verzije programa Birokrat Kratka navodila za namestitev demo verzije programa Birokrat Pošiljamo vam demo

More information

DB2 podatkovna baza v praksi

DB2 podatkovna baza v praksi DB2 podatkovna baza v praksi Aljoša Trivan, Mikropis holding d.o.o. aljosa.trivan@mikropis.si 2007 IBM Corporation Agenda Mikropis Splošno Fleksibilnost Vzdrževanje Backup SQL objekti in SQL stavki Novosti

More information

Razširitev in podpora serijskih komunikacijskih vmesnikov na Raspberry Pi platformi

Razširitev in podpora serijskih komunikacijskih vmesnikov na Raspberry Pi platformi Razširitev in podpora serijskih komunikacijskih vmesnikov na Raspberry Pi platformi Uroš Sadek 1,2, Amor Chowdhury 1,2 1 Margento R&D, Gosposvetska cesta 84, 2000 Maribor 2 Univerza v Mariboru, Fakulteta

More information

ABBYY rešitve za prepoznavo in klasifikacijo dokumentov

ABBYY rešitve za prepoznavo in klasifikacijo dokumentov ABBYY rešitve za prepoznavo in klasifikacijo dokumentov preabbyy FlexiCapture 9.0. Overview. 1 doc: 10977 Lokalna prisotnost ABBYY: Moscow, Russia; Munich, Germany; Bracknell, UK; Kiev, Ukraine; Milpitas,

More information

How we calculate volume with the use of NTF method. Kako izračunamo volumen z uporabo metode NTF

How we calculate volume with the use of NTF method. Kako izračunamo volumen z uporabo metode NTF RMZ Materials and Geoenvironment, Vol. 55, No. 1, pp. 127-134, 2008 127 How we calculate volume with the use of NTF method Kako izračunamo volumen z uporabo metode NTF An e s Du r g u t o v i ć 1, Mi l

More information

Lokacijske storitve na mobilnih napravah

Lokacijske storitve na mobilnih napravah UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Aleš Rosina Lokacijske storitve na mobilnih napravah DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Mentor: doc. dr. Rok Rupnik Ljubljana, 2012

More information

Sistemske zahteve za Saop icenter

Sistemske zahteve za Saop icenter Sistemske zahteve za Saop icenter Izdaja 27 080 13 20 info@saop.si www.saop.si 18.6.2018 Sistemske zahteve 2 Samostojna delovna postaja icenter je ERP sistem, ki zagotavlja popolno kontrolo nad vsemi poslovnimi

More information

Naslavljanje v IP. Miran Meža

Naslavljanje v IP. Miran Meža Naslavljanje v IP Miran Meža Omrežje vseh omrežij Avtonomni sistem Avtonomni sistem Avtonomni sistem Avtonomni sistem Avtonomni sistem Avtonomni sistem Omrežje vseh omrežij Usmerjanje prometa: poznati

More information

Prirejanje in preverjanje tipov

Prirejanje in preverjanje tipov Uvod v C# Drugi del Dedovanje Sintaksa Prirejanje in preverjanje tipov Kaste preverjenih tipov Prekrivanje metod Dinamično povezovanje (poenostavljeno) Skrivanje Dinamično povezovanje (s skrivanjem) Fragile

More information

Mobilna aplikacija za pregled informacij o prometu v Sloveniji

Mobilna aplikacija za pregled informacij o prometu v Sloveniji UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Miha Majzelj Mobilna aplikacija za pregled informacij o prometu v Sloveniji DIPLOMSKO DELO NA VISOKOŠOLSKEM STROKOVNEM ŠTUDIJU Ljubljana,

More information

Uvod v svetovni splet

Uvod v svetovni splet Univerza v Ljubljani Fakulteta za gradbeništvo in geodezijo Uvod v svetovni splet Računalništvo in informatika, GR-UNI, GR-VSŠ Tehnična dokumentacija in informatika, VKI-UNI št. leto 2007/08, 1. semester

More information

Calculation of volume with the use of NTF method. Izračun volumnov z uporabo NTF metode

Calculation of volume with the use of NTF method. Izračun volumnov z uporabo NTF metode RMZ - Materials and Geoenvironment, Vol. 53, No. 2, pp. 221-227, 2006 221 Calculation of volume with the use of NTF method Izračun volumnov z uporabo NTF metode Milivoj Vulić 1, Anes Durgutović 2 1 Faculty

More information

Navodila za nastavitev varne povezave po protokolu SSH

Navodila za nastavitev varne povezave po protokolu SSH Datum: 28. 9. 2010 Navodila za nastavitev varne povezave po protokolu SSH 1. Pogoji za zagotovitev varne povezave po protokolu SSH Za uspešno zagotovitev in nastavitev varne povezave po protokolu SSH je

More information

Arhitektura oblaka Upravljanje v oblaku Delovanje v oblaku Arhitekturni okvir računalništva v oblaku

Arhitektura oblaka Upravljanje v oblaku Delovanje v oblaku Arhitekturni okvir računalništva v oblaku 1 Predstavitev 2 Področja delovanja 3 GRC knjižnica 4 Primeri CAI in CCM Aplikacijska varnost 5 CCSK 6 Zaključek Globalna, neprofitna organizacija 23,000+ članov, 100 korporativnih članov, 50 odsekov Gradimo

More information

Primerjava orodij za razvoj mobilnih aplikacij

Primerjava orodij za razvoj mobilnih aplikacij UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Miloš Jovanov Primerjava orodij za razvoj mobilnih aplikacij DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO

More information

UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH SYMBIAN

UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH SYMBIAN I Tine Uršič UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH SYMBIAN Diplomsko delo Visokošolski strokovni študijski program Maribor, januar 2013 II Diplomsko delo visokošolskega strokovnega študijskega

More information

Tehnike programiranja PREDAVANJE 9 Uvod v binarni svet in računalništvo

Tehnike programiranja PREDAVANJE 9 Uvod v binarni svet in računalništvo Tehnike programiranja PREDAVANJE 9 Uvod v binarni svet in računalništvo Predavanje 9 Uvod v binarni svet Birnarna aritmetika Polprevodniške tehnologije Računalnik Mikroprocesor ldos.fe.uni-lj.si >študij

More information

Informatika v medijih

Informatika v medijih 3.1. Osnove operacijskih sistemov. Sistemska programska oprema. Hiter neumen stroj Računalniki: Strojna oprema (hardware) Omejene sposobnosti Znajo računati samo osnovne matematične operacije in logične

More information

Računalnik INFORMATIKA 1. LETNIK ŽILBERT TIVADAR

Računalnik INFORMATIKA 1. LETNIK ŽILBERT TIVADAR Računalnik INFORMATIKA 1. LETNIK ŽILBERT TIVADAR Kaj je računalnik? osrednji in najpomembnejši del informacijske tehnologije; pripomoček, ki olajša naše delo; računalnik nenehno ponavlja štiri opravila:

More information

Specification and Implementation of a Light-Weight Internet Content Delivery Platform

Specification and Implementation of a Light-Weight Internet Content Delivery Platform University of Ljubljana Faculty of Computer and Information Science Marko Čeferin Specification and Implementation of a Light-Weight Internet Content Delivery Platform DIPLOMA THESIS First cycle professional

More information

Mx381/382 komunikacijski vmesnik P1

Mx381/382 komunikacijski vmesnik P1 Mx381/382 komunikacijski vmesnik P1 Document History Edition Date Description Author V0.1 4.06.2018 Informacija Davor Mikulić Portfolio manager V0.2 4.07.2018 Dodane karakteristike vmesnika Davor Mikulić

More information

Open IT VARNO POVEZOVANJE SODOBNIH ODPRTIH SPLETNIH APLIKACIJ V OBLAKU TYPO3, MAGENTO, ALFRESCO

Open IT VARNO POVEZOVANJE SODOBNIH ODPRTIH SPLETNIH APLIKACIJ V OBLAKU TYPO3, MAGENTO, ALFRESCO Open IT VARNO POVEZOVANJE SODOBNIH ODPRTIH SPLETNIH APLIKACIJ V OBLAKU TYPO3, MAGENTO, ALFRESCO Uvod Informacijska varnost ena izmed glavnih tematik informacijske dobe. Čim bolj varne spletne aplikacije

More information

RAZVOJ ENOSTRANSKIH SPLETNIH APLIKACIJ S PORTALNO PLATFORMO LIFERAY

RAZVOJ ENOSTRANSKIH SPLETNIH APLIKACIJ S PORTALNO PLATFORMO LIFERAY FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO Borut Radi RAZVOJ ENOSTRANSKIH SPLETNIH APLIKACIJ S PORTALNO PLATFORMO LIFERAY Diplomsko delo Maribor, julij 2015 Fakulteta za elektrotehniko,

More information

UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Spletno programiranje. Študijska smer Study field ECTS

UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Spletno programiranje. Študijska smer Study field ECTS Predmet: Course title: UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Spletno programiranje Web programming Študijski program in stopnja Study programme and level Interdisciplinarni univerzitetni

More information

ERCOlight LUM je energetsko visoko učinkovita svetilka za visoke prostore z možnostjo številnih različnih modifikacij.

ERCOlight LUM je energetsko visoko učinkovita svetilka za visoke prostore z možnostjo številnih različnih modifikacij. Object Installation Project number Date 1 Luminaire data 1.5 Somar International Ltd, Eluma ME-OP4/4L/50 P5 (ME-OP4/4L/50) 1.5.1 Data sheet Ena svetilka, pet različnih možnosti : Eluma Lighting : Comparison

More information

VGRAJENI SISTEM ROBOTA ROBOSAPIEN

VGRAJENI SISTEM ROBOTA ROBOSAPIEN UNIVERZA V MARIBORU FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO David Bricman VGRAJENI SISTEM ROBOTA ROBOSAPIEN Diplomska naloga Maribor, maj 2008 I UNIVERZA V MARIBORU FAKULTETA ZA ELEKTROTEHNIKO,

More information

Namizna aplikacija za beleženje tehtanj tovornih vozil

Namizna aplikacija za beleženje tehtanj tovornih vozil UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Mitja Roblek Namizna aplikacija za beleženje tehtanj tovornih vozil DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO

More information

Načrtovanje integriranih vezij in digitalnih elektronskih sistemov

Načrtovanje integriranih vezij in digitalnih elektronskih sistemov Laboratorij za načrtovanje integriranih vezij Univerza v Ljubljani Fakulteta za elektrotehniko Andrej Trost priprava na laboratorijske vaje 2011 Načrtovanje integriranih vezij in digitalnih elektronskih

More information

Vseprisotni računalniški sistemi

Vseprisotni računalniški sistemi Vseprisotni računalniški sistemi Vseprisotnost: pomeni obstoj ali biti prisoten povsod, istočasno in univerzalnost (vedno na razpolago). So "Več kot osebni računalniki". Ključni pojmi pri teh sistemih

More information

UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO. Matjaž Poljanšek DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU

UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO. Matjaž Poljanšek DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Matjaž Poljanšek Analiza modela platforme kot storitve in razvoj aplikacije v oblaku na platformi Google App Engine DIPLOMSKO DELO NA UNIVERZITETNEM

More information

Q: Do You made a backup before upgrade? A: Only cowards make backups!

Q: Do You made a backup before upgrade? A: Only cowards make backups! Q: Do You made a backup before upgrade? You z malo - you A: Only cowards make backups! Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies.

More information

Powerline 500 dostopna točka WiFi XWNB5201 Navodila za namestitev

Powerline 500 dostopna točka WiFi XWNB5201 Navodila za namestitev Powerline 500 dostopna točka WiFi XWNB5201 Navodila za namestitev Tehnična podpora Zahvaljujemo se vam za nakup izdelkov NETGEAR. Po namestitvi naprave poiščite serijsko številko na nalepki izdelka in

More information

HITRI VODNIK ZA. nameščanje gonilnikov Nokia Connectivity Drivers

HITRI VODNIK ZA. nameščanje gonilnikov Nokia Connectivity Drivers HITRI VODNIK ZA nameščanje gonilnikov Nokia Connectivity Drivers Vsebina 1. Uvod...1 2. Kaj potrebujete...1 3. Nameščanje Gonilnikov Nokia Connectivity Cable Drivers...2 3.1 Pred namestitvijo...2 3.2 Nameščanje

More information

Primerjava izvornega in hibridnega razvoja mobilne aplikacije

Primerjava izvornega in hibridnega razvoja mobilne aplikacije UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Luka Vidmar Primerjava izvornega in hibridnega razvoja mobilne aplikacije DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE STOPNJE

More information

Upravljanje inteligentnega sistema na daljavo

Upravljanje inteligentnega sistema na daljavo Upravljanje inteligentnega sistema na daljavo Milan Rotovnik, Primož Kosec, Matjaž Debevc Univerza v Mariboru, Fakulteta za elektrotehniko, računalništvo in informatiko Smetanova 17, 2000 Maribor, Slovenija

More information

Predstavitev teksta v računalniku

Predstavitev teksta v računalniku Predstavitev teksta v računalniku Za tekst, ki ga vidimo na zaslonu računalnika, sta potrebna dva koraka 1. Najprej je potrebno določiti, kako so črke in še nekateri drugi ne-numerični znaki predstavljeni

More information

Session:E07 GALIO - DB2 index advisor, how we implemented it and what we get from self-made expert tool

Session:E07 GALIO - DB2 index advisor, how we implemented it and what we get from self-made expert tool Session:E07 GALIO - DB2 index advisor, how we implemented it and Viktor Kovačević, MSc Hermes Softlab 6th October 2009 14:15 (60') Platform: UDB / LUW OUTLINE Application & Database tuning Self made index

More information

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. Razvijalska ogrodja za podporo večim mobilnim platformam

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. Razvijalska ogrodja za podporo večim mobilnim platformam UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE Zaključna naloga Razvijalska ogrodja za podporo večim mobilnim platformam (Developer frameworks for mobile cross-platform

More information

RAČUNALNIŠTVO IN INFORMATIKA

RAČUNALNIŠTVO IN INFORMATIKA VIŠJEŠOLSKI STROKOVNI PROGRAM INFORMATIKA RAČUNALNIŠTVO IN INFORMATIKA JULIJA LAPUH BELE DARKO BELE ROBERT BERGLES Višješolski strokovni program: Informatika Učbenik: Računalništvo in informatika Gradivo

More information

Proggy_AVR In system programator AVR

Proggy_AVR In system programator AVR Šola BASCOMA BASCOM Navodila AX elektronika d.o.o. Pot heroja Trtnika 45 1000 Ljubljana t 01 549 14 00 f 01 528 56 88 e prodaja04@svet-el.si i www.svet-el.si Proggy_AVR In system programator AVR Pred leti

More information

Some results of transfer rate tests on two-way cable network

Some results of transfer rate tests on two-way cable network Elektrotehniški vestnik 68(2 3): 170 176, 2001 Electrotechnical Review, Ljubljana, Slovenija Some results of transfer rate tests on two-way cable network Boris Ratej, Amor Chowdhury, Rajko Svečko University

More information

Magistrsko delo. Organizacija in management informacijskih sistemov MODEL OBLAČNIH STORITEV Z OPENSTACK

Magistrsko delo. Organizacija in management informacijskih sistemov MODEL OBLAČNIH STORITEV Z OPENSTACK Organizacija in management informacijskih sistemov MODEL OBLAČNIH STORITEV Z OPENSTACK Mentor: red. prof. dr. Robert Leskovar Kandidatka: Blažka Globačnik Kranj, september 2014 ZAHVALA Zahvaljujem se mentorju

More information

Koncepti izdelave mobilnih iger v operacijskem sistemu Android

Koncepti izdelave mobilnih iger v operacijskem sistemu Android UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Jernej Hartman Koncepti izdelave mobilnih iger v operacijskem sistemu Android DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE

More information

Učinkovita rešitev za izdelavo zaščitnih kopij z deduplikacijo in replikacijo

Učinkovita rešitev za izdelavo zaščitnih kopij z deduplikacijo in replikacijo Učinkovita rešitev za izdelavo zaščitnih kopij z deduplikacijo in replikacijo Študija primera uvedbe sistema EMC DataDomain v podjetju Si.mobil Janez Narobe Janez.narobe@simobil.si Rok Krisper rok.krisper@snt.si

More information

Mobilna aplikacija za pregledovanje slik visokih ločljivosti

Mobilna aplikacija za pregledovanje slik visokih ločljivosti Univerza v Ljubljani Fakulteta za računalništvo in informatiko Anže Sršen Mobilna aplikacija za pregledovanje slik visokih ločljivosti DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE STOPNJE

More information

Primerjava uporabe SOAP in REST za potrebe povezave mobilnih naprav s spletnimi storitvami

Primerjava uporabe SOAP in REST za potrebe povezave mobilnih naprav s spletnimi storitvami Univerza v Ljubljani Fakulteta za računalništvo in informatiko Matjaž Rajnar Primerjava uporabe SOAP in REST za potrebe povezave mobilnih naprav s spletnimi storitvami DIPLOMSKO DELO NA UNIVERZITETNEM

More information

Vzpostavitev spletnega vmesnika za prikaz tenziomiografskih meritev

Vzpostavitev spletnega vmesnika za prikaz tenziomiografskih meritev UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Nejc Poljanšek Vzpostavitev spletnega vmesnika za prikaz tenziomiografskih meritev DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM

More information

RAZVOJ BLUETOOTH APLIKACIJE V OKOLJU JAVA ME IN JAVA SE

RAZVOJ BLUETOOTH APLIKACIJE V OKOLJU JAVA ME IN JAVA SE UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Sara Perčič RAZVOJ BLUETOOTH APLIKACIJE V OKOLJU JAVA ME IN JAVA SE DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Ljubljana, 2010 UNIVERZA V

More information

APLIKACIJE ZA SOCIALNA

APLIKACIJE ZA SOCIALNA UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Boštjan Lotrič APLIKACIJE ZA SOCIALNA OMREŽJA DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Mentor: doc. dr. Zoran Bosnić Ljubljana, 2011 Rezultati

More information

Andrej Jamšek. Namestitev programske opreme s poudarkom na tehnologiji MSI

Andrej Jamšek. Namestitev programske opreme s poudarkom na tehnologiji MSI UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Andrej Jamšek Namestitev programske opreme s poudarkom na tehnologiji MSI DIPLOMSKO DELO NA VISOKOŠOLSKEM STROKOVNEM ŠTUDIJU Mentor: izr.

More information

Navodila za uporabo izdelkov programske opreme Microsoft

Navodila za uporabo izdelkov programske opreme Microsoft Navodila za uporabo izdelkov programske opreme Microsoft Kazalo Navodila za konfiguracijo odjemalca za e-pošto Outlook Splošno 3 Nastavitev poštnega predala s protokolom MAPI v odjemalcu Outlook 2007 s

More information

UNIVERZALNI KOMUNIKACIJSKI ODJEMALEC S PODPORO ZA UPORABNIŠKI ENUM

UNIVERZALNI KOMUNIKACIJSKI ODJEMALEC S PODPORO ZA UPORABNIŠKI ENUM Damjan Kojc UNIVERZALNI KOMUNIKACIJSKI ODJEMALEC S PODPORO ZA UPORABNIŠKI ENUM Diplomsko delo Maribor, avgust 2011 I Diplomsko delo univerzitetnega študijskega programa UNIVERZALNI KOMUNIKACIJSKI ODJEMALEC

More information

!!!!!5_hard_disk.doc. Trdi diski

!!!!!5_hard_disk.doc. Trdi diski 1 Trdi diski Vmesniki trdih diskov Vmesniki trdih diskov omogočajo priključitev trdih diskov na PC oz. matično ploščo. Sodoben PC ima enega ali več različnih vmesnikov: ATA (AT Attachment) SATA (Serial

More information

IBM Lotus Notes in Domino 8

IBM Lotus Notes in Domino 8 IBM Lotus Notes in Domino 8 Spoznajte namizje prihodnosti danes Janko Štefančič, GENIS janko.stefancic@genis.si 2007 IBM Corporation Agenda O podjetju Genis Kratka zgodovina Kaj zmore Notes/Domino 8 Podprte

More information

A Generic Timing Receiver for Event-Driven Timing Systems

A Generic Timing Receiver for Event-Driven Timing Systems ELEKTROTEHNIŠKI VESTNIK 82(4): 205-211, 2015 ORIGINAL SCIENTIFIC PAPER A Generic Timing Receiver for Event-Driven Timing Systems Benjamin Ocepek Univerza v Ljubljani, Fakulteta za elektrotehniko, Tržaška

More information

Brezžični tiskalniški vmesnik HP bt500 Bluetooth USB 2.0. Uporabniški priročnik

Brezžični tiskalniški vmesnik HP bt500 Bluetooth USB 2.0. Uporabniški priročnik Brezžični tiskalniški vmesnik HP bt500 Bluetooth USB 2.0 Uporabniški priročnik Copyright 2007 Hewlett-Packard Development Company, L.P. Informacije v tem dokumentu se lahko spremenijo brez obvestila. Prepovedana

More information

Izdelava urejevalnika izvorne kode v oblaku z uporabo tehnologij HTML5

Izdelava urejevalnika izvorne kode v oblaku z uporabo tehnologij HTML5 Univerza v Ljubljani Fakulteta za računalništvo in informatiko Roman Gorišek Izdelava urejevalnika izvorne kode v oblaku z uporabo tehnologij HTML5 DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM

More information

RAZVOJ GENERATORJA POSLOVNIH SPLETNIH APLIKACIJ

RAZVOJ GENERATORJA POSLOVNIH SPLETNIH APLIKACIJ UNIVERZA V MARIBORU FAKULTETA ZA ORGANIZACIJSKE VEDE Smer: Informatika v organizaciji in managementu RAZVOJ GENERATORJA POSLOVNIH SPLETNIH APLIKACIJ Mentor: izr. prof. dr. Robert Leskovar Kandidat: Boštjan

More information

Windows 10. Microsoft. brezmejna strast. Uporabniška navodila. ko tehnologija postane. Avtor. Mentorica

Windows 10. Microsoft. brezmejna strast. Uporabniška navodila. ko tehnologija postane. Avtor. Mentorica ko tehnologija postane brezmejna strast Microsoft Windows 10 Uporabniška navodila Avtor Leon Ritovšek, študent Ekonomsko-poslovne fakultete Maribor Kontakt: leon.ritovsek@student.um.si Mentorica dr. Simona

More information

Brezžična omrežja in Eduroam

Brezžična omrežja in Eduroam Brezžična omrežja in Eduroam Rok Papež ARNES, Jamova 39, Ljubljana aaa-podpora@arnes.si Sirikt 2007, Kranjska Gora, 19.4.2007 Sodobni uporabniki Bolj dinamično življenje Stacionarni telefon Telefon

More information

PREGLED MOBILNIH REŠITEV ZA IZOBRAŽEVANJE UPRAVLJANJA INFORMATIKE

PREGLED MOBILNIH REŠITEV ZA IZOBRAŽEVANJE UPRAVLJANJA INFORMATIKE Fakulteta za elektrotehniko, računalništvo in informatiko Smetanova ulica 17 2000 Maribor, Slovenija Matija Pildek PREGLED MOBILNIH REŠITEV ZA IZOBRAŽEVANJE UPRAVLJANJA INFORMATIKE Diplomsko delo Maribor,

More information

RAČUNALNIŠTVO V OBLAKU ZA PODROČJE UPRAVLJANJA ČLOVEŠKIH VIROV NA PRIMERU SAP-OVE OBLAČNE REŠITVE SUCCESSFACTORS

RAČUNALNIŠTVO V OBLAKU ZA PODROČJE UPRAVLJANJA ČLOVEŠKIH VIROV NA PRIMERU SAP-OVE OBLAČNE REŠITVE SUCCESSFACTORS UNIVERZA V MARIBORU EKONOMSKO-POSLOVNA FAKULTETA Diplomski projekt RAČUNALNIŠTVO V OBLAKU ZA PODROČJE UPRAVLJANJA ČLOVEŠKIH VIROV NA PRIMERU SAP-OVE OBLAČNE REŠITVE SUCCESSFACTORS Cloud Computing for Human

More information

ENERGIJSKO UČINKOVIT RAČUNALNIK. grafična kartica na osnovni plošči, priključka VGA in 2x DP

ENERGIJSKO UČINKOVIT RAČUNALNIK. grafična kartica na osnovni plošči, priključka VGA in 2x DP ENERGIJSKO UČINKOVIT RAČUNALNIK Tip Tip Tip DELL OPTIPLEX 0 R SFF procesor AMD Ryzen PRO 00G, Cores/ Threads/up to.ghz/w delovni pomnilnik GB RAM DDR, možnost nadgradnje do GB SSD disk GB grafična kartica

More information

Izdelava spletne aplikacije za video klepet

Izdelava spletne aplikacije za video klepet UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Nejc Štebe Izdelava spletne aplikacije za video klepet DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO

More information

Twitter Bootstrap in razvoj spletnega repozitorija za Cacti

Twitter Bootstrap in razvoj spletnega repozitorija za Cacti Univerza v Ljubljani Fakulteta za računalništvo in informatiko Fakulteta za matematiko in fiziko Nejc Župec Twitter Bootstrap in razvoj spletnega repozitorija za Cacti DIPLOMSKO DELO UNIVERZITETNI ŠTUDIJSKI

More information

Navodila za namestitev CREO 3.0 in Audax nastavitev

Navodila za namestitev CREO 3.0 in Audax nastavitev Navodila za namestitev CREO 3.0 in Audax nastavitev Potrebujete: Iz PTC spletne strani ali z DVD-ja prenesite namestitvene datoteke za program Creo 3.0 in jih razširite na lokalni disk. Audax Nastavitve

More information

»Mladi za napredek Maribora 2014«31. srečanje. Je v tabličnih računalnikih naša prihodnost? Raziskovalno področje : RAČUNALNIŠTVO. Raziskovalna naloga

»Mladi za napredek Maribora 2014«31. srečanje. Je v tabličnih računalnikih naša prihodnost? Raziskovalno področje : RAČUNALNIŠTVO. Raziskovalna naloga »Mladi za napredek Maribora 2014«31. srečanje Je v tabličnih računalnikih naša prihodnost? Raziskovalno področje : RAČUNALNIŠTVO Raziskovalna naloga Maribor 12.2.2014 »Mladi za napredek Maribora 2014«31.

More information

Oddaljen dostop do namiznega računalnika

Oddaljen dostop do namiznega računalnika UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Siniša Grubor Oddaljen dostop do namiznega računalnika DIPLOMSKO DELO UNIVERZITETNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO IN INFORMATIKA

More information

OpenAT aplikacija za Wavecom GSM/GPRS modeme

OpenAT aplikacija za Wavecom GSM/GPRS modeme DGPS.DR.AT OpenAT aplikacija za Wavecom GSM/GPRS modeme Kratek opis in navodilo za uporabo Verzija: 090130 (2.10) DGPS.DR.AT je OpenAt aplikacija, ki omoča prenos DGPS / RTK korekcije preko GSM omrežja.

More information

Primerjava in analiza učinkovitosti podatkovnih baz DB2 in MySQL

Primerjava in analiza učinkovitosti podatkovnih baz DB2 in MySQL Univerza v Ljubljani Fakulteta za računalništvo in informatiko Nedim Husaković Primerjava in analiza učinkovitosti podatkovnih baz DB2 in MySQL DIPLOMSKO DELO VISOKOŠOLSKI ŠTUDIJSKI PROGRAM PRVE STOPNJE

More information

SERVISI ZA ODDALJEN DOSTOP DO RAČUNALNIKOV

SERVISI ZA ODDALJEN DOSTOP DO RAČUNALNIKOV Fakulteta za elektrotehniko, računalništvo in informatiko Tadej Šetinc SERVISI ZA ODDALJEN DOSTOP DO RAČUNALNIKOV Diplomsko delo Maribor, Avgust 2015 SERVISI ZA ODDALJEN DOSTOP DO RAČUNALNIKOV Diplomsko

More information

SPLETNE SESTAVLJANKE IN POSLOVNI PORTALI

SPLETNE SESTAVLJANKE IN POSLOVNI PORTALI UNIVERZA V MARIBORU FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO Miha Pavlinek SPLETNE SESTAVLJANKE IN POSLOVNI PORTALI Diplomska naloga Maribor, marec 2008 I FAKULTETA ZA ELEKTROTEHNIKO,

More information

Družina IEEE802 Poddružina IEEE802.1 Priključitev v omrežje IEEE802.1x

Družina IEEE802 Poddružina IEEE802.1 Priključitev v omrežje IEEE802.1x 1 Družina IEEE802 Poddružina IEEE802.1 Priključitev v omrežje IEEE802.1x 2 družina standardov, ki opisujejo delovanje lokalnih (LAN) in mestnih (MAN) omrežij delo opravljano v delovnih skupinah več na

More information

1. Informacijski sistemi so večinoma povezani s telekomunikacijskimi sistemi v tako imenovane informacijsko komunikacijske sisteme,

1. Informacijski sistemi so večinoma povezani s telekomunikacijskimi sistemi v tako imenovane informacijsko komunikacijske sisteme, Vsebina predmeta Podatki, informacije in informacijski sistemi Infrastruktura informacijskih sistemov Tipi podatkov Načini zapisa in shranjevanja podatkov Načini dostopa do podatkov (prenos) Poizvedbe

More information

UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO ALEŠ KOPRIVNIKAR SKUPINSKI RAZVOJ PROGRAMSKE OPREME Z IBM RATIONAL TEAM CONCERT

UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO ALEŠ KOPRIVNIKAR SKUPINSKI RAZVOJ PROGRAMSKE OPREME Z IBM RATIONAL TEAM CONCERT UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO ALEŠ KOPRIVNIKAR SKUPINSKI RAZVOJ PROGRAMSKE OPREME Z IBM RATIONAL TEAM CONCERT DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Mentor: izr. prof.

More information

PRETVORBA FIZIČNEGA RAČUNALNIKA V NAVIDEZNEGA TER RAZVOJ PROGRAMSKE REŠITVE ZA SAMODEJNI ZAGON

PRETVORBA FIZIČNEGA RAČUNALNIKA V NAVIDEZNEGA TER RAZVOJ PROGRAMSKE REŠITVE ZA SAMODEJNI ZAGON UNIVERZA V MARIBORU FAKULTETA ZA ORGANIZACIJSKE VEDE Smer: Informatika v organizaciji in managementu PRETVORBA FIZIČNEGA RAČUNALNIKA V NAVIDEZNEGA TER RAZVOJ PROGRAMSKE REŠITVE ZA SAMODEJNI ZAGON Mentor:

More information

UDF for volume calculation with the use of NTF method. Lastne Excel funkcije za izračun prostornin po NTF metodi

UDF for volume calculation with the use of NTF method. Lastne Excel funkcije za izračun prostornin po NTF metodi RMZ Materials and Geoenvironment, Vol. 54, No. 3, pp.419-425, 2007 419 UDF for volume calculation with the use of NTF method Lastne Excel funkcije za izračun prostornin po NTF metodi Mi l i v o j Vu l

More information

Razvoj napredne spletne trgovine z upoštevanjem zgodovine nakupov

Razvoj napredne spletne trgovine z upoštevanjem zgodovine nakupov UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Slobodan Jovanović Razvoj napredne spletne trgovine z upoštevanjem zgodovine nakupov DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM

More information

Vgrajen sistem za avtomobilsko diagnostiko z vmesnikom Bluetooth

Vgrajen sistem za avtomobilsko diagnostiko z vmesnikom Bluetooth UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Robert Vurušič Vgrajen sistem za avtomobilsko diagnostiko z vmesnikom Bluetooth DIPLOMSKO DELO UNIVERZITETNI ŠTUDIJSKI PROGRAM PRVE STOPNJE

More information

Selitev aplikacije iz Oracle Forms v Oracle ADF (Application migration from Oracle Forms to Oracle ADF)

Selitev aplikacije iz Oracle Forms v Oracle ADF (Application migration from Oracle Forms to Oracle ADF) Univerza na Primorskem FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE ZAKLJUČNA NALOGA Selitev aplikacije iz Oracle Forms v Oracle ADF (Application migration from Oracle Forms to Oracle

More information

UPORABA VOIP SISTEMA SKYPE V PODJETJU ALPOS, D.D.

UPORABA VOIP SISTEMA SKYPE V PODJETJU ALPOS, D.D. UNIVERZA V MARIBORU EKONOMSKO-POSLOVNA FAKULTETA DIPLOMSKO DELO UPORABA VOIP SISTEMA SKYPE V PODJETJU ALPOS, D.D. Kandidat: Ludvik Karmuzel Študent rednega študija Številka indeksa: 81603020 Program: visokošolski

More information

TI C2000: Družina za vgrajene (embedded) aplikacije

TI C2000: Družina za vgrajene (embedded) aplikacije CPU MIPS RAM (words) ROM (words) Flash (words) BootROM (words) Event Manager CAP/QEP TIMER PM(CMP) ADC TIMER Resolution 12 # ofchan 16 Conv time McBSP EXMIF atch Dog SPI SCI (UART) CAN Volts (V) # I/O

More information

Državni izpitni center SPOMLADANSKI IZPITNI ROK *M * NAVODILA ZA OCENJEVANJE. Četrtek, 2. junij 2016 SPLOŠNA MATURA

Državni izpitni center SPOMLADANSKI IZPITNI ROK *M * NAVODILA ZA OCENJEVANJE. Četrtek, 2. junij 2016 SPLOŠNA MATURA Državni izpitni center *M16178113* SPOMLADANSKI IZPITNI ROK NAVODILA ZA OCENJEVANJE Četrtek, 2. junij 2016 SPLOŠNA MATURA RIC 2016 M161-781-1-3 2 IZPITNA POLA 1 1 1 2 1 3 3 4 1 5 3 6 2 7 1 8 1 9 1 10 3

More information

Vodnik za povezavo (za COOLPIX)

Vodnik za povezavo (za COOLPIX) Vodnik za povezavo (za COOLPIX) Ta dokument opisuje postopek uporabe aplikacije SnapBridge (različica 2.0) za vzpostavitev brezžične povezave med podprtim fotoaparatom in pametno napravo. Ko vzpostavite

More information

LTE/EPC in kaj potem?

LTE/EPC in kaj potem? LTE/EPC in kaj potem? Janez Sterle Univerza v Ljubljani Fakulteta za elektrotehniko Laboratorij za telekomunikacije Ljubljana, 2011 2 Gonilo razvoja mobilnih sistemov 3 Internet v žepu Pametni mobilni

More information

formati slike in branje slike pomen in nekaj primerov EM spekter aplikacije v posameznih delih spektra o matriki slike

formati slike in branje slike pomen in nekaj primerov EM spekter aplikacije v posameznih delih spektra o matriki slike Strojni vid pri tehnoloških meritvah formati slike in branje slike pomen in nekaj primerov EM spekter aplikacije v posameznih delih spektra o matriki slike formati slike in branje slike slika je običajno

More information