41
Bojan Žlahtič CAMERA NAVI - NAVIGACIJA S PRETOČNO VSEBINO V ŽIVO Diplomsko delo Maribor, avgust 2010

CAMERA NAVI - NAVIGACIJA S PRETOČNO VSEBINO V ŽIVO · V CAMERA NAVI - NAVIGATION WITH LIVE STREAMING Key words: navigation, Global Positioning System, accelerometer, camera, sensor,

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CAMERA NAVI - NAVIGACIJA S PRETOČNO VSEBINO V ŽIVO · V CAMERA NAVI - NAVIGATION WITH LIVE STREAMING Key words: navigation, Global Positioning System, accelerometer, camera, sensor,

Bojan Žlahtič

CAMERA NAVI - NAVIGACIJA S PRETOČNO VSEBINO V ŽIVO

Diplomsko delo

Maribor, avgust 2010

Page 2: CAMERA NAVI - NAVIGACIJA S PRETOČNO VSEBINO V ŽIVO · V CAMERA NAVI - NAVIGATION WITH LIVE STREAMING Key words: navigation, Global Positioning System, accelerometer, camera, sensor,

Diplomsko delo univerzitetnega strokovnega študijskega programa

CAMERA NAVI - NAVIGACIJA S PRETOČNO VSEBINO V ŽIVO

Študent: Bojan Ţlahtič

Študijski program: UN ŠP Računalništvo in informacijske tehnologije

Mentor: izr. prof. dr. Milan Zorman

Somentorica: asist. dr. Mateja Verlič

Maribor, avgust 2010

Page 3: CAMERA NAVI - NAVIGACIJA S PRETOČNO VSEBINO V ŽIVO · V CAMERA NAVI - NAVIGATION WITH LIVE STREAMING Key words: navigation, Global Positioning System, accelerometer, camera, sensor,
Page 4: CAMERA NAVI - NAVIGACIJA S PRETOČNO VSEBINO V ŽIVO · V CAMERA NAVI - NAVIGATION WITH LIVE STREAMING Key words: navigation, Global Positioning System, accelerometer, camera, sensor,

ZAHVALA

Zahvaljujem se mentorju izr. prof. dr. Milanu

Zormanu za pomoč in vodenje pri opravljanju

diplomskega dela. Prav tako se zahvaljujem

somentorici asist. dr. Mateji Verlič.

Posebna zahvala velja staršem, ki so mi

omogočili študij in punci, ki mi je stala ob strani.

Page 5: CAMERA NAVI - NAVIGACIJA S PRETOČNO VSEBINO V ŽIVO · V CAMERA NAVI - NAVIGATION WITH LIVE STREAMING Key words: navigation, Global Positioning System, accelerometer, camera, sensor,
Page 6: CAMERA NAVI - NAVIGACIJA S PRETOČNO VSEBINO V ŽIVO · V CAMERA NAVI - NAVIGATION WITH LIVE STREAMING Key words: navigation, Global Positioning System, accelerometer, camera, sensor,

IV

CAMERA NAVI - NAVIGACIJA S PRETOČNO VSEBINO V ŽIVO

Ključne besede: navigacija, sistem globalnega določanja položaja, pospeškometer,

kamera, senzor, mobilni telefon, mobilna aplikacija, Windows Mobile, knjižnica

Microsoft Foundation Class.

UDK: 621.395:004.43(043.2)

Povzetek

Diplomsko delo obravnava izkoriščanje naprednih zmožnosti modernih mobilnih

telefonov in združevanje teh naprednih zmožnosti za uporabo v preprosti navigacijski

aplikaciji. Poznavanje posameznih lastnosti teh naprednih naprav, ki jih ponujajo

moderni mobilni telefoni, nam omogoča, da te lastnosti uporabimo za pridobivanje nam

relevantnih informacij, ki lahko obogatijo malone vsako aplikacijo, ki te informacije

pravilno izkoristi. Tako v naši aplikaciji združujemo globalno določanje položaja,

zaznavanje pospeškov in koristimo kamero telefona na način, ki omogoča preprosto in

intuitivno navigacijo.

Page 7: CAMERA NAVI - NAVIGACIJA S PRETOČNO VSEBINO V ŽIVO · V CAMERA NAVI - NAVIGATION WITH LIVE STREAMING Key words: navigation, Global Positioning System, accelerometer, camera, sensor,

V

CAMERA NAVI - NAVIGATION WITH LIVE STREAMING

Key words: navigation, Global Positioning System, accelerometer, camera, sensor,

mobile phone, mobile application, Windows Mobile, Microsoft Foundation Class

Library.

UDK: 621.395:004.43(043.2)

Abstract

This diploma discusses the exploitation of advance capabilities of modern mobile

phones and the ability to combine these advance capabilities for use in a simple

navigation application. Knowing the individual characteristics of advance devices

offered by modern mobile phones allows us to use these properties to obtain

information relevant for us, that can enrich almost any application that makes correct

use of this information. Thus in our application we combine global positioning,

acceleration sensing, and the phone's camera, in a way that makes navigation simple

and intuitive.

Page 8: CAMERA NAVI - NAVIGACIJA S PRETOČNO VSEBINO V ŽIVO · V CAMERA NAVI - NAVIGATION WITH LIVE STREAMING Key words: navigation, Global Positioning System, accelerometer, camera, sensor,

VI

VSEBINA

1 UVOD ...................................................................................................................... 1

1.1 NAMEN IN CILJ DIPLOMSKEGA DELA .................................................................. 2

1.2 STRUKTURA DIPLOMSKEGA DELA ...................................................................... 2

2 MOBILNI TELEFONI .......................................................................................... 3

2.1 PROGRAMI ZA MOBILNE TELEFONE .................................................................... 3

2.2 PRENOSLJIVOST PROGRAMOV ZA MOBILNE TELEFONE ....................................... 4

3 NAPREDNE ZMOGLJIVOSTI MOBILNIH TELEFONOV ........................... 5

3.1 UPORABA NAPREDNIH ZMOŢNOSTI MOBILNIH TELEFONOV ................................ 5

3.2 SISTEM GLOBALNEGA DOLOČANJA POLOŢAJA ................................................... 7

3.3 ZAZNAVANJE POSPEŠKOV .................................................................................. 8

3.4 KAMERA MOBILNEGA TELEFONA ....................................................................... 9

4 UPORABLJENA STROJNA IN PROGRAMSKA OPREMA ........................ 10

4.1 LASTNOSTI UPORABLJENEGA MOBILNEGA TELEFONA ...................................... 11

4.2 IZBRANO PROGRAMSKO OKOLJE ...................................................................... 12

5 UPORABA POSAMEZNIH NAPREDNIH ZMOŽNOSTI MOBILNIH

TELEFONOV V SAMEM PROGRAMU .................................................................. 14

5.1 UPORABA SISTEMA GLOBALNEGA DOLOČANJA POLOŢAJA ............................... 15

5.2 UPORABA ZAZNAVANJA POSPEŠKOV ................................................................ 17

5.3 UPORABA KAMERE .......................................................................................... 19

6 INTERAKCIJA S PROGRAMOM .................................................................... 21

7 REZULTATI ......................................................................................................... 23

8 SKLEP ................................................................................................................... 25

9 VIRI, LITERATURA ........................................................................................... 27

10 PRILOGE .............................................................................................................. 28

10.1 NASLOV ŠTUDENTA ......................................................................................... 28

Page 9: CAMERA NAVI - NAVIGACIJA S PRETOČNO VSEBINO V ŽIVO · V CAMERA NAVI - NAVIGATION WITH LIVE STREAMING Key words: navigation, Global Positioning System, accelerometer, camera, sensor,

VII

10.2 KRATEK ŢIVLJENJEPIS...................................................................................... 28

