veleuČiliŠte u rijeci odjel telematika - veleri.hrilište u rijeci izrada windows i android...

21
VELEUČILIŠTE U RIJECI ODJEL TELEMATIKA Dimitrij Vukelić IZRADA WINDOWS I ANDROID APLIKACIJA KOJE KOMUNICIRAJU PUTEM WI-FI PROJEKTNA DOKUMENTACIJA RIJEKA, 2012. VELEUČILIŠTE U RIJECI ODJEL TELEMATIKA

Upload: lydieu

Post on 20-May-2018

217 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: VELEUČILIŠTE U RIJECI ODJEL TELEMATIKA - veleri.hrilište u Rijeci Izrada windows i android aplikacija koje komuniciraju putem Wi-Fi SEMINARSKI RAD Predmet: Projekt u telematici

VELEUČILIŠTE U RIJECI

ODJEL TELEMATIKA

Dimitrij Vukelić

IZRADA WINDOWS I ANDROID APLIKACIJA KOJE

KOMUNICIRAJU PUTEM WI-FI

PROJEKTNA DOKUMENTACIJA

RIJEKA, 2012.

VELEUČILIŠTE U RIJECI

ODJEL TELEMATIKA

Page 2: VELEUČILIŠTE U RIJECI ODJEL TELEMATIKA - veleri.hrilište u Rijeci Izrada windows i android aplikacija koje komuniciraju putem Wi-Fi SEMINARSKI RAD Predmet: Projekt u telematici

Veleučilište u Rijeci

Izrada windows i android aplikacija koje

komuniciraju putem Wi-Fi

SEMINARSKI RAD

Predmet: Projekt u telematici

Mentor: Marino Franušić, predavač

Student: Dimitrij Vukelić

Broj indeksa: JMBAG 2427004056

Studij: Telematika

Rijeka, prosinac 2012.

Page 3: VELEUČILIŠTE U RIJECI ODJEL TELEMATIKA - veleri.hrilište u Rijeci Izrada windows i android aplikacija koje komuniciraju putem Wi-Fi SEMINARSKI RAD Predmet: Projekt u telematici

Sažetak

U doba naglog razvitka digitalnih tehnologija još više se povezuju komunikacije i tehnologije.

Računala postaju sve manja, a televizori sve više preuzimaju ulogu računala, daljinski

upravljači prestaju biti samo niz tipki kojima se samo mijenja program i glasnoća na uređaju.

Ovaj rad je zasnovan na osnovnoj pretpostavci da korisnici traže sve lakše načine korištenja

ulazno-izlaznih jedinica računala tj. da po mogućnosti upravljaju računalom iz kreveta.

Pretpostavka je da će klasične "miševe" i daljinske upravljače zamjeniti univerzalni uređaji

koji će koristeći akcelerometre korisnicima punuditi upravo to – pretraživanje interneta iz

udobne fotelje putem TV uređaja. Danas je moguće kupiti HDMI stick koji spajanjem na TV

pretvara televizijski prijemnik u računalo pogonjeno Ubuntu operativnim sustavom pa se

samim time i nameće potreba bežičnog upravljanja. Daljinsko upravljanje računalom će u

radu biti prikazano uz pomoć Android upravljanog mobilnog uređaja i PC softvera napisanog

u Javi koji komuniciraju međusobno putem WiFi LAN mreže.

Ključne riječi: komunikacija, računalo, akcelerometar, upravljanje

Page 4: VELEUČILIŠTE U RIJECI ODJEL TELEMATIKA - veleri.hrilište u Rijeci Izrada windows i android aplikacija koje komuniciraju putem Wi-Fi SEMINARSKI RAD Predmet: Projekt u telematici

SADRŽAJ

1. Uvod ....................................................................................................................................... 1

2. Senzori .................................................................................................................................... 2

2.1. Akcelerometar ................................................................................................................. 3

3. Android operativni sustav ....................................................................................................... 5

4. Softver .................................................................................................................................... 6

4.1 Android aplikacija ............................................................................................................ 6

4.1.1 Izgled Android aplikacije ....................................................................................... 12

