TRABAJO DE FIN DE CARRERA
TÍTULO: Sis emas de posicionamien o basados en WiFi
TITULACIÓN: Ingenie ía Técnica de Telecomunicaciones. Especialidad en
Sis emas de Telecomunicaciones
AUTORA: A oa Ca ca illa Sanz
DIRECTOR: Roc Messegue Palla ès
FECHA: 24 de eb e o de 2006
Tí ulo: Sis emas de posicionamien o basados en WiFi
Au o a: A oa Ca ca illa Sanz
Di ec o : Roc Messegue Palla ès
Fecha: 24 de eb e o de 2006
Resumen
Pa a muchas aplicaciones es un equisi o imp escindible conoce la posición
del usua io, bien po el disposi i o del usua io o bien po el equipo que
adminis a la ed.
Los ac uales sis emas de posicionamien o global no pe mi en la localización
con p ecisión de disposi i os en in e io es, y equie en un equipamien o más
cos oso y con un ha dwa e especí ico. Debido a es o, hay una cla a
necesidad de desa olla sis emas de posicionamien o o localización en
in e io es. En algunos casos se a a de u iliza la misma idea del GPS u o as
me odologías pe o aplicándolas a edes Wi eless, es deci , c ea un sis ema
de localización basado en la ecnología WiFi ( edes inalámb icas WiFi).
En es e p oyec o se p e ende es udia el uncionamien o gene al de los
sis emas de posicionamien o basados en WiFi y más conc e o alo a las
p es aciones de dos sis emas de so wa e lib e, Place Lab y He ecas ,
basándonos en el sis ema come cial Ekahau como e e encia.
Hemos ealizado a ias p uebas con cada uno de los sis emas en di e en es
escena ios pa a e su uncionamien o y pode los compa a con el sis ema de
e e encia. Hemos comp obado como abaja cada uno de los sis emas en las
di e en es si uaciones y hemos hecho los cambios en el código Ja a de uno
de los sis emas de so wa e lib e, Place Lab, pa a mejo a su p ecisión y pa a
que su mé odo de cálculo de la posición ue a más e ec i o. Hemos
descubie o que la colocación de los AP’s o pun os de acceso y la
con igu ación de la ed Wi eless es impo an e pa a que no haya
in e e encias ni allos en los sis emas.
Finalmen e, con los esul ados ob enidos con cada sis ema concluimos que el
mé odo de cálculo más e icaz y con el que mejo p ecisión se ob iene es el
que u iliza Ekahau. Po eso, pa a mejo a los o os sis emas se end ía que
adap a es a écnica en sus implemen aciones y así aumen a su esolución.
De es a o ma consegui íamos un sis ema de localización basado en WiFi
más obus o y e ec i o, aplicable en cualquie ámbi o.
Ti le: WiFi Posi ioning Sys ems
Au ho : A oa Ca ca illa Sanz
Di ec o : Roc Messegue Palla ès
Da e: Feb ua y, 24 h 2006
O e iew
Fo many applica ions is an indispensable equi emen o know he posi ion o
use , ei he o he de ice o he use o ei he o he eam ha adminis e s he
ne wo k.
The ac ual sys ems o global posi ioning don’ pe mi he indoo loca ing wi h
p ecision o de ices, and hey equi e a mo e cos ly equipmen and wi h a
speci ic ha dwa e. Due o his, he e is a clea need o de elop posi ioning
sys ems o indoo loca ion sys ems. In some cases he ma e is use he same
idea o he GPS bu wi h Wi eless ne wo ks, ha is o say, c ea e a loca ion
sys em based on he WiFi echnology (Wi eless ne wo ks WiFi).
In his p ojec in ends o s udy he gene al ope a ion o he posi ioning sys ems
based on WiFi and mo e conc e e alue he bene i s o wo sys ems o ee
so wa e, Place Lab and He ecas , basing us on he comme cial sys em
Ekahau as e e ence.
We ha e made se e al es s wi h each one o he sys ems in di e en se ings
o see i s ope a ion and can compa e i wi h he sys em o e e ence. We ha e
e i ied as wo ks each one o he sys ems in he di e en si ua ions and we
ha e done he changes in he code in Ja a o Place Lab, o imp o e i s
p ecision and so ha i s me hod o calcula ion
he posi ion was mo e e ec i e.
We ha e disco e ed ha he placemen o he AP's o poin s o access and he
con igu a ion o he Wi eless ne wo k is impo an so ha don’ p oduce
in e e ences nei he ailu es in he es ima e o he sys ems.
Finally, wi h he esul s ob ained wi h each sys em, we concluded ha he
me hod o calcula e ha ob aine mo e e ec i e and be e p ecision is he one
ha uses Ekahau. The e o e, o imp o e he o he sys ems mus adap his
echnique in i s implemen a ions o enla ge he esolu ion. In his way, we
would ob ain a s onge and e ec i e loca ion sys em based on WiFi,
applicable in any en i onmen .
ÍNDICE
CAPÍTULO 1. INTRODUCCIÓN ........................................................................ 1
1.1. Razón del p oyec o.................................................................................... 1
1.2. Obje i os del p oyec o .............................................................................. 2
CAPÍTULO 2. SISTEMAS DE LOCALIZACIÓN................................................ 3
2.1. De inición de un sis ema de localización ................................................ 3
2.2. Sis ema de localización basado en WiFi ................................................. 3
2.2.1. Obje i os de un sis ema de localización.......................................... 4
2.2.2. Ca ac e ís icas de un sis ema de localización................................. 4
2.2.3. U ilidades y Aplicaciones de un sis ema de localización ................. 4
2.2.3.1. Indus ia y anspo e ................................................................. 5
2.2.3.2. Se icios sani a ios y de eme gencia ................................. 5
2.2.3.3. Logís ica ............................................................................. 5
2.2.3.4. Ges ión de seguimien os........................................................... 5
2.2.3.5. Se icios de ac i ación au omá ica ......................................... 5
2.2.3.6. In o mación de á ico y u ismo............................................... 5
2.3. Compa a i a en e un sis ema de localización basado en WiFi y
GPS….......................................................................................................... 6
CAPÍTULO 3. MÉTODOS PRINCIPALES PARA EL CÁLCULO DE LA
POSICIÓN EN SISTEMAS DE LOCALIZACIÓN BASADOS EN WIFI....... 7
3.1. Vec o de Po encia..................................................................................... 7
3.2. T iangulación de Po encia ........................................................................ 7
3.3. Heu ís icas.................................................................................................. 8
3.3.1. Heu ís ica de P oximidad................................................................. 8
3.3.2. Mé odo de los ecinos más ce canos.............................................. 8
3.3.3. Heu ís ica de Mo imien o ................................................................ 8
3.3.4. Teo ía de Bayes .............................................................................. 9
3.3.5. Redes Neu ales o Neu onales......................................................... 9
3.4. Conclusiones de los mé odos p incipales pa a el cálculo de la
posición...................................................................................................... 9
CAPÍTULO 4. EJEMPLOS DE SISTEMAS DE LOCALIZACIÓN EN
INTERIORES BASADOS EN WiFi............................................................ 10
4.1. Ekahau...................................................................................................... 10
4.1.1. Ca ac e ís icas del sis ema............................................................ 10
4.1.2. La idea básica del cálculo de la posición....................................... 10
4.1.3. Elemen os del sis ema................................................................... 11
4.1.4. Resolución del sis ema.................................................................. 11
4.1.5. Mé odo que u iliza pa a calcula la posición .................................. 11
4.2. Place Lab.................................................................................................. 12
4.2.1. Ca ac e ís icas del sis ema............................................................ 12
4.2.2. La idea básica del cálculo de la posición....................................... 12
4.2.3. Elemen os del sis ema................................................................... 13
4.2.4. Resolución del sis ema.................................................................. 13
4.2.5. Mé odo que u iliza pa a calcula la posición .................................. 13
4.3. He ecas .................................................................................................... 15
4.3.1. Ca ac e ís icas del sis ema............................................................ 15
4.3.2. La idea básica del cálculo de la posición....................................... 15
4.3.3. Elemen os del sis ema................................................................... 15
4.3.4. Resolución del sis ema.................................................................. 16
4.3.5. Mé odo que u iliza pa a calcula la posición .................................. 16
4.4. Compa a i a eó ica en e los es sis emas......................................... 16
CAPÍTULO 5. PRUEBAS A REALIZAR.......................................................... 18
5.1. Desc ipción de las p uebas .................................................................... 18
5.2. Con igu ación de la ed Wi eless ........................................................... 18
5.3. Escena io 1 de las p uebas: Labo a o io 016........................................ 18
5.3.1. P ueba con Ekahau en el labo a o io 016 ..................................... 19
5.3.1.1. Con igu ación del disposi i o clien e..................................19
5.3.1.2. Calib ación del mapa de localización o En enamien o.....20
5.3.1.3. Localización del disposi i o................................................21
5.3.2. P ueba con Place Lab en el labo a o io 016.................................. 22
5.3.2.1. Con igu ación del disposi i o clien e..................................22
5.3.2.2. Calib ación del mapa de localización o En enamien o.....22
5.3.2.3. Localización del disposi i o................................................23
5.3.3. P ueba con He ecas en el labo a o io 016 ................................... 25
5.3.3.1. Con igu ación del disposi i o clien e..................................25
5.3.3.2. Calib ación del mapa de localización o En enamien o.....26
5.3.3.3. Localización del disposi i o................................................26
5.4. Escena io 2 de las p uebas: Media plan a del edi icio de p o eso es de
la EPSC..................................................................................................... 28
5.4.1. P ueba con Ekahau en media plan a....................... ......................29
5.4.2. P ueba con Place Lab en media plan a......................................... 32
5.4.3. P ueba con He ecas en media plan a .......................................... 33
CAPÍTULO 6. CREACIÓN DE UN TRACKER PARA PLACE LAB............... 34
6.1. Teo ía pa a la implemen ación de un T acke ......... ......................34
6.2. Funcionamien o de un T acke ................................ ......................35
CAPÍTULO 7. RESULTADOS PRÁCTICOS Y CONCLUSIONES ............... 348
7.1. Obje i os alcanzados .............................................. ......................38
7.2. Resul ados de las p uebas de los es sis emas............................ 38
7.3. P oblemas que nos hemos encon ado du an e la ealización de las
p uebas .............................................................................. ......................39
7.4. Posibles mejo as y abajos u u os......................... ......................40
7.5. Fu u o de los sis emas de localización basados en WiFi............... 41
7.6. Ambien alización ........................................................................... 41
BIBLIOGRAFÍA ............................................................................................... 42
ANEXOS .......................................................................................................... 42
Anexo 1: Códigos de las aplicaciones en Ja a pa a Place Lab ................ 43
1.1. Código del Mappe Roc.................................................................. 43
1.2. Código del S a iona yPosi ionT acke ........................................... 44
1.3. Código del Cen oidT acke que iene po de ec o en Place Lab.. 45
1.4. Código del Cen oidT acke que ponde a la po encia de los AP’s. 47
1.5. Código del PlaceLabExample pa a usa el Cen oidT acke que
ponde a la po encia de los AP’s............................................................... 50
Anexo 2: Tabla de ha dwa e compa ible pa a Place Lab............................ 51
In oducción 1
CAPÍTULO 1. INTRODUCCIÓN
En es e p oyec o e aluamos el uncionamien o de los sis emas de
posicionamien o basados en WiFi pa a calcula la posición de un usua io.
En es e p ime capí ulo se explican las azones po las que se ha lle ado a
cabo es e p oyec o y los obje i os p incipales que se p e enden consegui con
el desa ollo del abajo.
En el segundo capí ulo del abajo se explica de o ma gene al como unciona
un sis ema de localización y más conc e o uno basado en WiFi, sus
ca ac e ís icas, obje i os y aplicaciones. En el úl imo apa ado se hace una
compa a i a en e un sis ema de localización basado en WiFi y el GPS.
En el e ce capí ulo se expone b e emen e la eo ía de las p incipales écnicas
que se u ilizan pa a calcula la posición de una pe sona o cosa a a és de una
ed WiFi.
En el capí ulo cua o se de allan las ca ac e ís icas, obje i os y mé odos de
cálculo que ienen cada uno de los es sis emas escogidos pa a abaja en
es e p oyec o. Al inal de es e capí ulo se hace una compa a i a eó ica de los
es sis emas que se u iliza án en las p uebas pos e io es.
En el quin o capí ulo se desc iben las p uebas ealizadas con cada uno de los
es sis emas en dos escena ios de p uebas di e en es. El p ime escena io es
más educido, se abaja solo en el labo a o io 016 de la EPSC y en el o o
escena io se amplia la zona de localización a media plan a baja del edi icio de
p o eso es, incluyendo el labo a o io 016. Pa a cada escena io se ha u ilizado
una con igu ación de la ed Wi eless di e en e pe o man eniéndola pa a los es
sis emas.
En el capí ulo seis se explica como unciona un T acke , que es el componen e
del clien e de Place Lab que hace los cálculos de posición y que unciones se
deben implemen a pa a pode c ea uno que uncione en las aplicaciones de
Place Lab.
En el úl imo capí ulo igu an las conclusiones espec o a los obje i os de inidos,
la compa ación de los esul ados de las p uebas con los es sis emas, los
p oblemas que nos hemos encon ado al ealiza dichas p uebas. Comen amos
ambién las mejo as que se pod ían ealiza a la ho a de epe i las p uebas y el
abajo que se pod ía hace además del que ya es á hecho pa a mejo a los
esul ados. Po úl imo, se comen a el impac o de un sis ema de localización
sob e el medio ambien e.
1.1. Razón del p oyec o
Se puede pensa que las edes inalámb icas es án o ien adas sólo a da
soluciones a necesidades emp esa iales, pe o cada ez más se empiezan a
8 Sis emas de posicionamien o basados en WiFi
- El cen o del iángulo con el á ea más pequeña se oma como
es imación de la ubicación del clien e
Fig 2.1 Pun os de iangulación esul ado de un sis ema de ecuaciones
3.3. Heu ís icas
Los mé odos heu ís icos se pueden u iliza po si solos o como mejo a de los
dos mé odos p incipales, desca ando posiciones de la base de da os pa a
educi las posibles localizaciones.
3.3.1. Heu ís ica de P oximidad
Mé odo que se basa en el pun o de acceso más ce cano al e minal pa a
de e mina su posición. Según la po encia que nos llega al clien e de cada
pun o de acceso, se desca an los alo es mínimos y se dice que la mayo
po encia co esponde al del pun o de acceso más ce cano al disposi i o. Po lo
an o, se asume que el clien e es á en la posición de dicho pun o de acceso.
3.3.2. Mé odo de los ecinos más ce canos
El mé odo de los k- ecinos más ce canos o ma pa e de una amilia de
écnicas de ap endizaje conocida como ap endizaje basado en ejemplos
(ins ance-based lea ning). El ap endizaje en es os algo i mos consis e
simplemen e en memo iza los ejemplos de en enamien o p esen ados.
Cuando una nue a posición se le p esen a al sis ema de ap endizaje, un
conjun o de ejemplos simila es se ecupe a de la memo ia pa a clasi ica la
nue a posición. Po lo an o, podemos conoce una ubicación ap oximada del
usua io. En incon enien e de es a écnica es que equie e un g an núme o de
pun os de calib ación pa a pode hace las compa aciones.
3.3.3. Heu ís ica de Mo imien o
El mo imien o es una pa e impo an e del con ex o de un usua io en un
sis ema de localización. Es posible clasi ica a un usua io como pa ado o en
mo imien o basándonos en la ue za de la señal WiFi. Hay que ene en cuen a
Mé odos p incipales pa a el cálculo de la posición en sis emas de localización basados en WiFi 9
que la ue za de señal de los AP’s hace más picos al ededo de la posición
es imada cuando el disposi i o es á en el mo imien o que cuando es á pa ado.
También hay que en ena al disposi i o an o en mo imien o al ededo de una
zona como pa ado en un pun o de in e és.
3.3.4. Teo ía de Bayes
Técnica p obabilís ica que man iene una dis ibución de p obabilidad sob e
odas las posibles ubicaciones del en o no. Las écnicas p obabilís icas
consiguen una p ecisión supe io que las écnicas de e minis as a cambio de
un mayo cos e compu acional.
La ap oximación Bayesiana se suele aplica en los casos en los que la
ep esen ación del en o no es en o ma de ejillas. O a al e na i a pa a
modela el en o no es median e un mapa opológico. En es e caso la
localización se basa en el hecho de que el disposi i o iden i ica
au omá icamen e que ha alcanzado un nodo del mapa en base a alguna
in o mación geomé ica del en o no.
3.3.5. Redes Neu ales o Neu onales
Es a ecnología puede cons ui sis emas capaces de ap ende , de adap a se a
condiciones a ian es, o incluso si se dispone de una colección su icien e de
da os, p edeci el es ado u u o de algunos modelos. El en enamien o en es e
caso se u iliza pa a agiliza el ap endizaje. Se hace memo iza ca ac e ís icas
de los pun os de in e és al disposi i o y así econoce el á ea de localización en
iempo eal.
3.4. Conclusiones de los mé odos p incipales pa a el
cálculo de la posición
En el mé odo del Vec o de Po encia, la ase de en enamien o es la que hace
que és e sea el mé odo más p eciso.
La écnica de la T iangulación de Po encia, no iene ase de en enamien o de
los disposi i os, es o hace que se pase di ec amen e de la ase de
conocimien o de los AP’s a la ase de es imación de la posición del usua io.
Las écnicas heu ís icas se u ilizan pa a mejo a la p ecisión en los sis emas
que u ilizan un mé odo como la iangulación de po encia, en la que la p ecisión
se puede aumen a aplicándolas.
10 Sis emas de posicionamien o basados en WiFi
CAPÍTULO 4. EJEMPLOS DE SISTEMAS DE
LOCALIZACIÓN EN INTERIORES BASADOS EN WiFi
4.1. Ekahau
Ekahau es el sis ema de localización que hemos usado como e e encia pa a
es udia y p oba los o os dos sis emas que se desc iben en el capí ulo. Es el
único so wa e que hay en el me cado basado en iempo eal pa a sis emas de
localización. Se basa en la calib ación de la ue za de señal y las huellas
digi ales que emi en las adiobalizas de la ed Wi eless. Funciona an o en
in e io como en ex e io siemp e que haya cobe u a Wi eless.
4.1.1. Ca ac e ís icas del sis ema
- Es compa ible an o con los disposi i os pasi os de Ekahau: e ique as o
Tags T201, como con disposi i os ac i os: o denado es po á iles,
PDA’s, e c, con conec i idad Wi eless.
- Tiene una p ecisión de has a 1 me o en las mejo es condiciones de la
ed Wi eless y del es ado de los AP’s.
- Pe mi e localiza muchos disposi i os a la ez y sob e el mismo mapa de
si uación, ya sean disposi i os ac i os o pasi os.
- La in o mación de posición incluye las coo denadas x, y, el edi icio, el
piso, la habi ación y la zona.
- Funciona sob e cualquie es ánda 802.11
- El disposi i o del clien e necesi a la ins alación del so wa e Ekahau
Clien y un en enamien o pa a calib a los mapas del á ea de
localización.
4.1.2. La idea básica del cálculo de la posición pa a WiFi
Ekahau u iliza el mé odo del ec o de po encia pa a calcula la posición del
usua io a pa i de la po encia de los AP’s. La ase de en enamien o de los
disposi i os se ealiza midiendo las señales que se eciben de los AP’s en unos
pun os de calib ación. El cálculo de los ec o es de posición se ealiza de
mane a dis in a según si el disposi i o es ac i o (PDA, o denado ) o pasi o
( ags). En la ase de es imación, pa a cada pun o de la localización se compa a
la in ensidad de señal que emi en los AP’s con la base de da os c eada en la
ase de en enamien o y así de e mina la posición del usua io.
Ejemplos de sis emas de localización en in e io es basados en WiFi 11
4.1.3. Elemen os del sis ema
- EPE (Ekahau Posi ioning Engine)
Es el so wa e de Ekahau que se u iliza como Cen o de Con ol y es el que se
enca ga de hace de pla a o ma de localización, es deci , desde donde se
calcula y con ola la posición de odos lo disposi i os clien es de Ekahau.
- Los Access Poin en el á ea de localización
Pe mi en en ia la in o mación de la ed cableada hacia los clien es. En es e
sis ema hay una condición pa a pode ealiza la localización, como mínimo
es de los AP’s ienen que se de nues a ed.
- Ekahau Clien
So wa e que se debe ins ala en el disposi i o del clien e (PDA, Tag,
po á il…), do ado de una a je a in e az de ed que incluya un anscep o
adio y una an ena, pa a pode se localizado.
4.1.4. Resolución del sis ema
La p ecisión media de Ekahau es de 1 me o en espacios in e io es y con al
menos 3 access poin s a la is a. En las p uebas hemos obse ado que el
e o suele se mayo en casi odos los casos, en e 1,2 y 2,3 me os.
4.1.5. Mé odo que u iliza pa a calcula la posición
Ekahau se basa en la écnica del WiFi Mapping o Vec o de Po encia además
de una heu ís ica de mo imien o pa a mejo a la p ecisión del sis ema. Po eso
y como ya se ha explicado an es, la ase de en enamien o es la base de la
localización. Pa a el cálculo de la posición en los disposi i os ac i os hay que
ins ala el so wa e de Ekahau Clien . Es e so wa e se enca ga de medi las
señales que p o ienen y se en ían a los AP’s, y c ea el ec o de po encias.
En el caso de las e ique as o disposi i os pasi os son los AP’s los que calculan
las coo denadas de la e ique a en el á ea de localización y las en ían al
se ido .
En la siguien e igu a se e ep esen ado el mé odo de cálculo de la posición
que u iliza Ekahau. El pun o ojo es la posición del usua io que se es ima a
a és de las po encias que le llegan de los AP’s que iene a la is a.
12 Sis emas de posicionamien o basados en WiFi
Fig 4.1 Desc ipción isual del cálculo de la posición de Ekahau median e las
po encias que llegan al disposi i o de cada AP
4.2. Place Lab
Place Lab es un so wa e lib e de ácil uso des inado pa a aplicaciones de
cálculo de la posición de un usua io. Es capaz de p opo ciona la localización
del clien e an o en in e io es como en ex e io es. Al se lib e pe mi e el acceso
y la modi icación de los códigos uen e, esc i os en el lenguaje Ja a, de o ma
que se pueda ajus a la aplicación según las unciones que se necesi an.
4.2.1. Ca ac e ís icas del sis ema
- Los clien es pueden de e mina su ubicación sin necesidad de
in e ac ua cons an emen e con un se icio cen al, es deci , el cálculo
de la posición se ealiza desde el p opio disposi i o.
- P i acidad: El p incipio más impo an e de p i acidad de Place Lab es
que los disposi i os deben se capaces de posiciona se basándose en el
moni o eo pasi o del en o no o escena io de localización.
- Pe mi e la localización de los disposi i os median e WiFi (balizas 802.11
o access poin s), o es GSM de elé onos mó iles, disposi i os ijos de
Blue oo h y GPS.
- Maximiza la cobe u a en la mayo ía de si uaciones co idianas, ya que
educe el iempo y la di icul ad de localización g acias a la g an can idad
de AP disponibles y su ácil mapeo
4.2.2. La idea básica del cálculo de la posición
Todos los access poin s ienen un iden i icado único que se co esponde con
la di ección de la capa ísica del p o ocolo 802.11 (di ección MAC). Es e
iden i icado pe mi e econoce los AP’s y sabe en qué posición es án
ubicados. Pa a de e mina la posición del usua io el sis ema ejecu a una
aplicación que escucha los iden i icado es de las señales que llegan de los
Ejemplos de sis emas de localización en in e io es basados en WiFi 13
AP’s. En onces se busca la posición de los AP’s asociada a una zona del mapa
y gua dada en una base de da os. Pa a sabe la posición del usua io se hace
e e i és a a la localización de los AP’s. Es deci , el sis ema se basa en la
posición de los access poin s pa a calcula la posición del usua io. Los
disposi i os que u ilizan Place Lab sólo necesi an in e ac ua con los AP’s con
el in de adqui i sus iden i icado es.
4.2.3. Elemen os del sis ema
- Los Access Poin s en el ambien e
Son imp escindibles pa a pode localiza un disposi i o median e Place Lab.
Los AP’s se econocen median e la di ección MAC, que los hace únicos.
Median e es e iden i icado el clien e puede calcula su posición más
ácilmen e. En Place Lab, los AP’s no ienen po qué se de nues a ed, se
pueden u iliza cualquie a de los que engamos a la is a.
- La Base de Da os
Place Lab depende de la localización de los AP’s pa a unciona co ec amen e,
po lo que necesi a una Base de Da os que con enga las coo denadas de los
AP’s y su di ección MAC. En nues o caso hemos u ilizado una base de da os
local, que almacena la in o mación de los AP’s en el o denado que u ilizamos
como disposi i o clien e, pe o si hay a ios disposi i os a localiza , se puede
u iliza una base de da os emo a a la que accedan odos los usua ios.
- Los Clien es de Place Lab
Son los usua ios, que ins alan el so wa e en sus disposi i os. La uncionalidad
del clien e se di ide en es pa es: Spo e s, Mappe s y T acke s. Los Spo e s
son como los sen idos del clien e, esponsables de obse a el mundo ísico y
moni o ea la in e az adio y compa i los iden i icado es de los AP’s con o os
componen es del sis ema. La unción del Mappe es busca en la base de da os
la in o mación de los AP’s conocidos, sus coo denadas, su di ección MAC y si
son de ipo Wi eless, Blue oo h o GPS. El T acke es el componen e del clien e
que u iliza los da os p opo cionados po el Spo e y el Mappe pa a es ima la
posición del usua io. Los clien es de Place Lab no necesi an ansmi i da os
pa a de e mina su posición.
4.2.4. Resolución del sis ema
La p ecisión media eó ica de Place Lab es de en e 15 y 20 me os, o el doble
del e o que hay en GPS. La cobe u a y la exac i ud de Place Lab dependen
del núme o y del ipo de AP que hay al ededo del disposi i o clien e.
4.2.5. Mé odo que u iliza pa a calcula la posición
En p ime luga hay que añadi en una base de da os que c eamos noso os,
las coo denadas de los AP’s que o man nues a ed Wi eless y su di ección
14 Sis emas de posicionamien o basados en WiFi
MAC, pa a que puedan se egis ados como AP’s conocidos y el es o de AP’s
que ea el disposi i o al ededo como desconocidos.
Como se puede e en la igu a siguien e, los AP’s de nues a ed son
econocidos po los in o mación que hemos in oducido en la base de da os. El
es o de AP’s se mues an como desconocidos.
Fig 4.2 Aplicación Mappe Roc.ba en la consola de Windows pa a lis a los
AP’s conocidos y desconocidos
Place Lab no iene ase de en enamien o, del econocimien o de los AP’s ya se
puede hace la ase de es imación o localización de los disposi i os. En es a
ase, según el T acke que se u iliza, la heu ís ica aplicada es di e en e. Pa a
una p ime a p ueba o pa a comp oba el uncionamien o del sis ema, se usa el
Cen oidT acke (basado en geome ía), que a pa i de las coo denadas de la
posición de los AP’s calcula el pun o medio de odas y conside a que la
posición del usua io es el pun o calculado.
Fig 4.3 Desc ipción isual del cálculo de la posición del Cen oidT acke
Ejemplos de sis emas de localización en in e io es basados en WiFi 15
4.3. He ecas
Sis ema en p uebas que p opo ciona se icios de posición basados en WiFi. Se
basa en una base de da os con la posición de odos los pun os de acceso, de
o ma que u iliza un algo i mo de e e encia a la base de da os pa a el cálculo
de la ubicación del usua io.
4.3.1. Ca ac e ís icas del sis ema
- P i acidad: Los cálculos se hacen sob e el disposi i o, po lo que no se
as ea al usua io desde ningún se ido cen al.
- U iliza un sis ema de nomb amien o simbólico y no de coo denadas, es
deci , exp esa su localización en é minos que puedan en ende los
usua ios.
- Tiene una in aes uc u a abie a, accesible pa a odos los usua ios.
- P opo ciona una esolución buena pa a pode ac ua con un solo AP en
una habi ación g ande.
- Pa a cada pun o de acceso se almacena: país, p o incia, ciudad, á ea,
edi icio (nomb e y calle) y plan a.
- La base de da os se a c eando y modi icando cuando un usua io
descub e in o mación de un nue o pun o de acceso. Es a in o mación
pueden e la odos los usua ios.
4.3.2. La idea básica del cálculo de la posición
He ecas c ea una base de da os donde se gua da la in o mación pa a cada
AP. Cada ez que nos ace camos a un AP desconocido enemos que gua da
sus da os (país, ciudad, p o incia, edi icio…) en la base de da os asociándole
así una posición. En el p oceso de localización, al es a ce ca de un AP
conocido sabemos en qué posición es amos e i iéndola a la localización del
AP.
4.3.3. Elemen os del sis ema
- Los Access Poin s
Disponen de un código de iden i icación que, a ni el usua io, suele se bas an e
inse ible. He ecas elaciona es os códigos con cadenas de ex o u ilizadas
pa a iden i ica la zona donde se encuen a el pun o de acceso (p oceso
denominado landma k).
16 Sis emas de posicionamien o basados en WiFi
- La Base de da os
He ecas almacena oda la in o mación e e en e al código del pun o de acceso
y la in o mación de la zona. Cuando un usua io se conec a a un pun o
de e minado, el p og ama busca el código en la base de da os y mues a en
pan alla la in o mación de la zona co espondien e. Las bases de da os las
ac ualiza cualquie usua io ( egis ado) del mundo.
- So wa e He ecas
En los disposi i os clien es hay que ins ala el sis ema pa a pe mi i la
localización del apa a o y di e sas aplicaciones asociadas a ella.
4.3.4. Resolución del sis ema
He ecas es exac o bajo un ni el de señal de un solo AP, po lo gene al, en un
á ea g ande o en a ios espacios jun os. La posición que es ima el sis ema no
son unas coo denadas conc e as sino un á ea y unos da os que el usua io
de ine en el en enamien o y se gua dan en la base de da os.
4.3.5. Mé odo que u iliza pa a calcula la posición
He ecas u iliza un sis ema de nomb amien o simbólico pa a econoce un
access poin ce cano, y median e una heu ís ica de p oximidad, como mé odo
p incipal de localización, sabemos la posición en la que nos encon amos.
Fig 4.4 Desc ipción isual del mé odo que u iliza He ecas pa a calcula la
posición del usua io (pun o ojo)
4.4. Compa a i a eó ica en e los es sis emas
Ekahau equie e que el usua io ecoja él mismo los da os del á ea de
localización, mien as que Place Lab inco po a un mapa adio y en He ecas los
mismos usua ios son los ecogen la in o mación.
Ejemplos de sis emas de localización en in e io es basados en WiFi 17
Como hay que ecoge una g an can idad de da os de calib ación, Ekahau sólo
es ac ible en ambien es pequeños. En Place Lab y He ecas los da os son
con ibuidos po muchos usua ios, po lo que la calib ación es más educida.
El clien e de Ekahau necesi a in e ac ua con el cen o de con ol pa a
de e mina su posición, mien as que el clien e de Place Lab no equie e
con ac a con un se icio cen al.
Place Lab u iliza una heu ís ica de p oximidad o e e encia a los AP, jun o con
el econocimien o de los iden i icado es de los AP’s; mien as que Ekahau usa
el mé odo del Vec o de Po encia y He ecas emplea un sis ema de
nomb amien o simbólico y una heu ís ica de ce canía.
Place Lab y He ecas son so wa e lib e al que podemos accede y modi ica los
pa a adap a los a nues as necesidades. Ekahau es un p oduc o come cial de
una emp esa que se dedica a expe imen a y conoce la ecnología pa a el
as eo de la posición, po eso es á p obado en an os campos de aplicación y
es el más p eciso en ambien es in e io es.
24 Sis emas de posicionamien o basados en WiFi
iene po de ec o, la localización se supone en el cen o geomé ico de los 4
pun os.
La segunda aplicación se llama ApViewe y su p ocedimien o es el mismo que
en la an e io aplicación pe o el esul ado de los cálculos de posición se
mues a en una pan alla en o ma de abla:
Fig 5.5 Aplicación ApViewe : Posición es imada del usua io y lis ado de AP
En es e caso se pueden isualiza odos los AP’s que es án isibles al ededo
del labo a o io, pe o nues a ed de AP’s se mues a como conocida, es deci ,
como en el Mappe ya hemos añadido nues os AP’s ya son econocidos po la
aplicación. También se puede e el nomb e o iden i icado de la ed (SSID) y
la po encia de señal que llega de cada AP’s (RSSI dBm). Y como p ime as
líneas se mues an las coo denadas es imadas de la posición del usua io.
La e ce a y un poco más comple a aplicación se llama PlaceLabS umble GUI y
pe mi e, a pa e de las opciones de las an e io es aplicaciones, e la posición
es imada del usua io sob e un mapa y en iempo eal.
En es a p ime a igu a se mues a la cap u a del PlaceLabS umble GUI
u ilizando el Cen oidT acke que iene po de ec o en Place Lab. Po lo an o,
los da os de la localización an a se los mismos, la única di e encia es la o ma
de isualiza los, como ya se ha dicho an es, más g á ica y con opción de
adjun a un plano eal pa a e la localización sob e és e. La c uz oja
ep esen a nues a posición en iempo eal (X=162 Y=145) y el cí culo que la
odea signi ica el e o eó ico (85.5 píxeles, al ededo de 7 me os) en la
localización, nos da una idea de los pun os donde pod íamos es a si uados y
que nos segui ía mos ando la misma posición es imada. Los AP’s de nues a
ed se econocen po la SSID y po que la aplicación no los mues a como
nue os en la cua a columna de da os.
P uebas a ealiza 25
Fig 5.6 Aplicación PlaceLabS umble GUI con Cen oidT acke : Posición
es imada del usua io, lis ado de AP y mapa de localización del usua io
5.3.3. P ueba con He ecas en el labo a o io 016
5.3.3.1. Con igu ación del disposi i o clien e
Pa a pode se localizado po He ecas hay que ins ala el so wa e en el
disposi i o po á il siguiendo las ins ucciones que nos da el ab ican e.
Necesi amos que el disposi i o es é do ado de una a je a Wi eless y dispone
de conexión a In e ne si que emos consul a nues a posición en un plano de
la ciudad.
26 Sis emas de posicionamien o basados en WiFi
5.3.3.2. Calib ación del mapa de localización o En enamien o
Con el disposi i o po á il hay que mo e se po el á ea de localización, en
nues o caso po odas las salas de la plan a baja del edi icio donde engamos
un AP de nues a ed. Cada ez que nos ace quemos a un AP po p ime a ez,
He ecas nos pedi á in o mación sob e és e. El usua io debe in oduci el país,
la p o incia, la ciudad, el á ea, el edi icio, la calle, la plan a y la sala que
co esponde al AP, pa a que así el p og ama lo ag egue a la base de da os.
Fig 5.7 In o mación que hay que in oduci en He ecas pa a cada AP
5.3.3.3. Localización del disposi i o
Una ez que engamos odos los AP’s de nues a ed añadidos a la base de
da os, al mo e nos po la plan a del edi icio se nos mos a á un mensaje en la
pan alla del disposi i o con la in o mación de la sala donde nos encon amos,
que co esponde á al AP más ce cano (y a los da os que se han en ado
p e iamen e de su localización).
Fig 5.8 Mensaje de He ecas que in o ma de la localización ac ual
P uebas a ealiza 27
Si hacemos un clic sob e el mensaje podemos accede a odas las opciones
que se pueden ealiza desde nues a posición. La pes aña WiFi Scanne
mues a la ue za de las señales de los AP’s que nos odean, su canal de
ansmisión, su di ección MAC y su iden i icado SSID. En colo ojo es á
ma cado el AP al que se e ie e nues a posición, mien as que el es o se en
en azul. Como en es a p ueba odos los AP’s es án en la misma sala, lo que
hace He ecas es e e i nues a posición a la in o mación del AP del que ecibe
mayo po encia, en el caso que mues a la igu a e e ida al AP3 (MAC
e minada en 64:0b).
Fig 5.9 Ven ana de He ecas que da in o mación de los AP’s de nues a ed
O a opción del mensaje es selecciona el link de la di ección (calle y núme o)
del edi icio donde nos si úa He ecas y en una en ana nue a del na egado (
h p://www.mul imap.com/map/b owse.cgi?clien =p in &G idE=1.98776&G idN=
41.28086&lon=1.98776&la =41.28086&G idN=41.28086&G idE=1.98776&db=E
S&place=AVINGUDA+DEL+CANAL+OL%CDMPIC,+08860,+CASTELLDEFEL
S&s a e=Ba celona&clien =p in &add 2=a inguda+del+canal+olimpic&add 3=C
as ellde els&scale=5000) apa ece un plano eal de la nues a si uación si
es amos conec ados a In e ne . Si no enemos conexión a In e ne la única
di e encia es que no se puede accede al plano eal de la localización, pe o el
es o de unciones siguen es ando ope a i as.
Fig 5.10 Ven ana de He ecas que nos dice nues a localización ac ual y
pe mi e accede a un link donde se mues a un plano eal de la posición
28 Sis emas de posicionamien o basados en WiFi
Fig 5.11 Link al que se accede a a és de la en ana de la Fig 4.10 donde se
mues a un plano eal de la posición si enemos conexión a In e ne
5.4. Escena io 2 de las p uebas: Media Plan a del edi icio
de p o eso es de la EPSC
En es a segunda p ueba ampliamos el escena io a media plan a del edi icio de
p o eso es de la EPSC, an es solo abajábamos con los 4 AP’s den o del
labo a o io 016, aho a amos a dis ibui los po la media plan a en la si uación
que mues a la siguien e igu a.
P uebas a ealiza 29
Fig 5.12 Plano de la plan a baja del edi icio de p o eso es de la EPSC donde
las X ojas signi ican la posición de los AP’s dis ibuidos po media plan a
Pa a si ua los AP’s en el nue o escena io hemos calculado su posición igual
que en la p ime a p ueba, a pa i de las medidas en píxeles del plano y de
nues o o igen de coo denadas (0,0) en la esquina in e io izquie da. La
di ección MAC y las nue as coo denadas de los AP’s de nues a ed pa a es a
p ueba son las que se mues an en la abla siguien e.
MAC X Y
AP1 00:14:BF:D2:70:59
208 192.5
AP2 00:14:BF:D2:70:5C
93 183
AP3 00:14:BF:D2:64:0B
231 107
AP4 00:14:BF:D2:70:56
174.5 347.5
Tabla 5.2 In o mación de los AP’s de nues a ed pa a el segundo escena io
5.4.1. P ueba con Ekahau en media plan a
P ime o de odo ac i amos el EKahau Clien e pa a que nues o disposi i o
pueda se localizado.
Igual que en la p ueba an e io de Ekahau en és a ambién hay que hace una
calib ación del mapa de localización y en enamien o del disposi i o. El
p ocedimien o es el mismo, con la única di e encia de que aho a enemos los
AP’s colocados en di e en es si ios y más dis ibuidos.
En la igu a siguien e se puede e el mapa de localización con las zonas de
cobe u a después de aplica la calib ación con nues os AP’s. Las zonas ojas
30 Sis emas de posicionamien o basados en WiFi
y ana anjadas son las que ienen mejo cobe u a po que es donde se ecibe
mayo po encia y las e des donde menos po encia llega.
Fig 5.13 Mapa de calib ación de Ekahau
Una ez en enado el mapa ya podemos se localizados. En la igu a siguien e
podemos e la posición del clien e (pun o azul) sob e el mapa calib ado (a la
de echa), los AP’s de nues a ed ac i ados y el es o de Ap’s deshabili ados, y
en la pa e in e io de la en ana (pes aña abie a de Signal S eng h) la
po encia que nos llega de cada AP isible a nues o al ededo y en azul los que
usa Ekahau con mayo po encia pa a localiza nos (que son los de nues a ed).
P uebas a ealiza 31
Fig 5.14 Ven ana de abajo de Ekahau
También se pude selecciona la pes aña De ices de la pa e in e io pa a pode
e el disposi i o que que emos localiza (nomb e y di ección IP) y el
seguimien o de su localización: en qué sala se encuen a en cada momen o,
coo denadas de esa posición, el e o en cada localización y el es ado del
disposi i o clien e.
En el momen o de la p ueba nos encon ábamos en la sala donde es á la
imp eso a (como mues a la igu a siguien e en Logical A ea), con un e o en
la localización (Expec ed E o ) de en e 0.5 y 2.7 me os como se puede e en
la siguien e igu a.
Fig 5.15 Pes aña De ices de Ekahau que mues a el seguimien o del clien e
32 Sis emas de posicionamien o basados en WiFi
5.4.2. P ueba con Place Lab en media plan a
Al cambia de luga los AP’s enemos que pone las nue as coo denadas en
nues a base de da os Mappe Roc pa a que al ejecu a cualquie aplicación
econozca los AP’s y nos calcule nues a posición a pa i de los nue os da os.
Pa a e el co ec o uncionamien o de la nue a dis ibución de AP hemos
u ilizado el Cen oidT acke que ponde a po encias y la aplicación
PlacelabS umble GUI, así ambién podemos e la es imación de nues a
localización sob e el plano eal.
En el momen o de la cap u a de la imagen siguien e eníamos conec ados los 4
AP’s y es ábamos en la sala de la imp eso a. Se obse a como el AP del que
nos llega más po encia es el que es á si uado en la sala de la imp eso a (AP1)
y po an o es el que a a ene más peso en cálculo de nues a posición. La
aplicación nos si úa den o de la sala en la que es amos, con las coo denadas
X=182.7733 e Y=204.1327, ce canas a las del AP1 (el de mayo po encia) y las
del AP3 (del que nos llega ambién bas an e po encia).
Fig 5.16 Aplicación PlaceLabS umble GUI con el Cen oidT acke que ponde a
la po encia que le llega de los AP’s dis ibuidos po la media plan a
P uebas a ealiza 33
5.4.3. P ueba con He ecas en media plan a
El so wa e de He ecas ya es á ins alado de las an e io es p uebas, aho a sólo
hay que inicia lo y comp oba que el disposi i o enga conexión Wi eless.
Como pa a es a p ueba hemos cambiado los AP’s de luga hay que ace ca nos
a cada uno de ellos con el disposi i o pa a que He ecas econozca que no
iene gua dados sus da os. Igual que en la p ueba an e io con He ecas hay
que in oduci odos los da os pa a cada AP de país, ciudad, edi icio, plan a,
sala, e c. Una ez enemos añadidos los 4 AP’s a la base de da os el
disposi i o ya puede es ima nues a localización, en el caso de la igu a
siguien e es amos en el pasillo de despachos.
Fig 5.17 Mensaje de localización de He ecas
En la opción WiFi Scanne se e como He ecas econoce nues a ed de 4
AP’s y nos mues a el AP a a és del cual es amos conec ados en colo ojo.
Fig 5.18 A la de echa WiFi Scanne de He ecas con la in o mación de los AP’s
de al ededo nues o, a la izquie da posición ac ual del disposi i o
Vemos que la localización es co ec a po que e ec i amen e nos
encon ábamos en el pasillo en el momen o de la cap u a de las imágenes y
que He ecas asocia nues a posición a la del AP con mayo po encia (el que
es á en ojo en la igu a an e io ).
40 Sis emas de posicionamien o basados en WiFi
las especi icaciones del ab ican e da a conoce una lis a de ha dwa e
compa ible, adjun a en el Anexo 2, con el que el p og ama unciona
co ec amen e y con mejo es iempos de e esco. En nues o caso, al u iliza
un o denado po á il la mejo ecomendación e a usa una a je a O inoco, y es
la que hemos u ilizado pa a las úl imas p uebas. Hemos podido comp oba que
es a a je a abaja con iempos de e esco de has a 5 segundos, y que es e
pa áme o se puede modi ica según se quie a. Conside amos que el iempo
óp imo es de en e 10 y 15 segundos de e esco, pa a da iempo a que odas
las medidas y los mé odos se ac ualicen.
O o de los incon enien es que hemos enido en las ealización de las p ime as
p uebas ha sido el poco espacio que había en e los AP’s. Pa a que una ed
Wi eless uncione co ec amen e y las a je as WiFi eciban los da os co ec os
sin que haya sal os en e AP’s, iene que habe una cie a dis ancia en e AP’s.
En las úl imas p uebas sepa amos los AP’s más de 5 me os y la p ecisión en
los es sis emas e a mejo .
7.4. Posibles mejo as y abajos u u os
Hemos comp obado que con la nue a a je a y los AP’s más sepa ados, como
en la dis ibución del segundo escena io, el sis ema unciona mejo , siemp e
econoce los AP’s y no da an os sal os. En la p ime a p ueba, Place Lab
epe ía du an e a ias es imaciones la posición de un solo AP cuando es aban
odos conec ados, mien as que en la segunda p ueba, como los AP’s es aban
en di e en es salas, siemp e los eía odos. Po eso, pa a mejo a la
localización y la p ecisión en los sis emas es mejo sepa a los AP’s an o como
sea posible den o de una misma sala o coloca los en salas di e en es.
O a mejo ía es que el luga de abajo o el si io donde se lle ase el disposi i o
clien e es u ie a a una al u a supe io a odos los obs áculos de las salas, ya
que en las p uebas nos in e e ían las o es de los o denado es que es aban
sob e la mesa, las pan allas y demás obje os.
Como ías u u as se pod ía conside a la ampliación del escena io a un
espacio más g ande o un espacio ex e io .
También se pod ía u iliza un mayo núme o de AP’s en nues a ed pa a pode
ene cobe u a en una zona más g ande.
Y po úl imo y más conc e o pa a Place Lab, se pod ía c ea un T acke
implemen ando exac amen e uno de los mé odos p incipales de cálculo de
posición. Como hemos is o que el mé odo de Vec o de Po encia, po su ase
de en enamien o, es con el que mayo esolución se consigue, hace que
Place Lab e ec úe un en enamien o del disposi i o an es de la ase de
es imación y así aumen a ía conside ablemen e la p ecisión del sis ema.
Resul ados P ác icos y Conclusiones 41
7.5. Fu u o de los sis emas de localización basados en WiFi
Hemos obse ado que los sis emas que esul an más aconsejables pa a
ob ene una localización obus a y con mayo p ecisión son los que se basan
en una ase p e ia de en enamien o de los disposi i os. Ekahau es de es e ipo
de sis emas y po es o lo ideal se ía implemen a una aplicación pa a Place Lab
en la que se en ena a el disposi i o del usua io an es de empeza la
localización.
7.6. Ambien alización
La u ilización de sis emas de localización median e edes WiFi no supone
ningún iesgo pa a el medio ambien e. Es os sis emas es án pensados pa a
usa se en en o nos in e io es y no en ex e io es como pod ía se la u ilización
de GPS.
42 Sis emas de posicionamien o basados en WiFi
BIBLIOGRAFÍA
[1] Place Lab homepage [en línea] [ci ado 21 eb e o 2006]
<h p://www.placelab.o g>
[2] He ecas : WiFi Loca ion-based Se ices/802.11 Posi ioning Sys em [en
línea] [ci ado 21 eb e o 2006] <h p://www.he ecas .com>
[3] Ekahau [en línea] [ci ado 21 eb e o 2006] <h p://www.ekahau.com>
[4] API Ja a 2 Pla o m SE 1.4.2 [en línea] [ci ado 20 eb e o 2006]
<h p://ja a.sun.com/j2se/1.4.2/docs/api/>
[5] Blueps: sis ema de localización en in e io es u ilizando Blue oo h [en línea]
[ci ado no iemb e 2005]
<h p://w3.iec.csic.es/u si/a iculos_gandia_2005/a iculos/NC1/487.pd >
[6] LOCADIO: In e ing Mo ion and Loca ion om WiFi Signal S eng hs [en
línea] [ci ado]
<h p:// esea ch.mic oso .com/use s/jck umm/Publica ions%202004/locadio%2
0Mobiqui ous%20dis ibu e.pd >
[7] CEDITEC [en línea] [ci ado no iemb e 2005]
<www.cedi ec.e si .upm.es/localizacion.php?pagina=6>
[8] A ículo sob e la ecnología WiFi [en línea] [ci ado no iemb e 2005]
<www.ieee_in ocom.o g/2004/Pape s/21_2.PDF>
[9] Pagina del Colegio O icial de Ingenie os écnicos de Telecomunicaciones
[en línea] [ci ado no iemb e 2005] <www.coi .es/publicaciones/bi /bi 148/57-
59.pd >
[10] Ac ualidad- nune .es [en línea] [ci ado no iemb e 2005]
<www. nune .es/Ac ualidad/No icias/In aes uc u as)Inno aci%C3%B3n/20050
713004>
Anexos 43
ANEXOS
Anexo 1: Códigos de las aplicaciones en Ja a pa a Place Lab
1.1. Código del Mappe Roc
package o g.placelab.example;
impo o g.placelab.co e.BeaconMeasu emen ;
impo o g.placelab.co e.BeaconReading;
impo o g.placelab.co e.WiFiReading;
impo o g.placelab.co e.Coo dina e;
impo o g.placelab.co e.TwoDCoo dina e;
impo o g.placelab.mappe .Beacon;
impo o g.placelab.mappe .WiFiBeacon;
impo o g.placelab.mappe .CompoundMappe ;
impo o g.placelab.mappe .Mappe ;
impo o g.placelab.spo e .LogSpo e ;
impo o g.placelab.spo e .Spo e ;
impo o g.placelab.spo e .Spo e Excep ion;
impo o g.placelab.spo e .WiFiSpo e ;
/**
* This sample is e y simila o Coo dina eSample wi h he addi ion
* o a lookup in he pe sis en AP cache
*/
public class Mappe Roc {
public s a ic oid main(S ing[] a gs) {
Spo e s;
i (a gs.leng h >= 1) {
s = LogSpo e .newSpo e (a gs[0]);
} else {
s = new WiFiSpo e ();
}
y {
s.open();
BeaconMeasu emen m = (BeaconMeasu emen )
s.ge Measu emen ();
Mappe mappe ;
// This Mappe can ell us whe e APs a e
// The de aul Mappe (se in PlacelabP ope ies) will be
selec ed
// he e. The i s a gumen says o exi on e o , and he
second
// says o cache Beacons in memo y as hey a e accessed.
mappe = CompoundMappe .c ea eDe aul Mappe ( ue, ue);
in knownAPs = 0;
TwoDCoo dina e coo = new TwoDCoo dina e(0.0,0.0);
o (in i = 0; i < m.numbe O Readings(); i++) {
BeaconReading = (BeaconReading) m.ge Reading(i);
i ( .ge Type() == o g.placelab.co e.Types.WIFI) {
WiFiBeacon bTemp = new WiFiBeacon();
i
((((WiFiReading) ).ge Id()).equals("00:14:b :d2:70:59")) {
bTemp.se Ssid(((WiFiReading) ).ge Ssid());
bTemp.se Id(((WiFiReading) ).ge Id());
44 Sis emas de posicionamien o basados en WiFi
coo .mo eTo(93, 107);
bTemp.se Posi ion(coo );
mappe .pu Beacon(bTemp.ge Id(), (Beacon) bTemp);
}
i
((((WiFiReading) ).ge Id()).equals("00:14:b :d2:70:5c")) {
bTemp.se Ssid(((WiFiReading) ).ge Ssid());
bTemp.se Id(((WiFiReading) ).ge Id());
coo .mo eTo(93, 183);
bTemp.se Posi ion(coo );
mappe .pu Beacon(bTemp.ge Id(), (Beacon) bTemp);
}
i
((((WiFiReading) ).ge Id()).equals("00:14:b :d2:64:0b")) {
bTemp.se Ssid(((WiFiReading) ).ge Ssid());
bTemp.se Id(((WiFiReading) ).ge Id());
coo .mo eTo(231, 107);
bTemp.se Posi ion(coo );
mappe .pu Beacon(bTemp.ge Id(), (Beacon) bTemp);
}
i
((((WiFiReading) ).ge Id()).equals("00:14:b :d2:70:56")) {
bTemp.se Ssid(((WiFiReading) ).ge Ssid());
bTemp.se Id(((WiFiReading) ).ge Id());
coo .mo eTo(231, 183);
bTemp.se Posi ion(coo );
mappe .pu Beacon(bTemp.ge Id(), (Beacon) bTemp);
}
}
Beacon b = (Beacon) mappe . indBeacon( .ge Id());
i (b == null) {
Sys em.ou .p in ln( .ge Id() + " is an unknown AP");
} else {
Sys em.ou .p in ln( .ge Id() + " (" +
.ge HumanReadableName()
+ ") is hough o be a " +
b.ge Posi ion());
knownAPs++;
}
}
Sys em.ou .p in ln(" nO he " + m.numbe O Readings() + "
APs "
+ knownAPs + " we e known.");
} ca ch (Spo e Excep ion ex) {
ex.p in S ackT ace();
}
}
}
1.2. Código del S a iona yPosi ionT acke
impo o g.placelab.co e.Measu emen ;
impo o g.placelab.co e.TwoDCoo dina e;
/**
* T acke simple que siemp e de uel e la misma posición que es ima
*/
Anexos 45
public class S a iona yPosi ionT acke ex ends T acke {
p i a e TwoDCoo dina e posi ion;
public S a iona yPosi ionT acke (TwoDCoo dina e coo d) {
supe ();
posi ion = new TwoDCoo dina e(coo d);
}
public oid upda eEs ima eImpl(Measu emen IGNORED) {
//nunca se llama a es a unción
h ow new IllegalA gumen Excep ion("Should ne e call "+
"upda e es ima e o S a iona yPosi ionT acke ");
}
public Es ima e ge Es ima e() {
e u n new TwoDPosi ionEs ima e(Sys em.cu en TimeMillis(),
posi ion, 0.0);
}
public boolean accep ableMeasu emen (Measu emen m) {
//igno a la medida
e u n alse;
}
public oid upda eWi hou Measu emen (long du a ionMillis) {
//no se mue e
}
p o ec ed oid ese Impl() {
//no hace nada
}
}
1.3. Código del Cen oidT acke que iene po de ec o en Place Lab
package o g.placelab.clien . acke ;
impo o g.placelab.co e.BeaconMeasu emen ;
impo o g.placelab.co e.BeaconReading;
impo o g.placelab.co e.Measu emen ;
impo o g.placelab.co e.Th eeDCoo dina e;
impo o g.placelab.co e.TwoDCoo dina e;
impo o g.placelab.co e.Types;
impo o g.placelab.co e.WiFiReading;
impo o g.placelab.mappe .Beacon;
impo o g.placelab.mappe .Mappe ;
/**
* T acke simple que calcula el cen o geomé ico del conjun o
ac ualde lec u as.
**/
public class Cen oidT acke ex ends BeaconT acke {
p i a e Es ima e es ima e;
public Cen oidT acke (Mappe m) {
supe (m);
}
46 Sis emas de posicionamien o basados en WiFi
public Es ima e ge Es ima e() {
i (es ima e != null) {
e u n es ima e;
} else i (Sys em.ge P ope y(Types.COORDPROPERTY) != null &&
Sys em.ge P ope y(Types.COORDPROPERTY).equals(Types.THREEDCOORDINATE)
) {
Es ima e e = new
Th eeDPosi ionEs ima e(ge Las Upda edTime(), Th eeDCoo dina e.NULL,
0.0);
e u n e;
}
else {
Es ima e e = new TwoDPosi ionEs ima e(ge Las Upda edTime(),
TwoDCoo dina e.NULL, 0.0);
e u n e;
}
}
/**
* upda eEs ima eImpl u iliza las medidas pasadas pa a calcula el
cen o geomé ico
**/
public oid upda eEs ima eImpl(Measu emen m) {
// solo que emos medidas de ipo BeaconMeasu emen s
i (!(m ins anceo BeaconMeasu emen )) {
e u n;
}
upda eEs ima eImpl2D(m);
}
p i a e oid upda eEs ima eImpl2D(Measu emen m) {
BeaconMeasu emen meas = (BeaconMeasu emen ) m;
Sys em.ou .p in ln("en a? "+m);
double o alLa =0.0, o alLon=0.0;
in coun =0;
o (in i=0; i < meas.numbe O Readings(); i++) {
BeaconReading eading = meas.ge Reading(i);
Beacon beacon = indBeacon( eading.ge Id(), meas, null);
Sys em.ou .p in ln("beacon is " + beacon + " " +
eading.ge Id() + " ");
i ( eading ins anceo WiFiReading) {
Sys em.ou .p in ln(" ssi is " +
((WiFiReading) eading).ge Rssi());
}
i (beacon == null) {
con inue;
}
TwoDCoo dina e pos = (TwoDCoo dina e)beacon.ge Posi ion();
o alLa += pos.ge La i ude();
o alLon += pos.ge Longi ude();
coun ++;
}
i (coun == 0) { // keep he same es ima e as be o e
e u n;
Anexos 47
}
TwoDCoo dina e mean = new TwoDCoo dina e( o alLa /coun ,
o alLon/coun );
double o alDis anceSq = 0.0;
o (in i=0; i < meas.numbe O Readings(); i++) {
BeaconReading eading = meas.ge Reading(i);
Beacon beacon = indBeacon( eading.ge Id(), meas,
(es ima e==null ? null:
((TwoDPosi ionEs ima e)es ima e).ge TwoDPosi ion()));
i (beacon == null) con inue;
TwoDCoo dina e pos = (TwoDCoo dina e) beacon.ge Posi ion();
double x = pos.xDis anceF om(mean), y =
pos.yDis anceF om(mean);
double dis anceSq = x*x + y*y;
o alDis anceSq += dis anceSq;
}
double s dDe ;
i (coun > 1) {
s dDe = Ma h.sq ( o alDis anceSq/(coun - 1));
} else {
s dDe = 0.0;
}
es ima e = new TwoDPosi ionEs ima e(ge Las Upda edTime(), mean,
s dDe );
Sys em.ou .p in ln("a iba al inal? "+ es ima e);
}
/**
* El pa áme o m e o na <code> ue</code> si la medida es de ipo
BeaconMeasu emen
*/
public boolean accep ableMeasu emen (Measu emen m) {
e u n (m ins anceo BeaconMeasu emen );
}
public oid upda eWi hou Measu emen (long du a ionMillis) {
}
p o ec ed oid ese Impl() {
es ima e = null;
}
}
1.4. Código del Cen oidT acke que ponde a la po encia de los AP’s
package o g.placelab.clien . acke ;
impo o g.placelab.co e.BeaconMeasu emen ;
impo o g.placelab.co e.BeaconReading;
impo o g.placelab.co e.Measu emen ;
impo o g.placelab.co e.TwoDCoo dina e;
impo o g.placelab.co e.WiFiReading;
impo o g.placelab.mappe .Beacon;
impo o g.placelab.mappe .Mappe ;
48 Sis emas de posicionamien o basados en WiFi
/**
* Es un acke sencillo que calcula la posición del usua io a pa i
de las coo denadas de los AP’s de nues a ed ponde adas con la
po encia que se ecibe de ellos
*
**/
public class Cen oidT acke ex ends BeaconT acke {
p i a e Es ima e es ima e;
public Cen oidT acke (Mappe m) {
supe (m);
}
public Es ima e ge Es ima e() {
i (es ima e != null) {
e u n es ima e;
}
else {
Es ima e e = new TwoDPosi ionEs ima e(ge Las Upda edTime(),
TwoDCoo dina e.NULL, 0.0);
e u n e;
}
}
public oid upda eEs ima eImpl(Measu emen m) {
// we only wan BeaconMeasu emen s
i (!(m ins anceo BeaconMeasu emen )) {
e u n;
}
upda eEs ima eImpl2D(m);
}
p i a e oid upda eEs ima eImpl2D(Measu emen m) {
BeaconMeasu emen meas = (BeaconMeasu emen ) m;
Sys em.ou .p in ln("en a? "+m);
double o alLa =0.0, o alLon=0.0;
loa coun =0;
o (in i=0; i < meas.numbe O Readings(); i++) {
BeaconReading eading = meas.ge Reading(i);
Beacon beacon = indBeacon( eading.ge Id(), meas, null);
Sys em.ou .p in ln("beacon is " + beacon + " " +
eading.ge Id() + " ");
i ( eading ins anceo WiFiReading) {
Sys em.ou .p in ln(" ssi is " + (-
1.0/((WiFiReading) eading).ge Rssi()));
}
i (beacon == null) {
con inue;
}
TwoDCoo dina e pos = (TwoDCoo dina e)beacon.ge Posi ion();
o alLa += pos.ge La i ude()*(-
1.0/((WiFiReading) eading).ge Rssi());
Anexos 49
o alLon += pos.ge Longi ude()*(-
1.0/((WiFiReading) eading).ge Rssi());
Sys em.ou .p in ln("la i ude is " + o alLa + "Longi ude
is" + o alLon);
coun +=(-1.0/((WiFiReading) eading).ge Rssi());
Sys em.ou .p in ln("coun is " + coun );
}
i (coun == 0) { // keep he same es ima e as be o e
e u n;
}
//hacemos una ponde acion de las coo denadas segun la po encia
o al ecibida
TwoDCoo dina e mean = new TwoDCoo dina e( o alLa /coun ,
o alLon/coun );
Sys em.ou .p in ln("mean is " + mean);
//calcula la dis ancia o al pa a pode calcula la des iacion
es anda d
double o alDis anceSq = 0.0;
o (in i=0; i < meas.numbe O Readings(); i++) {
BeaconReading eading = meas.ge Reading(i);
Beacon beacon = indBeacon( eading.ge Id(), meas,null);
i (beacon == null) con inue;
TwoDCoo dina e pos = (TwoDCoo dina e) beacon.ge Posi ion();
double x = pos.xDis anceF om(mean), y =
pos.yDis anceF om(mean);
double dis anceSq = x*x + y*y;
o alDis anceSq += dis anceSq;
}
double s dDe ;
i (coun > 1) {
s dDe = Ma h.sq ( o alDis anceSq/(coun - 1));
} else {
s dDe = 0.0;
}
//con odos los da os de iempo, posicion ponde ada y
des iacion calcula la es imacion
es ima e = new TwoDPosi ionEs ima e(ge Las Upda edTime(), mean,
s dDe );
Sys em.ou .p in ln("a iba al inal? "+ es ima e);
}
public boolean accep ableMeasu emen (Measu emen m) {
e u n (m ins anceo BeaconMeasu emen );
}
public oid upda eWi hou Measu emen (long du a ionMillis) {
}
p o ec ed oid ese Impl() {
es ima e = null;
}
}