Page 10: CAMERA NAVI - NAVIGACIJA S PRETOČNO VSEBINO V ŽIVO · V CAMERA NAVI - NAVIGATION WITH LIVE STREAMING Key words: navigation, Global Positioning System, accelerometer, camera, sensor,

VIII

SEZNAM SLIK

Slika 1: Prikaz osi pri 3D zaznavanju relativne pozicije v prostoru ................................. 7

Slika 2: Prikaz geografske višine in širine........................................................................ 8

Slika 3: Predstavitev osi pospeškometra na mobilnem telefonu ...................................... 8

Slika 4: Različni popularni mobilni operacijski sistemi ................................................. 10

Slika 5: Samsung Omnia i900 ........................................................................................ 11

Slika 6: Dodana moţnost za ustvarjanje Smart Device projekta .................................... 13

Slika 7: Moţnost emuliranja mobilnega telefona in moţnost izbire SDK-ja ................. 13

Slika 8: Predstavitev razdalje med dvema točkama ....................................................... 16

Slika 9: Poloţaji telefona, ki proţijo podane akcije ....................................................... 18

Slika 10: Bistveni koraki za uporabo programa ............................................................. 22

Slika 11: Prikaza porabe časa pri interakciji s programom ............................................ 24

Page 11: CAMERA NAVI - NAVIGACIJA S PRETOČNO VSEBINO V ŽIVO · V CAMERA NAVI - NAVIGATION WITH LIVE STREAMING Key words: navigation, Global Positioning System, accelerometer, camera, sensor,

IX

SEZNAM TABEL

Tabela 1: Lastnosti uporabljenega mobilnega telefona .................................................. 11

Tabela 2: Mejne vrednosti pospeškov za izvajanje posamičnih akcij ............................ 21

Page 12: CAMERA NAVI - NAVIGACIJA S PRETOČNO VSEBINO V ŽIVO · V CAMERA NAVI - NAVIGATION WITH LIVE STREAMING Key words: navigation, Global Positioning System, accelerometer, camera, sensor,

X

UPORABLJENE KRATICE

3D - Tri dimenzije; angl. »Three dimensions«

API - Vmesnik, ki dovoljuje programu komunicirati z drugimi programi; angl.

»Application programming interface«

GPS - Sistem globalnega določanja poloţaja; angl. »Global positioning system«

JVM - Java virtualni stroj; angl. »Java Virtual Machine«

MFC - Zbirka razredov v programskem jeziku C++; angl. »Microsoft Foundation Class

Library«

SDK - Razvojni paket za aplikacije; angl. »Software developers kit«

SMS - Kratka sporočila; angl. »Short Message Service«

ZDA - Zdruţene drţave Amerike; angl. »United States of America«

Page 13: CAMERA NAVI - NAVIGACIJA S PRETOČNO VSEBINO V ŽIVO · V CAMERA NAVI - NAVIGATION WITH LIVE STREAMING Key words: navigation, Global Positioning System, accelerometer, camera, sensor,

Camera Navi - Navigacija s pretočno vsebino v ţivo Stran 1

1 UVOD

Mobilni telefoni ţe zdavnaj niso več samo naprava za komunikacijo, ampak so vedno bolj

podobni osebnim pomočnikom, ki nam lahko v osebnem ţivljenju marsikatero stvar

olajšajo, seveda odvisno od tega, koliko so podprti, popularni, inovativni in čemu so

primarno namenjeni.

Glede na to, koliko dodatnih funkcionalnosti ponujajo sodobni mobilni telefoni, je uporaba

teh funkcionalnosti v realnih aplikacijah, ki jih uporabljamo in s katerimi se srečujemo

vsakodnevno, zelo mala.

V odvisnosti od operacijskega sistema in drugih specifikacij, ki mobilnemu telefonu

omogočijo različne napredne funkcionalnosti, je trenutno za mobilne telefone, ki veljajo za

bolj zmogljive, na trgu veliko število programov, med katerimi pa le redki izčrpajo

resnično vse zmoţnosti telefonov. Vsekakor je eden izmed razlogov za neuporabo

določenih funkcionalnosti ta, da končni uporabniki ne vedo, da so njihovi mobilni telefoni

sposobni veliko več, kot samo omogočati komunikacijo.

Izdelava programa, ki zdruţuje več kot le eno napredno funkcionalnost mobilnega

telefona, je smiselna kakor hitro s tem zagotovimo, da bo program bolj uporabniku

prijazen in bodo dodatne funkcionalnosti doprinesle k uporabnosti in zanimivosti

programa.

Programi za mobilne telefone dosegajo vedno večjo popularnost, pri čemer je pomemben

izgled, uporabnost in zanimivost programov, kar je razvidno tudi iz dejstva, da je leta 2009

99.4% vseh prodanih programov za mobilne telefone, prodal Apple [1].

Page 14: CAMERA NAVI - NAVIGACIJA S PRETOČNO VSEBINO V ŽIVO · V CAMERA NAVI - NAVIGATION WITH LIVE STREAMING Key words: navigation, Global Positioning System, accelerometer, camera, sensor,

Stran 2 Camera Navi - Navigacija s pretočno vsebino v ţivo

1.1 Namen in cilj diplomskega dela

V diplomskem delu smo ţeleli prikazati, kako lahko na zelo preprost način poveţemo več

naprednih funkcionalnosti mobilnih telefonov in jih zdruţimo v uporabniku prijazno

celoto. Večina novejših mobilnih telefonov, na katerih teče operacijski sistem, namreč

omogoča velik nabor dodatnih moţnosti, katere je potrebno samo smiselno uporabiti za

izboljšanje ţe obstoječih programov ali za izdelavo novih inovativnih aplikacij, s katerimi

lahko postavimo nova merila za programe na mobilnih telefonih.

Cilj diplomskega dela je bil izdelati enostaven program za navigacijo, ki zdruţuje več

različnih naprednih funkcionalnosti mobilnih telefonov na tak način, da je program do

uporabnika bolj prijazen in ponuja dodatne funkcije, ki olajšajo delo s programom in s

telefonom samim.

1.2 Struktura diplomskega dela

Diplomsko delo je sestavljeno iz osmih poglavij. Po uvodnem poglavju, opišemo lastnosti

sodobnih mobilnih telefonov in se dotaknemo problematike prenosljivosti med mobilnimi

telefoni. V tretjem poglavju predstavimo napredne funkcionalnosti, ki jih ponujajo sodobni

mobilni telefoni, in funkcionalnosti, ki so bile uporabljene v okviru diplomskega dela.

Četrto poglavje opisuje programske in strojne vire, ki so bili uporabljeni v okviru

diplomskega dela. Peto poglavje je posvečeno implementaciji in uporabi posameznih

funkcionalnosti programa. V šestem poglavju opišemo, kako uporabiti program na

mobilnem telefonu. V sedmem poglavju predstavimo rezultate diplomskega dela. V

osmem poglavju podamo objektivno oceno rezultatov in jih poveţemo s problemom,

zastavljenim v uvodu ter nakaţemo napotke za nadaljnje delo.

Page 15: CAMERA NAVI - NAVIGACIJA S PRETOČNO VSEBINO V ŽIVO · V CAMERA NAVI - NAVIGATION WITH LIVE STREAMING Key words: navigation, Global Positioning System, accelerometer, camera, sensor,

Camera Navi - Navigacija s pretočno vsebino v ţivo Stran 3

2 MOBILNI TELEFONI

V povprečju ima vsak Slovenec mobilni telefon [2], iz česar je razvidno, da so mobilni

telefoni v veliki meri nepogrešljiv del našega vsakdana. Na naših mobilnih telefonih ne

sprejemamo samo klicev in pošiljamo kratkih sporočil (SMS), ker so moderni mobilni