4.2 Desktop aplikacija .......................................................................................................... 13

5. Zaključak .............................................................................................................................. 16

Literatura .................................................................................................................................. 17

Page 5: VELEUČILIŠTE U RIJECI ODJEL TELEMATIKA - veleri.hrilište u Rijeci Izrada windows i android aplikacija koje komuniciraju putem Wi-Fi SEMINARSKI RAD Predmet: Projekt u telematici

1

1. Uvod

Tehnologija svakim danom sve više napreduje i događa se obratni trend koji se javljao nakon

pojave GSM uređaja, manje je bolje, tako da sad postoje mobilni uređaji sa četverojezgrenim

procesorom i 6'' ekranom.

Još se više ubrzava tempo života i ljudima je prijenosno računalo postalo pre veliko, donekle

su ga zamjenili tablet računalima, ali i ona su ponekad pre velika dok je poslovni čovjek "u

hodu". Rapidnim povečanjem performansi mobilnih uređaja pojavljuje se i softver koji prati

taj razvoj pa sve više korisnika koristi mobilni uređaj za pisanje draft Word dokumenata ili

Excel tablica.

Drugi pravac je razvoj TV uređaja koji pomalo, ali sigurno, postaju računala. Sve više je

moguće vidjeti reklame za TV uređaje koji pokazuju potencijalnim kupcima kako je preko TV

prijemnika moguće koristiti You Tube servis npr, odnosno kupnjom HDMI sticka moguće je

TV prijemnik pretvoriti u računalo pogonjeno Android ili Linux operativnim sustavom.

Daljinski uređaj na koji su korisnici navikli pomalo odlazi u prošlost kao i "šuma" daljinskih

upravljača na stolu. Koristeći mobilni uređaj, u ovom radu je obrađen Android, ali je moguće

i Win ili iOS, krajnji korisnik će upravljati svojim računalom, TV uređajem, mikrovalnom ili

perilicom.

Page 6: VELEUČILIŠTE U RIJECI ODJEL TELEMATIKA - veleri.hrilište u Rijeci Izrada windows i android aplikacija koje komuniciraju putem Wi-Fi SEMINARSKI RAD Predmet: Projekt u telematici

2

2. Senzori

Senzor ili detektor je uređaj koji mjeri fizičke veličine i pretvara ih u signale čitljive osobi ili

uređaju. Naj jednostavniji primjer je alkoholni ili živin toplomjer. Povećanjem temperature na

senzorskom dijelu dolazi do širenja medija i on se "podiže" u kapilarnoj cjevčici unutar

toplomjera pokazujući temperaturu.

Senzore je , kako je već navedeno ,konvektor ili pretvarač pa ih je moguće podjeliti po tipu

energije koju prenose:

Toplinski

◦ termometar

◦ termostat

◦ ...

Elektromagnetni

◦ metal detektor

◦ radar

◦ voltmetar

◦ ampermetar

◦ ....

Mehanički

◦ barometar

◦ barograf

◦ presostat

◦ senzor protoka fluida

◦ akcelerometar

◦ ....

Optički

◦ senzor udaljenosti

◦ IC senzor

◦ .....

......

Page 7: VELEUČILIŠTE U RIJECI ODJEL TELEMATIKA - veleri.hrilište u Rijeci Izrada windows i android aplikacija koje komuniciraju putem Wi-Fi SEMINARSKI RAD Predmet: Projekt u telematici

3

2.1. Akcelerometar

Akcelerometar je mehanički tip senzora koji mjeri ubrzanje po jednoj, dvije ili tri osi.

Pojednostavljeno , akcelerometar, je lagani uteg na opruzi koji mijenja svoj polozaj zavisno

od sile akceleracije koja na njega djeluje. Za shvaćanje rada akcelerometra potrebno je

zamisliti uređaj kao na slici 1.

Izvor: http://i.imgur.com/DrwHY.jpg

Lagana kuglica je spojena sa oprugom i zbog sile gravitacije pokazuje odmak od 0g.

Izmjerena akceleracija po osi Z (okomito na zemlju) je uvijek 9.81 m/s pa je potrebno pri

