Miskolci Egyetem · G´ep´eszm´ern¨oki ´es Informatikai Kar Informatikai Int´ezet ´es Villamosm´ern¨oki Tansz´ekcsoport ´ Altal´ anos Informatikai Int´ezeti Tansz´ek
WiFi Alap´ u Belt´ eri Pozicion´ al´ asi M´ odszerek Vizsg´ alata Diplomamunka
K´esz´ıtette:
Tervez´esvezet˝ o:
Karsai Szabolcs
T´oth Zsolt
QZO9LA
Egyetemi tan´arseg´ed
4400 Ny´ıregyh´aza, K´all´oi u ´t 93.
Miskolc, 2015.
´ Altal´ anos Informatikai Tansz´ek
Tartalomjegyz´ ek 1. Bevezet´ es
1
1.1. Global Positioning System . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.1.1. M˝ uk¨od´es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.1.2. El˝onye . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.1.3. H´atr´anya
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.2. Poz´ıci´o meghat´aroz´as . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.2.1. Technol´ogiai lehet˝os´egek . . . . . . . . . . . . . . . . . . . . . .
3
1.3. Alkalmaz´asi lehet˝os´egek . . . . . . . . . . . . . . . . . . . . . . . . . .
4
2. Felhaszn´ alt technol´ ogi´ ak
6
2.1. WiFi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
2.1.1. T¨ort´enete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
2.1.2. Szabv´anyai . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
2.1.3. Csatornakioszt´as . . . . . . . . . . . . . . . . . . . . . . . . . .
7
2.1.4. M˝ uk¨od´ese . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
2.1.5. Biztons´ag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
2.2. Android . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
2.2.1. T¨ort´enete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
2.2.2. Architekt´ ura . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
2.3. Kliens - Szerver Architekt´ ura . . . . . . . . . . . . . . . . . . . . . . .
10
2.4. Maven . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
2.5. MySQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
2.6. Liquibase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
2.7. MyBatis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
2.8. Spring MVC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
I
2.9. Eclipse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
2.10. SVN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
2.11. Continuous Integration . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
2.12. Tomcat
16
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3. L´ etez˝ o megold´ asok
17
3.1. T´avols´ag m´er´es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
3.2. H´aromsz¨ogel´es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
3.3. Fingerprinting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
3.4. Magyarorsz´agi megold´asok . . . . . . . . . . . . . . . . . . . . . . . . .
19
3.5. K¨ ulf¨oldi megold´asok . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
4. Rendszerterv
21
4.1. Adatb´azis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
4.2. Webalkalmaz´as . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
4.3. Kliensek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
5. Vizsg´ alt m´ odszerek
27
5.1. Trilateration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
5.1.1. Hat´ot´avols´ag m´er´es . . . . . . . . . . . . . . . . . . . . . . . . .
28
5.1.2. Jel terjed´ese . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
5.1.3. M˝ uk¨od´es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29
5.1.4. H´atr´any . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
5.1.5. Genetikus algoritmus . . . . . . . . . . . . . . . . . . . . . . . .
31
5.1.6. Szimul´alt leh˝ ut´es . . . . . . . . . . . . . . . . . . . . . . . . . .
32
5.2. Fingerprinting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
5.2.1. Korrel´aci´o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
5.2.2. Euklideszi t´avols´ag . . . . . . . . . . . . . . . . . . . . . . . . .
34
5.2.3. H´atr´any . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
34
6. Eredm´ enyek
35
6.1. Trilateration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
35
6.1.1. Mobil alkalmaz´as . . . . . . . . . . . . . . . . . . . . . . . . . .
36
6.1.2. Trilateration - Els˝o m´er´es . . . . . . . . . . . . . . . . . . . . .
37
II
6.1.3. Genetikus Algoritmus - M´asodik m´er´es . . . . . . . . . . . . . .
37
6.1.4. Szimul´alt leh˝ ut´es - Harmadik m´er´es . . . . . . . . . . . . . . . .
37
¨ 6.1.5. Osszegz´ es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
6.2. Fingerprinting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
6.2.1. Mobil alkalmaz´as . . . . . . . . . . . . . . . . . . . . . . . . . .
41
6.2.2. Korrel´aci´o - Els˝o m´er´es . . . . . . . . . . . . . . . . . . . . . . .
41
6.2.3. Korrel´aci´o - M´asodik m´er´es . . . . . . . . . . . . . . . . . . . .
42
6.2.4. Korrel´aci´o - Harmadik m´er´es . . . . . . . . . . . . . . . . . . . .
42
¨ 6.2.5. Osszegz´ es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
43
6.2.6. Euklideszi t´avols´ag - Negyedik m´er´es . . . . . . . . . . . . . . .
44
¨ 6.2.7. Osszegz´ es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
44
6.3. Hib´ak a´br´azol´asa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
6.3.1. Trilateration . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
6.3.2. Fingerprinting . . . . . . . . . . . . . . . . . . . . . . . . . . . .
47
7. Tov´ abbi lehet˝ os´ egek
49
¨ 8. Osszefoglal´ as
51
9. Summary
53
10.K¨ osz¨ onetnyilv´ an´ıt´ as
54
A. DVD mell´ eklet
55
B. Haszn´ alati u ´ tmutat´ o
57
III
´ ak jegyz´ Abr´ eke 1.1. ClickSoftware ´altal k´esz´ıtett felm´er´es[12] . . . . . . . . . . . . . . . . .
1
2.1. 2,4 GHz-es tartom´any csatorna kioszt´asa . . . . . . . . . . . . . . . . .
7
2.2. Mobil OS piaci r´eszesed´ese 2010-t˝ol 2013 Q1-ig . . . . . . . . . . . . . .
9
2.3. Android OS architekt´ ur´aja [1] . . . . . . . . . . . . . . . . . . . . . . .
9
2.4. Kliens - szerver architekt´ ura . . . . . . . . . . . . . . . . . . . . . . . .
10
2.5. Spring MVC architekt´ ura
. . . . . . . . . . . . . . . . . . . . . . . . .
14
2.6. Continuous Integration folyamat . . . . . . . . . . . . . . . . . . . . . .
15
2.7. Jenkins f˝ooldal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
3.1. H´aromsz¨ogel´es ´abr´azol´asa . . . . . . . . . . . . . . . . . . . . . . . . .
18
4.1. Adatb´azis modellje . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
4.2. Adatb´azis t´abl´akhoz tartoz´o oszt´aly diagram . . . . . . . . . . . . . . .
23
4.3. K´er´es ´es v´alassz objektumok oszt´aly diagram . . . . . . . . . . . . . . .
23
4.4. Liquibase konfigur´aci´os xml . . . . . . . . . . . . . . . . . . . . . . . .
24
4.5. ResultMap p´elda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
24
4.6. MyBatis - SQL utas´ıt´as minta . . . . . . . . . . . . . . . . . . . . . . .
24
4.7. Service oszt´alyok UML diagramja . . . . . . . . . . . . . . . . . . . . .
25
4.8. Spring controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
25
5.1. Egy szoba v´azlata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
5.2. Trilateration id´alis eset . . . . . . . . . . . . . . . . . . . . . . . . . . .
30
6.1. T¨ort´eneti T´arh´az - Els˝o terem alaprajza . . . . . . . . . . . . . . . . .
35
6.2. Trilateration alkalmaz´as k´eperny˝oi . . . . . . . . . . . . . . . . . . . . .
36
6.3. Az Informatika ´ep¨ ulet referencia pontjai . . . . . . . . . . . . . . . . .
40
6.4. WiFik jeler˝oss´eg t´erk´epei . . . . . . . . . . . . . . . . . . . . . . . . . .
40
IV
6.5. M´er˝o mobil alkalmaz´as k´eperny˝oje . . . . . . . . . . . . . . . . . . . . .
41
6.6. Poz´ıci´o keres˝o alkalmaz´as k´eperny˝oje . . . . . . . . . . . . . . . . . . .
41
6.7. Trialteration - Eredm´enyek . . . . . . . . . . . . . . . . . . . . . . . . .
45
6.8. Genetikus algoritmus - Eredm´enyek . . . . . . . . . . . . . . . . . . . .
46
6.9. Szimul´alt leh˝ ut´es - Eredm´enyek . . . . . . . . . . . . . . . . . . . . . .
46
6.10. Korrel´aci´o 0,7 - Eredm´enyek . . . . . . . . . . . . . . . . . . . . . . . .
47
6.11. Korrel´aci´o 0,8 - Eredm´enyek . . . . . . . . . . . . . . . . . . . . . . . .
47
6.12. Korrel´aci´o 0,9 - Eredm´enyek . . . . . . . . . . . . . . . . . . . . . . . .
48
6.13. Euklideszi t´avols´ag - Eredm´enyek . . . . . . . . . . . . . . . . . . . . .
48
V
T´ abl´ azatok jegyz´ eke 4.1. A Coordinate t´abla tulajdons´agai . . . . . . . . . . . . . . . . . . . . .
22
4.2. Az Accesspoint t´abla tulajdons´agai . . . . . . . . . . . . . . . . . . . .
22
4.3. A Measurement t´abla tulajdons´agai . . . . . . . . . . . . . . . . . . . .
22
4.4. WifiInfo objektum tulajdons´agai . . . . . . . . . . . . . . . . . . . . . .
26
5.1. 2,4 GHz jel csillap´ıt´asi ´ert´ekek . . . . . . . . . . . . . . . . . . . . . . .
28
6.1. A WiFik poz´ıci´oja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
6.2. Trilateration m´er´esi eredm´enyek . . . . . . . . . . . . . . . . . . . . . .
37
6.3. Genetikus Algoritmus m´er´esi eredm´enyek . . . . . . . . . . . . . . . . .
38
6.4. Szimul´alt leh˝ ut´es m´er´esi eredm´enyek . . . . . . . . . . . . . . . . . . .
38
6.5. Korrel´aci´o threshold: 0,7 m´er´esi eredm´enyek . . . . . . . . . . . . . . .
42
6.6. Korrel´aci´o threshold: 0,8 m´er´esi eredm´enyek . . . . . . . . . . . . . . .
43
6.7. Korrel´aci´o threshold: 0,9 m´er´esi eredm´enyek . . . . . . . . . . . . . . .
43
6.8. Euklideszi t´avols´ag m´er´esi eredm´enyek . . . . . . . . . . . . . . . . . .
44
VI
1. fejezet Bevezet´ es Napjainkban az elterjedt mobilk´esz¨ ul´ekek a´ltal b´arhol, b´armikor kapcsolatot tudnak az emberek teremteni egym´assal. Ez alatt nem csak a telefonh´ıv´ast vagy SMS k¨ uld´est kell ´erteni. A mobilk´esz¨ ul´ekek m´ara m´ar enn´el sokkal sz´elesebb k¨orben ny´ ujtanak szolg´altat´asokat a felhaszn´al´ok sz´am´ara u ´gy, mint f´enyk´epek k´esz´ıt´ese, zene hallgat´as, film n´ez´es, internet el´er´esi lehet˝os´eg, vagy t´aj´ekoz´od´as a be´ep´ıtett GPS a´ltal. 2013 a´prilis´aban felm´er´est v´egeztek az USA okostelefon felhaszn´al´oi k¨oz¨ott[12]. A felm´er´esben arra voltak k´ıv´ancsiak, hogy az emberek melyik alkalmaz´asokat haszn´alj´ak a leggyakrabban. A felm´er´es o¨sszefoglal´o adatai az 1.1 ´abr´an l´athat´oak.
1.1. ´abra. ClickSoftware ´altal k´esz´ıtett felm´er´es[12] A felm´er´esb˝ol kider¨ ul, hogy a megk´erdezett f´erfiak tizenh´et, m´ıg a n˝ok t´ız sz´azal´eka jel¨olte meg a GPS funkci´ot mint a h´arom leggyakrabban haszn´alt szolg´altat´as egyik´et. A megk´erdezettek t¨obb mint ¨otvenkilenc sz´azal´eka pedig azt mondta, hogy sokkal gyorsabban tudta elv´egezni a feladat´at, mintha t´erk´epet haszn´altak volna.
1
WiFi alap´ u belt´eri pozicion´al´asi M´odszerek Vizsg´alata
1.1. Global Positioning System A Glob´alis Helymeghat´aroz´o Rendszer [7], amellyel 3 dimenzi´os helyzetmeghat´aroz´ast v´egezhet¨ unk f¨old¨on, v´ızen vagy leveg˝oben. A rendszert kezdetben katonai c´elokra kezdt´ek fejleszteni, majd k´es˝obb enged´elyezt´ek a polg´ari haszn´alatot is. Az´ota sz´amos, a mindennapi ´eletben gyakran haszn´alt rendszer alapj´aul szolg´al. Ezen rendszerek a k¨ovetkez˝o csoportok valamelyik´ebe sorolhat´oak: • k¨ozleked´esben navig´aci´ok´ent, • g´epj´arm˝ uv´edelemk´ent, • f¨oldm´er´esekn´el, • k¨ornyezeti megfigyel´esekn´el. A felsorolt szolg´altat´asok b´armelyik´enek ig´enybev´etel´ehez ´evekkel ezel˝ott m´eg k¨ ul¨on GPS k´esz¨ ul´ekre volt sz¨ uks´eg, mostanra azonban a technikai fejl˝od´esnek k¨osz¨onhet˝oen mindezek k¨onnyen haszn´alhat´oak az okostelefonok r´ev´en. Ezek a k´esz¨ ul´ekek ugyanis m´ar rendelkeznek be´ep´ıtett GPS vev˝ovel.
1.1.1. M˝ uk¨ od´ es Ahhoz, hogy megtudjuk hat´arozni poz´ıci´onkat a k¨ovetkez˝o krit´eriumoknak kell megfelelni a GPS rendszernek: • legal´abb n´egy m˝ uhold l´athat´os´aga egy id˝oben, pontosabb m´er´eshez pedig ¨ot darab, • rendelkezni kell inform´aci´okkal a m˝ uholdak p´aly´aj´ar´ol. Ezek ismeret´eben 4 l´ep´esb˝ol v´egrehajthat´o a keresett poz´ıci´o sz´am´ıt´asa. Az els˝o l´ep´esben a vev˝ok szinkroniz´alj´ak o´rajel¨ uket a m˝ uholdakt´ol kapott PRN jelek seg´ıts´eg´evel. M´asodik l´ep´esben a h´aromsz¨ogel´es seg´ıts´eg´evel meg´allap´ıtj´ak 3 m˝ uhold alapj´an a t´avol– s´agokat, amelyekb˝ol meghat´arozhat´o 2 lehets´eges poz´ıci´o. Harmadik l´ep´esben a m˝ uhol– dakt´ol kapott adatokat friss´ıtik a m˝ uholdak helyzet´enek pontos´ıt´as´ahoz. A negyedik l´ep´esben pedig a felmer¨ ul˝o hib´ak korrekci´oj´at v´egzik a rendszerben. Mivel 3 m˝ uhold szolg´altatta jelekb˝ol 2 lehets´eges poz´ıci´o ad´odik, ez´ert a negyedik a´ltal ker¨ ul kiv´alaszt´asra a megfelel˝o poz´ıci´o. 2
WiFi alap´ u belt´eri pozicion´al´asi M´odszerek Vizsg´alata
1.1.2. El˝ onye A GPS-szel t¨ort´en˝o helymeghat´aroz´as el˝onyei • napszakt´ol f¨ uggetlen, • f¨oldfelsz´ın feletti magass´agt´ol f¨ uggetlen, • mozg´asi sebess´egt˝ol f¨ uggetlen.
1.1.3. H´ atr´ anya A GPS-szel t¨ort´en˝o helymeghat´aroz´as h´atr´anyai • a sz¨ uks´eges adatok v´etele viszonylag hossz´ u id˝obe telik, • csak ny´ılt, fedetlen ter¨ uleteken alkalmazhat´o, • az ´ep¨ uletekr˝ol visszaver˝od˝o jelek zavart okoznak a m´er´esben, • a ritk´an el˝ofordul´o er˝os napkit¨or´esek alatt haszn´alhatatlann´a v´alnak. A belt´eri haszn´alhatatlans´ag legf˝obb oka az ´ep¨ uletek szerkezete, az ´ep´ıt´eskor felhaszn´alt anyagok tulajdons´agai melyek le´arny´ekolj´ak a m˝ uholdak jeleit.
1.2. Poz´ıci´ o meghat´ aroz´ as A belt´eri poz´ıci´o meghat´aroz´asa sz´amos napjainkban fejlesztett rendszern´el felmer¨ ul˝o r´eszfeladat, egyre nagyobb ´erdekl˝od´es o¨vezi. Ennek felt´etele, hogy tal´aljunk olyan megold´ast amivel belt´erben meg lehet hat´arozni egy eszk¨oz helyzet´et.
1.2.1. Technol´ ogiai lehet˝ os´ egek A belt´eri helymeghat´aroz´as megval´os´ıt´as´ara sz´amos m´ar megl´ev˝o ´es elterjedt eszk¨oz a´ll rendelkez´esre.
A list´at hat´ot´avols´ag szerint vizsg´alva az els˝o a telefonba ´ep´ıtett szenzorok [2]. Ezek egy¨ uttes´eb˝ol vagy tetsz˝oleges kombin´aci´oj´ab´ol k´esz´ıthet¨ unk olyan alkalmaz´ast, amely
3
WiFi alap´ u belt´eri pozicion´al´asi M´odszerek Vizsg´alata
k´epes megmondani hol tart´ozkodik az ember egy ´ep¨ uleten bel¨ ul. Ilyen megold´as lehet p´eld´aul, hogy ha kamer´aval figyelj¨ uk a teret ´es az ott elhelyezett jel¨ol´esek felismer´es´evel meg´allap´ıtjuk hol tart´ozkodunk. M´asik megold´as lehet ha a gyorsul´asm´er˝ot haszn´aljuk, ehhez azonban sz¨ uks´eges minden k´esz¨ ul´ek eset´en egy kalibr´aci´o. A szenzor pontos m˝ uk¨od´es´ehez az ´ep¨ uletben t¨obb referencia pont kinevez´ese is sz¨ uks´eges lehet.
A k¨ovetkez˝o lehet˝os´eg az NFC (Near Field Communication) [9], amely RFID alap´ u technol´ogia, r´adi´os kommunik´aci´o az alapja. Ilyen jelad´okat helyezhet¨ unk el az ´ep¨ uletben vagy a megjel¨olni k´ıv´ant helyeken amiket a mobiltelefonok k´epesek ´erz´ekelni. A kapott adatokon kereszt¨ ul tudjuk k¨oz¨olni a mobiltelefonokkal, hogy hol tart´ozkodnak. A technika h´atr´anya, hogy sok jelad´ora van sz¨ uks´eg mivel el´egg´e kicsi a hat´ot´avols´aguk.
A Bluetooth [5] m´ar egy enn´el j´oval nagyobb hat´ot´avols´agot tud biztos´ıtani att´ol f¨ ugg˝oen, hogy milyen frekvenci´at haszn´al. A k´esz¨ ul´ekek k´epesek 1 - 100 m´eter k¨oz¨otti t´avols´ag a´thidal´as´ara. Ezt a vezet´ek n´elk¨ uli kommunik´aci´ot 1994-ben az Ericsson t´avk¨ozl´esi v´allalat tal´alta fel r¨ovid t´avols´agon bel¨ uli adatcser´ere k¨ ul¨onf´ele eszk¨oz¨ok k¨oz¨ott, bele´ertve a mobiltelefonokat is. H´atr´anya, hogy a nagyobb hat´ot´avols´agot biztos´ıt´o eszk¨oz¨ok dr´ag´ak, m´ıg a gyeng´ebb eszk¨oz¨okb˝ol t¨obb darabra is sz¨ uks´eg lehet.
A Wifi [10] egy vezet´ek n´elk¨ uli mikrohull´am´ u kommunik´aci´os szabv´any, amelyet szint´en adatcser´ere haszn´alnak. Az ezzel felszerelt eszk¨oz¨ok m´ar sz´eles k¨orben elterjedtek mivel gyors ´es sz´eless´av´ u kapcsolatot k´epesek biztos´ıtani. H´al´ozati eszk¨oz¨okbe ´ep´ıtve gyorsan elterjedt.
Ebb˝ol k¨ovetkez˝oen rengeteg ´ep¨ ulet rendelkezik bizonyos sz´am´ u
ilyen eszk¨ozzel, ami kiv´al´o lehet˝os´eget biztos´ıthat a belt´eri pozicion´al´ashoz. Legf˝obb h´atr´anya a kibocs´ajtott jel fizikai tulajdons´agaib´ol sz´armazik.
1.3. Alkalmaz´ asi lehet˝ os´ egek El˝oz˝oekben felsorolt megold´asok mind alapj´aul szolg´alhatnak olyan alkalmaz´asoknak mint p´eld´aul egy m´ uzeumi t´arlatvezet˝o. Egy ilyen alkalmaz´as k´epes a l´atogat´ot k¨orbevezetni saj´at mobilk´esz¨ ul´ek´en kereszt¨ ul. T¨obb inform´aci´ot is eljuttatva hozz´ajuk, illetve interakt´ıvabb´a ´es ´erdekesebb´e is t´eve a ki´all´ıt´ast.
4
WiFi alap´ u belt´eri pozicion´al´asi M´odszerek Vizsg´alata
M´asik alkalmaz´asi lehet˝os´eg p´eld´aul kereskedelmi l´ancok, ´aruh´azak sz´am´ara lehet ak´ar t¨obb megold´as is. P´eld´aul vev˝oknek lehet egy fajta bev´as´arl´o lista mobil alkalmaz´as. Az u ¨zletben val´o navig´aci´ot biztos´ıtan´a megv´as´aroland´o term´ekhez, k¨ozben pedig ak´ar szem´elyre szabott akci´os aj´anlatokat is k´ın´alhatna. Nagyobb rakt´arak eset´en, amelyek ak´ar ´aruh´azak is lehetnek, nagyobb csomagok vagy sz´all´ıtm´anyok keres´ese ´es nyomon k¨ovet´es´ere is adhat egyfajta megold´ast. Manaps´ag hasonl´oan a belt´eri pozicion´al´ashoz a robotik´at is egyre nagyobb ´erdekl˝od´es o¨vezi. A k´et ter¨ ulet ¨osszekapcsol´od´asa r´ev´en a robotok egy belt´eri alkalmaz´as seg´ıts´eg´evel o¨n´all´oan tudn´anak navig´alni az ´ep¨ uleteken bel¨ ul. De a robotok is seg´ıthetik egy ´ep¨ ulet belsej´enek a felt´erk´epez´es´et ´es szolg´altathatnak mindig friss inform´aci´ot egy belt´eri alkalmaz´as megfelel˝o ´es naprak´esz m˝ uk¨od´es´ehez.
5
2. fejezet Felhaszn´ alt technol´ ogi´ ak A most k¨ovetkez˝o fejezetben az a´ltalam v´alasztott ´es felhaszn´alt technol´ogi´ak ismertet´ese tal´alhat´o. V´alaszt´asaimhoz a k¨ovetkez˝o szempontokat vettem figyelembe: • elterjedt technol´ogia, • k¨onnyen kezelhet˝o, • gyors rendelkez´esre a´ll´as, • saj´at tapasztalat.
2.1. WiFi A WiFi az ´altalam v´alasztott technol´ogia, ami a helymeghat´aroz´as alapja lesz. Az´ert ezt v´alasztottam, mert rengeteg ´ep¨ uletben manaps´ag WiFi-s h´al´ozati eszk¨oz¨oket haszn´al– nak ´ıgy sok helyen egy alap infrastrukt´ ura m´ar adott egy ilyen alap´ u alkalmaz´ashoz. Egy az ABI Research a´ltal k¨oz¨olt cikkben [17] olvashat´o, hogy a tavalyi 2013-as ´evben k¨ozel 139 milli´o darab WiFi-s eszk¨ozt ´ert´ekes´ıtettek a vil´agon.
2.1.1. T¨ ort´ enete A WiFi egy vezet´ek n´elk¨ uli mikrohull´am´ u kommunik´aci´os szabv´any, amely 2,4 GHz ´es 5 GHz frekvencias´avot haszn´alja. Alapja a 802.11 szabv´any, amelyet az Institute of Electrical and Electronics Engineers’ (IEEE) kezel. A kezdeti 1997-es indul´asa ´ota a
6
WiFi alap´ u belt´eri pozicion´al´asi M´odszerek Vizsg´alata
szabv´any t¨obb fejl˝od´esen ment kereszt¨ ul. Hat´ot´avols´aga belt´erben k¨ozel 20 m´eterr˝ol 70 m´eterre n˝ott, jel´atviteli sebess´ege pedig 2 Mbit/s-r´ol k¨ozel 600 Mbit/s-ra emelkedett. A WiFi m´ar nem csak h´al´ozati eszk¨oz¨okben, hanem m´ar hordozhat´o sz´am´ıt´og´epekben, telefonokban is megtal´alhat´o. A hivatalos WiFi tan´ us´ıtv´anyok kezel´es´er˝ol ´es kioszt´as´ar´ol pedig 1999 ´ota a non-profit Wi-Fi Alliance gondoskodik. T¨obb, mint 600 c´egb˝ol a´llnak akik ilyen WiFi-s eszk¨oz¨ok el˝o´all´ıt´as´aval ´es forgalmaz´as´aval foglalkoznak.
2.1.2. Szabv´ anyai A WiFi-s eszk¨oz¨ok az al´abbi f˝obb szabv´anyokat haszn´alj´ak. • 802.11a - ez a szabv´any 5 GHz-es frekvencia tartom´anyt haszn´al ´es ´ıgy 54 Mbit/s sebess´egre k´epes • 802.11b - ez 2,4 GHz-es tartom´anyban k¨ozel 11 Mbit/s-os adat´atvitelt biztos´ıt • 802.11g - hasonl´oan a 802.11b szabv´anyhoz szint´en a 2,4 GHz-es frekvenci´at haszn´alja de m´ar gyorsabb k¨ozel 54 Mbit/s -os sebess´eggel • 802.11n - napjainkra a legink´abb elterjedt szabv´any, amely kompatibilis a kor´abban felsoroltakkal ´es a 150 Mbit/s-os a´tviteli sebess´eget k´ın´al.
2.1.3. Csatornakioszt´ as A 2,4 GHz-es frekvencia tartom´anyban 14 darab csatorn´at jel¨oltek ki ezek mindegyike 22 MHz sz´eles ´es a 2412-t˝ol 2472-ig tart. Eur´op´aban csak 13-at haszn´alnak ebb˝ol, a 14. csatorna Jap´anban haszn´alatos. A csatornakioszt´ast az al´abbi 2.1 a´bra szeml´elteti.
2.1. ´abra. 2,4 GHz-es tartom´any csatorna kioszt´asa
7
WiFi alap´ u belt´eri pozicion´al´asi M´odszerek Vizsg´alata
2.1.4. M˝ uk¨ od´ ese A legt¨obb WiFi-s eszk¨oz bekapcsol´as ut´an elkezdi sug´arozni a gy´arilag be´all´ıtott nev´et (SSID). Ez alapj´an ´eszlelhet˝o az eszk¨oz ´es lehet hozz´a csatlakozni. Az eszk¨ozh¨oz val´o csatlakoz´as be´all´ıt´ast´ol f¨ ugg˝oen lehet ny´ılt vagy jelsz´oval v´edett. A m˝ uk¨od´es´ehez nem sz¨ uks´eges h´al´ozati kapcsolat. Az okostelefonok csatlakoz´as n´elk¨ ul k´epesek inform´aci´ot kapni az ilyen eszk¨oz¨ok a´ltal kibocs´ajtott jelekr˝ol.
Ez a tulajdons´ag is er˝os´ıtette
d¨ont´esem a technol´ogia mellett.
2.1.5. Biztons´ ag Mint minden h´al´ozati kapcsolatn´al, u ´gy a WiFi eset´en is fontos a biztons´ag. Ennek ´erdek´eben t¨obb k¨ ul¨onb¨oz˝o lehet˝os´eg is rendelkez´esre a´ll, az els˝o ilyen m´odszer a WEP volt. Azonban ennek gyenges´ege ´es k¨onnyen felt¨orhet˝os´ege miatt a Wi-Fi Alliance m´asik megold´ast k´esz´ıtett. A WPA titkos´ıt´as m´ar nehezebben felt¨orhet˝onek bizonyult a 128 bites kulcs haszn´alata miatt. Manaps´ag a legbiztons´agosabb megold´as a WPA2 haszn´alata jelenti, melynek be´ep´ı– t´es´et k¨otelez˝ov´e tette a Wi-Fi Alliance. 2006-t´ol mag´aban foglal olyan algoritmusokat mint TKIP, Michael, EAS valamint CCMP ezekkel t´eve biztons´agoss´a a vezet´ek n´elk¨ uli h´al´ozatok haszn´alat´at.
2.2. Android Az okostelefonok sz´eles k¨orben val´o elterjed´ese miatt potenci´alis platformnak bizonyultak egy belt´eri helymeghat´aroz´o alkalmaz´ashoz. Ez´ert esett a v´alaszt´asom az okostelefonokra, ahogy a k¨ovetkez˝o 2.2 ´abr´an l´athat´o felm´er´es eredm´enye is mutatja az Androidos k´esz¨ ul´ekek a legelterjedtebb telefonok. Ezen adatok valamint az ingyenes fejleszthet˝os´ege miatt v´alasztottam ezt a platformot.
2.2.1. T¨ ort´ enete 2003-ban kezdt´ek fejleszteni a Linux kernel alap´ u mobil oper´aci´os rendszert. 2005-ben v´as´arolta meg az addig t´amogat´o Google. A kifejezetten ´erint˝ok´eperny˝os k´esz¨ ul´ekekre tervezett rendszerrel ell´atott els˝o telefon 2008 okt´ober 22-´en jelent meg. A legfrissebb
8
WiFi alap´ u belt´eri pozicion´al´asi M´odszerek Vizsg´alata
2.2. ´abra. Mobil OS piaci r´eszesed´ese 2010-t˝ol 2013 Q1-ig verzi´o 2013 okt´ober´eben kiadott 4.4-es rendszer a KitKat.
2.2.2. Architekt´ ura Ahogy m´ar eml´ıt´esre ker¨ ult a rendszer Linux kernel alap´ u, pontosan az´ert d¨ont¨ottek emellett, hogy t´amogass´ak a ny´ılt rendszerek haszn´alat´at a mobil piacon. Tov´abb´a ezzel egyszer˝ us´ıtve a mobilokba ´ep´ıtett hardverek ( WiFi, Bluetooth, ´erint˝ok´eperny˝o) kezel´es´et. A rendszer fel´ep´ıt´es´er˝ol r´eszletes bemutat´ast az al´abbi 2.3 ´abra ad.
2.3. ´abra. Android OS architekt´ ur´aja [1] ”Mint l´athatjuk, a platform alapj´at v¨or¨os sz´ınnel jel¨olt Linux kernel adja, amely tartalmazza a hardver a´ltal kezelend˝o eszk¨oz¨ok meghajt´o programjait. Ezeket azon c´egek k´esz´ıtik el, amelyek az Android platformot saj´at k´esz¨ ul´ek¨ uk¨on haszn´alni k´ıv´anj´ak, hiszen a gy´art´on´al jobban m´as nem ismerheti a mobil eszk¨ozbe integr´alt perif´eri´akat.
9
WiFi alap´ u belt´eri pozicion´al´asi M´odszerek Vizsg´alata
Ez a kis m´eret˝ u kernel adja a mem´oria kezel´es´et, a folyamatok u ¨temez´es´et ´es az alacsony fogyaszt´ast el˝oseg´ıt˝o teljes´ıtm´eny-kezel´est is. A kernel szolg´altat´asait haszn´alj´ak a Linux rendszerekben megl´ev˝o k¨ ul¨onf´ele programk¨onyvt´arak, mint a libc, az SSL vagy az SQLite ezek C/C++ nyelven vannak megval´os´ıtva, ´es a Linux kernelen futnak k¨ozvetlen¨ ul. R´eszben ezekre ´ep¨ ul a Dalvik virtu´alis g´ep, amely m´as, mint a Java alatti megszokott virtu´alis g´ep, vagyis a Java csak mint nyelv jelenik meg. A k´ek sz´ınnel jel¨olt r´eszekben m´ar csak Java forr´ast tal´alunk, amelyet a virtu´alis g´ep futtat, s ez adja az Android l´enyeg´et a l´athat´o ´es tapinthat´o oper´aci´os rendszert, illetve a fut´o programokat. A virtu´alis g´ep ak´ar teljesen elrejti a Linux a´ltal haszn´alt f´ajlrendszert, ´es csak az Android Runtime ´altal biztos´ıtott f´ajlrendszert l´athatjuk” [http://hu.wikipedia.org/wiki/Android (oper´aci´os rendszer)].
2.3. Kliens - Szerver Architekt´ ura Mivel az Android k´esz¨ ul´ekek mindegyik´ere nem lehet eljuttatni illetve telep´ıteni a sz¨ uks´eges adatb´azist minden adattal ez´ert kliens - szerver architekt´ ura ki´ep´ıt´ese mellett d¨ont¨ottem. Egy ilyen rendszer fel´ep´ıt´est az al´abbi 2.4 a´bra szeml´elteti.
2.4. ´abra. Kliens - szerver architekt´ ura A kliensek ebben az architekt´ ur´aban csak mint megjelen´ıt˝ok szerepelnek, t´enyleges m˝ uveleteket ´es sz´am´ıt´asokat nem v´egeznek, az ilyen feladatok a szerveren hajt´odnak v´egre. A feladatok ´es azok elv´egz´es´ehez sz¨ uks´eges adatokat a kliensek h´al´ozaton, interneten kereszt¨ ul k¨ uldik a szervernek. A szerver szerepe, hogy a kliensek sz´am´ara adatokat biztos´ıtsanak, illetve a k´ert feladatokat elv´egezz´ek annak eredm´eny´er˝ol pedig v´alaszt k¨ uldjenek a kliensek sz´am´ara.
10
WiFi alap´ u belt´eri pozicion´al´asi M´odszerek Vizsg´alata
A szerveren tal´alhat´o u ¨zleti logika v´egzi ezen feladatokat illetve az adatb´azissal val´o kapcsolatot ´es azon val´o m˝ uveleteket is v´egrehajtja.
2.4. Maven A szerveren fut´o Java alkalmaz´as Maven alap´ u fejleszt´esk´ent v´egeztem. A Maven egy olyan eszk¨oz, amely szoftverprojektek menedzsel´es´ere ´es a buildel´esi folyamat automatiz´al´as´ara haszn´alhat´o. A szoftvertervez´esi mint´ak terjeszt´es´evel egys´eges program strukt´ ura kialak´ıt´as´ara t¨orekszik. A Maven el˝onye az Ant-al szemben, hogy nem kell le´ırnunk mi t¨ort´enjen a buildel´es sor´an, csak meg kell adnunk a kimenet eredm´eny´et ami lehet Jar vagy War f´ajl. Egy projekt kezel´esre ´es le´ır´as´ara bevezeti a POM ( Project Object Model ) fogalm´at, amely egy xml alap´ u le´ır´o f´ajl. Ebben megadhat´oak a projekt f¨ ugg˝os´egei, ez´altal elker¨ ulve az esetleges verzi´o elt´er´eseket, tov´abb´a megadhat´oak pluginek ´es azok sz¨ uks´eges konfigur´aci´oja. A pluginek seg´ıts´eg´evel az alap ´eletciklus folyamatok kieg´esz´ıthet˝oek tov´abbi m˝ uveletekkel. Egy Maven alap´ u projekt ´eletciklusa az al´abbi el˝oredefini´alt c´elokkal rendelkezik, melyek f¨ ugg˝os´egben a´llnak egym´assal. • compile • test • package • install • deploy Minden c´el v´egrehajt´as´ahoz az azt megel˝oz˝o c´el sikeres lefut´asa sz¨ uks´egeltetik. Az´ert v´alasztottam ezt a menedzser eszk¨ozt, mert a hozz´atartoz´o xml le´ır´o f´ajl seg´ıts´eg´evel a projekt k¨onnyen karbantarthat´o ´es egy m´asik fejleszt˝o egyszer˝ uen bevonhat´o.
2.5. MySQL A pozicion´al´ashoz sz¨ uks´eges adatokat t´arolni kell ez´ert egy adatb´azis kezel˝o rendszert is felhaszn´altam, amely a MySQL lett. Az´ert v´alasztottam ezt, mert ingyenes, nincs 11
WiFi alap´ u belt´eri pozicion´al´asi M´odszerek Vizsg´alata
adatb´azis szint˝ u korl´atoz´asa ´es a t´abl´ank´enti 64TB-os maxim´alis m´eret elegend˝o. A MySQL t¨obbfelhaszn´al´os, t¨obbsz´al´ u, SQL alap´ u rel´aci´os adatb´azis-kezel˝o rendszer. Rengeteg programoz´asi nyelvhez rendelkezik driverrel amin kereszt¨ ul kezelhet˝o. Az adatb´azisok adminisztr´aci´oja megoldhat´o parancssorb´ol vagy grafikus fel¨ uleten kereszt¨ ul. Platformok k¨oz¨ ul pedig t´amogatja a Windows, Mac, Linux ´es egy´eb rendszereket. F˝obb el˝onyei: • Keresztplatformos el´erhet˝os´eg • T´arolt elj´ar´asok • Adatb´azis triggerek • Val´odi VARCHAR t´amogat´as • SSL t´amogat´as • Lek´erdez´es gyorst´ar (cache) • Egym´asba a´gyazott SELECT -ek • ACID megfelel´es az InnoDB-vel, BDB-vel ´es Cluster-rel
2.6. Liquibase A Liquibase egy ingyenes, ny´ılt forr´ask´od´ u, adatb´azisf¨ uggetlen verzi´ok¨ovet˝o eszk¨oz. A Maven-be be´ep¨ ul˝o pluginj´anak seg´ıts´eg´evel az adatb´azishoz tartoz´o ¨osszes SQL karbantarthat´o ´es kezelhet˝o. A v´altoz´asokat egy saj´at changelog t´abl´aban t´arolja. Minden SQL f´ajlt egy xml f´aljban lehet kezelni ahol id ´es author tagekkel azonos´ıtja a v´altoz´asokat. Tov´abbi el˝onye, hogy a Maven seg´ıts´eg´evel az adatb´azis karbantart´asa ´eletciklusba k¨othet˝o, ´ıgy minden ford´ıt´asn´al ellen˝orzi az adatb´azis a´llapot´at.
2.7. MyBatis A MyBatis egy Java-s perzisztencia keretrendszer, amely az ORM-t˝ol elt´er˝oen nem az oszt´alyok - adatb´azis t´abl´ak k¨oz¨otti lek´epz´est v´egzi, hanem az SQL utas´ıt´asoknak Java f¨ uggv´enyekkel val´o o¨sszekapcsol´as´at. ´Igy k¨onnyen haszn´alhat´ov´a t´eve a k¨ ul¨onb¨oz˝o 12
WiFi alap´ u belt´eri pozicion´al´asi M´odszerek Vizsg´alata
SQL utas´ıt´asokat a programban egy f¨ uggv´eny h´ıv´as seg´ıts´eg´evel. Az esetleges eredm´eny halmazokat pedig a megadott form´ara k´epezi le. A MyBatis integr´alhat´o Spring keretrendszerrel ´ıgy az u ¨zleti k´od f¨ ugg˝os´egeit feloldva. A parancsok lek´epz´es´et xml f´ajlok vagy annot´aci´ok seg´ıts´eg´evel v´egezhetj¨ uk el.
2.8. Spring MVC Az´ert v´alasztottam ezt a keretrendszert mert kor´abban hallgatott tant´argy keretein bel¨ ul megismerkedtem vele ´es a webes alkalmaz´asok fejleszt´es´et tapasztalataim szerint is gyorsabb´a ´es k´enyelmesebb´e teszi. Az egyik legelterjedtebb ny´ılt forr´as´ u keretrendszer a Java fejleszt˝ok k¨or´eben sikeress´ege az EJB modul helyettes´ıt˝ojek´ent ´erte el. El˝onye, hogy modul´aris fel´ep´ıt´es˝ u ´ıgy mindig csak azon r´eszeit kell import´alni, amelyekre a projektnek sz¨ uks´ege van. Ilyen modulok p´eld´aul az Inversion of Control kont´ener, adatkezel´es ´es az MVC modul. Az Inversion of Control amelynek c´elja, hogy az objektumok ´eletciklus´at kezelje. Ennek a modulnak alapvet˝o r´esze a dependency injection, amelynek r´ev´en az objektumok egy kontextusba ker¨ ulnek regisztr´al´asra ´es innen v´alnak el´erhet˝ov´e. A kontextusba val´o regisztr´aci´o t¨ort´enhet annot´aci´o r´ev´en vagy konfigur´aci´os a´llom´any a´ltal, ´ıgy ez k¨onnyen cser´elhet˝ov´e v´alik ´es a tesztelhet˝os´eg´et is jav´ıtja az alkalmaz´asnak. Az adatkezel´esi modul t´amogat´ast biztos´ıt a legn´epszer˝ ubb Java keretrendszerekhez u ´gy mint JDBC, iBatis/MyBatis, Hibernate, JDO, JPA, Oracle TopLink, Apache OJB, ´es Apache Cayenne. Ezekhez a k¨ovetkez˝o t´amogat´asokat ny´ ujtja: • Er˝oforr´as kezel´es • Kiv´etel kezel´es • Tranzakci´o kezel´es • Objektum transzform´aci´o • Absztrakci´o Az MVC keret webes alkalmaz´asokhoz k´esz¨ ult k´er´es alap´ u megval´os´ıt´as, amelynek seg´ıts´eg´evel az alkalmaz´asban megk¨ ul¨onb¨oztethet¨ unk Model - View - Controller r´etegeket. Ahol is a Model az adatkezel˝o, a View megjelen´ıt˝o, Controller pedig az 13
WiFi alap´ u belt´eri pozicion´al´asi M´odszerek Vizsg´alata
ezeket o¨sszek¨ot˝o r´eteg ´ıgy elv´alasztva egym´ast´ol a megjelen´ıt´est ´es u ¨zleti logik´at. Az MVC architekt´ ur´aj´at az al´abbi 2.5 a´bra szeml´elteti.
2.5. ´abra. Spring MVC architekt´ ura
2.9. Eclipse A felsorolt alkalmaz´asok elk´esz´ıt´es´ehez az Eclipse IDE-t v´alasztottam mert Androidos fejleszt´eshez ´es Spring alap´ u alkalmaz´asok fejleszt´es´ehez testreszabhat´o plugin k´eszlettel rendelkezik. Ezek r´ev´en saj´at ig´enyeknek megfelel˝o fejleszt˝o k¨ornyezetet ¨ alak´ıthatunk ki. Osszek¨ othet˝o k¨ ul¨onb¨oz˝o alkalmaz´as szerverekkel ´ıgy az elk´esz¨ ult webes alkalmaz´as r¨ogt¨on buildelhet˝o ´es kipr´ob´alhat´o. Androidos v´altozata pedig a megfelel˝o SDK telep´ıt´ese ut´an fel¨ ulet szerkeszt˝ot ´es telefon emul´atort biztos´ıt a fejleszt˝ok sz´am´ara. A be´ep¨ ul˝o pluginek r´ev´en alkalmas a projektek verzi´ok¨ovet´es´ere, p´eld´ak gener´al´as´ara, v´ekony ´es vastag kliensek k´esz´ıt´es´ere.
2.10. SVN A dolgozathoz tartoz´o Androidos ´es webes projektek verzi´ok¨ovet´essel k´esz¨ ultek. Erre a tansz´ek a´ltal biztos´ıtott SVN (Subversion) repositoryt haszn´altam. Az SVN egy verzi´okezel˝o rendszer az Apache License al´a tartozik. A CollabNet c´eg k´esz´ıtette el 2000-ben azzal a c´ellal, hogy a CVS (Concurrent Versions System) felvegye a versenyt. Ennek seg´ıts´eg´evel a fejleszt˝ok forr´ask´odokat, dokumentumoknak v´altoz´as´at ´es t¨ort´enet´et tudj´ak t´arolni ´es azt vissza´all´ıtani. Az SVNre jellemz˝o p´eld´aul, hogy a Commit m˝ uveletek atomi szint˝ uek. A t¨or¨olt, a´tnevezett, mozgatott f´ajloknak ´es
14
WiFi alap´ u belt´eri pozicion´al´asi M´odszerek Vizsg´alata
k¨onyvt´araknak is megtartja a t¨ort´enet´et. A branch (el´agaztat´as) ´es taggek (jel¨ol´esek) er˝oforr´asig´enye minim´alis. A repositoryra el´er´esi u ´t alap´ u jogosults´agok ellen˝orz´ese be´all´ıthat´o.
2.11. Continuous Integration Az elk´esz¨ ult alkalmaz´asok tesztel´es´ehez a tansz´ek biztos´ıtott egy virtu´alis g´epet. Ezen a g´epen alak´ıtottam ki egy CI rendszert. Maga a CI egy szoftverfejleszt´esi gyakorlat, ami egy elterjedt agilis m´odszer. Egyik f˝o feladata az elk´esz¨ ult projektek automatiz´alt buildel´ese ´es telep´ıt´ese. Mindezek mellett persze t¨obb funkcionalit´ast is biztos´ıtva a fejleszt˝oknek. Ilyen p´eld´aul a Unit tesztek futtat´asa ´es csak azok sikeress´ege eset´en val´o telep´ıt´es. Verzi´ok¨ovet˝o rendszerrel val´o integr´aci´oja melynek k¨ovetkezt´eben egy el˝ore be´all´ıtott id˝ok¨oz¨onk´ent megn´ezi t¨ort´ent-e v´altoz´as. Az esetleges hib´akr´ol ´ertes´ıt´est k¨ uldhet a fejleszt˝oknek. Az al´abbi 2.6 a´bra egy ilyen folyamatot szeml´eltet.
2.6. ´abra. Continuous Integration folyamat Az´ert d¨ont¨ottem egy ilyen rendszer ki´ep´ıt´ese mellett, mert a tansz´eki virtu´alis g´ep el´er´ese k¨or¨ ulm´enyes lett volna k¨ uls˝o h´al´ozatr´ol. Hasonl´o probl´em´aval m´ar egy tant´argy keretein bel¨ ul tal´alkoztam, ahol szint´en egy ilyen rendszer ki´ep´ıt´es´evel ´es haszn´alat´aval oldottuk meg a feladatot. Egy ilyen Continuous Integration Serverhez a virtu´alis g´epre egy Jenkinst telep´ıtettem ami egy ny´ılt forr´as´ u Java eszk¨oz. Eredetileg 2004ben kezdt´ek fejleszteni akkor m´eg Hudson n´even. A Jenkins konfigur´al´as ut´an k´epes Maven projektek kezel´es´ere ´es buildel´es´ere. Valamint a megfelel˝o be´ep¨ ul˝ok telep´ıt´es´evel k´epes az elk´esz¨ ult War f´ajlokat telep´ıteni az alkalmaz´as szerverre.
15
WiFi alap´ u belt´eri pozicion´al´asi M´odszerek Vizsg´alata
A Jenkinsben minden projekthez egy jobot kell defini´alni amiben azt konfigur´aljuk. Itt megadhatjuk, hogy SVNb˝ol t¨oltse le a forr´ast. Be´all´ıthatjuk Maven projekt eset´en, hogy a sz¨ uks´eges glob´alis konfigur´aci´okat hol tal´alja. Illetve itt adhat´o meg, hogy az elk´esz¨ ult csomaggal mi t¨ort´enjen. Eset¨ unkben p´eld´aul egy m´asik alkalmaz´as szerverre ker¨ ul telep´ıt´esre. A jobhoz tartoz´o minden buildel´es napl´o f´ajlj´at t´arolja ´ıgy az visszak¨ovethet˝o. Az al´abbi 2.7 k´ep a Jenkins f˝ooldal´at a´br´azolja. Itt l´athatjuk, hogy a jobok mikor futottak utolj´ara ´es milyen eredm´ennyel.
2.7. ´abra. Jenkins f˝ooldal
2.12. Tomcat A webes alkalmaz´as futtat´as´ara illetve a Jenkins sz´am´ara is sz¨ uks´eg volt egy - egy alkalmaz´as szerverre. Az´ert v´alasztottam a Tomcatet mert m´ar h´arom ´eve haszn´alom k¨ ul¨onb¨oz˝o projektek kapcs´an. Gyorsan telep´ıthet˝o ´es haszn´alatba vehet˝o. K¨onnyen konfigur´alhat´o ´es integr´alhat´o az Eclipsebe is. A Tomcat egy az Apache Software Foundation a´ltal k´esz´ıtett ny´ılt forr´as´ u webszerver ´es servlet kont´ener. A Java Servletek ´es Java Server Pagesek implement´aci´oj´at tartalmazza. H´arom f˝o komponensb˝ol a´ll. A Catalina servlet kont´enerb˝ol, Coyote HTTP konnektrob´ol ´es a Jasper JSP motorb´ol.
16
3. fejezet L´ etez˝ o megold´ asok 3.1. T´ avols´ ag m´ er´ es Egyik lehet˝os´eg a t´avols´ag sz´am´ıt´as´ara az u ´gy nevezett ToA azaz Time of Arrival lenne. Az elj´ar´as a jelek kibocs´ajt´asa ´es fogad´asa k¨oz¨otti id˝o alapj´an hat´arozn´a meg a keresett t´avols´agot az ad´ok ´es vev˝ok k¨oz¨ott. M˝ uk¨od´es´ehez elengedhetetlen, hogy az ad´okban ´es a vev˝okben l´ev˝o ´or´ak szinkronban legyenek. M´asik alternat´ıva ha u ´gynevezett k´et utas megold´ask´ent haszn´aljuk, hogy a vev˝o v´alaszt k¨ uld az ad´onak a v´etelr˝ol. Ezt az alternat´ıv´at gyakran haszn´alj´ak, ha az o´r´ak szinkroniz´al´asa nem lehets´eges. Az alkalmaz´asunk szempontj´ab´ol viszont egyik ToA sem haszn´alhat´o. Ennek oka, hogy a WiFi-s eszk¨oz¨okre ebben az esetben saj´at rendszer k´esz´ıt´es´ere lenne sz¨ uks´eg. A k¨ ul¨onb¨oz˝o t´ıpus´ u eszk¨oz¨ok pedig tov´abb nehez´ıtik egy ilyen rendszer elk´esz´ıt´es´et.
3.2. H´ aromsz¨ ogel´ es A h´aromsz¨ogel´es mint m´er´esi elj´ar´as m´ar r´eg´ota haszn´alatos az ´elet k¨ ul¨onb¨oz˝o ter¨ uletein. P´eld´anak ok´an r´egen a haj´ok helyzet´enek meg´allap´ıt´as´ahoz is haszn´alt´ak ezt a m´odszert. Az alapja, hogy egy harmadik pont meg´allap´ıt´as´ahoz legal´abb k´et ismert helyzet˝ u pontra van sz¨ uks´eg. Az alap elj´ar´ashoz a felhaszn´al´o ismeri vagy legal´abbis megtudja hat´arozni az ismert pontokkal bez´art sz¨og´et. Ezt ´abr´azolja a 3.1 a´bra. Az ´abr´ahoz az al´abbi k´epletek tartoznak. l=
d d + tgα tgβ
17
WiFi alap´ u belt´eri pozicion´al´asi M´odszerek Vizsg´alata
3.1. ´abra. H´aromsz¨ogel´es ´abr´azol´asa d=
1 tgα
l +
1 tgβ
A mi eset¨ unkben azonban ez nem elegend˝o, mivel a mobilk´esz¨ ul´ekek nem rendelkeznek megfelel˝o antenn´aval. ´Igy adott pontokkal bez´art sz¨og´et nem tudjuk meghat´arozni a k´esz¨ ul´eknek. Ez´ert egy m´asik m´odszer sz¨ uks´eges, amely ezen adatok hi´any´aba is k´epes a h´aromsz¨ogel´est megval´os´ıtani. Ez az u ´gynevezett trilateration[16][14] egy a geometri´aban haszn´alatos m´odszer amikor h´arom pontra egy - egy g¨ombfel¨ uletet illeszt¨ unk. A g¨omb¨ok sugar´at az egyes pontokt´ol m´ert t´avols´ag hat´arozza meg. A m´odszer l´enyege, hogy az a´ltalunk keresett pont a h´arom pontra illesztett g¨ombfel¨ uletek metsz´espontja. Ezt haszn´alj´ak a GPS rendszerek is. A trilateration r´eszletes le´ır´as´at ´es matematikai h´atter´et az 5. Vizsg´alt m´odszerek fejezetben ismertetem.
3.3. Fingerprinting M´as n´even ujjlenyomat v´etelez´es ez a legink´abb elterjedt m´odszer[15][18][16], amelyet belt´eri pozicion´al´asn´al alkalmaznak. A m´odszer a r´adi´o frekvenci´as jeler˝oss´egeket haszn´alja fel egy fajta t´erk´ep elk´esz´ıt´es´ehez.
A m´odszer k´et l´ep´esb˝ol a´ll, az els˝o
l´ep´esben ki kell jel¨oln¨ unk referencia pontokat. A pontokban elv´egzett m´er´esekb˝ol egy adatb´azist ´ep´ıt¨ unk, amely tartalmazza, hogy az egyes pontban melyik Wifi eszk¨ozt˝ol milyen er˝oss´eg˝ u jelet vett¨ unk. A m´asodik l´ep´esben pedig az aktu´alis jeler˝oss´egekhez az adatb´azisban t´arolt adatok alapj´an kisz´am´ıtjuk a poz´ıci´ot. A m´odszer h´atr´anya, hogy ha az adott infrastrukt´ ura megv´altozik, akkor a referencia pontokhoz tartoz´o adatb´azist ´ friss´ıteni kell. Ujra el kell v´egezni az els˝o f´azist. El˝onye viszont az eddig felsoroltakkal szemben, hogy belt´erben a jelek visszaver˝od´ese nem befoly´asolja az eredm´enyt.
18
WiFi alap´ u belt´eri pozicion´al´asi M´odszerek Vizsg´alata
3.4. Magyarorsz´ agi megold´ asok Magyarorsz´agon is tal´alhatunk m´ar elk´esz¨ ult belt´eri alkalmaz´asokat. Az egyik legjelent˝osebb c´eg a BLUENION[4] c´eg, amely fejleszt´esekkel ´es kutat´asokkal foglalkozik a mobilalkalmaz´asok ter¨ ulet´en. A c´eg t¨obb k¨ ulf¨oldi ´es hazai rendezv´enyre is biztos´ıtott m´ar az a´ltaluk fejlesztett rendszer seg´ıts´eg´evel belt´eri t´aj´ekoz´od´ast. Az alkalmaz´asi ter¨ ulett˝ol ´es feladatt´ol f¨ ugg˝oen ´altal´anos vagy speci´alisan fejlesztett eszk¨oz¨oket biztos´ıtanak. A rendszer m˝ uk¨od´es´ehez WiFi, RFID ´es Bluetooth technol´ogi´at haszn´alnak. Az ANSWARE[3] Kft egy 2005-ben elnyert projekt kapcs´an dolgozta ki protot´ıpusait. A kutat´as ´es fejleszt´esi projektben t¨obb egyetem bevon´as´aval k´esz´ıtett´ek el az RFID ´es WiFi alap´ u megold´asaikat. A tov´abbi munk´akat az egyetemek folytatt´ak.
3.5. K¨ ulf¨ oldi megold´ asok K¨ ulf¨old¨on m´ar kor´abban felismert´ek a belt´eri pozicion´al´as jelent˝os´eg´et, ´ıgy olyan nagy v´allalatok is bekapcsol´odtak mint a Microsoft vagy a Google. Ut´obbi m´eg csak az ´ep¨ uletek bels˝o t´erk´ep´enek nyilv´anoss´a t´etel´et biztos´ıtja. A felhaszn´al´ok felt¨olthetik a r´eszletes szintekre bontott t´erk´ep´et egy ´ep¨ uletnek. ´Igy a Google t´erk´epen r´anagy´ıtva az ´ep¨ uletre a bels˝o t´erk´epe fog megjelenni. A Microsoft RADAR[11] egy fingerprinting alap´ u rendszer, amely a belt´eri alkalmazhat´os´ag lehet˝os´egeit vizsg´alta. A felhaszn´al´o poz´ıci´oj´anak, orient´aci´oj´anak ´es nyomonk¨ovet´es´enek feladat´at elemezte olyan m´odszerekkel mint Euklideszi t´avols´ag, legk¨ozelebbi szomsz´ed (KNN) ´es terjed´esi modell. Az Ekahau[6] c´eg szint´en RFID ´es WiFi alap´ u megold´ast dolgozott ki. A c´eg RTLS (val´os idej˝ u poz´ıcion´al´o rendszer) fejlesztett ki. Haszn´alat´ahoz saj´at WiFi ´es RFID eszk¨oz¨oket fejlesztettek ki. Ezek seg´ıts´eg´evel val´os´ıtj´ak meg p´eld´aul k´orh´azakban az ´eletmen˝o k´esz¨ ul´ekek helymeghat´aroz´as´at. Kidolgoztak egy biztons´agi rendszert is iskol´ak sz´am´ara, amivel k¨ovetni tudj´ak az eszk¨ozt visel˝o tan´arokat ´es di´akokat. Vesz´ely eset´en az eszk¨oz¨ok ´altal seg´ıts´eget tudnak k´erni a biztons´agi szolg´alatt´ol vagy a rend˝ors´egre is eljuttathatj´ak a riaszt´ast. A Navizon[8] WiFi k´et fajta megold´ast dolgozott ki. L´etrehozott egy Android ´es iPhone alkalmaz´ast, amellyel m´ar megl´ev˝o WiFi infrastrukt´ ur´at lehet felt´erk´epezni. A m´er´esi adatokat a c´eg ´altal biztos´ıtott rendszerbe k¨ uldik el az alkalmaz´asok. Egy 19
WiFi alap´ u belt´eri pozicion´al´asi M´odszerek Vizsg´alata
m´asik alkalmaz´assal pedig a val´os idej˝ u poz´ıcion´al´as szint´en a k¨ozponti rendszeren kereszt¨ ul t¨ort´enik. A m´asik megold´ashoz saj´at WiFi eszk¨oz¨oket k´esz´ıtettek, amelyek az akt´ıv telefonok, laptopok ´es egy´eb WiFi-s k´ezi eszk¨oz¨oket k´epes ´eszlelni ´es behat´arolni. Azokat k¨ovetni ´ep¨ uleten bel¨ ul ´es a megfelel˝o alkalmaz´as megl´ete eset´en kommunik´aci´ot is megval´os´ıtanak.
20
4. fejezet Rendszerterv A m´odszerek kipr´ob´al´as´ahoz ´es azokhoz tartoz´o teszteredm´enyeket kapjunk sz¨ uks´eg¨ unk volt egy adatb´azisra, egy web szolg´altat´asra ´es t¨obb mobilos alkalmaz´asra is. A most k¨ovetkez˝okben ezeknek le´ır´as´at fogom bemutatni. Az alkalmaz´asok k´esz´ıt´es´en´el az al´abbi krit´eriumok szerint j´artam el. Modularit´as megval´os´ıt´asa, hogy a rendszer egyes r´eszei k¨onnyen cser´elhet˝oek legyenek ´es b˝ov´ıthet˝oek. Gyors rendelkez´esre ´all´as, hogy a rendszer min´el gyorsabban haszn´alatba ´all´ıthat´o legyen. A t¨obb felhaszn´al´o eset´en a zavartalan m˝ uk¨od´es.
4.1. Adatb´ azis Az adatb´azis t´arolja az alkalmaz´asok sz´am´ara sz¨ uks´eges RSSI (Received Signal Strength Indicator) ´ert´ekeket ´es poz´ıci´o adatokat. Felhaszn´al´asukkal a belt´eri helymeghat´aroz´as elv´egezhet˝o. Az adatb´azis s´em´aj´at az al´abbi 4.1 ´abra mutatja be. Az adatb´azis t´abl´ainak le´ır´asa az 4.1 - 4.2 - 4.3 t´abl´azatokban l´athat´o
4.1. ´abra. Adatb´azis modellje
21
WiFi alap´ u belt´eri pozicion´al´asi M´odszerek Vizsg´alata
4.1. t´abl´azat. A Coordinate t´abla tulajdons´agai COORDINATE A poz´ıcion´al´ashoz haszn´alt koordin´at´akat t´arol´o t´abla. Mez˝on´ev Le´ır´as id Azonos´ıt´o X A poz´ıci´o X koordin´at´aja Y A poz´ıci´o Y koordin´at´aja Z A poz´ıci´o Z koordin´at´aja 4.2. t´abl´azat. Az Accesspoint t´abla tulajdons´agai ACCESSPOINT A wifi pontokat t´arol´o t´abla. Mez˝on´ev Le´ır´as id Azonos´ıt´o name A router a´ltal k¨oz¨olt SSID macAddress Routerhez tartoz´o MAC c´ım coordinate A router poz´ıci´oja 4.3. t´abl´azat. A Measurement t´abla tulajdons´agai MEASUREMENT A referencia pontokat t´arol´o t´abla. Mez˝on´ev Le´ır´as id Azonos´ıt´o signalStrength Referencia pontban m´ert jeler˝oss´eg (dB) frequency A router a´ltal sug´arzott jel frekvenci´aja distanceFromCoordinate A jeler˝oss´egb˝ol ´es frekvenci´ab´ol sz´amolt t´avols´ag coordinate A referencia pont poz´ıci´oja accesspoint A jelet biztos´ıt´o router
4.2. Webalkalmaz´ as Az´ert, hogy az adatb´azis k¨onnyen kezelhet˝o legyen, illetve hogy a mobil kliensek el´erhess´ek az adatb´azisban t´arolt adatokat egy webes alkalmaz´asra van sz¨ uks´eg. Ez az alkalmaz´as egy Maven-es multimodulos Spring-es alkalmaz´as. A k¨ovetkez˝okben az egyes modulokat r´eszletezem. Az els˝o modul, amely az alkalmaz´as m˝ uk¨od´es´ehez ´es az adatb´azis objektumokhoz sz¨ uks´eges oszt´alyokat tartalmazza valamint a szolg´altat´asok interf´esz le´ır´as´at. Azon objektumokat, amelyek az adatb´azis t´abl´ait reprezent´alj´ak xml le´ır´okb´ol gener´al´odnak a JAXB plugin a´ltal. Az ´ıgy kapott oszt´alyokat az al´abbi 4.2 UML diagram a´br´azolja. 22
WiFi alap´ u belt´eri pozicion´al´asi M´odszerek Vizsg´alata
4.2. ´abra. Adatb´azis t´abl´akhoz tartoz´o oszt´aly diagram Ahogy l´athatjuk az oszt´alyok teljes eg´esz´eben illeszkednek az adatb´azis s´em´ahoz. Az API tov´abbi oszt´alyokat is tartalmaz, amelyek a web szolg´altat´asok m˝ uk¨od´es´ehez sz¨ uks´eges k´er´es / v´alasz objektumoknak felelnek meg. Ezen oszt´alyokat a k¨ovetkez˝o 4.3 UML diagram a´br´azolja.
4.3. ´abra. K´er´es ´es v´alassz objektumok oszt´aly diagram A ResponseObject oszt´aly egy a´ltal´anos v´alasz oszt´aly. K´et adattaggal rendelkezik, az els˝o response a k´er´es sikeress´eg´enek vagy sikertelens´eg´enek ´ert´ek´et tartalmazza. A m´asodik message az esetleges v´alaszban k¨ uldend˝o u ¨zenetet tartalmazza. A RequestF indP osition a poz´ıci´o keres´esnek a k´er´es objektuma. A thresholdban t´arolja k¨ uldi kliens, hogy milyen hat´ar´ert´ekkel sz´amoljon a keres˝o met´odus. A measurement a kliens ´altal ´erz´ekelt WiFi-knek ´es a hozz´ajuk tartoz´o jeler˝oss´eg ´ert´ekek– nek a list´aja. Ezen bek¨ uld¨ott adatok alapj´an ´es az adatb´azisban t´arolt ´ert´ekekkel sz´amolva kapja vissza a keresett poz´ıci´oj´at a kliens. A tal´alt poz´ıci´okat az alkalmaz´as a ResponseP osition v´alasz objektumban k¨ uldi vissza a klienseknek. Ez tartalmazza a k´er´es sikeress´eg´et vagy sikertelens´eg´et. Illetve k´et koordin´ata objektumot. M´asodik r´eteg a Data Access Object m´as n´even adat hozz´af´er´esi r´eteg. Ez tartalmazza az adatb´azis ki´ep´ıt´es´ehez sz¨ uks´eges SQL scripteket. Ahhoz, hogy a scriptek 23
WiFi alap´ u belt´eri pozicion´al´asi M´odszerek Vizsg´alata
automatiz´altan lefussanak itt tal´alhat´o a Liquibase plugin sz´am´ara a konfigur´aci´os xml. A f´ajl tartalma az al´abbi 4.4 k´epen l´athat´o.
4.4. ´abra. Liquibase konfigur´aci´os xml Tov´abb´a ebben a modulban tal´alhat´oak az SQL utas´ıt´asokat le´ır´o xml f´ajlok, amelyeknek a Java met´odusokhoz val´o k¨ot´es´et a MyBatis v´egzi el. A f´ajlokban tal´alhat´o resultM apek az o¨sszetett SQL lek´erdez´esek eredm´eny´enek oszt´alyokra val´o lek´epz´es´et ´ırja le. Egy ilyenre ad p´eld´at az al´abbi 4.5 a´bra.
4.5. ´abra. ResultMap p´elda Az egyes utas´ıt´asokat az id attrib´ utumokkal k¨ot˝odnek a Java met´odusokhoz. Az utas´ıt´asok eredm´eny´et pedig a resultM ap hat´arozza meg. Az utas´ıt´as bemen˝oparam´ete– r´et a parameterT ypeon kereszt¨ ul adhatjuk meg. Az utas´ıt´asok preparedstatementk´ent ker¨ ulnek felhaszn´al´asra, ebben az esetben a param´etereket #{} form´aban kell megadni. Egy utas´ıt´asra p´eld´at az al´abbi 4.6 a´bra mutat.
4.6. ´abra. MyBatis - SQL utas´ıt´as minta
24
WiFi alap´ u belt´eri pozicion´al´asi M´odszerek Vizsg´alata
A Service r´eteg tartalmazza a szolg´altat´as implement´aci´okat valamint a MyBatishoz tartoz´o mapper oszt´alyokat. Ezeken kereszt¨ ul ´erhet˝oek el az SQL utas´ıt´asok. A mapper oszt´alyokban az SQLben felhaszn´aland´o param´etereket az al´abbi form´aban kell megadni (@P aram(”coordX”)doublex. A service oszt´alyok UML diagramj´at az al´abbi 4.7 ´abr´an l´athatjuk.
4.7. ´abra. Service oszt´alyok UML diagramja Ezen met´odusok ´altal´anos esetben az Insert / Delete / Update utas´ıt´asokat val´os´ıtj´ak meg. Ezeken fel¨ ul a k¨ ul¨onb¨oz˝o lek´erdez´eseket megval´os´ıt´o met´odusok ker¨ ultek implement´al´asra. Az utols´o modul val´os´ıtja meg az eddigiek kapcsolat´at. A kliensekt˝ol ´erkez˝o k´er´eseket a Springes controller oszt´alyokban annot´alt met´odusok szolg´alj´ak ki. Az annot´aci´okkal megadhat´o, hogy milyen URL-en kereszt¨ ul ´erhet˝o el az adott met´odus. Megadhat´o melyik HTTP k´er´eseket szolg´aljon ki, illetve mi legyen a visszat´er´esi ´ert´eke. Egy ilyen met´odusra p´elda az al´abbi 4.8 a´bra.
4.8. ´abra. Spring controller Az alkalmaz´as JSP (JavaServer Pages) oldalakat is tartalmaz, amelyeken kereszt¨ ul az egyes szolg´altat´asok ´es az adatb´azis kapcsolat ellen˝orizhet˝o.
25
WiFi alap´ u belt´eri pozicion´al´asi M´odszerek Vizsg´alata
4.3. Kliensek A szolg´altat´asok haszn´alat´ahoz ´es a belt´eri pozicion´al´ashoz ahogy m´ar eml´ıtettem Androidos klienseket terveztem. Ahhoz, hogy az alkalmaz´asok a telefonba ´ep´ıtett WiFi-t haszn´alhass´ak a Manifest f´ajlban enged´elyezni kell azt. Tov´abb´a minden alkalmaz´asban regisztr´alni kell egy BroadcastReceiver-t amin kereszt¨ ul a WiFi-s eszk¨oz¨ok szkennel´ese megval´osul. Minden ilyen szkennel´essel egy list´at kapunk az akt´ıv hat´ot´avols´agon bel¨ uli eszk¨oz¨okr˝ol. A lista egy eleme az al´abbi 4.4 t´abl´azatba foglalt inform´aci´okat hordozza. 4.4. t´abl´azat. WifiInfo objektum tulajdons´agai WifiInfo WiFi eszk¨ozr˝ol kaphat´o inform´aci´ok Adattag Le´ır´as SSID H´al´ozat neve BSSID Az eszk¨oz MAC c´ıme Frequency A csatorna frekvenci´aja MHz-ben Level Az ´erz´ekelt jel dBm-ben Capabilites Az eszk¨ozh¨oz tartoz´o authentik´aci´o kulcs kezel´es ´es encript´al´asi adatok. Mivel a WiFi jelek szkennel´ese id˝oben v´altoz´o hossz´ us´ag´ u ´ıgy csak szinkronban v´egezhet˝o a keres´es. Mivel a m´ert jelek nem ´alland´oak hanem ingadoz´oak, ez´ert a szerver fel´e a m´er´esek ´atlagos ´ert´eke ker¨ ul elk¨ uld´esre. Az alkalmaz´asok gyorsabb tesztel´ese v´egett fut´asid˝oben be´all´ıt´asokon kereszt¨ ul konfigur´alhat´oak a f˝obb param´eterek.
26
5. fejezet Vizsg´ alt m´ odszerek A k´et f˝o elj´ar´as amiket implement´altam a belt´erben val´o poz´ıci´o meghat´aroz´as´ara a Trilateration ´es Fingerprinting. A k¨ovetkez˝okben ezen elj´ar´asokhoz tartoz´o matematikai h´atteret ´es az alternat´ıv megold´asokat ismertetem.
5.1. Trilateration A Trilateration m´odszerrel, hogy megtal´aljuk a keresett pontot meg kell hat´aroznunk a h´arom ponthoz tartoz´o g¨omb¨oket ´es azok sugarait. Kezdeti l´ep´esben az adott termet vagy szob´at el kell helyezn¨ unk egy koordin´ata rendszerben. A WiFi access pontok hely´et ezen fix pontokk´ent felv´eve megkapjuk azok x, y ´es z koordin´at´aj´at. Ezek majd a v´egs˝o k´epletben ker¨ ulnek felhaszn´al´asra. Erre p´elda az al´abbi 5.1 k´ep.
5.1. ´abra. Egy szoba v´azlata
27
WiFi alap´ u belt´eri pozicion´al´asi M´odszerek Vizsg´alata
A k´epen is j´ol l´athat´o, hogy a keresett pontot ki tudjuk sz´amolni, sz¨ uks´eg¨ unk van a h´arom sug´arra. A sugarak kisz´am´ıt´as´ara viszont korl´atolt megold´as ´all rendelkez´es¨ unkre. Ahogy m´ar eml´ıtettem a telefonokba ´ep´ıtett antenn´ak nem alkalmasak sz¨ogm´er´esre. Tov´abb´a az eszk¨oz¨okkel val´o szinkroniz´aci´o sem megval´os´ıthat´o. Ez´ert olyan t´avols´ag meghat´aroz´o m´odszereket kerestem, amelyek a r´adi´os jelek terjed´es´en alapszanak.
5.1.1. Hat´ ot´ avols´ ag m´ er´ es Az els˝o m´odszerben az al´abbi k´epletet haszn´aljuk a t´avols´ag, a sugarak kisz´am´ıt´as´ara:
di = p(1 − mi ) Ahol is • di az i. wifi access pointt´ol val´o t´avols´agot, • p az adott wifi access point a´ltal biztos´ıtott lefedetts´eget m´eterben, • mi pedig az adott wifi access pointr´ol m´ert jel er˝oss´eg´et jelenti sz´azal´ekban. Ezen m´odszer h´atr´anya, hogy haszn´alhat´o lehessen minden access pointr´ol pontos hat´ot´avols´agi m´er´est kellene elv´egezni. Mivel a gy´art´ok ´altal kiadott adatok a val´os esetben elt´er˝oek lehetnek. Ez´ert legfeljebb becsl´es szempontj´ab´ol haszn´alhat´o ez a megold´as. A jel hat´ot´avols´ag´at ugyanis befoly´asolj´ak az olyan t´enyez˝ok, mint a jel u ´tj´aba ker¨ ul˝o akad´alyok. Ezen akad´alyok anyag´at´ol f¨ ugg˝oen m´as ´es m´as ´ert´ek˝ u csillap´ıt´assal hatnak a jelre. P´ar ilyen csillap´ıt´asi ´ert´eket az al´abbi 5.1 t´abl´azat szeml´eltet. 5.1. t´abl´azat. 2,4 GHz jel csillap´ıt´asi ´ert´ekek Anyag Csillap´ıt´as (dB) T´eglafal 6 - 12 Vastag vakolat 2-5 Betonfal 10 - 12 Ember 10 - 15
5.1.2. Jel terjed´ ese A m´asodik m´odszer az u ´gynevezett free-space path loss r¨oviden FSPL. Ezt az elj´ar´ast a telekommunik´aci´oban haszn´alj´ak a jeler˝oss´egek kisz´am´ıt´as´ara adott t´avols´ag eset´en. 28
WiFi alap´ u belt´eri pozicion´al´asi M´odszerek Vizsg´alata
Az al´abbi egyenletet felhaszn´alva: F SP L(dB) = 20 ∗ log10 (d) + 20 ∗ log10 (f ) + constant Ahol is • F SP L(dB) a kapott jeler˝oss´eg dB-ben, • d a t´avols´ag , • f a vizsg´alt jel frekvenci´aja, • constant a jel frekvenci´aj´anak ´es a t´avols´ag f¨ uggv´eny´eben konstans ´ert´ek. A constant lehet • 92.45 - ha f GHz ´es d kilom´eterben adott, • 87.55 - ha f KHz ´es d m´eterben adott, • 27.55 - ha f MHz ´es d m´eterben adott, • 32.45 - ha f MHz ´es d kilom´eterben adott.
5.1.3. M˝ uk¨ od´ es Miut´an az egyik m´odszerrel meghat´aroztuk a keresett ponthoz k´epest a h´arom WiFi t´avols´ag´at, az al´abbi egyenletrendszert kell megoldanunk.
r12 = x2 + y 2 + z 2
r22 = (x − d)2 + y 2 + z 2
r32 = (x − i)2 + (y − j)2 + z 2 Ezen h´arom k´eplet alkotta egyenletrendszerb˝ol kell kifejezn¨ unk az x, y ´es z koordin´at´akat. El˝osz¨or el˝osz´am´ıt´asokat kell elv´egezn¨ unk, ugyanis ide´alis esetben a h´arom WiFi u ´gy helyezkedne el, hogy az egyik az orig´oban lenne. A m´asodik az x tengelyen az els˝ot˝ol d t´avols´agra, a harmadik pedig az x tengelyen i, az y tengelyen j t´avols´agra. Egy ilyen ide´alis eset l´athat´o az al´abbi 5.2 a´br´an. 29
WiFi alap´ u belt´eri pozicion´al´asi M´odszerek Vizsg´alata
5.2. ´abra. Trilateration id´alis eset De ez az eset ritka ez´ert sz¨ uks´egesek a sz´am´ıt´asok amikor is kit¨ untet¨ unk egy pontot jelen esetben a P1-et, amelyhez majd a t¨obbi pontot viszony´ıtjuk.
ex =
P2 − P1 ||P 2 − P 1||
ez lesz a P1-b˝ol P2-be mutat´o egys´eg vektor.
i = ex ∗ (P 3 − P 1) ez a jelzett nagys´aga az x komponensnek.
ey =
P 3 − P 1 − i ∗ ex ||P 3 − P 1 − i ∗ ex ||
ez az y ir´anyba vett egys´eg vektor. A harmadik egys´eg vektor pedig el˝o´all az al´abbi form´aban
ez = ex × ey A P1 ´es P2 pont t´avols´aga nem lesz m´as mint
d = ||P 2 − P 1||
j = ey ∗ (P 3 − P 1) 30
WiFi alap´ u belt´eri pozicion´al´asi M´odszerek Vizsg´alata
ez pedig a jelzett nagys´aga az y komponensnek. Ezen sz´am´ıt´asok eredm´enyeit behelyettes´ıtve az al´abbi megold´o k´epletbe megkapjuk a keresett koordin´at´akat.
x=
y=
r12 − r22 + d2 2d
i r12 − r32 + i2 + j 2 − x 2j j
q z = + − r12 − x2 − y 2 Az ´ıgy kapott koordin´at´ak viszont m´eg nem az eredeti rendszerb˝ol val´ok. Ez´ert az al´abbi sz´am´ıt´ast kell elv´egezni rajtuk ahol is a h´arom egys´eg vektorral szorozva o˝ket majd a P1 ponthoz hozz´aadva megkapjuk az eredeti rendszerbe vissza transzform´alt koordin´at´ait a keresett pontunknak.
p1,2 = P 1 + x ∗ ex + y ∗ ey + −z ∗ ez ´Igy m´aris hozz´ajutottunk a mobilk´esz¨ ul´ek hely´ehez.
5.1.4. H´ atr´ any A m´odszer mindenkori h´atr´anya, hogy a WiFi eszk¨oz¨okt˝ol val´o pontos t´avols´agot nem lehet megmondani. Nincs jelenleg olyan m´odszer, amelynek ne lenne egy bizonyos pontatlans´aga. Ez fakad a belt´eri r´adi´os jelek terjed´es´eb˝ol ´es csillap´ıt´as´ab´ol. Tov´abbi h´atr´anya ennek a m´odszernek, hogy m˝ uk¨od´es´ehez mindig h´arom WiFi sz¨ uks´eges. K¨ ul¨on– ben a sz´am´ıt´asok nem v´egezhet˝oek el. Ugyanakkor t¨obb mint h´arom WiFi-vel sem k´epes sz´amolni. Ez´ert olyan alternat´ıv´akat kerestem, melyek a WiFi-k sz´am´at´ol f¨ uggetlen¨ ul is m˝ uk¨odnek.
5.1.5. Genetikus algoritmus A genetikus algoritmus seg´ıts´eg´evel egy optimaliz´al´asi feladatot oldottam meg. A feladat sor´an az aktu´alis poz´ıci´ohoz tartoz´o ´es a m´ert t´avols´agok k¨ ul¨onbs´eg´et minimaliz´alom. Ezt az al´abbi k´eplettel ´ırhatom le:
31
WiFi alap´ u belt´eri pozicion´al´asi M´odszerek Vizsg´alata
X
[(d(a, D)2 ) − ((Xa − XD )2 + (Ya − YD )2 + (Za − ZD )2 )] → min!
a∈AP
A f¨ uggv´eny a WiFi pontonk´enti m´ert t´avols´agok n´egyzet´enek ´es a gener´alt pontoknak jelad´okt´ol sz´am´ıtott Euklideszi t´avols´ag´anak a k¨ ul¨onbs´eg ¨osszeg´et sz´am´ıtja ki. Az algoritmus minimum t´avols´ag el´er´es´ere t¨orekszik a megadott l´etsz´am´ u popul´aci´o gener´al´as´aval. A genetikus algoritmusn´al konfigur´alhat´o, hogy mekkora l´etsz´am´ u popul´aci´ot h´any iter´aci´oban k´esz´ıtsen el. Tov´abbi param´eterei az elitek sz´ama valamint a mut´aci´o m´ert´eke.
5.1.6. Szimul´ alt leh˝ ut´ es A genetikus algoritmus sz´am´ıt´as ig´enye a popul´aci´o m´eret´et˝ol ´es az iter´aci´ok sz´am´at´ol f¨ ugg˝oen el´eg nagy is lehet. Ezzel lassulna a keres´es is, ez´ert a szimul´alt h˝ ut´es m´odszer´et v´alasztottam m´asik optimaliz´al´asi elj´ar´asnak. A genetikushoz hasonl´oan itt is ugyan azt a fitness f¨ uggv´enyt haszn´aljuk. De itt egyszerre csak egy pont koordin´at´aival sz´amolva, nem egy eg´esz popul´aci´oval. Az elj´ar´as kezdetben gener´alt ponttal vizsg´alja a f¨ uggv´eny ´ert´ek´et, majd a pontot mut´aci´o seg´ıts´eg´evel elmozd´ıtja ´es u ´jra vizsg´alja a f¨ uggv´eny ´ert´eket. Annak jobb vagy rosszabb ´ert´eke alapj´an folytatja m˝ uk¨od´es´et. Az elj´ar´as param´eterei a kezdeti ”h˝om´ers´eklet” ´es a leh˝ ul´es m´ert´eke ezek hat´arozz´ak meg, hogy h´any darab vizsg´alatot v´egezzen.
5.2. Fingerprinting Az eddig felsorolt m´odszerekn´el a WiFi-k hely´et mindig pontosan kellett tudni, hogy sz´amolhassunk vel¨ uk. Tov´abb´a a jelek csillap´ıt´asa ´es visszaver˝od´ese a sz´amolt eredm´e– nyeket er˝osen befoly´asolta. Ez´ert egy olyan m´odszert is kipr´ob´altam, amelyiket ezek nem befoly´asolj´ak. Ez pedig a fingerprinting. Az elj´ar´as megval´os´ıt´as´ahoz el˝osz¨or is a trilaterationhoz hasonl´oan fel kell t´erk´epezni az ´ep¨ uletet vagy szob´at ´es referencia pontokat jel¨ol¨ unk ki. Ezut´an ezeken a pontokon m´er´eseket v´egz¨ unk, amelyek sor´an r¨ogz´ıtj¨ uk, hogy adott pontban melyik WiFi-t l´atjuk. A r¨ogz´ıt´eshez a m´ert jeler˝oss´egek a´tlag´at minden sz¨ uks´eges adattal egy¨ utt t´aroljuk. Ezen adatokb´ol fel´ep´ıtett adatb´azis
32
WiFi alap´ u belt´eri pozicion´al´asi M´odszerek Vizsg´alata
seg´ıts´eg´evel sz´am´ıtjuk ki a keresett poz´ıci´okat. A poz´ıci´o kisz´am´ıt´as´ahoz az al´abbi m´odszereket pr´ob´altam ki.
5.2.1. Korrel´ aci´ o A korrel´aci´o k´et adatsor k¨oz¨otti line´aris kapcsolat nagys´ag´at ´es ir´any´at adja meg. A korrel´aci´o ´ert´eke -1 ´es +1 k¨oz¨ott v´altozik. A k´eplete, amelyet felhaszn´altunk az alkalmaz´asban pedig az al´abbi: Pn
− x¯)(yi − y¯) (n − 1)sx sy
i=1 (xi
rxy =
A k´epletben a x ´es a y az a´tlagokat jel¨olik. Az n az o¨sszehasonl´ıtand´o adatok darabsz´am´at. A nevez˝oben pedig a k´et minta sz´or´asa tal´alhat´o, melyeket az al´abbi m´odon sz´amoltunk ki: sP sx =
n i=1 (xi
− x¯)2 (n − 1)
A fenti k´epleteket felhaszn´alva az adatb´azisban let´arolt m´er´esi pontokra ´es a be´erkez˝o m´er´esekre kisz´amoljuk a korrel´aci´ot. Azokat a korrel´aci´okat vessz¨ uk figyelembe, amelyek egy bizonyos k¨ usz¨ob´ert´ekn´el jobb eredm´ennyel rendelkeznek. Majd ezen m´er´esekhez tartoz´o koordin´at´akb´ol kisz´am´ıtjuk a keresett poz´ıci´o koordin´at´ait. Ehhez az al´abbi k´epleteket haszn´altuk fel: P
corr(mi , a)(mix ) P corr(mi , a)
P
corr(mi , a)(miy ) P corr(mi , a)
x=
y=
Azaz vett¨ uk a k¨ usz¨ob´ert´ekn´el nagyobb mint´ak x ´es y koordin´at´ainak a korrel´aci´ojuk– kal val´o szorzat´anak az o¨sszeg´et, melyet a korrel´aci´ok ¨osszeg´evel osztunk. Ahol mi a t´arolt m´er´eseket m´ıg az a a keresett pontban pillanatnyilag vett m´er´esi ´ert´ekeket jel¨oli. A k¨ usz¨ob´ert´eken kereszt¨ ul az eredm´enyek finom´ıthat´oak. Tov´abbi pontos´ıt´as az eredm´enyekben a mint´ak sz´am´anak n¨ovel´es´evel ´erhet˝o el.
33
WiFi alap´ u belt´eri pozicion´al´asi M´odszerek Vizsg´alata
5.2.2. Euklideszi t´ avols´ ag A korrel´aci´o mellett a m´asik gyakran haszn´alt megold´as a fingerprinting[13][14][19] eset´en, amikor a t´arolt mint´ak ´es az aktu´alisan kapott jelek k¨oz¨ott kisz´amoljuk a t´avols´agot. Az ´ıgy l´etrej¨ott list´ab´ol kiv´alaszthatjuk azt a pontot, amelyre legkisebb a t´avols´ag. Ennek kisz´am´ıt´as´ara az al´abbi k´epletet haszn´altuk fel: v u n uX d = t (mi
signal
− asignal )2
i=1
A k´epletben vessz¨ uk a t´arolt mint´akhoz tartoz´o jeler˝oss´eget ´es a keresett pontban m´ert jeler˝oss´egek k¨ ul¨onbs´eg´enek n´egyzet¨osszeg´eb˝ol vont n´egyzetgy¨ok¨ot. A t´avols´ag ´ert´ekek a t´arolt a´tlagos mint´ak miatt nem felt´etlen a pontos poz´ıci´oban lesz a legkisebb. Ez´ert az n darab legkisebb t´avols´ag´ u mint´ab´ol sz´am´ıtottuk a koordin´at´akat a´tlagol´assal.
5.2.3. H´ atr´ any A fingerprinting legnagyobb h´atr´anya az id˝oig´enyess´eg.
Ugyanis egy teljes ´ep¨ ulet
felm´er´ese rengeteg id˝ot vehet ig´enybe. Att´ol f¨ ugg˝oen, hogy milyen s˝ ur˝ un szeretn´enk m´er´esi pontokat. Tov´abbi h´atr´anya, hogy ha egy WiFi eszk¨oz cser´ere vagy a´thelyez´esre ker¨ ul, akkor a teljes adatb´azist friss´ıteni kell. Ugyanakkor ha nagyobb a´trendez´esek t¨ort´ennek az ´ep¨ uleten bel¨ ul akkor is aj´anlott az adatb´azis friss´ıt´ese.
34
6. fejezet Eredm´ enyek Az elk´esz¨ ult alkalmaz´asok seg´ıts´eg´evel mind a Trilateration mind pedig a Fingerpinting m´odszer kipr´ob´alhat´ov´a v´alt. A tesztel´esek sor´an kapott eredm´enyeket az al´abbiakban fejtem ki.
6.1. Trilateration Az els˝o m´odszer amihez elk´esz¨ ult a mobil alkalmaz´as. A m´odszer kipr´ob´al´as´ahoz egy nagy teremre volt sz¨ uks´eg, ahol a tesztk¨ornyezetet ki tudtam ´ep´ıteni. Az Egri T¨ort´eneti T´arh´az f˝oterm´eben ker¨ ult erre sor, amely 17,05 m´eter hossz´ u ´es 5,14 m´eter sz´eles. A terem alaprajza az al´abbi 6.1 ´abr´an l´athat´o.
6.1. ´abra. T¨ort´eneti T´arh´az - Els˝o terem alaprajza A m´er´esek sor´an az al´abbi k´esz¨ ul´ekeket haszn´altam fel: • M´er´est v´egz˝o k´esz¨ ul´ek: Vodafone Smart III • AP1 - TP-Link WR740N • AP2 - TP-Link WR720N 35
WiFi alap´ u belt´eri pozicion´al´asi M´odszerek Vizsg´alata
• AP3 - TP-Link WR841ND A h´arom elhelyezett WiFi-t a k´ek pontok jel¨olik. A terem felm´er´ese ut´an meghat´aroztam a hozz´ajuk t´ars´ıthat´o koordin´at´akat, ezeket a 6.1 t´abl´azat tartalmazza. A koordin´at´ak centim´eterben ´ertend˝ok. 6.1. t´abl´azat. A WiFik poz´ıci´oja WiFi Koordin´ata AP1 (70,340,100) AP2 (37,1625,210) AP3 (477, 1450,210)
A m´er´est a teremben t´ız darab kijel¨olt ponton v´egeztem el, amelyeket a piros pontok jel¨olnek a k´epen.
6.1.1. Mobil alkalmaz´ as A m´odszerhez elk´esz´ıtett mobil alkalmaz´as mag´aban foglalja a Trilateration, Genetikus Algoritmus ´es a Szimul´alt leh˝ ut´eshez sz¨ uks´eges implement´aci´okat. Az alkalmaz´as fut´asid˝oben konfigur´alhat´o. Megadhatjuk, hogy mely m´odszerrel hat´arozza meg a poz´ıci´ot. Tov´abb´a a genetikus algoritmushoz megadhatjuk a popul´aci´o m´eret´et, iter´aci´ok sz´am´at, elitek sz´am´at, mut´aci´o m´ert´ek´et. A szimul´alt leh˝ ut´es r´esz´er˝ol be´all´ıt– hat´o a kezdeti h˝om´ers´eklet ´es a leh˝ ul´es m´ert´eke. Az alkalmaz´asban elhelyez´esre ker¨ ult egy t´erk´epes m´od. Ebben az esetben a kiv´alasztott m´odszerrel az alkalmaz´as folyamatosan m´er. A kapott eredm´enyt a WiFi-kel egy¨ utt megjelen´ıti a kijelz˝on. Az alkalmaz´as f˝obb k´eperny˝oit az al´abbi 6.2 k´ep mutatja be sorban.
6.2. ´abra. Trilateration alkalmaz´as k´eperny˝oi
36
WiFi alap´ u belt´eri pozicion´al´asi M´odszerek Vizsg´alata
6.1.2. Trilateration - Els˝ o m´ er´ es Az els˝o m´er´es eredm´enyeit az eredeti trilateration m´odszerrel sz´amoltattam ki. Ezen m´er´esi eredm´enyeket az al´abbi 6.2 t´abl´azatb´ol olvashatjuk le. Az adatok centim´eterben vannak megadva. 6.2. t´abl´azat. Trilateration m´er´esi eredm´enyek Referencia pont Sz´am´ıtott pont Hib´ak T´avols´ag X Y X Y X Y 330 646 -61 973 391 327 509,71 186 884 522 863 336 21 336,65 254 1156 138 965 116 191 223,4 50 1156 103 968 53 188 195,32 186 1292 170 1223 16 69 70,83 390 1394 119 1184 271 210 342,84 186 1530 37 988 149 542 562,10 322 1530 82 1066 240 464 522,39 412 1700 54 1099 358 601 699,54 356 201 -487 755 843 554 1008,74 Min: 16 21 70,83 Max: 843 601 1008,74 Disp: 274,88 Avg: 447,16 Az eredm´enyekb˝ol meg´allap´ıthat´o, hogy a terem k¨ozepe fel´e haladva az eredm´enyek pontosabbak. M´ıg a terem sz´el´en a falakn´al a m´er´esek sokkal pontatlanabbak. Az a´tlagos elt´er´es valamivel t¨obb mint 4 m´eter (447,16 cm).
6.1.3. Genetikus Algoritmus - M´ asodik m´ er´ es A m´asodik m´er´est a Genetikus Algoritmussal v´egeztem el. A m´er´esi eredm´enyeket az al´abbi 6.3 t´abl´azat tartalmazza. Az adatok centim´eterben vannak megadva. A t´abl´azatb´ol kit˝ unik, hogy a m´er´esi eredm´enyek rosszabb ´ert´ekeket mutatnak. A m´er´esi pontokban az a´tlagos elt´er´es k¨ozel 5 m´eter (504,36 cm).
6.1.4. Szimul´ alt leh˝ ut´ es - Harmadik m´ er´ es Ehhez a m´odszerhez tartoz´o m´er´eseket az al´abbi 6.4 t´abl´azat foglalja o¨ssze. Az adatok centim´eterben vannak megadva.
37
WiFi alap´ u belt´eri pozicion´al´asi M´odszerek Vizsg´alata
6.3. t´abl´azat. Genetikus Algoritmus m´er´esi eredm´enyek Referencia pont Sz´am´ıtott pont Hib´ak T´avols´ag X Y X Y X Y 330 646 148 882 182 236 298,02 186 884 31 367 155 517 539,73 254 1156 145 1118 109 38 115,43 50 1156 110 1082 60 74 95,26 186 1292 142 913 44 379 381,54 390 1394 157 1081 233 313 390,20 186 1530 -14 1354 200 176 266,41 322 1530 164 746 158 784 799,76 412 1700 86 838 326 862 921,58 356 201 180 1424 176 1223 1235,59 Min: 44 38 Max: 326 1223 Disp: 371,66 Avg: 504,36 6.4. t´abl´azat. Referencia pont X Y 330 646 186 884 254 1156 50 1156 186 1292 390 1394 186 1530 322 1530 412 1700 356 201
Szimul´alt leh˝ ut´es Sz´am´ıtott pont X Y 135 1011 274 944 173 1019 166 1017 190 1208 175 1169 158 1032 167 1081 160 1101 -123 767 Min: Max: Disp: 230,94
m´er´esi eredm´enyek Hib´ak T´avols´ag X Y 195 365 413,82 88 60 106,50 81 137 159,15 116 139 181,04 4 84 84,09 215 225 311,20 28 498 498,78 155 449 475,00 252 599 649,84 479 566 741,48 4 60 84,09 479 599 741,48 Avg: 362,10
A t´abl´azatot megvizsg´alva l´athatjuk, hogy az eredm´enyek a m´asodik m´er´eshez k´epest jobbak. De az eredeti trilateration m´odszern´el is pontosabbak. Ezzel a m´odszer– rel az a´tlagos elt´er´es m´ar csak 3,5 m´eter (362,10 cm) volt a referencia pontonk´ent.
38
WiFi alap´ u belt´eri pozicion´al´asi M´odszerek Vizsg´alata
¨ 6.1.5. Osszegz´ es A trilateration alap´ u m´er´esek elv´egz´ese sor´an bebizonyosodott, hogy a m´odszert er˝osen befoly´asolj´ak a jelre gyakorolt k¨ uls˝o t´enyez˝ok. A csillap´ıt´asokb´ol ´es a visszaver˝od´esb˝ol ad´od´o elt´er´esek t¨obb m´eteres pontatlans´agot okoznak. A m´er´esek sor´an pr´ob´altam a tesztk¨ornyezetet v´altoztatni a jobb eredm´enyek el´er´ese v´egett. Ez´ert pr´ob´altam a WiFi-k ´athelyez´es´evel jav´ıtani az eredm´enyeket, de ez nem hozott ´erdembeli javul´ast. Tov´abbiakban pr´ob´alkoztam m´eg a WiFi-k k¨ ul¨onf´ele konfigur´aci´oj´aval is, de ez szint´en nem v´altoztatott az eredm´enyeken.
6.2. Fingerprinting A fingerprintinghez tartoz´o m´er´eseket m´ar egy m´asik helysz´ınen az Informatika ´ep¨ ulet els˝o emelet´en v´egeztem el. A tesztk¨ornyezethez az al´abbi eszk¨oz¨oket haszn´altam fel. • IITAP1 • IITAP2 • D-link-measure - D-Link Dir825 • Ciscob-measure Az ´ep¨ ulet felm´er´es´eben ´es az elj´ar´as tesztel´es´eben a Vodafone Smart III telefont haszn´altam. Az els˝o emeleten m´eterenk´ent jel¨olt¨ unk ki m´er´esi pontokat. Ezekben a pontokban v´egezt¨ uk el a referencia m´er´eseket. Az ´ıgy kapott referencia pont t´erk´epet az al´abbi 6.3 ´abr´an l´athatjuk. A pontokban v´egzett m´er´esek sor´an az alkalmaz´as 50 darab mintav´etelez´est hajtott v´egre. Az 50 mint´ak a´tlag´at pedig a web servicen kereszt¨ ul ker¨ ultek ment´esre. A service ezen adatok k¨oz¨ ul kiv´alasztotta azon WiFi-khez tartoz´o mint´akat amiket menteni kell. Ezek a fent felsorolt 4 eszk¨oz¨ok voltak. ´Igy ´allt el˝o az adatb´azis. Tov´abb´a a poz´ıci´o keres´esen fel¨ ul az adatb´azisban t´arolt adatokb´ol gener´alhatunk az egyes eszk¨oz¨okh¨oz jeler˝oss´eg t´erk´epet. A n´egy WiFihez tartoz´o jeler˝oss´eg t´erk´epek az al´abbi 6.4 ´abr´an l´athat´oak. Az ´abra seg´ıts´eg´evel meg´allap´ıthatjuk, hogy az IITAP2 az el˝ot´erben m´ar nem biztos´ıt l´athat´os´agot. Ugyanakkor l´athat´o, hogy n´eha ´erz´ekelt¨ unk jelet az IITAP2-t˝ol. Ez 39
WiFi alap´ u belt´eri pozicion´al´asi M´odszerek Vizsg´alata
6.3. ´abra. Az Informatika ´ep¨ ulet referencia pontjai
6.4. ´abra. WiFik jeler˝oss´eg t´erk´epei a folyos´o ajtaj´anak nyit´as´anak tudhat´o be. Viszont ez az ingadoz´as a pozicion´al´ast befoly´asolhatja majd. A t´erk´epr˝ol meg´allap´ıthat´o m´eg, hogy a m´asik ilyen gyenge r´esz az ´ep¨ uletben az az ¨osszek¨ot˝o folyos´o. Itt p´eld´aul m´ar a k´et el˝ot´erben elhelyezett WiFi jelei voltak alig m´erhet˝oek. Itt is a k´et ajt´o ami a jelek csillap´ıt´as´at okozta ´es okozhatja. A n´egy WiFi-r˝ol kapott jelt´erk´epeket egybevetve meg´allap´ıthatjuk, hogy a tantermek fel˝oli folyos´o illetve az el˝ot´er lefedetts´ege k¨ozel folytonos. Ez pedig egy rendk´ıv¨ ul fontos t´enyez˝o a belt´eri pozicion´al´as eset´eben. Egy ´ep¨ ulet el˝ozetes felm´er´ese, illetve a WiFi-k 40
WiFi alap´ u belt´eri pozicion´al´asi M´odszerek Vizsg´alata
optim´alis elhelyez´es´eben az ilyen adatok ´es t´erk´epek hasznoss´aga kiemelten fontos.
6.2.1. Mobil alkalmaz´ as A fingerprintinghez k´et alkalmaz´as k´esz¨ ult. Az els˝o, amelynek seg´ıts´eg´evel a m´er´esek v´egezhet˝oek. A m´asodik pedig, amellyel a poz´ıci´o keres´es v´egezhet˝o. A poz´ıci´o keres´es eset´en az alkalmaz´ason kereszt¨ ul konfigur´alhatjuk, hogy milyen k¨ usz¨ob´ert´ekkel sz´amoljon az algoritmus. A m´er˝o alkalmaz´as k´eperny˝oj´et az al´abbi 6.5 ´abra szeml´elteti. A poz´ıci´o keres˝o alkalmaz´as k´eperny˝oj´et pedig az al´abbi 6.6 k´ep ´abr´azolja.
6.5. ´abra. M´er˝o mobil alkalmaz´as k´eperny˝oje
6.6. ´abra. Poz´ıci´o keres˝o alkalmaz´as k´eperny˝oje Az emelet felm´er´es´et k¨ovet˝oen 10 darab pontot v´alasztottam ki. Ezekben a pontokban ker¨ ult ellen˝orz´esre a poz´ıci´o keres˝o alkalmaz´ason kereszt¨ ul a fingerprinting m´odszer.
6.2.2. Korrel´ aci´ o - Els˝ o m´ er´ es Az els˝o m´er´esn´el a k¨ usz¨ob´ert´eket 0,7-re v´alasztottam. ´Igy a korrel´aci´os m´odszerrel kapott eredm´enyeket az al´abbi 6.5 t´abl´azat szeml´elteti. Az adatok centim´eterben 41
WiFi alap´ u belt´eri pozicion´al´asi M´odszerek Vizsg´alata
´ertend˝oek. 6.5. t´abl´azat. Korrel´aci´o threshold: Referencia pont Sz´am´ıtott pont X Y X Y 1000 3500 1353 3467 1500 900 1076 1613 2025 600 1775 997 2025 1900 1581 3413 1400 3700 1539 3397 1800 3900 1562 3425 1500 3100 1550 3428 2025 3500 1559 3422 850 2400 850 1300 850 400 1579 3414 Min: Max: Disp: 868,70
0,7 m´er´esi eredm´enyek Hib´ak T´avols´ag X Y 353 33 354,53 424 713 829,54 250 397 469,15 444 1513 1576,80 139 303 333,36 238 475 531,28 50 328 331,78 466 78 472,48 0 1100 1100 729 3014 3100,90 0 33 331,78 729 3014 3100,90 Avg: 909,99
A t´abl´azatot tekintve l´athat´o, hogy a m´er´esi eredm´enyek nem a legjobbak. Ha az a´tlagos hib´at tekintj¨ uk, ami k¨ozel 9 m´eter (909,99 cm).
6.2.3. Korrel´ aci´ o - M´ asodik m´ er´ es A m´asodik m´er´esn´el a k¨ usz¨ob´ert´eket 0,8-re emeltem.
Ezzel a be´all´ıt´assal v´egzett
m´er´esek eredm´eny´et az al´abbi 6.6 t´abl´azat foglalja ¨ossze. Az eredm´enyeket tekintve l´athat´o, hogy az eredm´enyek l´atv´anyosan javultak. A hib´ak ¨ossz´ert´eke k´etharmad´ara cs¨okkent. Az a´tlagos hib´ak m´ert´eke pedig 9 m´eterr˝ol 6 m´eterre (666,89 cm) cs¨okkent.
6.2.4. Korrel´ aci´ o - Harmadik m´ er´ es A harmadik m´er´esi sorozatban a korrel´aci´os f¨ uggv´eny hat´ar´ert´ek´et 0,9-re n¨oveltem. Az ´ıgy kapott m´er´esi eredm´enyeket az al´abbi 6.7 t´abl´azatban foglaltam o¨ssze. Az utols´o korrel´aci´os m´er´es bizonyult a legjobbnak. A 0,7-es kezd˝o m´er´eshez k´epest k¨ozel fel´ere cs¨okkent az a´tlagos hiba m´ert´eke azaz 4 m´eterre ( 444,32 cm).
42
WiFi alap´ u belt´eri pozicion´al´asi M´odszerek Vizsg´alata
6.6. t´abl´azat. Korrel´aci´o threshold: Referencia pont Sz´am´ıtott pont X Y X Y 1000 3500 1547 3430 1500 900 1748 845 2025 600 1824 913 2025 1900 2025 1745 1400 3700 1554 3418 1800 3900 1556 3429 1500 3100 1551 3427 2025 3500 1559 3427 850 2400 850 1848 850 400 1654 3425 Min: Max: Disp: 875,72
0,8 m´er´esi eredm´enyek Hib´ak T´avols´ag X Y 547 70 551,46 248 55 254,02 201 313 371,98 0 155 155 154 282 321,30 244 471 530,44 51 327 330,95 466 73 471,68 0 552 552 804 3025 3130,02 0 55 155 804 3025 3130,022 Avg: 666,89
6.7. t´abl´azat. Korrel´aci´o threshold: Referencia pont Sz´am´ıtott pont X Y X Y 1000 3500 1549 3448 1500 900 947 1600 2025 600 1871 851 2025 1900 2024 1742 1400 3700 1551 3446 1800 3900 1562 3428 1500 3100 1204 3519 2025 3500 1566 3425 850 2400 850 2005 850 400 850 750 Min: Max: Disp: 200,59
0,9 m´er´esi eredm´enyek Hib´ak T´avols´ag X Y 549 52 551,45 553 700 892,08 154 251 294,47 1 158 158,00 151 254 295,49 238 472 528,60 296 419 513,00 459 75 465,08 0 395 395 0 350 350 0 52 158,00 553 700 892,08 Avg: 444,32
¨ 6.2.5. Osszegz´ es A korrel´aci´os m´er´eseket tekintve meg´allap´ıthat´o, hogy a k¨ usz¨ob´ert´ek n¨ovel´es´evel a m´odszer pontoss´aga is n˝ott. A sz´or´as pedig a negyed´ere cs¨okkent. Az utols´o esetben a k¨ usz¨ob´ert´ek m´ar 0,9 volt, enn´el elm´eletben m´eg tov´abb n¨ovelhet˝o lenne a k¨ usz¨ob. De a n¨ovel´essel az alkalmaz´as m˝ uk¨od´ese nem garant´alhat´o. Ennek elker¨ ul´ese ´erdek´eben
43
WiFi alap´ u belt´eri pozicion´al´asi M´odszerek Vizsg´alata
tov´abbi WiFi-kel b˝ov´ıthetn´enk a tesztk¨ornyezetet, illetve a referencia adatb´azis b˝ov´ıt´ese is megold´as lehet.
Tov´abb´a az eredm´enyekb˝ol meg´allap´ıthat´o, hogy a folyos´okon
v´egzett m´er´esek jobb eredm´ennyel szerepelnek, mint az el˝ot´erben.
6.2.6. Euklideszi t´ avols´ ag - Negyedik m´ er´ es A negyedik m´er´est m´ar nem befoly´asolja a hat´ar´ert´ek. Az Euklideszi t´avols´ag alap´ u m´odszern´el a t´arolt adatokra sz´am´ıtjuk ki a t´avols´agokat. Majd az els˝o h´arom legkisebb t´avols´aggal rendelkez˝o koordin´at´akb´ol sz´am´ıtjuk ki a keresett poz´ıci´ot. A m´er´eshez tartoz´o eredm´enyeket az al´abbi 6.8 t´abl´azat foglalja ¨ossze. 6.8. t´abl´azat. Euklideszi t´avols´ag m´er´esi eredm´enyek Referencia pont Sz´am´ıtott pont Hib´ak T´avols´ag X Y X Y X Y 1000 3500 1266 3566 266 66 274,06 1500 900 1525 733 25 167 168,86 2025 600 1916 600 109 0 109 2025 1900 2025 1866 0 34 34 1400 3700 1083 3400 317 300 436,45 1800 3900 1600 3800 200 100 223,60 1500 3100 1466 3400 34 300 301,92 2025 3500 1800 3466 225 34 227,55 850 2400 850 2966 0 566 566 850 400 850 2200 0 1800 1800 Min: 0 0 34 Max: 317 1800 1800 Disp: 510,47 Avg: 414,15 Az ´ert´ekeket ¨osszevetve l´athat´o, hogy ez a m´odszer k¨ozel olyan eredm´enyt produk´alt mint a 0,9-es korrel´aci´oval kapottak. De a sz´or´as m´egis t¨obb mint k´etszerese a korrel´aci´o´ehoz k´epest. A m´odszer t¨obbsz¨ori kipr´ob´al´asa k¨ozel ilyen eredm´enyeket adott vissza rendszeresen. Az ´atlagos hiba m´ert´eke pedig alig t¨obb, mint 4 m´eter ( 414,15 cm).
¨ 6.2.7. Osszegz´ es A fingerprinting m´odszerrel v´egzett m´er´esek sor´an val´oban az emelet felm´er´ese volt az ami id˝ot vett ig´enybe. Az emelet felm´er´ese, majd a m´eterenk´enti 50 darabos min44
WiFi alap´ u belt´eri pozicion´al´asi M´odszerek Vizsg´alata
tav´etelez´es k¨ozel 5 o´r´at vett ig´enybe. Ha az emeleten tal´alhat´o minden helys´eget ugyanilyen pontoss´aggal m´ert¨ unk volna fel, akkor ez az id˝o t¨obb mint 10 o´ra lett volna. Ha pedig az eg´esz ´ep¨ uletet, azaz mind a h´arom szintr˝ol k´esz´ıtett¨ unk volna ilyen r´eszletes felm´er´est, akkor az t¨obb mint 30 ´or´at vett volna ig´enybe. Ha pedig a mintav´etelez´es sz´am´at is megn¨oveln´enk, akkor az tov´abb n¨oveln´e ezt az id˝ot. Mindezek mellett pedig azzal is sz´amolni kell, hogy ha id˝ok¨ozben b´armelyik WiFi-t ki kellene cser´elni, vagy a´thelyez´esre ker¨ ulne, akkor ezt a folyamatot meg kellene ism´etelni. K¨ ul¨onben a m´er´esi eredm´enyek pontoss´aga nem garant´alhat´o. Ugyanakkor ha a poz´ıci´o meghat´aroz´as, azaz a referencia pontokban v´egzett ellen˝orz˝o m´er´esek idej´et tekintj¨ uk, azok m´ar r¨ovidebbek voltak mint a trilateration esetben.
6.3. Hib´ ak ´ abr´ azol´ asa 6.3.1. Trilateration Az els˝o 6.7 a´br´an a trilaterationnel v´egzett m´er´esek eredm´enyei l´athat´oak. Az a´br´an minden k´ek pont egy - egy referencia pontnak felel meg. A pontok kiterjed´ese ´es a rajtuk felt¨ untetett hiba m´ert´ek´evel egyezik meg.
6.7. ´abra. Trialteration - Eredm´enyek A k¨ovetkez˝o 6.8 a´br´an a Genetikus algoritmussal v´egzett m´er´es eredm´enyei l´athat´oak. Az a´br´an szint´en a k´ek pontok az egyes referencia m´er´esek hib´ainak nagys´ag´at mutatj´ak. 45
WiFi alap´ u belt´eri pozicion´al´asi M´odszerek Vizsg´alata
6.8. ´abra. Genetikus algoritmus - Eredm´enyek Az al´abbi 6.9 a´br´an a Szimul´alt leh˝ ut´eshez tartoz´o m´er´esi eredm´enyeket l´athatjuk grafikus form´aban.
6.9. ´abra. Szimul´alt leh˝ ut´es - Eredm´enyek Az ´abr´akat tekintve jobban ´eszrevehet˝o, hogy a teremnek mely pontjai azok, ahol jelek visszaver˝od´es´eb˝ol a m´er´esek a´lland´o pontatlans´aga nagy. Az a´br´akon ezek a legfels˝o h´arom, illetve a legals´o m´er´esi pontok. Ezek a pontok konkr´etan a terem k´et v´eg´en´el kijel¨olt m´er´esi pontok. Mivel egy m´ uzeumi teremben voltak ezek a m´er´esek v´egrehajtva, ´ıgy a jelek visszaver˝od´ese mellett legink´abb az u ¨vegvitrinek csillap´ıt´asa volt ilyen hat´assal a m´er´esekre.
46
WiFi alap´ u belt´eri pozicion´al´asi M´odszerek Vizsg´alata
6.3.2. Fingerprinting A fingerprintinghez tartoz´o tesztek grafikus a´br´azol´asai k¨oz¨ ul az els˝o 6.10 ´abra a 0,7es k¨ usz¨ob´ert´ek˝ u Korrel´aci´o hib´ai. A k´ek pontok itt is az egyes referencia pontokhoz tartoz´o m´er´eseket jel¨olik. Ter¨ ulet¨ uk pedig a hiba nagys´ag´aval egyezik meg.
6.10. ´abra. Korrel´aci´o 0,7 - Eredm´enyek A 0,8-es k¨ usz¨ob´ert´ekkel v´egzett m´er´esek hib´ait a 6.11 ´abra szeml´elteti.
6.11. ´abra. Korrel´aci´o 0,8 - Eredm´enyek A v´egs˝o 0,9-es ´ert´ekkel v´egzett korrel´aci´os keres´eshez tartoz´o hib´ak a 6.12 a´br´an l´athat´oak.
47
WiFi alap´ u belt´eri pozicion´al´asi M´odszerek Vizsg´alata
6.12. ´abra. Korrel´aci´o 0,9 - Eredm´enyek Az utols´o 6.13 a´bra az Euklideszi t´avols´aggal v´egzett m´er´esek eredm´enyeihez tartoz´o hib´akat szeml´elteti.
6.13. ´abra. Euklideszi t´avols´ag - Eredm´enyek Az a´br´akat tekintve meg´allap´ıthat´o, hogy a tan´ari folyos´on valamint az o¨sszek¨ot˝o folyos´on a m´er´esek hib´aja kiemelked˝o. Ha a kor´abban m´ar eml´ıtett jeler˝oss´eg t´erk´eppel o¨sszevetj¨ uk ezeket a hib´akat meg´allap´ıthat´o, hogy ezeken a pontokon kev´es a megfelel˝o jelszint. ´Igy ak´ar egy er˝osebb jel vagy a m´ar eml´ıtett mozg´as´erz´ekel˝o rel´ek is okozhatt´ak ezeket a kiugr´o ´ert´ek˝ u hib´akat.
48
7. fejezet Tov´ abbi lehet˝ os´ egek Az elk´esz¨ ult alkalmaz´asok ´es a teszt eredm´enyek r´ev´en bel´athat´o, hogy a belt´eri pozicion´al´as egy ´erdekes ´es tartalmas kutat´asi ter¨ ulet. Az eredm´enyek tanulm´anyoz´as´ab´ol az al´abbi k¨ovetkeztet´eseket vontam le. A felhaszn´alt irodalmakban is eml´ıtett hib´ak a WiFi jelek term´eszet´en´el fogva adottak. A m´er´esek sor´an p´eld´aul felmer¨ ult olyan jelens´eg, hogy az Informatika ´ep¨ uletben elhelyezett mozg´as ´erz´ekel˝os l´amp´ak nagyban befoly´asolt´ak az eredm´enyeket. Ugyanis a l´amp´ak fel ´es lekapcsol´as´at v´egz˝o rel´ek m˝ uk¨od´esbe l´ep´esekor a jelek kiugr´o ´ert´ekeket mutattak. Mindazon´altal a kezdeti elk´epzel´eseimet a rendszer ´ıgy is meghaladta. Az elk´esz¨ ult alkalmaz´asok v´elem´enyem szerint j´o alapot biztos´ıthatnak egy komplexebb rendszerhez. Ahogy t¨obb, m´ar l´etez˝o megold´asn´al eml´ıtettem a c´egek k´et megold´ast szoktak haszn´alni. Ezt a k´et lehet˝os´eget is ´erdemes megvizsg´alni miszerint vagy saj´at hardvert k´esz´ıten´enk ak´ar ad´o ak´ar pedig vev˝o form´aj´aban. Ez a´ltal t¨obb m´odszer is megvizsg´alhat´ov´a ´es fejleszthet˝ov´e v´alna. A m´asik egyszer˝ ubben kivitelezhet˝o lehet˝os´eg, ha a rendszer nem csak WiFi jeleket, hanem m´as jelforr´asokat is haszn´alna a pozicion´al´ashoz. Ilyen hibrid rendszern´el ha tov´abbra is a mobiltelefonokat haszn´aln´ank vev˝ok´ent, akkor a bluetooth ´es az NFC technol´ogi´akkal ´erdemes lenne k´ıs´erletezni. A tov´abbfejlesztett de ak´ar a jelenlegi rendszer is b˝ov´ıthet˝o lenne funkcionalit´as szempontj´ab´ol. A jelenlegi puszta poz´ıci´o meghat´aroz´ason ´es a bevezet´esben eml´ıtett lehet˝os´egeken fel¨ ul egy egyetemi alkalmaz´as is k´esz¨ ulhetne. Ezen kereszt¨ ul az egyetemen val´o t´aj´ekoz´od´as k¨onnyebb´e is v´alhatna. A tantermek, el˝oad´ok ´es tan´ari irod´akhoz val´o navig´al´as is megval´os´ıthat´o funkci´o lehetne. Illetve mindenk´eppen fejleszt´esi c´el, hogy a puszta sz´amadatok helyett vizu´alisabb form´aban k¨oz¨olje az alkalmaz´as a poz´ıci´ot.
49
WiFi alap´ u belt´eri pozicion´al´asi M´odszerek Vizsg´alata
Ugyanakkor a dolgozat kapcs´an egy m´asik t´emak¨or is t¨obbsz¨or felvet˝od¨ott, mely figyelmet ´erdemelne, ez pedig a WiFi-k optim´alis elhelyez´ese egy ´ep¨ uletben. Mivel a tesztk¨ornyezetek ki´ep´ıt´esekor t¨obbsz¨or is k´erd´eses volt, hogy helyezz¨ uk el a WiFiket, hogy azok min´el jobban lefedj´ek a ter¨ uletet. Valamint, hogy az egyes referencia pontokban m´erhet˝o WiFi-k darabsz´ama min´el magasabb legyen.
50
8. fejezet ¨ Osszefoglal´ as A diplomamunk´amban egy belt´eri poz´ıci´o meghat´aroz´as´ara szolg´al´o rendszert terveztem ´es fejlesztettem. Megismerkedtem a l´etez˝o technol´ogi´akkal, m´odszerekkel. Ezek ismeret´eben egy saj´at rendszert terveztem melynek seg´ıts´eg´evel meglehet hat´arozni belt´eri pozici´ot a WiFi jeler˝oss´egek seg´ıts´eg´evel. Az elm´eleti eredm´enyek gyakorlatban t¨ort´en˝o alkalmaz´as´anak ´erdek´eben egy webes ´es egy mobil alkalmaz´ast implement´altam. A megval´osult alkalmaz´asok seg´ıts´eg´evel kipr´ob´altam az elm´eletben megismert elj´ar´asokat, m´er´eseket v´egeztem. A rendszeres tesztel´esnek k¨osz¨onhet˝oen pedig az implement´alt m´odszerek pontoss´ag´at siker¨ ult folyamatosan jav´ıtani. A rendszer felhaszn´al´oi fel¨ ulete az egyes m´er´esek k¨oz¨ott folyamatosan fejl˝od¨ott, egyszer˝ us¨od¨ott, ´ıgy egy letisztult fel¨ uletet kaptunk ´es a rendszer k¨onnyen kezelhet˝ov´e v´alt. A felhaszn´al´oi fel¨ ulet kialak´ıt´as´aban nagy seg´ıts´eget jelentett a m´er´esek v´egrehajt´as´aban seg´ıts´eget ny´ ujt´ok visszajelez´esei. A rendszer elk´esz¨ ult a´llapot´aban a trilateration ´es fingerprinting m´odszerekkel lehet poz´ıci´ot meghat´arozni. Siker¨ ult az a´tlagos hib´at 4 m´eterre cs¨okkenteni, ´ıgy a rendszer megk¨ozel´ıti a piacon el´erhet˝o hasonl´o rendszerek pontoss´ag´at. A tesztek eredm´enyeib˝ol l´athat´o, hogy a m´odszerenk´enti m´er´esekb˝ol a m´er´esek fele az a´tlagn´al kisebb hib´aval rendelkezett. A m´er´esek tov´abb´a azt is megmutatt´ak, hogy m´odszerenk´ent egy - egy pontban volt csup´an kiugr´o a hiba m´ert´eke. A dolgozat eredm´enyek´eppen elk´esz¨ ult egy belt´eri poz´ıci´o meghat´aroz´as´ara szolg´al´o rendszer, melynek pontoss´aga megk¨ozel´ıti a piacon el´erhet˝o hasonl´o rendszerek pontoss´ag´at. A rendszer fel´ep´ıt´es´enek k¨osz¨onhet˝oen k¨onnyen b˝ov´ıthet˝o u ´j m´odszerekkel ´es k¨onnyen implement´alhat´o m´as alkalmaz´asokba. A rendszer tov´abbfejleszt´esi le-
51
WiFi alap´ u belt´eri pozicion´al´asi M´odszerek Vizsg´alata
het˝os´egei k¨oz¨ott fontos megeml´ıteni a bluetooth vagy RFID technol´ogi´ak haszn´alat´anak lehet˝os´eg´et.
52
9. fejezet Summary In my master thesis an indoor positioning system was developed. Some already existing project, related works and methods have been reviewed. Novel system has been designed to implement the two most well–known indoor positioning methods. These methods are called trilateration and fingerprinting. To test these methods I have developed web and a mobile application. Trilateration and fingerprinting were tested in real environment. Measurements were done in the first floor of the Institute of Information Science at University of Miskolc. All measurements proved that the accuracy of developed system is similar to the commercial ones. Moreover there were only a few points in a measurements where the error had a peak. It can be yielded by the environment such as doors or lamps. The developed system has a good accuracy and it can be used in various applications. It can be extended with other indoor positioning methods and technologies such as bluetooth or RFID.
53
10. fejezet K¨ osz¨ onetnyilv´ an´ıt´ as Ez´ uton szeretn´ek k¨osz¨onetet mondani egyetemi konzulensemnek, T´oth Zsoltnak, aki a folyamatos konzult´aci´ok sor´an tud´as´aval, tapasztalat´aval ´es tan´acsaival nagyban hozz´aj´arult a diplomamunk´am elk´esz´ıt´es´ehez.
54
A. f¨ uggel´ ek DVD mell´ eklet • Alkalmaz´asok – indoor-war.war – LocatorApplication.apk – MeasurementApplication.apk – Triletaration-Prototype.apk • Dolgozat – chapters – fig – img – summary.pdf – osszefoglalo.pdf – kiiras.doc – diplomamunka.pdf – diplomamunka.tex • Forr´as – Indoor Positioning Service – LocatorApplication – MeasurementApplication 55
WiFi alap´ u belt´eri pozicion´al´asi M´odszerek Vizsg´alata
– Triletaration-Prototype • Konfigur´aci´o – androidkeystore – indoor iit.sql – settings.xml • Telep´ıt˝ok – adt-bundle-windows-x86-20140321 – apache-tomcat-7.0.47 – xampp
56
B. f¨ uggel´ ek Haszn´ alati u ´ tmutat´ o A trilateration alkalmaz´as kipr´ob´al´as´ahoz egy Androidos okostelefonra van sz¨ uks´eg. A DVD-n tal´alhat´o Alkalmaz´asok/Trilateration-Prototype.apk telep´ıthet˝o a telefonra. A biztos m˝ uk¨od´eshez min´el magasabb verzi´oj´ u telefon haszn´alata aj´anlott. Az alkalmaz´as ind´ıt´asa ut´an WiFi-k list´aj´ab´ol legal´abb h´arom kiv´alaszt´asa sz¨ uks´eges. A k¨ovetkez˝o lapon a kiv´alasztott WiFi-k poz´ıci´oj´at kell megadni. Alap´ertelmezetten az alkalmaz´as centim´eterben sz´amol. A k¨ovetkez˝o oldalon a poz´ıci´o keres´es hajthat´o v´egre. Az alkalmaz´as a settings men¨ un kereszt¨ ul konfigur´alhat´o.
A fingerprinting m´odszer kipr´ob´al´as´ahoz t¨obb mindenre is sz¨ uks´eg van. El˝osz¨or a DVDn tal´alhat´o Telep´ıt˝ok mappa tartalm´at kell ´atm´asolni. A xampp/xampp-controll.exe elind´ıt´as ut´an a megjelen˝o ablakban ind´ıtsuk el az Apache ´es a MySQL szolg´altat´asokat. A MySQL admin oldal´at nyissuk meg szint´en a controll panelr˝ol. Az oldal bet¨olt˝od´ese ut´an hozzunk l´etre egy u ´j felhaszn´al´ot az al´abbi param´eterekkel: n´ev: indoor / password: indoor / hoszt: Helyi (localhost). Ha az Informatika ´ep¨ uletben k´esz¨ ult felm´er´es adatait szeretn´enk tanulm´anyozni, akkor a DVD-r˝ol a Konfigur´aci´o/indoor iit.sql f´aljt import´aljuk. Ha saj´at adatb´azist szeretn´enk k´esz´ıteni, akkor csak egy indoor nev˝ u adatb´azist hozzunk l´etre. Ezut´an ind´ıtsuk el a Telep´ıt˝ok/adt-bundle-windows-x8620140321/eclipse/eclipse.exe-t. Majd import´aljuk Maven/Existing Maven project-k´ent a Forr´as/Indoor Positioning Service. Ezt k¨ovet˝oen a DVD/Konfigur´aci´o/settings.xml-t m´asoljuk a C:/Users/user/.m2 mapp´aba. A projekt import´al´asa ut´an a buildel´eshez v´alasszuk a Run/Run as/Maven Build... men¨ ut. A megjelen˝o ablakban a Goal-hoz vegy¨ uk fel a clean install c´elokat,
57
WiFi alap´ u belt´eri pozicion´al´asi M´odszerek Vizsg´alata
majd a profile-nak vegy¨ uk fel a deployment. A futtat´assal elk´esz¨ ul az adatb´azis. K¨ovetkez˝o l´ep´esben ind´ıtsuk el a Telep´ıt˝ok/apache-tomcat-7.0.47/bin/startup.bat f´ajlt. Egy b¨ong´esz˝ot elind´ıtva a localhost:8080/indoor-war/ c´ımet g´epelj¨ uk be. A megjelen˝o alkalmaz´as az adatb´azis kapcsolat kipr´ob´al´as´ara szolg´al. Az Eclipse-be import´aljuk be a Forr´as/LocatorApplication ´es MeasurementApplication-ket mint Android projekteket. Mindk´et projektben a MainActivity.java oszt´alyban az al´abbi TEST SERV URL string ip c´ım´et aktualiz´aljuk. Amennyiben nem sz¨ uks´eges megv´altoztatni, akkor a DVD/Alkalmaz´asok mapp´ab´ol telep´ıthet˝o a Locator ´es MeasurementApplication.apk. Ha a´t´ırtuk a forr´asban, akkor ´erdemes a projektekb˝ol egyes´evel al´a´ırt csomagot k´esz´ıteni. Ehhez a sz¨ uks´eges f´alj a Konfigur´aic´o/androidkeystore, amelyhez a n´ev jelsz´o p´aros minden esetben az indoor/indoor. Az elk´esz¨ ult alkalmaz´asokat telep´ıtve a telefonokra a LocatorApplication seg´ıts´eg´evel referencia pontokat menthet¨ unk az adatb´azisba. A referencia pontokat centim´eterben adjuk meg. A felm´er´esek v´egezt´evel a localhost:8080/indoor-war oldalon ellen˝orizhetj¨ uk az adatb´azis tartalm´at az esetlegesen feleslegesnek v´elt pontokat vagy WiFi-ket t¨or¨ol– hetj¨ uk. V´eg¨ ul a MeasurementApplication-el kipr´ob´alhatjuk a pozicion´al´ast a felvett referencia adatb´azisunkon.
58
Irodalomjegyz´ ek [1] Android.
http://hu.wikipedia.org/wiki/Android_(oper%C3%A1ci%C3%B3s_
rendszer). [2] Android szenzorok. http://developer.android.com/guide/topics/sensors/ sensors_overview.html. Link utolj´ara ellenırizve: 2014-05-11. [3] Answare kft. http://www.answare.hu/. Link utolj´ara ellenırizve: 2014-05-11. [4] Bluenion. http://www.bluenion.com/. Link utolj´ara ellenırizve: 2014-05-11. [5] Bluetooth.
http://en.wikipedia.org/wiki/Bluetooth.
Link utolj´ara el-
lenırizve: 2014-05-11. [6] Ekahau. http://www.ekahau.com/. Link utolj´ara ellenırizve: 2014-05-11. [7] Gps.
http://en.wikipedia.org/wiki/Global_Positioning_System.
Link
utolj´ara ellenırizve: 2014-05-11. [8] Navizon. http://www.navizon.com/. Link utolj´ara ellenırizve: 2014-05-11. [9] Nfc.
http://en.wikipedia.org/wiki/Near_field_communication.
Link
utolj´ara ellenırizve: 2014-05-11. [10] Wifi. http://en.wikipedia.org/wiki/Wi-Fi. Link utolj´ara ellenırizve: 201405-11. [11] P. Bahl and V.N. Padmanabhan. Radar: an in-building rf-based user location and tracking system. Proc. of IEEE INFOCOM, 2:775 – 784, 2000. [12] ClickSoftware.
Your smartphone could be worth 12,000, new survey finds.
http://www.clicksoftware.com/087d7277-cabb-431d-ae82-1514343e13f9/ news-press-releases-detail.htm, 2013. Link utolj´ara ellenırizve: 2014-05-11. 59
WiFi alap´ u belt´eri pozicion´al´asi M´odszerek Vizsg´alata
[13] Michael Quan Eduardo Navarro, Benjamin Peuker. Wi-fi localization using rssi fingerprinting. Master’s thesis, California Polytechnic State University, Computer Engineering Department, 2010. [14] P. Banerjee H. Liu, H. Darabi and J. Liu. Survey of wireless indoor positioning techniques and systems. IEEE Transactions on Systems, Man, and Cybernetics, Part C: Applications and Reviews, 37:1067–1080, 2007. [15] Hyunjae Park Joo-Yub Lee, Cheal-Hwan Yoon and Jungmin So. Analysis of location estimation algorithms for wifi fingerprint-based indoor localization. SERSC, 19:89 – 92, 2013. [16] Elissa Nadia Suhailan Safei Engku Fadzli Nor Aida Mahiddin, Noaizan Safie. The international conference on informatics and applications (icia2012). In INDOOR POSITION DETECTION USING WIFI AND TRILATERATION TECHNIQUE, pages 362–366, 2012. [17] ABI Research. 2013;
139.1 million consumer wi-fi access points shipped in
802.11ac sales rapidly accelerating.
https://www.abiresearch.
com/press/1391-million-consumer-wi-fi-access-points-shipped-, February 2014. Link utolj´ara ellenırizve: 2014-05-11. [18] JUSTIN STOOK and EDWARD VERBREE. 9th symposium on location bases services. In Localization with Wi-Fi Fingerprinting: towards Indoor Navigation on Smartphones, page 5, 2012. [19] Nattapong Swangmuang and Prashant Krishnamurthy. Sixth annual ieee international conference on pervasive computing and communications. In Location Fingerprint Analyses Toward Efficient Indoor Positioning, pages 100–109, 2008.
60