telefoni sposobni veliko več. Uporaba mobilnih telefonov je dandanes omejena samo z

domišljijo in razpoloţljivimi viri posameznega telefona. Zmogljivost novejših modelov je

večja kot zmogljivost računalnikov, ki smo jih uporabljali le nekaj let nazaj.

Ko govorimo o mobilnih telefonih, je eden izmed pomembnih pokazateljev zmogljivosti

telefona ta, ali ima telefon operacijski sistem in katera različica operacijskega sistema je

nameščena. Starost operacijskega sistema oziroma verzija operacijskega sistema nam pove,

ali so določene programske funkcionalnosti ţe dodane in koliko virov nam je na razpolago

na danem mobilnem telefonu.

Na trgu, predvsem v Ameriki, so najbolj popularni operacijski sistemi: iPhone OS,

Android, Symbian OS, RIM OS in Windows Mobile OS [3].

Določeni proizvajalci mobilnih telefonov se omejijo samo na en operacijski sistem in na

tak način omogočajo enako razvojno okolje za vse njihove telefone. Spet drugi proizvajalci

mobilnih telefonov svoje telefone opremijo z različnimi operacijskimi sistemi in s tem

doseţejo več strank, ţal pa oteţijo razvoj določenih programov za vse njihove mobilne

telefone.

2.1 Programi za mobilne telefone

Vsak novejši mobilni telefon, ki ima nameščen operacijski sistem, ima ţe vnaprej

nameščene programe, ki poskrbijo za osnovne potrebe uporabnika in omogočajo določene

napredne funkcionalnosti. Nameščeni programi pa še zdaleč niso vse, kar je moţno

uporabljati na telefonu, v odvisnosti od operacijskega sistema imamo namreč velik nabor

Page 16: CAMERA NAVI - NAVIGACIJA S PRETOČNO VSEBINO V ŽIVO · V CAMERA NAVI - NAVIGATION WITH LIVE STREAMING Key words: navigation, Global Positioning System, accelerometer, camera, sensor,

Stran 4 Camera Navi - Navigacija s pretočno vsebino v ţivo

programov, ki si jih je moţno namestiti na mobilni telefon in s tem razširiti funkcionalnost

telefona. Največ aplikacij je trenutno na voljo za operacijska sistema iOS in Android.

Kljub veliki količini aplikacij za vse mobilne telefone je veliko manj aplikacij, ki bi

zdruţevale več naprednih moţnosti, ki jih ponujajo sodobni mobilni telefoni.

2.2 Prenosljivost programov za mobilne telefone

Večje število operacijskih sistemov nas privede do potrebe po prenosljivosti programov,

saj razvoj in implementacija programov za vsako napravo posebej predstavljata dolgotrajen

in mučen proces, ki še zdaleč ne zagotavlja enakega delovanja programa na različnih

telefonih in različnih operacijskih sistemih.

Ţal pa kljub podprtosti jave na večini mobilnih telefonov z operacijskim sistemom, to ne

omogoča razvoja prenosljivih programov, saj je JVM ( java virtualni stroj ) na večini

operacijskih sistemov uporaben samo za osnovne funkcionalnosti jave. Tudi plačniške

verzije javanskega virtualnega stroja, npr. JBlend, ne podpirajo naprednih javanskih

funkcionalnosti in s tem onemogočajo uporabo API-jev, ki so potrebni za uporabo

naprednih funkcionalnosti mobilnih telefonov.

Tako pridemo do spoznanja, de je ena izmed večjih ovir uporabe naprednih

funkcionalnosti mobilnih telefonov ta, da moramo za vsak operacijski sistem izdelati

aplikacijo, če ţelimo doseči večje število uporabnikov.

Page 17: CAMERA NAVI - NAVIGACIJA S PRETOČNO VSEBINO V ŽIVO · V CAMERA NAVI - NAVIGATION WITH LIVE STREAMING Key words: navigation, Global Positioning System, accelerometer, camera, sensor,

Camera Navi - Navigacija s pretočno vsebino v ţivo Stran 5

3 NAPREDNE ZMOGLJIVOSTI MOBILNIH TELEFONOV

Današnji mobilni telefoni omogočajo velik nabor dodatnih zmogljivost, katerih primarni

cilj je izdelava sodobnih, stabilnih, zanesljivih in uporabniku prijaznih programov. Skoraj

vsak novejši mobilni telefon, če ravno nima operacijskega sistema v pravem smislu, ima

integrirano kamero za zajemanje videa in slik, moţnost snemanja in predvajanja zvoka,

moţnost dostopa do spleta in predvajanja radia. Kakor hitro mobilni telefon opremimo z

operacijskim sistemom, je moţno tudi nadgraditi strojne zmogljivosti telefona, saj bomo s

pomočjo operacijskega sistema lahko hkrati uporabljali pester nabor novih in ţe obstoječih

funkcionalnosti. Tako nam operacijski sistem med drugim omogoča uporabo naprav, ki jih

ponuja telefon na drugačen, inovativen način: na primer podatke pridobljene iz kamere

mobilnega telefona, direktno manipuliramo in jih uporabimo za poljuben program.

Med najbolj popularne napredne funkcionalnosti, ki jih ponujajo sodobni mobilni telefoni,

sodijo vsekakor: zaznavanje pospeškov, globalno določanje poloţaja, delo s senzorji kamer

mobilnih telefonov, uporaba vibracij mobilnega telefona ob dogodkih, uporaba

svetlobnega senzorja, uporaba optične miške mobilnega telefona, zaznavanje orientacije

mobilnega telefona, zaznavanje odprtja telefona, uporaba moţnosti priklopa mobilnega

telefona na televizor, uporaba koleščka in zaznavanje 3D orientacije [4].

3.1 Uporaba naprednih zmožnosti mobilnih telefonov

Uporaba naprednih zmogljivosti mobilnih telefonov nam omogoča izdelavo vedno boljših

programov. Moţnosti uporabe naprednih funkcionalnosti so velike, saj lahko vsak program

nadgradimo z novimi funkcijami, ki bodo ta program obogatile in naredile privlačnejšega

za uporabnike.

Izkoriščanje podatkov o spremembi pospeškov je v sodobnih mobilnih telefonih lahko

uporabljeno za omogočanje naprednih funkcij programov. Zaznane pospeške lahko

uporabimo za razne igre, ki so na mobilnih telefonih vedno bolj priljubljene. Podatke lahko

Page 18: CAMERA NAVI - NAVIGACIJA S PRETOČNO VSEBINO V ŽIVO · V CAMERA NAVI - NAVIGATION WITH LIVE STREAMING Key words: navigation, Global Positioning System, accelerometer, camera, sensor,

Stran 6 Camera Navi - Navigacija s pretočno vsebino v ţivo

tudi zajemamo in z njihovo pomočjo določamo razgibanost terena. Pridobljene podatke

lahko poveţemo tudi z dogodki, ki lahko poskrbijo za varnost telefona ali celo varnost nas

samih.

Globalno določanje poloţaja, je v mobilnih programih pogosto uporabljeno, saj

informacija o tem kje se nahajamo in kje se nahajajo drugi lahko zelo koristna. Določanje

poloţaja je uporabno ne le za določanje naše lokacije, ampak tudi za iskanje lokacij, kot

tudi za določanje naše lokacije, kar izkorišča veliko število programov.

Med moţnosti, ki se pojavijo z naprednimi funkcionalnostmi mobilnih telefonov, sodi tudi

zamenjava integriranih programov operacijskega sistema, ki te funkcionalnosti izkoriščajo,

z drugimi programi, ki so na voljo. Tako lahko na primer ustvarimo svoj vmesnik za

zajemanje slik in koristimo napredne moţnosti senzorjev, ki jih ponujajo kamere mobilnih