izračunu uzeti vrijednost sile gravitacije i oduzeti je od izmjerene vrijednosti kako bi je

anulirali na pocetku. Taj postupak se naziva kalibracija.

Primjer. Izmjerena akceleracija po osi Z= 9.81 m/s , bez kalibracije uređaja uređaj očitava

vrijednost, prikazuje je korisniku i korisnik dobija informaciju da se uređaj "kreće" tj pada

prema zemlji, a on je u stvari u stanju mirovanja jer na njega djeluje sila gravitacije.

Ukoliko se uređaj ispravno kalibrira i od izmjerene vrijednosti se u softveru oduzme sila

gravitacije, akcelerometar ponovo izmjeri Z=9,81 m/s , ali sada softver korisniku prikazuje

Z=Z-9,81

Z= 9,81-9,91 = 0 m/s

ispravnu vrijednost jer se uređaj nalazi u stanju mirovanja.

Slika 1: Pojednostavljen akcelerometar

Page 8: VELEUČILIŠTE U RIJECI ODJEL TELEMATIKA - veleri.hrilište u Rijeci Izrada windows i android aplikacija koje komuniciraju putem Wi-Fi SEMINARSKI RAD Predmet: Projekt u telematici

4

Današnji akcelereometri su izrađeni od silicija, malenih su dimenzija, mogu biti

dvodimenzionalni ili trodimenzionalni i ugrađuju se u sve "pametne telefone". Njihova

osnovna funkcija u telefonima je trivijalna, služe za zakretanje ekrana i igranje igrica.

U ovom radu su iskorištene dvije osi X i Y jer nije bilo potrebe koristiti oz Z za simulaciju

računalnog miša.

Page 9: VELEUČILIŠTE U RIJECI ODJEL TELEMATIKA - veleri.hrilište u Rijeci Izrada windows i android aplikacija koje komuniciraju putem Wi-Fi SEMINARSKI RAD Predmet: Projekt u telematici

5

3. Android operativni sustav

Google Android je prvi otvoreni OS za mobilne uređaje. Prva verzija OS-a izlazi 2007

godine. Trenutno je na tržištu Android 4.2.1 Jelly Bean. Otvorenost platforme pomogla je

ubrzanom razvoju aplikacija i inačica OS-a, ali u isto vrijeme i unjela kaos među proizvođače

mobilnih uređaja jer svaki proizvođač, u pravilu, ima svoju prilagođenu inačicu OS-a koja

radi isključivo na njihovim uređajima. Još jedan problem je u nestandardizaciji rezolucija

ekrana mobilnih uređaja što programerima aplikacija za Android uređaje stvara probleme jer

se u večini slučajeva dešava da aplikacije ne izgledaju dobro, narušena funkcionalnost ili

preklapanje objekata na ekranu, što je ponekad jako frustrirajuće.

Android je zasnovan na jezgri Linux 2.6 i napisanom u C/C++ programskom jeziku i koristi

SQLlite DBMS za pohranu podataka. Arhitekturu Androida je moguće promatrati kao jedan

stog koji sadrži više razina.

Linux jezgra – driveri i međuprocesna komunikacija

knjižnice pisane u C/C++ programskom jeziku

Android Runtime – pokretanje aplikacija ima dva dijela:

◦ jezgrene knjiznice – core library za Java-u

◦ Dalvik virtualni stroj – pokreće aplikacije kao zasebne instance

Aplikacijski sloj – Application framework

◦ upotreba API-ja

Aplikacije

Zbog otvorenog sustava, programerima je izuzetno jednostavno pisati aplikacije koje koriste

hadver uređaja uz pomoc besplatne inačice Android razvojnog paketa – ADK ( Android

development kit) i Android virtualne mašine ADT ( Android development tools) u skladu sa

Eclipse IDE koji je korišten pri izradi ovog rada.

Page 10: VELEUČILIŠTE U RIJECI ODJEL TELEMATIKA - veleri.hrilište u Rijeci Izrada windows i android aplikacija koje komuniciraju putem Wi-Fi SEMINARSKI RAD Predmet: Projekt u telematici

6

4. Softver