telefonov.

Mobilni telefoni lahko v programih koristijo tudi stimulacijo drugih človeških čutov, ne le

vizualnih in slušnih. Na primer, aplikacijo lahko opremimo tudi z vibracijo ob določeni

akciji uporabnika in te vibracije po intenzivnosti in trajanju manipuliramo na tak način, da

uporabniku pomagajo pri rokovanju s programom. Vibracije telefona so ne nazadnje v

veliki meri uporabljene tudi v mobilnih igrah.

Nekateri mobilni telefoni so opremljeni tudi tako imenovano optično miško, ki omogoča

preprostejšo interakcijo z mobilnim telefonom, čeprav so zasloni občutljivi na dotik

pogosteje pogosto uporabljena moţnost interakcije uporabnika s programom.

Novejša funkcionalnost, ki jo ponujajo sodobni mobilni telefoni je zaznavanje relativne

pozicije v 3D, prostoru s pomočjo magnetnega kompasa in pospeškometra, kot prikazuje

spodnja slika (Slika 1), s čimer bi bilo mnogim aplikacijam moţno razširiti funkcionalnost.

Page 19: CAMERA NAVI - NAVIGACIJA S PRETOČNO VSEBINO V ŽIVO · V CAMERA NAVI - NAVIGATION WITH LIVE STREAMING Key words: navigation, Global Positioning System, accelerometer, camera, sensor,

Camera Navi - Navigacija s pretočno vsebino v ţivo Stran 7

Slika 1: Prikaz osi pri 3D zaznavanju relativne pozicije v prostoru

3.2 Sistem globalnega določanja položaja

Sistem globalnega določanja poloţaja, kot ga prikazuje spodnja slika (Slika 2), je vesoljski

globalni navigacijski satelitski sistem, ki zagotavlja zanesljive podatke o kraju in času v

vsakem vremenu, ob vsakem času in kjerkoli na zemlji ali blizu nje, če je omogočen

neoviran pogled na štiri ali več satelitov GPS.

Sistem globalnega določanja poloţaja vzdrţuje vlada ZDA in je prosto dostopen vsem, ki

imajo GPS sprejemnik, zato je vedno več programov in mobilnih naprav, ki ta sistem

izkoriščajo za beleţenje pozicij, hranjenje poti, iskanje pozicij in računanje raznih

podatkov, kot so razdalje in relativne pozicije glede na te razdalje.

Na področju mobilne telefonije je GPS v uporabi ţe nekaj let v obliki mobilnih

navigacijskih programov [5]. V zadnjih časih pa se podatki o lokaciji uporabljajo za razne

igre, npr.: geocaching, geotagging, waze in podobno.

Page 20: CAMERA NAVI - NAVIGACIJA S PRETOČNO VSEBINO V ŽIVO · V CAMERA NAVI - NAVIGATION WITH LIVE STREAMING Key words: navigation, Global Positioning System, accelerometer, camera, sensor,

Stran 8 Camera Navi - Navigacija s pretočno vsebino v ţivo

Slika 2: Prikaz geografske višine in širine

3.3 Zaznavanje pospeškov

Spremljanje pospeškov nam omogoča pospeškometer, ki je vgrajen v sodobne mobilne

telefone in jim omogoča zaznava pospeške po treh oseh, kot to prikazuje spodnja slika

(Slika 3) [6].

Slika 3: Predstavitev osi pospeškometra na mobilnem telefonu

Page 21: CAMERA NAVI - NAVIGACIJA S PRETOČNO VSEBINO V ŽIVO · V CAMERA NAVI - NAVIGATION WITH LIVE STREAMING Key words: navigation, Global Positioning System, accelerometer, camera, sensor,

Camera Navi - Navigacija s pretočno vsebino v ţivo Stran 9

3.4 Kamera mobilnega telefona

Ţe dolgo so mobilni telefoni opremljeni z kamerami, ki nam omogočajo zajemanje slik in

videa, zakar so vendar so te v večini primerov izključno uporabljene. S prihodom novih

idej in uporabo mobilnih operacijskih sistemov pa so se kamere začele uporabljati znotraj

aplikacij za zaznavanje kod, teksta in celo za vizualno iskanje po spletu [7].

Page 22: CAMERA NAVI - NAVIGACIJA S PRETOČNO VSEBINO V ŽIVO · V CAMERA NAVI - NAVIGATION WITH LIVE STREAMING Key words: navigation, Global Positioning System, accelerometer, camera, sensor,

Stran 10 Camera Navi - Navigacija s pretočno vsebino v ţivo

4 UPORABLJENA STROJNA IN PROGRAMSKA OPREMA

Prenosljivost mobilnih programov je ne glede na operacijski sistem [8], ki ga uporabljajo

sodobni mobilni telefoni, ki jih prikazuje spodnja slika (Slika 4), omejena z naborom

funkcionalnosti, ki jih imamo namen uporabiti v programu, zato izbira operacijskega

sistema v veliki meri vpliva na izbor programskega okolja. V odvisnosti od modela

telefona, ki ponuja zmogljivosti, pomembne za naš program, smo ţe v osnovi omejeni na

določen operacijski sistem. Kakšen pristop in katero programsko okolje bomo izbrali, je

tako odvisno od mobilnega telefona, na katerem bomo razvijali aplikacijo.

Na izbiro mobilnega telefona oziroma strojne opreme lahko vplivajo različni faktorji:

popularnost, inovativnost, podprtost, operacijski sistem, napredne moţnosti mobilnega

telefona in seveda cena.

Slika 4: Različni popularni mobilni operacijski sistemi

Izbran mobilni telefon nam torej določa programski jezik, ki nam je na razpolago, kjer pa

še zmeraj obstaja izbira glede na nivo, na katerega se moramo spustiti za doseganje

popolne funkcionalnosti našega programa.

Page 23: CAMERA NAVI - NAVIGACIJA S PRETOČNO VSEBINO V ŽIVO · V CAMERA NAVI - NAVIGATION WITH LIVE STREAMING Key words: navigation, Global Positioning System, accelerometer, camera, sensor,

Camera Navi - Navigacija s pretočno vsebino v ţivo Stran 11

4.1 Lastnosti uporabljenega mobilnega telefona

Mobilni telefon, ki je bil uporabljen v okviru diplomskega dela je Samsung Omnia i900,

čigar lastnosti so prikazane v spodnji tabeli (Tabela 1). Na spodnji sliki je prikazan

uporabljen mobilni telefon (Slika 5).

Operacijski sistem Microsoft Windows Mobile 6.1

Professional

Glavne funkcije videotelefonija

GPS sprejemnik

pospeškometer

vgrajen radio

zvočna beleţka

imenik s slikami

računalo

budilka

Zaslon 3,2 palčni zaslon občutljiv na dotik

Fotoaparat 5,0 milijonov točk

Spominske reže da

Bluetooth da

Omrežja 2G Omreţje: GSM 850/900/1800/1900

3G Omreţje: HSDPA 2100

Čas govora do 5 ur in 50 minut

Čas pripravljenosti do 500 ur

Dimenzije 112 x 56,9 x 12,5 mm

Masa 125 g

Tabela 1: Lastnosti uporabljenega mobilnega telefona

Slika 5: Samsung Omnia i900

Page 24: CAMERA NAVI - NAVIGACIJA S PRETOČNO VSEBINO V ŽIVO · V CAMERA NAVI - NAVIGATION WITH LIVE STREAMING Key words: navigation, Global Positioning System, accelerometer, camera, sensor,

Stran 12 Camera Navi - Navigacija s pretočno vsebino v ţivo

4.2 Izbrano programsko okolje

Glede na lastnosti, ki jim mora zadoščati naš program in glede na operacijski sistem, ki je

uporabljen, je bilo potrebno izbrati programski jezik, ki nam bo omogočal dovolj svobodno

delo s strojno opremo mobilnega telefona.

Kot se je izkazalo, programski jezik C#, programerju ne daje dovolj velike svobode pri

zajemanju podatkovnega toka kamere mobilnega telefona in s tem ne omogoča izdelave

programa, ki bi predvajal sliko v ţivo na zaslonu mobilnega telefona.

Tudi programiranje v Javi ne bi omogočalo dostopa do naprednih funkcionalnosti v

obsegu, ki ga zahteva naš program. Tako je preostala le še moţnost uporabiti programski

jezik C++, ki omogoča napredno delo s strojno opremo, uporabljenega mobilnega telefona.

Kakor hitro smo se odločili za izdelavo programa v programskem jeziku C++, smo imeli

dve moţnosti ali uporabimo MFC za izdelavo programa ali bomo pisali win32 aplikacijo.

Izbrali smo MFC, saj ta ponuja vse potrebno za izdelavo programa, ki zdruţuje več

naprednih funkcionalnosti mobilnih aplikacij.

Okolje, v katerem smo razvijali program, je »Microsoft Visual Studio 2008«, saj je

najprimernejše okolje za razvoj programov na operacijskem sistemu Windows in Windows

Mobile. Za doseganje čim večje povezljivosti mobilnega telefona z okoljem za

programiranje, je bilo potrebno namestiti najnovejši SDK za Windows Mobile.

Novi SDK za Windows Mobile razširi zmogljivosti Visual Studia, saj doda moţnost

uporabe emulatorjev, moţnost ustvarjanja projektov, prirejenih za mobilne telefone z

različnimi verzijami Windows Mobile in moţnost prevajanja in zaganjanja programov

direktno na mobilnem telefonu, kot je prikazano na spodnjih slikah (Slika 6, 7).

Page 25: CAMERA NAVI - NAVIGACIJA S PRETOČNO VSEBINO V ŽIVO · V CAMERA NAVI - NAVIGATION WITH LIVE STREAMING Key words: navigation, Global Positioning System, accelerometer, camera, sensor,

Camera Navi - Navigacija s pretočno vsebino v ţivo Stran 13

Slika 6: Dodana moţnost za ustvarjanje Smart Device projekta

Slika 7: Moţnost emuliranja mobilnega telefona in moţnost izbire SDK-ja

Page 26: CAMERA NAVI - NAVIGACIJA S PRETOČNO VSEBINO V ŽIVO · V CAMERA NAVI - NAVIGATION WITH LIVE STREAMING Key words: navigation, Global Positioning System, accelerometer, camera, sensor,

Stran 14 Camera Navi - Navigacija s pretočno vsebino v ţivo

5 UPORABA POSAMEZNIH NAPREDNIH ZMOŽNOSTI

MOBILNIH TELEFONOV V SAMEM PROGRAMU

Glede na uporabo naprednih funkcionalnosti, ki jih ponuja uporabljen mobilni telefon, smo

se odločili, da v naši aplikaciji smiselno poveţemo, sistem globalnega določanja poloţaja,

zaznavanje pospeškov in hrbtno kamero mobilnega telefona.

Hrbtno kamero telefona smo uporabili za prikaz slike, na zaslonu telefona in s pomočjo

sistema za globalno določanje poloţaja, izvedli izrisovanje našega poloţaja glede na

zastavljen cilj, omogočili izračun razdalje med nami in izbranim ciljem, ter s pomočjo

zaznavanja pospeškov naredili interakcijo z mobilnim telefonom, uporabniku bolj

enostavno.

S pomočjo kamere mobilnega telefona prikazujemo zajeto sliko, s pomočjo katere je

uporaba navigacije bolj povezana z realnim svetom, oziroma je uporaba navigacije laţje

predstavljiva, saj namesto karte lahko spremljamo trenutno okolico.

Pridobivanje podatkov o lokaciji nam omogoča izračun razdalje do izbrane lokacije in opis

poloţaja glede na naš cilj.

Uporaba zaznavanja pospeškov nam s preprostim obratom mobilnega telefona omogoča

proţenje različnih akcij, za katere bi morali v nasprotnem primeru izbrati razne menijske

postavke. Izbira menijskih postavk je lahko na mobilnih telefonih zamudna, zlasti če so le

ti brez tipkovnice, ali kadar je edini način interakcije preko na dotik občutljivega zaslona,

kjer je za majhne elemente uporabniškega vmesnika potrebno biti zelo natančen ali je celo

potrebno uporabiti pripomočke.

Page 27: CAMERA NAVI - NAVIGACIJA S PRETOČNO VSEBINO V ŽIVO · V CAMERA NAVI - NAVIGATION WITH LIVE STREAMING Key words: navigation, Global Positioning System, accelerometer, camera, sensor,

Camera Navi - Navigacija s pretočno vsebino v ţivo Stran 15

5.1 Uporaba sistema globalnega določanja položaja

Za izkoriščanje sistema za globalno določanje poloţaja je bilo potrebno, kot za večino

naprednih funkcionalnosti posameznih mobilnih telefonov, uporabiti posebno knjiţnico

(API), ki je bil narejen posebej za dan telefon in brez katerega bi bilo povezovanje z

napravo za pridobivanje podatkov GPS zelo oteţeno.

Za dostop do funkcij, ki jih ponuja API za naš mobilni telefon, je bilo potrebno namestiti,

Samsungov SDK za Windows Mobile aplikacije. V projekt je bilo potrebno dodati tudi

knjiţnici: SamsungMobileSDK_2.lib in GPSApi.lib. V samo kodo smo nato morali

vključili še GPSApi.h, da smo s tem pridobili vse potrebno za povezovanje z napravo za

sprejemanje GPS podatkov.

Primer povezovanja z GPS napravo mobilnega telefona, pridobivanja informacij o poziciji

in izpis teh informacij vidimo na spodnjem primeru:

HANDLE hDevice;

//Odpiranje GPS naprave

hDevice = GPSOpenDevice(NULL,NULL,NULL,0);

GPS_POSITION gpsPosition;

ZeroMemory(&gpsPosition,sizeof(GPS_POSITION));

gpsPosition.dwVersion=GPS_VERSION_1;

gpsPosition.dwSize=sizeof(GPS_POSITION);

//Pridobivanje pozicije

GPSGetPosition(hDevice,&gpsPosition,10000,0);

//Izpis geografske širine in višine

cout << gpsPosition.dblLatitude << “,” << gpsPosition.dblLongitude;

Page 28: CAMERA NAVI - NAVIGACIJA S PRETOČNO VSEBINO V ŽIVO · V CAMERA NAVI - NAVIGATION WITH LIVE STREAMING Key words: navigation, Global Positioning System, accelerometer, camera, sensor,

Stran 16 Camera Navi - Navigacija s pretočno vsebino v ţivo

Iz pridobljenih podatkov, smo morali izračunati razdaljo do neke izbrane lokacije, ki nam

je sluţila kot cilj. Za računanje razdalje obstaja več različnih pristopov, ki so različno

učinkoviti [5].

Naša aplikacije je namenjena predvsem za kratke relacije, zato smo morali uporabiti

metodo za računanje razdalj med dvema lokacijama, pri kateri so napake majhne glede na

majhno oddaljenost med samimi lokacijami, zato smo se posluţili sferične geometrije.

Uporabili smo formulo za izračun razdalje med dvema točkama podanima v geografski

dolţini in širini, ki se posluţuje sferične geometrije (spherical law of cosines) [5].

double dolzina = acos( sin( latitude1 / 57.29577951 ) * sin( latitude2 / 57.29577951 ) +

cos( latitude1 / 57.29577951 ) * cos( latitude2 / 57.29577951 ) * cos( longitude2 /

57.29577951 - longitude1 / 57.29577951 ) ) * 6378.1;