Softver je napisan u Eclipse IDE-u , u Java programskom okruženju. Ostvaren je kao server-

klijent aplikacija koristeći UDP konekciju. UDP je izabran zbog brzine i neosjetljivosti

procesa na povremeni gubitak paketa koji se može dogoditi jer nije izveden sa provjerom

dospjeća. Teško je odrediti koja aplikacija je server, a koja klijent jer se radi o dvosmjernoj

komunikaciji u kojoj obje aplikacije imaju jednake ovlasti.

4.1 Android aplikacija

Android aplikacija napisana je u MVC metodi – model , view i kontroler. Dvosmjerna

komunikacija odvija se na način da korisnik pomoću Android uređaja, koristeći

akcelerometar, zamjenjuje "miša" na serverskom računalu i zavibrira svaki puta kada pređe

preko natpisa "Roll" na serverskoj aplikaciji.

U modelu su dvije klase :

PostavkeModels – svi atributi potrebni za konekciju i provjere :

/**

* Definiranje varijabli konekcije klijenta i provjere */ private String server ="192.168.1.108"; // default postavke servera private boolean spajanje = false; private String potvrda =""; private InetAddress IP ; private boolean glavni = true; private int osjetljivost;

SenzoriModels – atributi senzora

/** * Definiranje varijabli prihvata senzora */ private String pomak_x = "0"; private String pomak_y = "0"; private String pomak_z = "0"; private float korekcija_x = 0; private float korekcija_y = 0; private float korekcija_z = 0;

Page 11: VELEUČILIŠTE U RIJECI ODJEL TELEMATIKA - veleri.hrilište u Rijeci Izrada windows i android aplikacija koje komuniciraju putem Wi-Fi SEMINARSKI RAD Predmet: Projekt u telematici

7

private int lClick = 0; private int rClick = 0;

Kontroler ima jednu klasu , AndroidClientControllers, koja se brine o UDP konekciji, slanju i

primanju UDP datagrama.

Metoda slanja datagrama :

/** * {@code} Glavna metoda za slanje UDP datagrama * @throws IOException */ public void slanje(boolean salji) throws IOException{ // TODO Auto-generated method stub //spajanje(true); int port =5000; //postavke porta; InetAddress serverAddr = InetAddress.getByName(postavke.getServer()); byte[] sendBuf = new byte[256]; DatagramSocket socket = new DatagramSocket(port); while(postavke.isSpajanje() == true){ try { // Postavka IP adrese servera Log.d("UDP", "C: Connecting..."); /* Kreiranje stringa za slanje */ String paket = senzori.getPomak_x() + ";" + senzori.getPomak_y() + ";1" + ";" + senzori.getlClick() + ";" + senzori.getrClick(); String sendString = new String(paket); senzori.setlClick(0); senzori.setrClick(0); sendBuf = sendString.getBytes(); /*Kreiranje varijable za velicinu i slanje paketa*/ //Kreira datagram paket za slanje podataka DatagramPacket packet = new DatagramPacket(sendBuf, sendBuf.length, serverAddr, port); Log.d("UDP", "C: Sending: '" + new String(sendBuf) + "'"); //slanje podataka socket.send(packet); Thread.sleep(20); Log.d("UDP", "C: Sent."); Log.d("UDP", "C: Done.");

Page 12: VELEUČILIŠTE U RIJECI ODJEL TELEMATIKA - veleri.hrilište u Rijeci Izrada windows i android aplikacija koje komuniciraju putem Wi-Fi SEMINARSKI RAD Predmet: Projekt u telematici

8

} catch (Exception e) { Log.e("UDP", "C: Error", e); } }

Metoda primanja datagrama:

/** * {@code} Glavna metoda za primanje UDP datagrama * @throws IOException */ public void vibracija() throws IOException{ //Kreira datagram paket za prihvat podataka String rcvString = ""; int port = 5100; postavke.setPotvrda(rcvString); if(postavke.getPotvrda().equals("")== true){ postavke.setPotvrda("0"); } byte[] rcvBuf = new byte[256]; //prihvacanje podataka try { DatagramSocket socket1 = new DatagramSocket(port); DatagramPacket rcvPacket = new DatagramPacket(rcvBuf, rcvBuf.length); socket1.receive(rcvPacket); rcvString = new String( rcvPacket.getData(), rcvPacket.getOffset(),rcvPacket.getLength() ); socket1.close(); } catch (SocketException e) { // TODO Auto-generated catch block System.out.println("tu puknem 1"); } catch (IOException e) { // TODO Auto-generated catch block System.out.println("tu puknem 2"); } if (rcvString.equals("1")) { postavke.setPotvrda("1"); try { Thread.sleep(50); } catch (InterruptedException e1) {

Page 13: VELEUČILIŠTE U RIJECI ODJEL TELEMATIKA - veleri.hrilište u Rijeci Izrada windows i android aplikacija koje komuniciraju putem Wi-Fi SEMINARSKI RAD Predmet: Projekt u telematici

9

// TODO Auto-generated catch block e1.printStackTrace(); } }

Android ima malo drugačije definiranu view klasu za razliku od klasičnih Java aplikacija pa

je dijeli na dvije klase – XML koja definira prikaz na zaslonu i klasičnu Java klasu koja

definira kod i ponašanje aplikacije – main klasa aplikacije.

UdpAndroid – Main klasa

Primjeri koda :

/** * <{@code} Drzi ekran upaljen - OBVEZNO koristiti uz metodu vracanja na staro * nakon gasenja app /> * <@author http://stackoverflow.com/questions/5712849/how-do-i-keep-the-screen- * on-in-my-app 20.11.2012. /> */ final PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); this.mWakeLock = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "My Tag"); this.mWakeLock.acquire(); /** * <{@code} Thread za primanje UDP datagrama /> */ final Thread slanje = new Thread(new Runnable() { public void run() { try { while (true) { kontroler.vibracija(); // Nova instanca Vibrator iz trenutnog Context-a Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE); // Vibrira 500 milisekundi v.vibrate(500); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } });slanje.start();

Page 14: VELEUČILIŠTE U RIJECI ODJEL TELEMATIKA - veleri.hrilište u Rijeci Izrada windows i android aplikacija koje komuniciraju putem Wi-Fi SEMINARSKI RAD Predmet: Projekt u telematici

10

// Promjena stanja senzora public void onSensorChanged(final SensorEvent event) { synchronized (this) { /* Switch - case petlja odabira senzora */ switch (event.sensor.getType()) { case Sensor.TYPE_ACCELEROMETER: /* * Postavljanje dobivenih vrijednosti senzora i korekcija * kalibracijom */ if (event.values[0] < 0) senzori.setPomak_x(Float.toString(event.values[0]-senzori.getKorekcija_x())); else senzori.setPomak_x(Float.toString(event.values[0]+senzori.getKorekcija_x())); if (event.values[1] < 0) senzori.setPomak_y(Float.toString(event.values[1] + senzori.getKorekcija_y())); else senzori.setPomak_y(Float.toString(event.values[1] - senzori.getKorekcija_y())); if (event.values[2] < 0) senzori.setPomak_z(Float.toString(event.values[2] + senzori.getKorekcija_z())); else senzori.setPomak_z(Float.toString(event.values[2] - senzori.getKorekcija_z())); break;

activity_udp_android.xml - grafički prikaz

Primjer koda :

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".UdpAndroid" > <ImageButton android:id="@+id/exit" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/dclick" android:layout_alignTop="@+id/calibrate" android:layout_marginLeft="16dp" android:src="@drawable/exit" />

Pored MVC klasa Android projekt zahtjeva još jednu XML klasu – Android Manifest.XML,

koja definira sve dozvole i poveznica je aplikacije sa Dalvik virtualnom mašinom.

U toj xml datoteci definirani su :

Page 15: VELEUČILIŠTE U RIJECI ODJEL TELEMATIKA - veleri.hrilište u Rijeci Izrada windows i android aplikacija koje komuniciraju putem Wi-Fi SEMINARSKI RAD Predmet: Projekt u telematici

11

minimalna verzija Androida na kojem aplikacija radi

naziv paketa glavne klase

dozvole za korištenje hardvera uređaja

ime aplikacije

inačica aplikacije

orijentacija ekrana...

Primjer xml datoteke :

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.vukelic.udpkontrola" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="8" /> <!-- Potrebne dozvole za slanje i primanje UDP --> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.VIBRATE"/> <uses-permission android:name="android.permission.WAKE_LOCK"/> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.vukelic.udpkontrola.UdpAndroid" android:label="@string/app_name" android:screenOrientation="portrait" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.vukelic.udpkontrola.Settings" android:label="@string/title_activity_settings" > <meta-data android:name="android.support.PARENT_ACTIVITY" android:value="projekt.klijent_android.MainActivity" /> </activity> <activity android:name="com.vukelic.udpkontrola.Postavke"

Page 16: VELEUČILIŠTE U RIJECI ODJEL TELEMATIKA - veleri.hrilište u Rijeci Izrada windows i android aplikacija koje komuniciraju putem Wi-Fi SEMINARSKI RAD Predmet: Projekt u telematici

12

android:label="@string/title_activity_postavke" > <meta-data android:name="android.support.PARENT_ACTIVITY" android:value="projekt.klijent_android.MainActivity" /> </activity> </application> </manifest>

4.1.1 Izgled Android aplikacije

Legenda :

1. Lijeva i desna tipka "miša"

2. IP adresa servera

3. Polje za upis IP adrese

4. Potvrda IP adrese

5. Kalibracija senzora

6. Prekidač slanja podataka

7. Izlaz iz programa

Slika 2. Android aplikacija

Page 17: VELEUČILIŠTE U RIJECI ODJEL TELEMATIKA - veleri.hrilište u Rijeci Izrada windows i android aplikacija koje komuniciraju putem Wi-Fi SEMINARSKI RAD Predmet: Projekt u telematici

13

4.2 Desktop aplikacija

Kao i Android aplikacija, desktop aplikacija je rađena u MVC metodi strogo odjeljujući

kontroler, view i model. Iako je zadatak bio napraviti windows aplikaciju, korištenjem swing

grafičkog sučelja autor je napravio multiplatformsku aplikaciju za Win, Linux i MacOS

okruženje. Programski kod desktop aplikacije ne razlikuje se previše od Android aplikacije

osim u view klasi i jednom malom dijelu kontroler klase koja definira kontrolu mousa

računala. U aplikaciji je bilo potrebno u odrediti rezoluciju ekrana i na taj način postaviti

granične vrijednosti koordinata mousa kako bi sve ispravno radilo.

Primjer koda:

//kreiranje Robot metoda za manipulaciju misem final Robot mouse = new Robot(); // Beskonacna petlja while(true ){ /** * Reset vrijednosti na 0 */ senzori.setSliderX("0"); senzori.setSliderY("0"); String provjera = "0"; String lclick ="0"; String rclick ="0"; //Kreira DatagramPacket za primanje podataka DatagramPacket packet = new DatagramPacket(rcvBuf,rcvBuf.length); senzori.setProvjera(false); //Prihvacanje podataka socket.receive( packet ); InetAddress address = packet.getAddress(); postavke.setIP(address.getHostAddress()); // System.out.println(packet); // System.out.println("ovo sam dobio " + senzori.getSliderX()); receivedString = new String(packet.getData(),packet.getOffset(), packet.getLength() ); String recive = receivedString.toString(); /** * Rastavljanje ulaza koristeci delimiter ";" i spremanje u polje stringova */ String delimiter = ";";

Page 18: VELEUČILIŠTE U RIJECI ODJEL TELEMATIKA - veleri.hrilište u Rijeci Izrada windows i android aplikacija koje komuniciraju putem Wi-Fi SEMINARSKI RAD Predmet: Projekt u telematici

14

String[] primljeno = recive.split(delimiter); /* Provjerava ispravnost paketa, treca brojcana vrijednost u datagramu je 1 */ provjera = primljeno[2]; System.out.println(provjera + "ovo je provjera"); /** * Kreiranje podataka za mouse move */ lclick = primljeno[3]; rclick = primljeno[4]; // Math.round - zaokruzivanje na cijele brojeve senzori.setSliderX(String.valueOf(Math.round(Float.valueOf(primljeno[0])))); senzori.setSliderY(String.valueOf(Math.round(Float.valueOf(primljeno[1])))); if(Float.valueOf(primljeno[0]) < -0.50 || Float.valueOf(primljeno[0]) > 0.50 ){x = x - (Integer.parseInt(senzori.getSliderX())); } if(Float.valueOf(primljeno[1]) < -0.50 || Float.valueOf(primljeno[1]) > 0.50 ){y = y - (Integer.parseInt(senzori.getSliderY())); } /* Limitiranje vrijednosti x i y osi*/ if(x <= 0) x = 0; if(x >= senzori.getSirEkr()) x=senzori.getSirEkr(); if(y <= 0) y = 0; if(y >= senzori.getVisEkr()) y=senzori.getVisEkr(); //metoda postavljanja vrijednosti x i y pozicije misa (*3 je povecanje brzine) mouse.mouseMove(x, y);

Page 19: VELEUČILIŠTE U RIJECI ODJEL TELEMATIKA - veleri.hrilište u Rijeci Izrada windows i android aplikacija koje komuniciraju putem Wi-Fi SEMINARSKI RAD Predmet: Projekt u telematici

15

Prikaz desktop aplikacije

Slika 3. Desktop aplikacija na Raspberry Pi -u

Page 20: VELEUČILIŠTE U RIJECI ODJEL TELEMATIKA - veleri.hrilište u Rijeci Izrada windows i android aplikacija koje komuniciraju putem Wi-Fi SEMINARSKI RAD Predmet: Projekt u telematici

16

5. Zaključak

Aplikacija je testirana na laptop računalu i nije imala pravu funkcionalnost jer joj je namjena

sasvim drugačija. Nakon testiranja na Raspberry Pi računalu koje je zamišljeno za upravljanje

na daljinu, aplikacija je pokazala svoju punu snagu i vrijednost.Autor je doslovno iz trosjeda

svog dnevnog boravka upravljao računalom koje je spojeno na TV uređaj bez ikakve potrebe

za spajanjem bežičnog miša ili uzimanja daljinskog upravljača.Budućnost će pokazati da će

upravo ovakvi uređaji, bilo mobilni telefoni ili daljinski upravljači, ako ih tako uopće

budemo više zvali, zamjeniti klasične daljinske upravljače i računalne periferije, miševe i

tipkovnice.Autor je za potrebe seminara izradio aplikaciju koja se bežičnim putem spaja na

računalo i preuzima ulogu miša, ali samo malim preradama moguće je dobiti bežičnu

tipkovnicu i miš u jednom uređaju.Smanjenjem cijena Android tablet uređaja proboj na tržište

ovakvog softvera sve je izgledniji.

Mobilni telefoni pomalo preuzimaju funkcije glazbenog uređaja, video playera, kreditnih

kartica(NFC), adresara, računala, GPS navigacije, tajnice.

Koliko će vremena trebati dok mobilni telefoni ne zamjene i čovjeka samog?

Page 21: VELEUČILIŠTE U RIJECI ODJEL TELEMATIKA - veleri.hrilište u Rijeci Izrada windows i android aplikacija koje komuniciraju putem Wi-Fi SEMINARSKI RAD Predmet: Projekt u telematici

17

Literatura

http://www.mobil.hr/novosti/zanimljivosti/mobitel-se-okrece-i-okrece-kako-radi-

akcelerometar-5085 ( 15.12.2012.)

http://visual.ly/brief-history-android (19.12.2012.)

http://www.tech2crack.com/history-android/ (5.1.2013)

Popis slika:

Slika 1. Pojednostavljeni akcelerometar ……………………............................... 3

Slika 2. Android aplikacija ……………………………………………………… 12

Slika 3. Desktop aplikacija na Raspberry Pi-u …………………………………... 15

Popis kratica:

TV – televizijski prijemnik

IDE – integrirano programsko okruženje ( eng. integrated development environment )

UDP –Protokol za slanje datagrama mrežom (eng. User Datagram Protocol )