Naslednji korak je bil predstaviti razdaljo dveh točk še v dvodimenzionalnem prostoru

zaslona mobilnega telefona, kar smo dosegli s pomočjo prej uporabljene formule in

enačenjem geometrijskih širin in nato še višin. Tako smo dobili razdaljo x in y

dvodimenzionalnega koordinatnega sistema, kot prikazuje spodnja slika (Slika 8).

Slika 8: Predstavitev razdalje med dvema točkama

Page 29: CAMERA NAVI - NAVIGACIJA S PRETOČNO VSEBINO V ŽIVO · V CAMERA NAVI - NAVIGATION WITH LIVE STREAMING Key words: navigation, Global Positioning System, accelerometer, camera, sensor,

Camera Navi - Navigacija s pretočno vsebino v ţivo Stran 17

5.2 Uporaba zaznavanja pospeškov

Sledenje spremembam pospeškov mobilnega telefona je preprost in učinkovit način za

zaznavanje dogodkov, ki se lahko uporabijo za najrazličnejše namene. V našem programu

smo se odločili, da bodo spremembe pospeškov telefona, uporabljene za učinkovitejšo in

enostavnejšo interakcijo uporabnika s programom.

Podobno kot pri uporabi GPS naprave mobilnega telefona, je potrebno tudi za

komunikacijo s pospeškometrom uporabiti Samsungov SDK za Windows Mobile, ki

zagotavlja funkcije za dostop do podatkov pospeškometra.

Za uporabo funkcij, ki jih ponuja Samsungov SDK [9], je potrebno v lastnostih programa,

pod dodatnimi zahtevami za knjiţnice vključiti SamsungMobileSDK_2.lib, nato pa še v

kodo vključiti smiAccelerometer.h in s tem omogočiti dostop do podatkov pospeškometra.

Spodnja koda prikazuje preprost primer dostopa do podatkov pospeškometra in izpis teh

podatkov.

SmiAccelerometerVector acc;

//Pridobivanje vektorja pospeškometra in preverjanje uspešnosti

if( SmiAccelerometerGetVector(&acc) == SMI_SUCCESS){

//Izpis podatkov

cout << “x os: ” << ac.x << endl;

cout << “y os: ” << ac.y << endl;

cout << “z os: ” << ac.z << endl;

}

Tako pridobljene podatke lahko nato koristimo za detekcijo sprememb pospeškov in te

spremembe interpretiramo tako, da jih lahko prevedemo v ukaz, ki bo uporabniku

omogočala proţenje določene akcije na mobilnem telefonu.

Tako v našem programu na primer obrat zaslona telefona, kot je prikazano na spodnji sliki

(Slika 9), proti tlom, zaključi program enakovredno izbiri menijske postavke za izhod.

Page 30: CAMERA NAVI - NAVIGACIJA S PRETOČNO VSEBINO V ŽIVO · V CAMERA NAVI - NAVIGATION WITH LIVE STREAMING Key words: navigation, Global Positioning System, accelerometer, camera, sensor,

Stran 18 Camera Navi - Navigacija s pretočno vsebino v ţivo

Uporabnik sedaj s preprostim zasukom roke doseţe isto, kar bi v običajnem primeru

dosegel s klikom na zaslon telefona, pri čemer ni potrebno, da sploh pogleda na zaslon

telefona ali telefon pribliţa k sebi.

Ob zagonu programa se zaslon mobilnega telefona programsko prestavi v vodoravni

poloţaj. Tako uporabnik drţi telefon v rokah v času izvajanja programa. V primeru da

uporabnik telefon nagne v desno ali levo stran, se sprehaja gor in dol po izbranih lokacijah,

ki se nahajajo v padajočem seznamu. Na tak način ponovno s pomočjo preprostega giba

roke lahko spremenimo nastavitve programa, kar bi v nasprotnem primeru morali doseči z

več kliki na zaslon mobilnega telefona.

Podobno kot pri prejšnjih spremembah poloţaja mobilnega telefona lahko z zasukom

telefona v smeri gledanja, prikličemo informacije o posamezni izbrani lokaciji iz

padajočega seznama.

Slika 9: Poloţaji telefona, ki proţijo podane akcije

Page 31: CAMERA NAVI - NAVIGACIJA S PRETOČNO VSEBINO V ŽIVO · V CAMERA NAVI - NAVIGATION WITH LIVE STREAMING Key words: navigation, Global Positioning System, accelerometer, camera, sensor,

Camera Navi - Navigacija s pretočno vsebino v ţivo Stran 19

5.3 Uporaba kamere

Sodobni mobilni telefoni imajo kvalitetne kamere, ki omogočajo zajemanje in prikaz

videa[10]. Te kamere so zadostno podprte ţe s strani operacijskega sistema, saj so ena

izmed redkih naprednih lastnosti, ki jih omogočajo mobilni telefoni, ki jih je moč uporabiti

brez dodatnih programov. Vsak telefon, ki ima na hrbtni strani kamero, namreč omogoča

zajemanje slik, večina tudi zajemanje videa, kar pa ne velja za GPS naprave in

pospeškometre.

Za delo s podatki zajetimi iz kamere je potrebno v programu vključiti dshow.h

(DirectShow) [11]. DirectShow je posredna arhitektura, ki zagotavlja prenos za

predvajanje medijev in zajemanje le-teh. DirectShow API omogoča predvajanje lokalne

multimedijske vsebine in iz pretočnih virov preko omreţja ali interneta. Arhitektura je

namenjena podpori virom, formatom, kodekom in strojni opremi.

Filtri DirectShow se uporabljajo za upravljanje in vodenje multimedijskih podatkov. Ti

filtri opravljajo naloge, kot so razčlenjevanje, dekodiranje ali oblikovanje na

multimedijskem toku. Moţna je razširitev DirectShow medijske podpore s pisanjem lastnih

filtrov.

Microsoft DirectShow omogoča kakovostno predvajanje večpredstavnostnih tokov s

podporo kodekov za različne formate.

Spodnji primer prikazuje uporabo kamere v programu.

IGraphBuilder *pFilterGraph;

ICaptureGraphBuilder2 *pCaptureGraphBuilder;

IBaseFilter *pVideoCaptrueFilter;

IPersistPropertyBag *pPropertyBag;

IMediaControl *pMediaControl;

IAMVideoControl *pVideoControl;

CoInitialize(NULL);

CoCreateInstance(CLSID_CaptureGraphBuilder,NULL,CLSCTX_INPROC_SERVER,IID_ICaptu

reGraphBuilder2,(void**)&pCaptureGraphBuilder);

Page 32: CAMERA NAVI - NAVIGACIJA S PRETOČNO VSEBINO V ŽIVO · V CAMERA NAVI - NAVIGATION WITH LIVE STREAMING Key words: navigation, Global Positioning System, accelerometer, camera, sensor,

Stran 20 Camera Navi - Navigacija s pretočno vsebino v ţivo

CoCreateInstance(CLSID_FilterGraph,NULL,CLSCTX_INPROC_SERVER,IID_IGraphBuilder,(void*

*) &pFilterGraph);

CoCreateInstance(CLSID_VideoCapture,NULL,CLSCTX_INPROC,IID_IBaseFilter,(void**)

&pVideoCaptrueFilter);

pCaptureGraphBuilder->SetFiltergraph(pFilterGraph);

pVideoCaptrueFilter->QueryInterface(&pPropertyBag);

wchar_t deviceName[MAX_PATH]=L"\0";

DEVMGR_DEVICE_INFORMATION di;

GUID guidCamera = {0xCB998A05, 0x122C, 0x4166, 0x84, 0x6A, 0x93, 0x3E,0x4D, 0x7E, 0x3C,

0x86};

di.dwSize = sizeof(di);

FindFirstDevice(DeviceSearchByGuid,&guidCamera,&di);

StringCchCopy(deviceName,MAX_PATH,di.szLegacyName);

CComVariant comName = deviceName;

CPropertyBag cPropertyBag;

cPropertyBag.Write(L"VCapName",&comName);

pPropertyBag->Load(&cPropertyBag,NULL);

pFilterGraph->AddFilter(pVideoCaptrueFilter,L"VIdeo Capture Filter Source");

IVideoWindow *pVidWin;

pFilterGraph->QueryInterface(IID_IMediaControl,(void**)&pMediaControl);

pFilterGraph->QueryInterface(IID_IVideoWindow,(void**)&pVidWin);

pVideoCaptrueFilter->QueryInterface(IID_IAMVideoControl,(void**)&pVideoControl);

pCaptureGraphBuilder-

>RenderStream(&PIN_CATEGORY_PREVIEW,&MEDIATYPE_Video,pVideoCaptrueFilter,NULL,

NULL);

CRect rect;

long width,height;

GetClientRect(this->GetSafeHwnd(),rect);

pVidWin->put_Owner((OAHWND)( this->GetSafeHwnd());

pVidWin->put_WindowStyle(WS_CHILD|WS_CLIPSIBLINGS);

pVidWin->get_Width(&width);

pVidWin->get_Height(&height);

height = rect.Height();

pVidWin->put_Height(height);

pVidWin->put_Width(rect.Width());

pVidWin->SetWindowPosition(0,0,rect.Width()-113,height);

pMediaControl->Run();

Zajete podatke lahko prikaţemo na zaslonu v poljubni velikosti in ob poljubnem času. Na

tak način omogočamo uporabniku pregled nad okolico in nemoteno upravljanje z

mobilnim telefonom.

Page 33: CAMERA NAVI - NAVIGACIJA S PRETOČNO VSEBINO V ŽIVO · V CAMERA NAVI - NAVIGATION WITH LIVE STREAMING Key words: navigation, Global Positioning System, accelerometer, camera, sensor,

Camera Navi - Navigacija s pretočno vsebino v ţivo Stran 21

6 INTERAKCIJA S PROGRAMOM

Za preprosto interakcijo s programom smo med drugim uporabili tudi informacije

pospeškometra, s pomočjo katerega lahko uporabnik po zagonu aplikacije laţje izvede

določene akcije, ki jih ponuja program. Pospeškometer ima zmeraj vsaj na eni izmed osi

prisoten gravitacijski pospešek. Premik telefona povzroči spremembo porazdelitve

pospeška na oseh in nam s tem omogoča nadzor prekoračitve mej, ki so zastavljene za

izvedbo posamične akcije v programu in so razvidne iz spodnje tabele (Tabela 2).

Akcija Potreben pospešek

za izvedbo akcije

Potreben pospešek

pred ponovno

izvedbo akcije

Izhod iz aplikacije manj kot -0.7 ni potrebno

Pridobivanje

informacij o izbranih

lokacijah

več kot 0.7 manj kot 0.3

Sprehod po

padajočem seznamu

lokacija, navzdol

manj kot -0.7 več kot -0.3

Sprehod po

padajočem seznamu

lokacija, navzgor

več kot 0.7 manj kot 0.3

Tabela 2: Mejne vrednosti pospeškov za izvajanje posamičnih akcij

Za uporabo programa je potrebno ob zagonu izbrati navigacijsko datoteko, da lahko

pridobimo in izberemo lokacije, ki jih uporabimo kot končne lokacije. V navigacijski

datoteki so shranjene lokacije in podatki o lokacijah, ki se iz datoteke preberejo in shranijo

v razred lokacij, s pomočjo katerega lahko nato pridobivamo posamezne podatke.

Page 34: CAMERA NAVI - NAVIGACIJA S PRETOČNO VSEBINO V ŽIVO · V CAMERA NAVI - NAVIGATION WITH LIVE STREAMING Key words: navigation, Global Positioning System, accelerometer, camera, sensor,

Stran 22 Camera Navi - Navigacija s pretočno vsebino v ţivo

Po izbiri navigacijske datoteke se program poveţe z GPS sprejemnikom mobilnega

telefona in prične z iskanjem satelitov, na kar opozori tudi uporabnika. Ko se poveţemo z

zadostnim številom satelitov [5], se na zaslonu mobilnega telefona izrišeta naša trenutna in

končna lokacija, izpisuje se tudi distanca med tema dvema lokacijama. Kakor hitro je na

razpolago (pre)majhno število satelitov, nas program opozori, da ponovno išče satelite in to

počne, dokler ni zadostnega števila satelitov.

Slika 10: Bistveni koraki za uporabo programa

Page 35: CAMERA NAVI - NAVIGACIJA S PRETOČNO VSEBINO V ŽIVO · V CAMERA NAVI - NAVIGATION WITH LIVE STREAMING Key words: navigation, Global Positioning System, accelerometer, camera, sensor,

Camera Navi - Navigacija s pretočno vsebino v ţivo Stran 23

7 REZULTATI

V navigacijskim programu, ki je nastal v okviru diplomskega dela, smo zdruţili več

naprednih funkcionalnosti mobilnih telefonov in s tem ustvarili program, ki omogoča

drugačen način interakcije in doda novo, vizualno perspektivo.

Zajemanje slike s pomočjo kamere mobilnega telefona in predvajanje te slike na delu

zaslona je imelo za posledico moţnost pregleda nad okolico, v kateri smo se gibali ob

uporabi programa, in dejansko vizualizacijo okolja, ki smo ga na zaslonih mobilnih

aplikacijah v drugih programih, spremljali samo v dvodimenzionalni obliki.

Moţnost, uporabe navigacije med hojo brez potrebe po odmiku pogleda od mobilnega

telefona se je izkazala za zelo koristno, saj smo po ulicah lahko postopali, ne da bi naleteli

na ovire, na katere se sicer ob spremljanju zaslona pri drugih navigacijskih programih

lahko naleti.

Dodatno smo s pomočjo predvajanja pretočnega videa v ţivo, dosegli spremljanje poti na

zaslonu mobilnega telefona v dejanskem okolju, zaradi česar smo se laţje znašli pri

uporabi navigacije.

Izkoriščanje pospeškometra nam je omogočilo bistveno hitrejšo in enostavnejšo interakcijo

s programom, kot jo omogočajo običajni programi na mobilnih telefonih. Pritiskanje

gumbov na zaslonu in ţe samo iskanje teh, kot tudi iskanje menijskih postavk, je časovno

bistveno bolj potratno kot preprost gib roke.

Za izhod iz programa brez uporabe pospeškometra smo v povprečju potrebovali štiri

sekunde, z izkoriščanjem podatkov pospeškometra smo lahko ugasnili program v eni

sekundi. Za najbolj zamuden del interakcije s programom - premik po padajočem seznamu,

smo brez pomoči pospeškometra v povprečju porabili deset sekund, medtem ko smo s

Page 36: CAMERA NAVI - NAVIGACIJA S PRETOČNO VSEBINO V ŽIVO · V CAMERA NAVI - NAVIGATION WITH LIVE STREAMING Key words: navigation, Global Positioning System, accelerometer, camera, sensor,

Stran 24 Camera Navi - Navigacija s pretočno vsebino v ţivo

pomočjo pospeškometra to utegnili storiti v eni sekundi. Tudi pridobivanje podatkov o

trenutno izbrani lokaciji smo s pomočjo pospeškometra uspeli pridobiti v roku ene

sekunde, brez pospeškometra pa smo potrebovali pet sekund, kot je razvidno iz spodnje

slike (Slika 11).

0123456789

10

Ča

s p

otr

eb

en z

a i

zved

bo

ak

cije

Izhod iz

porograma

Premik po

padajočem

seznamu

Pridobivanje

informacij o

izbrani lokaciji

Interakcija s pogramom brez

pomoči pospeškometra

Interakcija s programom s

pomočjo pospeškometra

Slika 11: Prikaza porabe časa pri interakciji s programom

Izkoriščanje podatkov pridobljenih iz GPS sprejemnika mobilnega telefona, nam je

omogočilo enostavno in zanesljivo določanje naše pozicije in razdalje med našo in izbrano

pozicijo in s tem preprostejše navigiranje uporabnika.

Page 37: CAMERA NAVI - NAVIGACIJA S PRETOČNO VSEBINO V ŽIVO · V CAMERA NAVI - NAVIGATION WITH LIVE STREAMING Key words: navigation, Global Positioning System, accelerometer, camera, sensor,

Camera Navi - Navigacija s pretočno vsebino v ţivo Stran 25

8 SKLEP

Uporaba pretočne vsebine v ţivo je izboljšala delovanje programa, saj je doprinesla k

uporabnosti programa in načinu dojemanja okolice z mobilnim telefonom.

Iz pridobljenih rezultatov je razvidno, da lahko uporaba pospeškometra pri napravah kot

so mobilni telefoni, ki imajo relativno majhne zaslone, pomeni velik korak naprej pri

interakciji z uporabnikom. Čas, ki ga porabimo za interakcijo z uporabnikom v našem

programu brez uporabe pospeškometra, je lahko tudi do desetkrat slabši, kot z uporabo

pospeškometra.

Povezava večjih naprednih funkcionalnosti mobilnih telefonov se je tako izkazala za

učinkovit način za izboljšavo in nadgradnjo ţe obstoječih programov, predvsem pa za

načrtovanje in uporabo v novih programih, ki lahko uporabniku delo s programom olajšajo

in popestrijo.

Moţnosti za izkoriščanje kamere telefona, pospeškometra in GPS senzorja, je še veliko

več. Za delo s poljubnim programom je mogoče uporabiti vsako posamezno funkcionalnost

mobilnih telefonov ali seveda v poljubno kombinacijo le-teh.

Pospeškometer se lahko kot vmesnik med uporabnikom in programom, uporabi za bolj

kompleksne ukaze, ki bi jih bilo ob pravilni interpretaciji moţno izvesti na zelo preprost

način, brez potrebe po izbiranju in iskanju raznih vsebin. Lahko bi na primer

implementirali dodatno funkcionalnost programa, ki bi uporabniku omogočila s pomočjo

rahlega nagiba mobilnega telefona drsenje po poljubni vsebini, kar bi programu dalo

prednost pred ostalimi podobnimi programi.

Page 38: CAMERA NAVI - NAVIGACIJA S PRETOČNO VSEBINO V ŽIVO · V CAMERA NAVI - NAVIGATION WITH LIVE STREAMING Key words: navigation, Global Positioning System, accelerometer, camera, sensor,

Stran 26 Camera Navi - Navigacija s pretočno vsebino v ţivo

Pri uporabi pretočnih vsebin, ki jih predvajamo v ţivo, je veliko moţnosti nadgradnje. Ena

izmed teh moţnosti je seveda risanje na pretočno vsebino, s čimer bi lahko programu

dodali veliko dodatnih vizualnih lastnosti in funkcionalnosti.

Seveda pa ne smemo pozabiti, da napredne funkcionalnosti mobilnih telefonov, ki smo jih

uporabili v diplomski nalogi še, zdaleč niso vse napredne funkcionalnosti, ki jih ponujajo

sodobni mobilni telefoni. Moţnosti kombiniranja različnih naprednih funkcionalnosti

mobilnih telefonov veliko.

Program z vključenimi knjiţnicami nam predstavlja platforno za razširitev funkcionalnosti

uporabljenega telefona, ter nam daje moţnost za razne posplošitve programa za uporabo na

podobnih mobilnih telefonih.

Page 39: CAMERA NAVI - NAVIGACIJA S PRETOČNO VSEBINO V ŽIVO · V CAMERA NAVI - NAVIGATION WITH LIVE STREAMING Key words: navigation, Global Positioning System, accelerometer, camera, sensor,

Camera Navi - Navigacija s pretočno vsebino v ţivo Stran 27

9 VIRI, LITERATURA

[1] ARS technica (http://arstechnica.com/apple/news/2010/01/apple-responsible-for-994-

of-mobile-app-sales-in-2009.ars, zadnji obisk: 24.08.2010 ).

[2] Slovenska tiskovna agencija

(http://mojevro.finance.si/238848/V_povpre%E8ju_ima_vsak_Slovenec_mobilni_telef

on, zadnji obisk: 24.08.2010)

[3] F. Mée (http://www.digitalversus.com/mobile-os-iphone-and-android-most-popular-

particularly-in-the-us-news-13627.html, zadnji obisk: 24.08.2010)

[4] Samsung Electronics: Samsung Mobile Innovator -Windows Mobile API

Specifications

(http://innovator.samsungmobile.com/cms/cnts/knowledge.detail.view.do?cntsId=5361

&platformId=2, zadnji obisk: 24.08.2010)

[5] J.M.Zogg: GPS Basics - Introduction to the system Application overview

(http://geology.isu.edu/geostac/Field_Exercise/GPS/GPS_basics_u_blox_en.pdf, zadnji

obisk: 24.08.2010)

[6] Texas Instruments: Accelerometers and How they Work

(http://www2.usfirst.org/2005comp/Manuals/Acceler1.pdf, zadnji obisk: 24.08.2010)

[7] Google Goggles (http://www.google.com/mobile/goggles/#text, zadnji obisk:

24.08.2010)

[8] Symbian resources

(http://symbianresources.com/tutorials/general/mobileos/MobileOperatingSystems.pdf,

zadnji obisk: 24.08.2010)

[9] Samsung mobile (http://innovator.samsungmobile.com , zadnji obisk: 24.08.2010)

[10] M. Rohs, B.Gfeller

(http://www.photogrammetry.ethz.ch/general/persons/devrim/2008SL_Akca_Gruen_H

andy_Colombo08_ID-426.pdf, zadnji obisk: 24.08.2010)

[11] Microsoft (http://msdn.microsoft.com/en-us/library/aa930379.aspx, , zadnji obisk:

24.08.2010)

Page 40: CAMERA NAVI - NAVIGACIJA S PRETOČNO VSEBINO V ŽIVO · V CAMERA NAVI - NAVIGATION WITH LIVE STREAMING Key words: navigation, Global Positioning System, accelerometer, camera, sensor,

Stran 28 Camera Navi - Navigacija s pretočno vsebino v ţivo

10 PRILOGE

10.1 Naslov študenta

Bojan Ţlahitč

Spodnja Korena 13

2241 Spodnji Duplek

Telefon: (031) 386-976

e-Mail: [email protected]

10.2 Kratek življenjepis

Rojen: 13.06.1982 v Mariboru

Šolanje:

Osnovna šola Tone Čufar, Maribor, 1989

Osnovna šola Tabor 2, Maribor, 1990-1992

Osnovna šola Duplek, Duplek, 1993-1996

Srednja Gradbena Šola, Maribor, 1997-2000

Fakulteta za elektrotehniko, računalništvo in informatiko, Maribor, 2007-2009

Page 41: CAMERA NAVI - NAVIGACIJA S PRETOČNO VSEBINO V ŽIVO · V CAMERA NAVI - NAVIGATION WITH LIVE STREAMING Key words: navigation, Global Positioning System, accelerometer, camera, sensor,