Escuela Técnica Supe io de Ingenie ía del Diseño
Uni e si a Poli ècnica de València
P o o ipo de disposi i o de medida de
endimien o en unning basado en
acele óme o iaxial y comunicación a
disposi i o mó il
T abajo inal de g ado
G ado en Ingenie ía Elec ónica Indus ial y Au omá ica
Au o : Melià de la Asunción, Se gi
Tu o : Coll A nau, Sal ado
P o o ipo de disposi i o de medida de endimien o en unning basado en
acele óme o iaxial y comunicación a disposi i o mó il
2
3
P o o ipo de disposi i o de medida de endimien o en unning basado en
acele óme o iaxial y comunicación a disposi i o mó il
4
Resumen
Debido al c ecien e núme o de p ac ican es del depo e conocido de o ma ulga
como ‘ unning’, se ha abie o un g an me cado pa a las aplicaciones y disposi i os
elacionados con la moni o ización de es a ac i idad. La aplicación desa ollada
median e And oid, es ablece á comunicación con los senso es alojados en el
‘CC2541 Senso Tag’ pa a es udia su iabilidad como posible puen e pa a la
ab icación de pos e io es sis emas de medida de endimien o.
Palab as cla e: And oid, unning, disposi i os mó iles, blue oo h, BLE, blue oo h low ene gy,
MySQL, MySQLi e, senso Tag, senso ag, CC2541
5
P o o ipo de disposi i o de medida de endimien o en unning basado en
acele óme o iaxial y comunicación a disposi i o mó il
6
7
P o o ipo de disposi i o de medida de endimien o en unning basado en
acele óme o iaxial y comunicación a disposi i o mó il
8
Índice
1. In oducción ............................................................................ 14
1.1. En o no ............................................................................................. 14
1.2. Obje i os ........................................................................................... 14
1.3. Desc ipción del documen o ................................................................ 14
2. Análisis del unning en España ..................................................... 16
2.1. In oducción ...................................................................................... 16
2.2. C ecimien o del unning..................................................................... 16
2.3. Lesiones más comunes ....................................................................... 17
2.4. Tecnología disponible ........................................................................ 18
2.5. Conexión Blue oo h Low Ene gy (BLE) ............................................. 21
2.6. En o no de p og amación .................................................................. 23
2.7. Conclusiones ..................................................................................... 23
3. En o no de desa ollo ................................................................ 25
3.1. In oducción ...................................................................................... 25
3.2. He amien as ..................................................................................... 25
3.3. Tecnologías ....................................................................................... 26
3.4. Conclusiones ..................................................................................... 29
4. Especi icación de equisi os ......................................................... 31
4.1. In oducción ...................................................................................... 31
4.1.1. P opósi o ................................................................................. 31
4.1.2. Ámbi o del Sis ema .................................................................. 31
4.1.3. De iniciones, ac ónimos y ab e ia u as ..................................... 32
4.1.4. Visión gene al del documen o ................................................... 33
4.2. Desc ipción gene al ........................................................................... 34
4.2.1. Pe spec i a del p oduc o ........................................................... 34
4.2.2. Funciones del p oduc o ............................................................ 34
4.2.3. Ca ac e ís icas de los usua ios ................................................... 35
4.2.4. Res icciones ............................................................................ 35
4.2.5. Suposiciones y dependencias .................................................... 37
4.2.6. Requisi os u u os ..................................................................... 37
4.3. Requisi os especí icos ......................................................................... 38
4.3.1. In e aces ex e nas .................................................................... 38
4.3.2. Funciones ................................................................................ 39
4.3.3. Requisi os de endimien o ........................................................ 48
4.3.4. Res icciones de diseño ............................................................. 49
4.3.5. A ibu os del Sis ema ................................................................ 50
4.3.6. O os equisi os ........................................................................ 50
5. Diseño ................................................................................... 51
5.1. In oducción ...................................................................................... 51
5.2. Diseño de la base de da os .................................................................. 51
5.2.1. De iniciones ............................................................................. 51
9
5.2.2. Especi icaciones de desa ollo ................................................... 52
5.2.3. Modelo en idad- elación ........................................................... 53
5.2.4. Asignación de alo es a las columnas ........................................ 56
5.3. Diseño de la aplicación ...................................................................... 58
5.3.1. Diag ama de casos de uso ......................................................... 59
5.3.2. Diag ama de clases ................................................................... 61
5.4. Conclusiones ..................................................................................... 72
6. Implemen ación ....................................................................... 73
6.1. In oducción ...................................................................................... 73
6.2. Desa ollo ......................................................................................... 73
6.3. Conclusiones ..................................................................................... 88
7. Validación del disposi i o ex e no ................................................ 89
7.1. In oducción ...................................................................................... 89
7.2. Validación ......................................................................................... 89
7.3. Tes eo del ha dwa e ........................................................................... 94
7.3.1. Análisis de conec i idad ........................................................... 94
7.3.2. Análisis del ha dwa e ............................................................... 100
7.3.3. Conclusión ............................................................................... 104
7.4. Análisis de su posible uso ................................................................... 104
8. Conclusiones ........................................................................... 105
8.1. Resumen del abajo desa ollado ....................................................... 105
8.2. Apo aciones ..................................................................................... 105
8.3. T abajo u u o ................................................................................... 106
8.3.1. Aplicación ................................................................................ 106
8.3.2. Disposi i o ex e no................................................................... 107
9. Bibliog a ía ............................................................................. 109
10. Anexo .................................................................................... 113
P o o ipo de disposi i o de medida de endimien o en unning basado en
acele óme o iaxial y comunicación a disposi i o mó il
16
2. Análisis del unning en España
2.1. In oducción
Debido a a ios ac o es, el unning como depo e ha is o inc emen a su
núme o de pa icipan es exponencialmen e en poco iempo. En es e apa ado se
ealiza á un análisis del po que es e c ecimien o y se de alla án las lesiones más
comunes de es e depo e.
2.2. C ecimien o del unning
El c ecimien o de es e depo e se puede sepa a en a ios ac o es. El
p ime o de ellos es la c isis económica que ha is o España en es os úl imos años.
Debido a la ingen e can idad de pa ados, la capacidad de adquisición del español
medio ue me mando cada ez más y su iempo lib e, po o a pa e, se io
inc emen ado.
Co e no cues a poco o nada más que un buen pa de zapa illas; así que
no es de ex aña que la gen e acabase sus i uyendo las al as a i as de los
gimnasios o los gas os de equipamien o de o os depo es po el unning.
Apa e del poco gas o que supone, co e es una disciplina ácil y accesible
pa a odo aquel que es é dispues o a ealiza la. Pese a odo, equie e de un
mínimo en enamien o y no es aconsejable que nadie co a un ma a ón pa a
comenza en es e depo e. Pe o es es a simple logís ica lo que ha lle ado a que el
unning ganase adep os. Además, en poco iempo el co edo medio sien e que
p og esa ápidamen e en es e depo e y eso les lle a a segui p ac icándolo,
buscando mejo es esul ados.
El segundo ac o que ha a ec ado al unning es el ‘boom’ social. Hoy en
día, con el ácil y ápido acceso a las edes sociales como Twi e y Facebook, la
gen e puede compa i sus p og esos en es e depo e de o ma sencilla y ápida.
No sólo eso, si no la c eación de una inc eíble can idad de blogs elacionados con
es e depo e y de o os no han hecho sino más po inc emen a el núme o de
co edo es. Muchos comienzan a co e po p oba algo que ‘ odo el mundo hace’
y si bien, no odos e minan enganchados a p ac ica lo, se dan cuen a de su
sencillez y de lo ácil que es p ac ica lo.
El e ce y úl imo ac o se puede desc ibi como la p opia ‘ opa’ de los
co edo es. Es á bien is o pa ece que co es, e hace pa ece una pe sona
saludable y cons an e. Así que ha nacido oda una colección de opa solo pa a
unne s: zapa illas de unning, opa de unning, pulse as de unning… Ve oda la
can idad de acceso ios y opa c eados solo pa a es e depo e, a ae gen e. Hace
pa ece el unning como un depo e con endencia en e la gen e y hace que
quie as uni e a él. Además, la p opia gen e lle ando dicha opa, es án haciendo
17
publicidad del depo e, haciendo e po las ciudades y pueblos que hay gen e
p ac icándolo y que cada ez son más.
2.3. Lesiones más comunes
Pa a el desa ollo de la aplicación end emos en cuen a las lesiones que de
o ma más común pueden a ec a a los co edo es. De o ma más conc e a,
a con inuación, se de alla á las di e en es pisadas ealizadas po el usua io.
Las pisadas en ca e a o como debe apoya se el pie mien as se co e ha
sido un ema de discusión bas an e impo an e en el unning. Se pueden
disce ni es ipos di e en es de apoyo en las pisadas:
Apoyo con el e opié: dado cuando el con ac o inicial del pie
con a el suelo se p oduce con el alón o el e cio pos e io de la
plan a del pie.
Apoyo con la pa e media del pie: dado cuando el alón y la
cabeza del p ime me a a siano con ac an casi
simul áneamen e.
Apoyo con el an epié: dado cuando el apoyo se ealiza con la
mi ad an e io del pie, después del cual gene almen e se
p oduce el inmedia o apoyo del alón.
Aunque haya di e sos ipos de apoyo, la mayo ía de gen e suelen apoya
con el alón a la ho a de co e ( e Fig.1.), an o si son p o esionales, ápidos,
len os o gen e que comienza a co e .
Sin emba go, se han ealizado es udios a co edo es descalzos que mues a
que la mayo ía acaban adop ando una posición de apoyo con el an epié o de
70%
10%
20%
Re opié Pa e media An e pie
Fig.1. G á ica de po cen ajes de los di e en es apoyos de pie.
P o o ipo de disposi i o de medida de endimien o en unning basado en
acele óme o iaxial y comunicación a disposi i o mó il
18
‘pun illas’. Es o ha lle ado a pensa a los en enado es y en usias as del
depo e que la mejo o ma de co e se ía es a.
No obs an e, unas in es igaciones ealizadas po la Uni e sidad Tempe e
de Finlandia, descub ie on que ambas o mas de apoya el pie pueden causa
lesiones. Pa a dichas in es igaciones se di idie on a co edo es en dos g upos;
el p ime o u iliza ía el apoyo con el e opié y el segundo con el an epié. Se
decidió medi el es és sopo ado po las odillas, obillos y endón de Aquiles
de cada pa icipan e.
En el g upo del e opié se in o mó de dolencias en las odillas debido, en
pa e, a que es as enían que sopo a un 16 % más de ue za que cuando el
apoyo es aba p óximo a la zona an e io del pie. Las o as zonas ulne ables
ambién ie on inc emen ado su es és.
El g upo de an epié no ue una excepción, si bien no ue en la zona de las
odillas, los co edo es abso bían de mane a di e en e el es és y llega on a
acumula casi un 20 % más de lo ecomendado en las zonas de los obillos y
el endón de Aquiles que los co edo es de e opié.
En esumen, las dos o mas de apoyo p esen an en ajas e incon enien es.
El apoyo con e opié puede de i a en p oblemas como el sínd ome del dolo
o uliano; el apoyo con el an epié pod ía p oduci a la la ga lesiones en el
endón de Aquiles, in lamaciones o ac u as po es és. En la aplicación
And oid se oma á egis o de ambas o mas de pisada y, además, de si es a
se ha hecho con demasiada ue za. A e iza con demasiada ue za el pie
puede ag a a las lesiones p oducidas po el posicionamien o del pie.
2.4. Tecnología disponible
Debido al g an auge del unning como depo e han su gido di e en es
disposi i os y/o aplicaciones pa a la medición del endimien o del usua io.
Si bien, no son necesa ias pa a p ac ica el depo e en sí, ienen bien como
complemen o pa a el desa ollo de una buena ac i idad. A con inuación, se
exponen los di e en es disposi i os que es án disponibles en el me cado y los
se icios que o ecen.
Fi bi
Compañía undada en los p ime os meses de 2007 po James Pa k and
E ic F iedman cuya ac i idad p incipal consis ía en la implemen ación de
senso es en disposi i os po á iles. Sin emba go, no ecibían los ing esos
espe ados así que c ea on su p ime p o o ipo de pulse a i ness. ( e Fig.2.).
19
Es os p ime os disposi i os, cons ando no mucho más que de un
podóme o, u ie on un éxi o a ollado en el me cado y a los pocos meses
lanza on modelos más a anzados que incluían, en e o as cosas, al íme o,
eloj digi al y c onóme o. En mediados de 2012, Fi bi lanzó el p ime
disposi i o i ness que empleaba la ecnología Blue oo h pa a la comunicación
inalámb ica.
A su ez, dis ibuyo las aplicaciones pa a su disposi i o en And oid e iOS
y ab ió su página web. En es a puedes subi us p og esos y compa i los con
o os usua ios de la pulse a de i ness. Es o ayudó a la compañía a consolida se
como la p incipal emp esa de dis ibución en el me cado.
El úl imo modelo lanzado po la emp esa, Su ge, puede ealiza
mediciones como la dis ancia eco ida, calo ías quemadas, las plan as
subidas, el i mo ca díaco y ambién o ece moni o ización GPS. Además,
de la conexión inalámb ica a cualquie disposi i o mó il y el en ío de da os.
Sony
Emp esa nipona undada en 1945 y conocida mayo i a iamen e po su
dis ibución de p oduc os elec ónicos. Es a emp esa ambién ha lanzado al
me cado a ias pulse as de i ness ap o echando la moda del unning.
Desde modelos que an de los más sencillo que pod ía se una pulse a,
has a pulse as ‘in eligen es’; odas ellas se encuen an en el ca álogo de Sony.
Des aca en e ellas la Sony Sma band SWR10 ( e Fig.3.), que es la que
más se ace ca al p o o ipo que se busca ealiza .
Fig.2. P ime p o o ipo que lanzó la compañía Fi bi .
P o o ipo de disposi i o de medida de endimien o en unning basado en
acele óme o iaxial y comunicación a disposi i o mó il
20
Es a pulse a p ác ica, sin
ningún elemen o que des aque
en ella o que no sean
necesa ios pa a la unción que
ha de ealiza , puede ealiza
conexiones
inalámb icas a disposi i os
mó iles, ac úa como
disposi i o de manos lib es
y lle a un con ol de ac i idad
ísica básico.
El con ol ealizado cuen a los
pasos dados, la dis ancia eco ida y las calo ías quemadas.
Xiaomi
Emp esa china dedicada al desa ollo y en a de p oduc os ales como
elé onos in eligen es, apps (aplicaciones) y p oduc os elec ónicos a ios.
Fue undada en 2010 y hoy en día es una de las emp esas que i alizan con
Samsung y Apple en la en a de mó iles. Si bien no es del odo conocido aún
en Eu opa, Xiaomi lle a a sus espaldas g andes éxi os en en as de p oduc os
elec ónicos y no se dejó amed en a po la opo unidad de ende pulse as
de i ness.
Los p oduc os que o ece es a emp esa en el me cado des acan po su
sencillez y su e icacia. De los cuales, cabe des aca la Xiaomi Mi Band ( e
Fig.4.) po se el p oduc o más p óximo al p o o ipo que se desea p oba .
Dicho p oduc o dispone de medido de ac i idad ísica básica: calo ías
quemadas, dis ancia eco ida, pasos dados… Pe o además inco po a un
medido de sueño que con ola el iempo que el usua io pasa do mido y las
dis in as ases de sueño.
Es e medido de sueño ha llamado
la a ención de los consumido es po su
g an exac i ud. A pa e, el ha dwa e que
posee es bas an e iable y su ba e ía puede
du a incluso un mes sin necesidad de se
eca gada.
A con inuación, se mues a una
abla que con iene, en esumen, odos los
se icios y capacidades que las pulse as p e iamen e analizadas poseen ( e
Tabla.1.).
Fig.3. Pulse a Sony Sma band SWR10.
Fig.4. Pulse a i ness Xiaomi Mi Band
21
En conclusión, se puede obse a que, como mínimo, la pulse a p o o ipo
necesi a medi la ac i idad ísica básica (pasos, calo ías quemadas y dis ancia) y,
además, posee comunicación con el disposi i o mó il. Po o a pa e, en luga
de se una pulse a se busca ealiza una obille a, pa a así medi , median e
acele óme o y gi oscopio la posición del pie del co edo , dando medidas de
cómo es su pisada.
2.5. Conexión Blue oo h Low Ene gy (BLE)
En es e apa ado se explica á que es la conexión BLE, como unciona y
cómo a ec a á en el desa ollo an o de la aplicación pa a And oid, como en
el p o o ipo de disposi i o a es ea .
His o ia
Blue oo h low ene gy o BLE es una ecnología de conexión inalámb ica
diseñado y endido po Blue oo h Special In e es G oup. Es a ecnología
es á especialmen e en ocada pa a nue as aplicaciones en los ámbi os de la
salud, del depo e, adiobalizas, segu idad y domó ica. En compa ación con
su he mano, es e in en a man ene sus capacidades con un meno consumo
de ene gía.
Los in es igado es de la compañía Nokia de e mina on en 2001, que una
ecnología simila al Blue oo h adicional, pe o de meno consumo
ene gé ico, e a necesa io. Pa iendo de la base del Blue oo h adicional,
nació lo que se conoce come cialmen e como Blue oo h Sma o BLE. Se
comple ó su p og amación en 2010 y el p ime o disposi i o en usa lo ue el
iPhone 4S, lanzado en 2011, siendo es e el p ime paso pa a el lanzamien o
en el me cado de más disposi i os compa ibles con es a ecnología.
Pulse as de i ness
Ca ac e ís icas de la pulse a
Su ge de Fi bi
Sony Sma band SWR10
Xiaomi Mi Band
Dis ancia
SÍ
SÍ
SÍ
Pasos
SÍ
SÍ
SÍ
Calo ías quemadas
SÍ
SÍ
SÍ
Pisos subidos
SÍ
NO
NO
Ho as de ac i idad
SÍ
SÍ
SÍ
Moni o ización GPS
SÍ
NO
NO
Ri mo ca díaco
SÍ
NO
SÍ
Manos lib es
SÍ
SÍ
NO
Comunicación inalámb ica
SÍ
SÍ
SÍ
Con ol del sueño
NO
SÍ
SÍ
Tabla.1. Tabla compa a i a de los di e en es se icios o ecidos po las pulse as de i ness.
P o o ipo de disposi i o de medida de endimien o en unning basado en
acele óme o iaxial y comunicación a disposi i o mó il
22
Funcionamien o
Pa a explica el uncionamien o de es a ecnología se en oca á el p oblema
en is as a la aplicación y su elación con el disposi i o ex e no a conec a ,
siendo el mó il el clien e y el disposi i o el se ido .
A pa i de And oid 4.3 (Ni el de Api 18), se in odujo la pla a o ma de
apoyo pa a el desa ollo de BLE, pe mi iendo a los disposi i os mó iles
descub i se icios, egis a los y lee o esc ibi sus ca ac e ís icas. Pa a
en ende cómo unciona el sis ema hay que en ende los siguien es concep os
cla e:
GATT (del inglés Gene ic A ibu e P o ile): el GATT se basa en
pe iles p e-p og amados en el se ido ; es os pe iles ienen como
abajo en ia pequeñas piezas de da os conocidos como ‘a ibu os’
median e la unión clien e-se ido del BLE.
ATT (del inglés A ibu e P o ocol): el ATT es un p o ocolo
cons uido sob e el GATT que anspo a un iden i icado llamado
UUID (del inglés Uni e sally Unique Iden i ie ) además de las
ca ac e ís icas y se icios que o ece el se ido BLE.
Ca ac e ís ica: da o que con iene un solo alo y de 0 a n desc ip o es
que especi ican el alo de la ca ac e ís ica. Po ejemplo, si un se icio
es el moni o ca díaco, la ca ac e ís ica en iada se á el i mo ca díaco.
Desc ip o : los desc ip o es son de iniciones de la ca ac e ís ica leída
en un se ido BLE. Pueden indica que es el alo que se lee, cuál es
su ango op imo o en que unidades ha de medi se.
Se icio: un se icio es una colección de ca ac e ís icas. Es la o ma
de clasi ica los di e en es senso es en un disposi i o y las
ca ac e ís icas que con ienen.
Cada conexión ealizada con un disposi i o BLE es á suje a a unos oles
y esponsabilidades. P ime o, hay que asigna los oles de cen al y pe i é ico,
siendo el cen al el que escanea en busca del disposi i o y el pe i é ico el
disposi i o a busca . En es e caso, el disposi i o mó il con la aplicación
end ía el ol de cen al y el disposi i o p o o ipo se ía el pe i é ico.
Los o os dos oles son el se ido GATT y el clien e GATT. Cuando una
conexión se es ablece en e dos disposi i os, empieza la ansmisión de
in o mación GATT. Si del disposi i o ex e no al que se ealiza la conexión
BLE solo se quie en lee da os, se le asigna á el ol de se ido y si se le quie en
en ia da os al disposi i o, a és e se le asigna á el ol de clien e. En es e caso,
el disposi i o mó il median e la aplicación And oid end á un papel de clien e
GATT y el disposi i o p o o ipo a es ea end á el ol de se ido GATT.
En conclusión, cuando se ealice una conexión BLE en e dos disposi i os
p ime o se iene que asigna los oles espec i os a cada uno, clien e y
se ido . Una ez ealizada la asignación de oles, se pasa á a en ia los da os
23
co espondien es en o ma de se icio o ca ac e ís ica, según lo que se equie a
del disposi i o.
2.6. En o no de p og amación
And oid ha sido elegido como el en o no de desa ollo pa a la
p og amación de la aplicación del disposi i o mó il. And oid, es un sis ema
ope a i o de mó il desa ollado po Google; es á basado en Linux y se diseñó
p incipalmen e pa a disposi i o po á iles con pan alla ác il.
Se ha elegido And oid como en o no de desa ollo debido a su
accesibilidad, es de código abie o, y la mayo ía de gen e posee disposi i os
mó iles con sis ema ope a i o de And oid. No obs an e, su uso pa a
desa olla la aplicación equie e de ini unos ni eles mínimos de e sión con
los cuales ha de se compa ible.
2.7. Conclusiones
En es a sección se ha explicado la si uación del unning en España y cómo
es e depo e a aigó y ge minó ápidamen e. También se ha de allado qué
ca ac e ís icas iene que ene la aplicación And oid y el disposi i o p o o ipo
a es ea . Es o se ha concluido median e la compa ación de las di e en es
lesiones básicas que comúnmen e su en los co edo es, además de la
compa ación de las di e en es ca ac e ís icas que los di e en es disposi i os en
el me cado. Po úl imo, el en o no de desa ollo pa a la aplicación ha sido
seleccionado y comen ado los mo i os que han lle ado a su selección.
P o o ipo de disposi i o de medida de endimien o en unning basado en
acele óme o iaxial y comunicación a disposi i o mó il
24
25
3. En o no de desa ollo
3.1. In oducción
En es e apa ado se especi ica án y mos a án las di e en es ecnologías y
he amien as que se usa án pa a lle a a cabo el desa ollo de la aplicación
And oid pa a el disposi i o mó il. Además, se a a ealiza una b e e
in oducción de las más des acadas.
3.2. He amien as
And oid-SDK:
Paque e de so wa e que inco po a odas las he amien as y lib e ías
necesa ias pa a el desa ollo de aplicaciones And oid.
And oid S udio:
En o no de desa ollo p opo cionado po And oid Inc. pa a la
p og amación de aplicaciones pa a odo ipo de disposi i os mó iles;
su lanzamien o el 8 de diciemb e de 2014 supuso la eliminación de
Eclipse como en o no de desa ollo p incipal pa a And oid.
G adle:
Inco po ado den o de And oid S udio, G adle pe mi e de mane a
ácil la au oma ización de p ocesos de compilación, adminis ación
in e na de dependencias y con igu aciones especí icas de
compilación.
Blue oo h Sma :
Tecnología de conexión inalámb ica que se pe mi e la conexión a
disposi i os ex e nos y la lec u a de da os de los mismos. De código
abie o, in en a eemplaza al Blue oo h adicional como o ma de
conexión inalámb ica.
MySQL:
Ges o de bases de da os elacional con licencia GNU GLP, su uso
es á muy ex endido debido al ácil acceso de los dis in os lenguajes de
p og amación a a és de in e aces p opias. En caso de And oid, se
usa á la in e az de SQLi e.
SQLi e pe mi e el desa ollo de bases de da os sin necesidad de clien e
o se ido , ya que la p opia base de da os es a embebida en el código.
Debido a no dispone de la elación de clien e y se ido , la conexión
es casi ins an ánea o eciendo los da os e in e acciones en iempo eal.
P o o ipo de disposi i o de medida de endimien o en unning basado en
acele óme o iaxial y comunicación a disposi i o mó il
32
comple o de odas sus ac i idades donde se mues a su endimien o o al
desde que se c eó el usua io o desde el úl imo bo ado de memo ia.
4.1.3. De iniciones, ac ónimos y ab e ia u as
API: del inglés applica ion p og amming in e ace; es un conjun o de
de iniciones de sub u inas, p o ocolos y he amien as pa a la elabo ación
de so wa e y aplicaciones.
Null: o nulo, se u iliza no malmen e en los lenguajes de p og amación
como alo nulo. Se da cuando no se le asigna alo alguno a una
a iable o da o; se puede u iliza como e e encia de pun e o.
Aplicación: p og ama o conjun o de p og amas in o má icos des inados
a ealiza un abajo especí ico, diseñado pa a sa is ace las necesidades
de un usua io inal.
Aplicación mó il: p og ama o conjun o de p og amas desa ollados con
obje i o de se usados en disposi i os mó iles.
Disposi i o mó il: disposi i o elec ónico de pequeño amaño, pensado
pa a que el usua io pueda anspo a ácilmen e de un lado a o o y
eniendo una capacidad de p ocesamien o simila a una compu ado a.
BBDD: bases de da os, colección de da os de in o mación o ganizadas
pa a que un sis ema ex e no pueda selecciona agmen os especí icos de
la misma.
SQL: del inglés s uc u ed que y language, es un lenguaje de p og amación
diseñado pa a la elación acional de sis emas de bases de da os.
SQLi e: sis ema de ges ión de bases de da os elacional; compa ible en
mayo pa e con los lenguajes de p og amación pa a disposi i os
mó iles, pe o, que a di e encia de MySQL, con iene algunas
es icciones. No hace al a ene una conexión con un se ido ex e no
ya que el p opio código es a embebido den o de la aplicación.
JAVA: lenguaje de p og amación o ien ado a obje os que en la
ac ualidad es el más usado en e los sis emas ope a i os de los di e en es
disposi i os mó iles. De código abie o y ácil acceso, pe mi e una ácil
di usión de los p og amas y aplicaciones c eados con el mismo.
BLE: del inglés Blue oo h low ene gy, es un sis ema de conexión
inalámb ico en e disposi i os con simila es capacidades que el
Blue oo h adicional, pe o con meno consumo de ene gía.
GATT: del inglés gene ic a ibu e p o ile, es un pe il de especi icación
gene al pa a el en ío y la lec u a de da os en una conexión BLE. Pa a
más in o mación consul a el apa ado 2.6.
33
UUID: del inglés Uni e sally Unique IDen i ie , es un código iden i icado
es ánda empleado en la c eación de so wa e y aplicaciones pa a el
egis o de elemen os en el mismo.
Clien e: p og ama que necesi a la conexión a o o p og ama que ac úa
como se ido . El papel del clien e es la lec u a de da os de la conexión
BLE.
Se ido : p og ama que p opo ciona los da os a lee en una conexión
BLE. El se ido no puede ecibi da os pa a su lec u a ni esc i u a.
Co edo : o unne es la pe sona que dedica su iempo a p ac ica el
unning cómo depo e p incipal.
Running: ambién conocido como jogging, es un depo e que a aigado
úl imamen e en la población debido a su acilidad y accesibilidad. Pa a
más in o mación consul a el apa ado 2.1.
Vis a: pa e isible de una in e az de usua io que si e pa a la
in e acción con el mismo.
G upo de is as: conjun o de is as que de inen la elación pad e-hijo
en e las di e en es is as de la aplicación.
XML: lenguaje de ma cas ex ensible que pe mi e la o ganización y
e ique ado de documen os.
Layou : documen o XML conside ado coloquialmen e como un
‘c oquis’ de donde debe i cada elemen o en una in e az de usua io,
siendo es os elemen os is as o g upos de is as.
Mani ies o: documen o XML donde se especi ican las ca ac e ís icas de
la aplicación, así de los elemen os que es a u iliza, sean ísicos o no.
Me ada o: da o sob e un da o, in o mación que no es ele an e pa a el
usua io de la aplicación, pe o si pa a la misma.
4.1.4. Visión gene al del documen o
El documen o cons a de es pa es de inidas con cla idad, siendo la
p ime a una b e e in oducción gene al a la aplicación y sus
de iniciones, la segunda es donde se explica el con ex o de la aplicación
y una e ce a donde se de allan las uncionalidades que se equie e que
enga es a.
P o o ipo de disposi i o de medida de endimien o en unning basado en
acele óme o iaxial y comunicación a disposi i o mó il
34
4.2. Desc ipción gene al
La aplicación iene que pe mi i la medición de endimien o de un
co edo median e la conexión a un disposi i o ex e no y los p opios senso es
del disposi i o mó il. A su ez, iene que ga an iza la c eación de pe iles de
usua io y su pos e io modi icación; ambién iene que asegu a que los
endimien os de cada usua io sean gua dados pa a su pos e io uso.
4.2.1. Pe spec i a del p oduc o
Po una pa e, la aplicación a desa olla iene que al menos,
p opo ciona al usua io las mediciones mínimas de ac i idad ísica que
o os disposi i os y aplicaciones en el me cado o ecen, siendo és as el
cálculo de la dis ancia eco ida, pasos dados y calo ías quemadas.
Po o a pa e, la aplicación iene que conec a se a un disposi i o
ex e no, en es e caso el CC2541 Senso ag, del que lee á los da os
p opo cionados po un acele óme o y un gi oscopio pa a sabe en un
mapa 3D cuál es la posición del pie del usua io.
La aplicación se desa olla á casi en su o alidad con el lenguaje de
p og amación And oid, el cual incluye JAVA y XML; haciendo uso de
las biblio ecas públicas del SDK de And oid pa a su co ec o
uncionamien o.
El o o lenguaje a u iliza se á el SQL. Es e lenguaje se usa á pa a la
elabo ación de una base de da os in e na en el disposi i o median e
SQLi e. Es a base de da os iene que almacena los da os del disposi i o
ex e no, un egis o de usua io y un egis o sob e las ac i idades del
usua io.
4.2.2. Funciones del p oduc o
La aplicación que, de una mane a cómoda y ácil, iene que ealiza
las siguien es unciones:
Conexión con un disposi i o ex e no median e BLE.
C eación de un usua io ligado al disposi i o ex e no.
Modi icación de los da os del usua io una ez c eado.
Maneja ac i idades ísicas pa a medi el endimien o del co edo
Recopilación de odos los da os de las ac i idades ísicas ealizadas
po el usua io.
35
In e acción con la base de da os pa a la posible eliminación de
egis os de ac i idades pasadas.
Re os dia ios que pongan a p ueba al usua io.
Pe sis encia de los da os del usua io después del apagado o einicio
de la aplicación.
Ga an iza la segu idad de conexión del pue o Blue oo h del
disposi i o mó il, pe mi iendo que solo se pueda conec a el
disposi i o ex e no señalizado.
4.2.3. Ca ac e ís icas de los usua ios
Los usua ios obje o de es a aplicación ienen que se p ac ican es del
depo e conocido como unning y que busquen una al e na i a pa a el
con ol de su endimien o como co edo es. Si bien, la aplicación no
equie e un ni el de es udios ni expe iencia p e ia con o as aplicaciones,
se ha de ene p ecaución a la ex ema acumulación de ac i idades en la
base de da os, que puede llega a p oduci una co upción de da os.
La aplicación se pod á usa po di e en es usua ios y conec a se a
di e en es disposi i os, debido a que los egis os se gua dan en la base
de da os. No obs an e, con un disposi i o sólo se puede egis a a un
usua io, pe o si ya hay a ios usua ios egis ados, el mismo disposi i o
se puede usa con di e en es usua ios.
4.2.4. Res icciones
P ime o de odo se á necesa io un disposi i o ex e no habili ado con
conexión inalámb ica Blue oo h Sma ® o BLE, o un disposi i o de
p o o ipo como el CC2541 Senso Tag. Sin ninguna de es as dos cosas,
no se pod á inicia la aplicación como es debido, debido a que al menos,
se necesi a un disposi i o pa a egis a al p ime usua io.
La aplicación equie e del uso de la ecnología Blue oo h dispues a en
el disposi i o mó il del usua io, si es e no iene ningún ipo de ecnología
Blue oo h no se pod á ealiza la conexión. Dado el caso de que dicho
disposi i o mó il con enga ecnología Blue oo h, iene que ene
compa ibilidad con la ecnología Blue oo h Sma ® o BLE. Si no es
compa ible con es a ecnología no se pod á ealiza la conexión.
También se equie e el uso de la geo localización del disposi i o mó il,
dado que es necesa io en la búsqueda y lec u a de la adio baliza del
disposi i o ex e no con conexión BLE. Si la geo localización no es á
ac i ada, no se pod á localiza al disposi i o incluso si ya se ha ac i ado
el Blue oo h del disposi i o mó il.
P o o ipo de disposi i o de medida de endimien o en unning basado en
acele óme o iaxial y comunicación a disposi i o mó il
36
La aplicación iene que pe manece en p ime plano mien as se quie a
ealiza alguna ac i idad; si se da el caso de que se pasa a segundo plano
end á que einicia la aplicación y ealiza de nue o la conexión con su
disposi i o ex e no pa a con inua con su ac i idad. Es o se debe a la
na u aleza de la conexión BLE, ya que es necesa io que ambos
disposi i os es én conec ados en e sí y se les hayan asignado los oles
pe inen es. Si el disposi i o hace como se ido y pie de al clien e, el
disposi i o mó il, pasa a inhabili a oda conexión y deshabili a odos
los senso es has a que se ealice la siguien e conexión acabando así, en
la pe dida de oda in o mación en iada al disposi i o mó il.
Al usua io se le ha dado in e acción es ingida con la base de da os de
la aplicación, pe mi iéndoles ac ualiza da os ales como: peso, al u a y
zancada. Dado que las condiciones ísicas del usua io a íen a lo la go
del uso de la aplicación es ecomendable que es as se ac ualicen con los
da os más ecien es pa a una medición más exac a del endimien o del
co edo . En caso de no sabe calcula su zancada, o de desconocimien o
o al de és a, la aplicación pasa a usa unas cons an es globales asignadas
como alo es de aul pa a odos los usua ios, pe o que dan los esul ados
de o ma imp ecisa espec o a las condiciones ísicas del usua io.
El usua io ambién dispone de la capacidad de bo a algunos da os de
la base de da os, siendo es os: usua ios egis ados, bo ado de
ac i idades ealizadas y el bo ado o al de la base de da os. Debido a la
elación que hay en e las di e en es ablas de la base de da os, bo a
odos los usua ios es á p ohibido po la posibilidad de causa un allo
o al en la misma; po an o, la aplicación es á es ingida a ene , po lo
mínimo, un usua io. Respec o a las ac i idades, se conside a que como
máximo, un usua io pod á ealiza a lo la go del día, cinco ac i idades
ísicas. Dado que és as no se pueden au o desca a con el iempo, se
pueden acumula de mane a excesi a en la memo ia del disposi i o
mó il del usua io, causando a la la ga allos de memo ia y de co upción
de da os; debido a es o, se le p opo ciona al usua io un bo ón de bo ado
o al de ac i idades. Como elemen o depu ado en caso de co upción
de da os, el usua io pod á elimina odo da o gua dado en la base de
da os, pe o se ecomienda no hace un uso excesi o del mismo, ya que
pod ía co ompe la aplicación, haciendo necesa ia una eins alación
comple a del mismo.
Cada in e acción con la base de da os, sea pa a añadi un usua io o el
bo ado de alguna ins ancia, supond á el einicio de la aplicación pa a
e i a u u as co upciones de da os.
La segu idad del pue o Blue oo h se ga an iza median e la
p og amación, ya que se ha diseñado pa a que solo pueda conec a se a
37
un ipo especí ico de da os, en es e caso, del CC2541 Senso Tag. La
aplicación no de ec a á ningún o o disposi i o que no lle e las ma cas
del pue o GATT necesa ias pa a la conexión.
Si bien la aplicación pe mi e la c eación de a ios usua ios y del
egis o de a ios disposi i os, solo pod á u iliza se un disposi i o a la
ez po aplicación. Es deci , con un solo p o o ipo solo e puedes
conec a a una aplicación y una aplicación solo pod á conec a a un
disposi i o. La conexión de o a aplicación al disposi i o conec ado en
o a aplicación puede causa la desconexión de es e y, po ende, la
pe dida de da os del co edo .
Po úl imo, debido a la na u aleza del p o o ipo y de la conexión BLE,
se han de ec ado p oblemas de incompa ibilidad en algunos disposi i os
mó iles. Es os p oblemas a ían desde la imposibilidad de conec a con
el disposi i o ex e no has a la no lec u a de los da os en iados po el
se ido GATT.
4.2.5. Suposiciones y dependencias
Dada la na u aleza de SQLi e, una ez c eada la base de da os no se
puede modi ica ; an solo se puede bo a y ol e a c ea . Es o inhabili a
la posibilidad de simples ac ualizaciones. Si se quisie a añadi nue as
uncionalidades a la base de da os pa a la lec u a de da os del disposi i o
ex e no se end ía que modi ica el código uen e de la aplicación en sí.
No obs an e, la pa e de la in e az de usua io es á p og amada de
o ma modula , pe mi iendo la inco po ación de esas nue as
ca ac e ís icas de o ma ácil y simple. También pueden añadi se de
o ma sencilla nue os e os dia ios pa a el usua io sin necesidad de
al e a la base de da os.
4.2.6. Requisi os u u os
Debido a que la ecnología a anza ápidamen e, se debe ía adap a la
aplicación en base al disposi i o ex e no que mejo enga pa a ecaba
da os sob e el usua io. Es deci , si en algún momen o dado se desa ollan
nue os senso es que se puedan u iliza con el in de medi el endimien o
del usua io, se debe ía adap a la aplicación a esos nue os senso es.
En un u u o ambién se pod ía implemen a , median e la conexión a
un se ido web ex e no, una ed social en base a la aplicación y los
di e en es usua ios de es a; pe mi iendo así el in e cambio de p og eso en
los di e en es e os dia ios y el inc emen o de sus es adís icas de
endimien o. También se pod ían liga la abla de esul ados de in de
P o o ipo de disposi i o de medida de endimien o en unning basado en
acele óme o iaxial y comunicación a disposi i o mó il
38
ac i idad con la ed social Twi e pa a di undi ácilmen e los da os de la
ac i idad en e los usua ios.
Se puede plan ea la inco po ación de un sis ema de ecompensa en
base a los e os comple ados en base al usua io. Pudiendo se moneda
i ual pa a se gas ada de alguna o ma po el usua io o simplemen e
expe iencia o pun os que si an como ayuda pa a c ea una abla de
clasi icación en e los di e en es usua ios de la aplicación.
Debe ía implemen a se un loga i mo que sea capaz de iden i ica las
ac i idades más an iguas y menos isi adas po el usua io pa a así pode
elimina las, e i ando así el bo ado sis emá ico de odas.
4.3. Requisi os especí icos
A con inuación, se an a desc ibi con de alle odos los equisi os que
debe de cumpli el sis ema pa a que, como mínimo, pe mi a plani ica ,
implemen a , diseña las p uebas y alida el cumplimien o de dichas
unciones. También se de alla án los equisi os necesa ios que debe cumpli
el disposi i o ex e no p o o ipo a es ea .
4.3.1. In e aces ex e nas
La aplicación a desa olla es á diseñada pa a unciona en cualquie
disposi i o mó il que inco po e And oid como sis ema ope a i o. El
sis ema ope a i o debe es a ac ualizado a And oid 6.0 (Ma shmallow)
pa a su co ec o uncionamien o. No obs an e, dada la na u aleza del
disposi i o p o o ipo ex e no, se ha de ec ado incompa ibilidad de
conexión con algunos mó iles. Se ecomienda comp oba la
compa ibilidad an es de usa la aplicación.
El usua io de la aplicación debe de acep a , en el momen o de ejecu a
la aplicación, el uso de la geo-localización y del pue o Blue oo h; se le
no i ica á con un mensaje de a iso en caso de no es a ac i adas es as
opciones en el mó il y, si con inúan sin se ac i adas, se pasa á a inaliza
la ejecución de la aplicación.
Pa a el co ec o uncionamien o de la aplicación es necesa io un
disposi i o p o o ipo ex e no o un equipo p o o ipo como el CC2541
Senso Tag. Si no se dispone de ninguna de las dos cosas no se pod á
inicia la aplicación con éxi o, impidiendo la con inuación de la misma.
Si se dispone de un disposi i o p o o ipo ex e no, el usua io ha de c ea
un pe il de usua io ligado a ese disposi i o pa a con inua con la
ejecución de la aplicación. Un usua io puede egis a a ios disposi i os
39
a su nomb e, pe o un disposi i o solo puede egis a a un usua io. No
obs an e, si ya se han egis ado más de un usua io, es os pod án
in e cambia disposi i os y segui á uncionando de o ma co ec a.
La conexión BLE se basa en el es ablecimien o de oles clien e y
se ido . Si se in en a es ablece conexión con o o clien e, disposi i o
mó il, al mismo se ido , disposi i o p o o ipo ex e no, en el que es é
conec ado o o usua io, es e úl imo se desconec a á del p ime clien e y
es ablece á como clien e al nue o usua io.
Es impe a i o que la aplicación es e en p ime plano; si se da el caso
de que pase a segundo o e ce plano, la aplicación de end á oda
conexión ealizada a disposi i os ex e nos, impidiendo así el co ec o
en ío de da os en e clien e y se ido .
El disposi i o mó il del usua io de la aplicación iene que dispone de
senso es de mo imien o básico. Es os son necesa ios en el co ec o
uncionamien o del sis ema, y de la medición del endimien o. En caso
de no dispone de ellos, se p oduci á una pé dida de in o mación en el
cálculo del endimien o.
4.3.2. Funciones
Se ha elegido que el o den de apa ición de las di e en es unciones de
la aplicación siga una je a quía uncional. Es deci , a con inuación, se
mos a án las di e en es unciones lle adas a cabo po la aplicación en el
mismo o den en el que apa ecen en la aplicación. Se ha elegido es e
mé odo po que es una o ma sencilla y ácil de explica pa a el
uncionamien o de las di e sas ac i idades que se han de ealiza .
Aplicación
Pan alla inicial
Desc ipción:
Zona inicial que p esen a á una lis a acía y un bo ón pa a el escaneo.
En ada:
(Ninguna)
Salida:
Selección de un í em en la lis a de disposi i os localizados.
Res icciones:
Conec i idad Blue oo h y geo-localización ac i adas.
P o o ipo de disposi i o de medida de endimien o en unning basado en
acele óme o iaxial y comunicación a disposi i o mó il
40
Desc ipción:
El usua io puede isualiza ácilmen e el bo ón de escaneo, con el cual
pod á inicia la búsqueda de disposi i os BLE en la zona. Si ha
acili ado los pe misos eque idos y encendido el disposi i o, cuando
el escaneo haya inalizado se pod á obse a en una lis a los di e en es
disposi i os localizados. Los da os del disposi i o, siendo es os: el
código de adiobaliza del disposi i o ex e no conec ado, UUID del
disposi i o ex e no conec ado, nomb e del disposi i o ex e no
conec ado y nomb e dado po el usua io al disposi i o ex e no
conec ado; se egis a án au omá icamen e en la base de da os, si no
exis e ya en ella. Se con inua á median e la selección de un í em de la
lis a de disposi i os conec ados
Nue o disposi i o localizado
Desc ipción:
Diálogo de ale a no i icando que se ha encon ado un nue o
disposi i o
En ada:
Í em seleccionado en la lis a de disposi i os encon ados.
Salida:
Bo ón de acep a .
Res icciones:
Da os de adio baliza del disposi i o ex e no.
Desc ipción:
Ale a pa a el usua io que desc ibe la necesidad de egis a el nue o
disposi i o encon ado y así, egis a lo en la base de da os.
Regis o de nue o disposi i o
Desc ipción:
Ac i idad que pide al usua io los dis in os da os necesa ios pa a el
co ec o egis o del disposi i o.
En ada:
Bo ón de acep a del dialogo de ale a de disposi i o localizado.
Salida:
Bo ón de acep a o cancela .
41
Res icciones:
No es á pe mi ido deja como campos acíos el nomb e del disposi i o
o el nomb e de usua io.
Desc ipción:
En es a ac i idad se le pedi á al usua io los da os necesa ios pa a el
egis o del disposi i o en la base de da os. Es o cons a de:
Un nue o nomb e pa a el disposi i o. No se admi e ni el
nomb e p e es ablecido ni deja lo en blanco.
Nomb e de usua io. Puede se un nue o nomb e o u iliza los
da os de un usua io ya es ablecido en la base de da os.
Peso en kilog amos del usua io. Puede se un nue o peso o
u iliza los da os de un usua io ya es ablecido en la base de
da os.
Al u a en cen íme os del usua io. Puede se una nue a al u a
o u iliza los da os de un usua io ya es ablecido en la base de
da os.
Se p ocede á a sali de es a ac i idad median e el bo ón de acep a ,
gua dando odos los da os p opo cionados, o median e el bo ón
cancela , no gua dando los da os p opo cionados.
Ale a de insc ipción comple ada
Desc ipción:
Diálogo de ale a que mues a al usua io que se ha comple ado el
egis o.
En ada:
Bo ón de acep a del egis o de nue o disposi i o.
Salida:
Bo ón de acep a .
Res icciones:
El campo de nomb e del disposi i o y del usua io no deben se null o
se campos acíos.
Desc ipción:
Si el usua io ha ellenado co ec amen e los campos y ha pulsado el
bo ón de acep a , es e diálogo le mues a que sus da os han sido
egis ados co ec amen e en la base de da os.
P o o ipo de disposi i o de medida de endimien o en unning basado en
acele óme o iaxial y comunicación a disposi i o mó il
48
Res icciones:
Se iene que habe iniciado p e iamen e una ac i idad.
Desc ipción:
En es e diálogo el usua io pod á e los esul ados de su
en enamien o, mos ándole po pan alla los siguien es da os:
Fecha de inalización de la ac i idad.
Dis ancia eco ida en kilóme os.
Pasos ealizados.
Pasos en pun illas ealizados.
Pasos de alón ealizados.
Pasos pesados ealizados.
Calo ías quemadas du an e la ac i idad.
Tiempo de du ación de la ac i idad.
Cada ex o a mos a debe de dispone de unas unidades que
especi iquen que se es á midiendo. Los da os aquí mos ados son los
que se gua dan en la base de da os pa a su pos e io uso.
4.3.3. Requisi os de endimien o
El sis ema es á desa ollado pa a un solo disposi i o ex e no que se
conec e median e BLE y ice e sa, el disposi i o ex e no solo es á
diseñado pa a una conexión ins an ánea con un clien e.
Las ansacciones en e clien e y se ido median e conexión BLE se
ealizan median e una máquina de es ados, minimizando el iempo que
los senso es es án conec ados y educiendo el núme o de conexiones
ealizadas po el disposi i o pa a lee los da os. Es deci , cada ez que el
usua io de un paso, el disposi i o mó il lee á los da os en el disposi i o
ex e no que si e de se ido .
No hay una mane a ácil de calcula cuan as conexiones se pueden
llega a hace du an e una ac i idad ísica comple a, ya que depende del
p opio endimien o de usua io.
Pa iendo de la base de que la dis ancia media, en kilóme os, eco ida
en un en eno de unning son cinco y que la al u a media en España pa a
homb es son 174 cm y pa a muje es 163 cm, se puede despeja un núme o
de pasos medio median e la ecuación uno.
1000
·)(
1000
)( pasosKmal u apasosmzancada
eco idosKilome os
Ec.1. Ecuación base pa a el cálculo de la dis ancia eco ida en base de los pasos
dados.
49
Siendo K la cons an e u ilizada po la aplicación pa a la con e sión de
al u a a zancada, se puede despeja de esa ó mula los pasos ealizados
en base a los kilóme os eco idos ( e Ec.2.).
Kmal u a
eco idosKilome os
Pasos
)(
1000
Aho a se sus i uyen los alo es, siendo kilóme os eco idos, 5 km; la
al u a se á la media pa a cada sexo, 1,74 m y 1,63 m; K se á la cons an e
del disposi i o: 0.414 ( e Fó mula.3.).
En base a es e cálculo se ob iene que el homb e, da de media 6941
pasos y la muje 7410 pasos. Es o signi ica que la in e acción media de
en ío de da os en e clien e y se ido que ha de sopo a el disposi i o
mó il, se án de en e [6941 – 7410] in e acciones po ac i idad.
4.3.4. Res icciones de diseño
El diseño de la aplicación es á limi ado po los pue os GATT
necesa ios pa a ealiza la conexión inalámb ica con el disposi i o
ex e no. Los pue os GATT son necesa ios pa a iden i ica los di e en es
se icios disponibles en el disposi i o ex e no, y sin ellos no es posible
ecibi ningún da o del mismo.
En es e caso, como se a emplea el CC2541 Senso Tag como
disposi i o p o o ipo pa a la comp obación y es eo como disposi i o
ex e no, se emplea án los pue os GATT especi icados po Texas
Ins umen s pa a la conexión a sus se icios.
En caso de desa olla o o p o o ipo de disposi i o ex e no, bien
hab ía que cambia el código de la p opia aplicación o bien, asegu a se
de que los pue os del disposi i o ex e no sean los mismos.
Ec.2. Ecuación despejada mos ando los pasos en base a los kilóme os eco idos
y la al u a del usua io.
pasosPasos
Muje
pasosPasos
Homb e
7410
414.063.1
5000
:
6941
414.074.1
5000
:
Ec.3. Ecuación con los di e en es alo es pa a homb e y muje , y su cálculo de
pasos espec i o.
P o o ipo de disposi i o de medida de endimien o en unning basado en
acele óme o iaxial y comunicación a disposi i o mó il
50
4.3.5. A ibu os del sis ema
Po un lado, la aplicación no equie e de un man enimien o ex ensi o
po pa e del usua io, simplemen e es ecomendable que es e no acumule
un excesi o núme o de ac i idades y que aya limpiando el egis o de
an o en an o.
Po o o lado, la segu idad de la misma es á ga an izada. Es o se debe
a que es á diseñada pa a conec a con un ipo conc e o de disposi i os
BLE y no debe ía pe mi i la en ada de o os ipos de disposi i os
ex e nos en el sis ema. Además, cada usua io iene su p opio egis o
sepa ado del es o, impidiendo cualquie al e ación de los da os del
mismo.
Po úl imo, la in e acción con la base de da os po pa e del usua io se
ha limi ado a la modi icación de algunos a ibu os del mismo y del
bo ado de pequeñas pa es de la misma. Solo se pod án bo a usua ios
si ya hay más de uno egis ado y los disposi i os no se pod án ol e al
egis o p e- ab icado después de egis a los en la base de da os.
4.3.6. O os equisi os
Pa a el o al y comple o uncionamien o de la aplicación es necesa io
que el usua io posea un disposi i o ex e no p o o ipo con conec i idad
BLE y los adecuados pue os GATT. Si no se da el caso, la misma queda
educida a una pan alla de búsqueda de disposi i os que no da pie a más
in e acción con el usua io. En caso de no dispone de un disposi i o
p o o ipo ex e no uncional se puede emplea un CC2541 Senso Tag, al
se és e en el que se ha basado el diseño de la aplicación.
51
5. Diseño
5.1. In oducción
A con inuación, se explica á el diseño an o de la base de da os como de la
misma aplicación And oid.
5.2. Diseño de la base de da os
El modelado de la base de da os sigue el modelo en idad- elación. Es e,
consis e en busca las en idades que desc iban los obje os que in e ienen en
el p oblema y las elaciones en e las en idades. Toda es a elación se ha de
egis a en un esquema g á ico que iene po obje i o, po una pa e, de
ayuda al p og amado du an e la codi icación y, po o a, al usua io pa a
comp ende el uncionamien o del p og ama.
Se ha di idido el diseño en a ios sub apa ados pa a ayuda a la
comp ensión lec o a. P ime o se expond án las de iniciones de las palab as
usadas que es én elacionadas de o ma di ec a con la c eación de bases de
da os.
En segundo luga , se es ipulan las especi icaciones de desa ollo de la base
de da os, es deci , que o ece pa a el co ec o uncionamien o y como lo debe
hace .
En e ce luga , se mues a el desa ollo de un diag ama de bloques pa a la
ilus ación del modelo de la base de da os.
En cua o y úl imo luga , se explica la asignación de ipos de da o a cada una
de las ca ac e ís icas de la base de da os y como se ha llegado a esa
conclusión.
5.2.1. De iniciones
En idad: ep esen ación de un obje o indi idual conc e o del mundo
eal.
Conjun o de en idades: conjun o de en idades con ca ac e ís icas
simila es o comunes.
A ibu o: cada una de las ca ac e ís icas que posee una en idad
indi idual y, que ag upadas, pe mi en la dis inción de la misma de o as
en idades del mismo conjun o.
Dominio: conjun o de alo es posibles pa a un a ibu o.
In e elación: la asociación o conexión en e di e en es conjun os de
en idades.
P o o ipo de disposi i o de medida de endimien o en unning basado en
acele óme o iaxial y comunicación a disposi i o mó il
52
G ado: núme o de conjun os de en idades que in e ienen en una
in e elación.
Cla e: conjun o de a ibu os que iden i ican de o ma uni oca una
en idad.
Cla e p incipal: ambién conocida como p ima ia, es una cla e
candida a que se elige de o ma a bi a ia; usada siemp e pa a iden i ica
una en idad.
Tipo de da o: ipo de a iable que cada a ibu o posee. Es o si e pa a
iden i ica si el a ibu o iene que in e p e a se como un núme o, como
un ex o o de o a o ma.
NULL: ipo de da o que solo puede con ene el alo null.
INTEGER: ipo de da o en e o cuyo amaño a ía de 1 a 8 by es.
REAL: ipo de da o decimal eal.
TEXT: ipo de da o de ex o que sigue los códigos de enc ip ación UTF-
8, UTF-16BE y UTF-16LE.
BLOB: ipo de da os sin especi ica . Se leen de la misma o ma que se
in oduje on en la base de da os.
UNIQUE: a ibu o que se le asigna a un ipo de da o pa a iden i ica lo
como único, es deci , que no se puede encon a duplicado den o de la
abla.
NOT NULL: a ibu o que se le asigna a un ipo de da o pa a indica que
no puede con ene un alo núme o como da o.
5.2.2. Especi icaciones de desa ollo
Debido a que la na u aleza de es e p oyec o no es la de un pedido de
un clien e, se de allan las di e en es especi icaciones según la elación
que se espe a que enga el usua io con la aplicación And oid.
La base de da os iene que se capaz de adminis a los da os pe sonales
del usua io del disposi i o ex e no, los da os del mismo disposi i o
ex e no y se capaz de gua da un egis o de cada ac i idad ísica
ealizada po el usua io de la aplicación. Se pod án c ea nue os usua ios
y egis a nue os disposi i os, y cada usua io se á lib e de c ea an as
ac i idades como le sean necesa ias. No obs an e, un disposi i o solo
pod á egis a un usua io y un usua io sólo es a á ligado a un disposi i o
ex e no.
Los da os pe sonales del usua io son: nomb e, al u a, peso y zancada.
Además, end án que inclui que e o debe ealiza el usua io ese día,
53
cuando ue la úl ima ez que accedió al sis ema y si ha comple ado o no
el e o dia io.
Del disposi i o ex e no se necesi a almacena el código de adio
balizamien o, su p opia UUID, el nomb e dado po el ab ican e y el
nomb e dado po el usua io de la aplicación.
Cada endimien o ísico ealizado po el usua io a a cons a de: la
echa en la que se ha ealizado, los pasos ealizados, los pasos de
pun illas y de alón ealizados, los pasos pesados, la dis ancia eco ida
en kilóme os y las calo ías quemadas.
5.2.3. Modelo en idad- elación
Según lo desc i o en las especi icaciones podemos encon a es
conjun os de en idades, siendo es os: disposi i os, usua ios y egis os.
Ya que se equie e la inse ción de nue os disposi i os, nue os usua ios
y nue os egis os, y la pos e io capacidad pa a elimina los, es la o ma
más sencilla de ag upa los.
La iden i icación de las in e elaciones es sencilla ya que, según las
especi icaciones, un disposi i o de ine a un solo usua io. La in e elación
en e disposi i os y usua ios es de g ado 1:1. Como cada usua io puede
egis a a ias ac i idades, su elación es de un cla o g ado 1: N. A
con inuación, se mues a el p ime esbozo del modelo ( e Fig.7.).
A con inuación, han de iden i ica se los a ibu os co espondien es a
cada conjun o de en idades. En las especi icaciones se de allan de o ma
muy cla a odas ellas, así que se a a p ocede a nume a las.
Pa a el disposi i o enemos: código de la adio-baliza (a pa i de aho a
pasa á a llama se mDe ice), su UUID (mSe iceUUID), su p opio
nomb e (mDe iceName) y el nomb e dado po el usua io (Gi enName).
Po pa e del usua io sabemos que necesi amos los siguien es da os
pa a c ea lo: su nomb e (Nomb e), su peso (Peso), su al u a (Al u a), su
Fig.7. Diag ama de bloques ep esen ando el p ime esbozo de la base de da os.
P o o ipo de disposi i o de medida de endimien o en unning basado en
acele óme o iaxial y comunicación a disposi i o mó il
54
zancada (Zancada), el código de e o dia io (Re oDia io), si se ha
comple ado (Re oComple ado) y su úl imo egis o en la aplicación
(Las Log).
También se ha especi icado que cada endimien o ha de ene : la echa
en la que se ha ealizado (Fecha), los pasos ealizados (Pasos), los pasos
de pun illas (PasosPun illas), los pasos de alón (PasosTalón), los pasos
pesados (PasosPesados), dis ancia eco ida en kilóme os (Dis ancia) y
calo ías quemadas (Calo íasQuemadas)
Una ez ag upado cada conjun o con sus espec i os a ibu os, se ha
de p ocede a la asignación de cla es p ima ias y o áneas. Pa a los da os
del disposi i o ex e no, se emplea mDe ice como la cla e p ima ia. En
el usua io, se dispond á de un iden i icado p opio p opo cionado po
SQLi e como cla e p ima ia y end á como lla e o ánea el mDe ice.
Es o se debe al equisi o de que cada usua io solo puede egis a se con
un disposi i o, de es a o ma se pueden asocia ambas ablas y lle a un
con ol más especí ico.
Los egis os de ac i idad ísica de cada usua io end án como lla e
p ima ia un iden i icado p opo cionado po SQLi e y como lla e o ánea
el nomb e del usua io que ealiza la ac i idad.
Aho a que an o los a ibu os como las cla es han sido asignadas, se
puede hace un diag ama de bloques comple o de las elaciones en la
base de da os ( e Fig.8.).
55
También se pod ía modeliza de la siguien e o ma más sencilla ( e Fig.9):
Fig.9. Modelo de la base de da os median e ablas o ganizadas.
Fig.8. Diag ama de bloques de
en idad- elación comple o.
P o o ipo de disposi i o de medida de endimien o en unning basado en
acele óme o iaxial y comunicación a disposi i o mó il
56
5.2.4. Asignación de alo es a las columnas
Cada a ibu o elacionado a un conjun o de en idades necesi a ene
un ipo de alo asignado a la ho a de se p og amado (cha , S ing,
In ege …).
A con inuación, se explica la asignación de dichos alo es a los
a ibu os p e iamen e mencionados y como se ha lle ado a cabo. Cabe
comen a que SQLi e o ece unos alo es dep ecados compa ado con
MySQL, solo exis iendo: NULL, INTEGER, REAL, TEXT y BLOB.
Da os del disposi i o:
mDe ice: código de la adio baliza si uada en el disposi i o ex e no.
Se le asigna en la base de da os como TEXT UNIQUE NOT NULL.
mSe iceUUID: código iden i icado p opio del disposi i o ex e no. Se
le asigna en la base de da os como TEXT NOT NULL.
mDe iceName: nomb e que el ab ican e ha p opo cionado al
disposi i o. Se le asigna en la base de da os como TEXT NOT NULL.
Gi enName: nomb e que el usua io ha p opo cionado pa a iden i ica
al disposi i o en la aplicación. Se le asigna en la base de da os como
TEXT NOT NULL.
Todos los a ibu os del disposi i o pueden se c eados como en idades
ex o que no pueden adop a el alo nulo (o null). Es o se debe a que
los da os p opo cionados po la adio baliza del disposi i o ex e no ya
ienen en es e o ma o y no hace al a cambia el ipo de da o.
Usua io:
Usua ioID: código iden i icado p opio de cada usua io. Se le asigna
en la base de da os como INTEGER PRIMARY KEY NOT NULL.
Con es a asignación la cla e se i á au oinc emen ando cada ez que un
nue o disposi i o sea egis ado en la base de da os, o eciendo una
nume ación básica de in e p e a que comienza en el 1 y a
ascendiendo según el núme o de disposi i os egis ados.
mDe ice: código de la adio baliza del disposi i o ex e no. Se le asigna
en la base de da os como TEXT UNIQUE NOT NULL. Es un
iden i icado o áneo que elaciona es a abla con los da os del
disposi i o.
57
Nomb e: nomb e que el usua io ha seleccionado pa a iden i ica se en
el sis ema. Se le asigna en la base de da os como TEXT NOT NULL.
Al u a: al u a que ha p opo cionado el usua io al sis ema. Se le asigna
en la base de da os como TEXT NOT NULL. El o ma o TEXT ha
sido elegido sob e el o ma o INTEGER o BLOB debido a la acilidad
en And oid de ex ae in o mación de S ings, además de acili a las
cosas en el cues iona io de c eación de usua io.
Peso: peso que ha p opo cionado el usua io al sis ema. Se le asigna en
la base de da os como TEXT NOT NULL po los mismos mo i os que
la al u a.
Zancada: zancada que ha p opo cionado el usua io al sis ema. Se le
asigna en la base de da os como TEXT NOT NULL po los mimos
mo i os que la al u a.
Las Log: úl ima ez que el usua io egis ó ac i idad en la aplicación.
Se le asigna en la base de da os como TEXT NOT NULL. Es o se debe
a que es una codi icación in e na basada solamen e pa a la aplicación
consis en e en dos núme os que indican día y mes sepa ados median e
‘:’. Ej.: Si el día 8 de oc ub e uese la úl ima ez que el usua io egis ó
ac i idad, el código se ía: ‘8:10’.
Re o dia io: el e o que se le ha asignado en es e día al usua io. Se le
asigna en la base de da os como INTEGER NOT NULL. Los e os
ienen cla es iden i ica i as den o del sis ema que an desde el 1 has a
el núme o de e os p og amados.
Re o comple ado: da o auxilia pa a la aplicación que si e pa a
iden i ica si el usua io ya ha comple ado su e o o no. Dado que en
SQLi e no exis e BOOLEAN como ipo de da o se le asigna á un alo
INTEGER que puede a ias en e 0 o 1. Se le asigna en la base de da os
como INTEGER NOT NULL.
Rendimien o de usua io:
Pe o manceID: iden i icado p opio de cada endimien o. Se le
asigna en la base de da os como INTEGER PRIMARY KEY
AUTOINCREMENT. Es o p opo ciona a la base de da os un índice
cla o pa a elaciona el núme o de ac i idades ísicas egis adas.
Nomb e: iden i icado o áneo empleado pa a elaciona cada usua io
con sus di e en es ac i idades ísicas. Se le asigna en la base de da os
como TEXT UNIQUE NOT NULL.
Fecha: día en el que se ha ealizado la ac i idad, además de en qué
ho a, minu o y segundo a inalizado. Se le asigna en la base de da os
como TEXT NOT NULL. Se u iliza el o ma o TEXT debido a que la
echa se gua da á siguiendo un o ma o de: ‘dd/mm/yyyy – hh:mm’.
P o o ipo de disposi i o de medida de endimien o en unning basado en
acele óme o iaxial y comunicación a disposi i o mó il
64
Fig.12. Segunda pa e del diag ama de clases
de la aplicación.
65
Fig.13. Te ce a pa e del diag ama de clases de
la aplicación.
P o o ipo de disposi i o de medida de endimien o en unning basado en
acele óme o iaxial y comunicación a disposi i o mó il
66
Fig.14. Cua a pa e del diag ama de clases de la aplicación.
67
Se pueden obse a a ias elaciones de elación de ag egación po
alo ( e Fig.12.) ( e Fig.13.); es as elaciones se o man en e clases
que dependen la una de la o a pa a la c eación de ipos de da os no
básicos o o ma os no es anda izados. En el caso de una elación de
ag egación po alo , el iempo de ida del obje o incluido es á ligado al
obje o que lo c ea.
En la aplicación, cuando se necesi a mos a al usua io la lis a de
disposi i os encon ados, se c ea una ins ancia del Colo edTex Adap e .
Median e es a ins ancia, se da á o ma o al Lis View donde apa ece á la
in o mación pa a el usua io, mos ando un icono elacionado con el
disposi i o, el nomb e dado po el usua io al disposi i o, el código de
adio baliza del mismo y el nomb e dado po el ab ican e al p oduc o.
También se c ea á una ins ancia de SimpleSpinne Tex Adap e cuando
la aplicación mues e la lis a desplegable con los usua ios ya egis ados.
Ambas ac i idades ins anciadas en la p incipal ex ienden
A ayAdap e ; és a es una clase p opo cionada po el SDK de And oid
y nos pe mi e sob esc ibi la misma pa a edi a una in e az isual
cus omizada po los desa ollado es.
La ac i idad p incipal con iene un al o núme o de a iables
decla adas; la misión p incipal de és as es la comunicación en e la base
de da os, el disposi i o y la p opia ac i idad. Además, se han decla ado
odas las is as usadas pa a mos a in o mación al usua io pa a pode
inicializa las en el mé odo onC ea e() y pode e e encia las en cualquie
o o mé odo de la ac i idad.
Tan o en la Fig.11. como en la Fig.12. se pueden obse a a iables
es á icas. Es as a iables son globales pa a oda la aplicación y son
usadas pa a de ini iden i icado es exclusi os. En e es os iden i icado es
exclusi os se encuen an los iden i icado es de pue os GATT necesa ios
pa a la conexión con disposi i o p o o ipo ex e no.
En MainAc i i y ambién se han es ablecido mé odos que ayudan a:
conec a con el disposi i o ex e no, comunicación con la base de da os,
ges ión de la base de da os, ges ión de ale as de usua io y mé odos
auxilia es ( e Fig.13.) ( e Fig.14.).
P o o ipo de disposi i o de medida de endimien o en unning basado en
acele óme o iaxial y comunicación a disposi i o mó il
68
NewDe iceAc i i y
Es a clase con iene la ac i idad que es llamada cuando en
MainAc i i y se de ec a un nue o disposi i o sin egis a . Dicha
ac i idad ( e Fig.15.) mues a al usua io un o mula io donde debe
ellena los campos que se le piden: nomb e pa a el disposi i o, nomb e
de usua io, peso y al u a. También iene mé odos elacionados con la
base de da os que son empleados cuando se selecciona un usua io
p e iamen e egis ado pa a añadi el nue o disposi i o.
69
Fig.15. Quin a pa e del diag ama
de clases de la aplicación.
P o o ipo de disposi i o de medida de endimien o en unning basado en
acele óme o iaxial y comunicación a disposi i o mó il
70
Fig.16. Sex a pa e del diag ama de clases de la aplicación
71
Ope acionesBaseDa os
Cuando MainAc i i y y NewDe iceAc i i y son ejecu adas, c ean una
asociación con es a clase ( e Fig.16.). Ope acionesBaseDa os se
enca ga de o ganiza el CRUD (del inglés C ea e Read Upda e and
Dele e) pa a la base de da os de la aplicación. Es deci , c ea los mé odos
que pe mi en a las demás clases la c eación de da os en las ablas de la
base de da os, su lec u a, los mé odos que pe mi en modi ica las y los
que pe mi en bo a las.
Dado que a la ho a de modela la base de da os se c ea on elaciones
con lla es o áneas en e las di e en es ablas, es a clase p opo ciona unas
cons an es que indicas las elaciones en e ablas y lla es o áneas.
Además, indica cómo deben se las p oyecciones de las ablas
elacionadas cuando se pidan los da os pe enecien es a es as.
Es a clase iene una asociación di ec a con De iceCon ac y
BaseDa osDisposi i o ( e Fig.16.). Es o se debe a que el CRUD de la
base de da os necesi a usa las in e aces c eadas en es as clases pa a la
in e acción con la misma. Es as es clases usan un paque e llamado
Modelo; dicho paque e con iene los cons uc o es necesa ios pa a cada
abla de la BBDD.
De iceCon ac
Su unción p incipal es de con enedo de me ada os median e el
es ablecimien o de in e aces y de clases es á icas. Las in e aces
es ablecen los nomb es que ha de ene cada columna de cada abla y las
clases es á icas implemen an dichas in e aces pa a pode in e ac ua
di ec amen e con ellas. Las clases es á icas ambién con ienen
gene ado es de UUID alea o ia po si son necesa ias en el egis o de
algún usua io, disposi i o o ac i idad.
De iceCon ac iene una elación de ag ecación po e e encia con
Ope acionesBaseDa os. Es a elación iene dada po el hecho de que
es a úl ima clase, emplea a la p ime a como gene ado de in e aces pa a
la ápida consul a de da os en la base de da os; además, el ciclo de ida
de la p ime a no es á ligada al ciclo de ida de la segunda. Las elaciones
de De iceCon ac con las in e aces y clases es á icas es de ag egación
po alo . Como su elación con la base de da os, De iceCon ac solo
si e como con enedo de me ada os y una ez su ciclo de ida llegue a
su in, el ciclo de ida de las in e aces y clases es á icas ambién llega á
a su in.
P o o ipo de disposi i o de medida de endimien o en unning basado en
acele óme o iaxial y comunicación a disposi i o mó il
72
BaseDa osDisposi i o
Es a clase con iene los me ada os necesa ios pa a la c eación de la
BBDD y su man enimien o. Es o se consigue median e la c eación de
alo es globales que con ienen el nomb e deseado pa a la base de da os
y su e sión ac ual.
Se le han asignado dos mé odos, uno pa a la ac ualización de la base
de da os, con el cual bo a odos los da os almacenados y c ea de nue o
las ablas. El segundo es pa a el bo ado de ac i idades que, en luga de
implemen a lo en la CRUD, se conside a que bo a una a una las
ac i idades es un p oceso edioso y sólo se pe mi e el bo ado sis emá ico
de las mismas.
BaseDa osDisposi i o implemen a SQLi eOpenHelpe , es a es una
clase localizada en el SDK de And oid que pe mi e la c eación y
modi icación de bases de da os po aplicaciones And oid. De ella, se
implemen an los mé odos de onC ea e(db : SQLi eDa abase),
onUpda e(db : SQLi eDa abase) y onOpen(db : SQLi eDa abase).
5.4. Conclusiones
Respec o al modelado de la BBDD, se han especi icado las pau as que
debe ía segui la BBDD pa a la aplicación y, median e el modelo de En idad-
Relación, se ha podido diseña con cla idad la a qui ec u a de la BBDD a
u iliza ; además, de la asignación de ipos de da os de la misma.
Respec o al modelado de la Aplicación, median e el diag ama de casos
de uso se ha podido obse a como in e ac úa la aplicación con un clien e
desde su pun o de is a, y con el diag ama de clases se ha podido ilus a las
di e en es in e acciones en e las clases del p og ama.
73
6. Implemen ación
6.1. In oducción
En el apa ado de implemen ación se mues a paso a paso como se ha
diseñado la aplicación pa a cumpli con las especi icaciones eque idas. Se
mues a an solo el código más ele an e.
6.2. Desa ollo
Clien e
And oidMani es .xml
A chi o de con igu ación necesa io en cualquie aplicación And oid.
Con iene los pa áme os básicos pa a la con igu ación de la misma. En e
es os pa áme os se encuen an ( e Fig.17.):
allowBackup: pe mi e que la aplicación sea u ilizada en los
a chi os de es au ación del disposi i o mó il obje i o.
icon: pe mi e decla a el icono usado po la aplicación.
label: pe mi e decla a el nomb e usado po la aplicación.
suppo sR l: a ibu o que pe mi e o no a la aplicación el uso de
layou s de de echa a izquie da.
heme: a ibu o que decla a el ema a usa po la aplicación.
Fig.17. Pa e del And oidMani es .xml donde se aplica la con igu ación de la
aplicación.
P o o ipo de disposi i o de medida de endimien o en unning basado en
acele óme o iaxial y comunicación a disposi i o mó il
80
De iceCon ac .ja a
Aquí se decla an como in e aces ( e Fig.24.) las di e en es
columnas de cada abla de la BBDD. Las columnas se de inen como
S ing ya que solo son un nomb e iden i ica i o y no a ec an
di ec amen e a la c eación de es a.
Es a clase con iene o as clases es á icas, cada una elacionada
con una abla de la BBDD y que implemen an las in e aces
co espondien es. Con ellas, o as ac i idades pueden llama los da os
gua dados en las in e aces de es a clase.
BaseDa os.ja a
Clase enca gada de la c eación de las di e en es ablas de la
BBDD, y de la implemen ación de los mé odos eque idos po la
clase implemen ada SQLi eOpenHelpe .ja a.
Como se obse a en la Fig.25., la c eación de la abla se hace
median e un execSQL. Es e es un mé odo impo ado de
SQLi eOpenHelpe que pe mi e el en ío de comandos SQL pa a
in e ac ua con la base de da os. Pa a la c eación se u iliza un
comando con a gumen os pa a ga an iza la segu idad de la base de
da os. Es os a gumen os son las in e aces p e iamen e decla as en
De iceCon ac .ja a y en los di e en es modelos.
Fig.24. In e az que decla a las di e en es columnas de la abla Usua io.
81
En SQLi e, al es a me mada su capacidad pa a las lla es
o áneas, es necesa io la c eación de un índice que indique que
elemen o si e como lla e o ánea en o a abla. En el ejemplo de
abajo, se decla a el nomb e del usua io como lla e o ánea.
En ella se decla an dos in e aces, una pa a la iden i icación de
los nomb es de las ablas y o a con las e e encias en e las dis in as
lla es o áneas y sus ablas. Se han implemen ado dos mé odos
auxilia es, uno pa a el bo ado sis emá ico de los da os de la abla de
endimien o del usua io, y el segundo, pa a consegui la e sión
ac ual de la BBDD.
Usua io.ja a
Modelo c eado pa a con ene los da os necesa ios pa a la
adicción de un nue o usua io a la BBDD. Es o se ealiza median e el
cons uc o del p opio modelo y unas a iables asignadas a es e. Es
aquí donde se de ine el ipo de da o pa a cada columna de la abla
Usua io.
Rendimien oUsua io.ja a
Modelo c eado pa a con ene los da os necesa ios pa a la
adicción de un nue o endimien o a la BBDD. Es o se ealiza
median e el cons uc o del p opio modelo y unas a iables asignadas
a es e. Es aquí donde se de ine el ipo de da o pa a cada columna de
la abla Rendimien oUsua io.
Da osDisposi i o.ja a
Modelo c eado pa a con ene los da os necesa ios pa a la
adicción de un nue o disposi i o a la BBDD. Es o se ealiza
median e el cons uc o del p opio modelo y unas a iables asignadas
Fig.25. C eación de la abla Usua io en BaseDa os.ja a
P o o ipo de disposi i o de medida de endimien o en unning basado en
acele óme o iaxial y comunicación a disposi i o mó il
82
a es e. Es aquí donde se de ine el ipo de da o pa a cada columna de
la abla Da osDisposi i o.
Use s.ja a
Modelo c eado pa a el SimpleSpinne Tex Adap e .ja a que
con iene los pa áme os necesa ios pa a la elabo ación de una lis a
desplegable. Es o se consigue median e el cons uc o del p opio
modelo y unas a iables asignadas al mismo.
De ices.ja a
Modelo c eado pa a el Colo edTex Adap e .ja a que con iene
los pa áme os necesa ios pa a da o ma a cada elemen o de la lis a
que mues a los disposi i os ex e nos encon ados. Es o se consigue
median e el cons uc o p opio del modelo y unas a iables asignadas
al mismo.
SimpleSpinne Tex Adap e .ja a
Clase que he eda de A ayAdap e .ja a. Es a es una clase
inco po ada en el SDK de And oid que pe mi e a los desa ollado es
la elabo ación de o ma os p opios de adap ado es, usados en los
di e en es elemen os de la in e az de usua io.
En conc e o, es a clase es un nue o adap ado pa a la is a
Spinne , que le mues a al usua io, las pe sonas que ya es án
egis adas en la BBDD. En ella se decla an los mé odos necesa ios
pa a el A ayAdap e .ja a. También se decla a un cons uc o , es e
es quien ecibe los alo es que el adap ado debe usa pa a c ea el
elemen o de la is a.
Los mé odos decla ados son ge View y ge D opDownView. El
p ime o es usado pa a la elabo ación de cada í em de la lis a, y el
segundo mues a al sis ema como iene mos a la lis a desplegable al
usua io.
Po úl imo, se decla a una clase es á ica ligada a
SimpleSpinne Tex Adapa e .ja a que solo si e como con enedo de
los di e en es da os necesa ios pa a la elabo ación de cada í em de la
lis a.
Colo edTex Adap e .ja a
Clase que he eda de A ayAdap e .ja a, como se ha explicado
p e iamen e, es a clase nos pe mi e la elabo ación de elemen os
pe sonalizados pa a las is as.
El obje i o de es a clase, es la c eación de un adap ado pa a la
lis a de disposi i os ex e nos escaneados. En ella, se decla an los
83
mé odos necesa ios pa a la clase he edada y las a iables necesa ias
pa a la c eación de cada í em de la lis a.
En es e caso, el mé odo he edado es solo ge View. Es o se debe
a que la Lis View mues a odo su con enido de o ma inmedia a al
usua io, sin necesidad de clica a ningún desplegable. Median e es e
mé odo se da o ma a cada í em de la lis a.
Se decla a una clase es á ica ligada a Colo edTex Adap e .ja a
que si e como con enedo de los di e en es da os necesa ios, pa a la
elabo ación de cada í em. En el caso pa icula de la lis a de
disposi i os, es os son: icono del disposi i o, nomb e dado po el
usua io, código de adio baliza y nomb e del ab ican e.
ac i i y_main.xml
A chi o layou esc i o en o ma o xml. Un a chi o layou , es
un con enedo de is as que decla a que componen es se isualizan y
sus espec i os a ibu os. Es e iche o es á ligado a MainAc i i y.ja a
y, a di e encia de un layou simple, es e es á compues o po dos
layou s di e en es supe pues os.
El p ime o de ellos ( e Fig.26.), se enca ga de acili a al
usua io el en o no de localización de disposi i os median e la
decla ación de un bo ón de escaneo, y una lis a donde mos a los
disposi i os encon ados. Es e layou es el p incipal y se á el
mos ado al usua io de o ma p ede inida.
El segundo layou ( e Fig.27.), es el supe pues o y
pe manece á in isible e inac i o al usua io has a que la aplicación
econozca que el usua io ha ac i ado un disposi i o p e iamen e
egis ado en la BBDD. Se enca ga de acili a una in e az de
usua io, median e un G idLayou en el que se disponen los di e en es
bo ones de in e acción.
Fig.26. Decla ación del p ime layou de ac i i y_main.xml
P o o ipo de disposi i o de medida de endimien o en unning basado en
acele óme o iaxial y comunicación a disposi i o mó il
84
Usa dos con enedo es de obje os supe pues o, pe mi e el
eu ilizamien o del iche o .ja a de ás de la ac i idad. Es o nos
pe mi e man ene la conexión con el disposi i o ex e no después de
habe lo localizado y a su ez, o ece le al usua io una in e az dis in a
con la que se ha encon ado p e iamen e.
ac i i y_new_de ice.xml
Fiche o layou XML que con iene el o mula io que el usua io
necesi a ellena con da os, a la ho a de egis a un nue o disposi i o
y usua io en la BBDD. Con iene decla ados di e en es Tex Views y
Edi Tex pa a in o ma y ob ene del usua io dicha in o mación.
Además, implemen a un bo ón pa a gua da los da os y o o pa a
cancela el p oceso.
con ig_use _dialog.xml
Es e con enedo de is as, si e pa a da o ma a una ale a de
diálogo pe sonalizada, en es e caso, de la con igu ación de usua io.
Cuando el usua io haga uso del bo ón co espondien e en la in e az
de usua io, un diálogo de ale a se á ac i ado, y es e layou se á
u ilizado pa a da le o ma.
Con iene los Tex View necesa ios pa a in o ma al usua io de
sus da os ac uales, Edi Tex que pe mi en la ecogida de los nue os
alo es de los pa áme os del usua io, un bo ón de ayuda en caso del
que usua io no sepa que es una zancada y dos bo ones, uno pa a
cancela los cambios y o o pa a gua da los.
e ase _dialog.xml
Fiche o layou XML empleado pa a da o ma a la ale a de
dialogo pa a el bo ado de da os. En él se decla a un Tex View con
in o mación ele an e al bo ado de da os, una lis a desplegable con
los di e en es usua ios egis ados, es bo ones que pe mi en es
ipos di e en es de bo ado (el de usua io, el de odas las ac i idades
ealizadas y el bo ado de oda la base de da os). También con iene
un bo ón que pe mi e sali al usua io de la ale a sin ene que bo a
nada.
Fig.27. Decla ación del segundo layou de ac i i y_main.xml
85
inish_pe omance_dialog.xml
Fiche o layou XML empleado pa a da o ma a la ale a de
diálogo mos ada al usua io, cuando e mina una ac i idad ísica.
Es a ale a de diálogo mues a al usua io, median e el uso de a ios
Tex View, odas las es adís icas elacionadas con la ac i idad ísica
ealizada. Con iene un bo ón de acep a pa a ce a el dialogo
cuando el usua io haya isualizado el con enido.
i s _challenge_dialog.xml
Fiche o layou XML empleado pa a da o ma a la ale a del
p ime e o dia io. Es a ale a de diálogo se á en iada cuando al
usua io se le haya asignado el e o dia io núme o uno. Con iene una
imagen ilus a i a pa a llama la a ención del usua io, un í ulo, el
nomb e del e o, una b e e desc ipción y el es ado ac ual del mismo.
Implemen a un bo ón median e el cual el usua io puede despacha la
ale a.
second_challenge_dialog.xml
Fiche o layou XML empleado pa a da o ma a la ale a del
segundo e o dia io. Es a ale a de diálogo se á en iada cuando al
usua io se le haya asignado el e o dia io núme o dos. Con iene las
mismas is as que el p ime e o.
hi d_challenge_dialog.xml
Fiche o layou XML empleado pa a da o ma a la ale a del
e ce e o dia io. Dicha ale a se á en iada cuando al usua io se le
haya asignado el e o dia io núme o es. Con iene las mismas is as
que el p ime e o.
lis iew_heade _ ow.xml
Fiche o XML empleado jun o a lis iew_i em_ ow.xml po
Colo edTex Adap e .ja a pa a da o ma a cada í em de la lis a. Es e
en conc e o, con iene la is a que da á o ma al icono del disposi i o
ex e no en la lis a.
lis i iew_i em_ ow.xml
Fiche o XML empleado jun o a lis iew_heade _ ow.xml po
Colo edTex Adap e .ja a pa a da o ma a cada í em de la lis a. El
layou que con enido en el iche o da o ma al nomb e dado po el
usua io al disposi i o, el código de adio baliza y el nomb e dado po
el ab ican e.
lis i iew_simple_use _ o ma .xml
Fiche o XML empleado po SimpleSpinne Tex Adap e .ja a
pa a da o ma a cada elemen o de la lis a desplegable de usua ios.
P o o ipo de disposi i o de medida de endimien o en unning basado en
acele óme o iaxial y comunicación a disposi i o mó il
86
Es e layou con iene el o ma o que iene que ene cada nomb e de
usua io en la lis a desplegable.
pe o mance_use _dialog.xml
Fiche o layou XML empleado pa a da o ma a la ale a de
diálogo que apa ece cuando el usua io pide sus es adís icas globales.
Aquí se decla an las di e en es Tex View que dan o ma a la abla de
da os y se les asignan sus iden i icado es.
También se añaden es bo ones di e en es de ayuda, el p ime o
pa a explica al usua io que son los pasos en pun illa, el segundo
mues a in o mación sob e los pasos de alón y el e ce o explica que
son los pesos pesados. Se ha añadido un bo ón con el cual el usua io
puede ce a el diálogo.
selec ed_use _dialog.xml
Fiche o layou XML empleado pa a da o ma a la ale a de
diálogo que mues a la lis a desplegable con los di e en es usua ios
egis ados en la base de da os. Es e diálogo es lanzado cuando el
usua io conec a con un disposi i o ya egis ado en la base de da os.
Den o del iche o solo se decla a una lis a desplegable y un bo ón
pa a selecciona el usua io.
colo s.xml
Fiche o XML den o del paque e de alo es que pe mi e la
ápida iden i icación po pa e de la aplicación de los colo es
especi icados po el desa ollado ( e Fig.28.).
Es o se consigue median e la decla ación de un iden i icado pa a el
colo Ej.: “golden” y a con inuación asigna le el alo del colo en
HTML5. Es ecomendable iden i ica los colo es que se epi an a lo
la go de la aplicación pa a un desa ollo más limpio y cla o.
Fig.28. Decla ación de los colo es usados po la aplicación.
87
dimens.xml
Fiche o XML den o del paque e de alo es que pe mi e la
ápida iden i icación po pa e de la aplicación de las dimensiones
pa a is as especi icadas po el desa ollado . Su asignación sigue el
mismo pa ón que colo s.xml simplemen e eniendo que cambia la
e ique a de colo po dimen.
s ing.xml
Fiche o XML den o del paque e de alo es que pe mi e la
ápida iden i icación po pa e de la aplicación de las S ing
especi icadas po el desa ollado ( e Fig.29.).
And oid pe mi e la elabo ación de a ios iche os s ings.xml
que compa an el mismo nomb e, pe o u ilicen di e en es
iden i icado es de país; c eando de o ma sencilla una plan illa pa a la
aducción simul ánea a dis in os idiomas de la aplicación. Los
idiomas implemen ados po la aplicación son el inglés y el español.
El único equisi o pa a emplea la aducción es que, cada
ecu so, debe compa i el mismo iden i icado . En el ejemplo ( e
Fig.29.) se decla a, an o en español como en inglés, el ecu so que
da nomb e al í ulo de la ale a de localización con el mismo
iden i icado : “loca ionAccessTi le”.
Es os ecu sos pueden se llamados an o desde iche o .ja a
como iche os .xml, pe mi iendo de ini el ex o de is as o de S ings
de código de o ma uni e sal.
s yles.xml
Fiche o XML den o del paque e de alo es que pe mi e la
decla ación, po pa e del desa ollado , de di e en es es ilos pa a la
Fig.29. Decla ación de pa e de las S ings usadas po la aplicación en dis in os idiomas.
P o o ipo de disposi i o de medida de endimien o en unning basado en
acele óme o iaxial y comunicación a disposi i o mó il
88
aplicación. La o ma de implemen ación sigue la misma que los
demás iche os de alo es, excep uando que hay que cambia el
iden i icado a s yle.
Fiche os.png
A la aplicación se le han asignados ecu sos g á icos pa a
ilus a la in e az de usua io, an o en el o ma o de mapa de bi s
como en o ma o de ec o . Pa a una mayo ex ensión del p oduc o,
se han implemen ado di e en es esoluciones y amaños a cada
imagen. El p opio sis ema ope a i o del disposi i o mó il se enca ga
de busca y asigna la imagen que más le con enga a la esolución de
pan alla del usua io.
6.3. Conclusiones
En es e apa ado se ha explicado cómo ha sido implemen ado el código
en la aplicación y las di e en es de cada iche o .ja a o .xml. Cada iche o
ha sido comen ado de o ma b e e y en algunos casos se ha adjun ado un
código ilus a i o pa a ejempli ica la desc ipción.
Después de analiza cada iche o .ja a, se iden i ica como el núcleo de
la aplicación el MainAc i i y.ja a. Es o se debe a que es el que con iene
las a iables que a ec an a odo el sis ema, y a que es la ac i idad p incipal
con la que in e ac úa el usua io. Si bien, lo que pa ece una en aja, acaba
con i iéndose en el pun o débil de la aplicación ya que no delega en
ac i idades hija o agmen os pa a la c eación de una in e az de usua io
más dinámica.
89
7. Validación del disposi i o ex e no
7.1. In oducción
A con inuación, se a a p ocede a la alidación como disposi i o
ex e no del CC2541 Senso ag, explica cómo se ha es eado el ha dwa e
que inco po a y analiza su posible uso como disposi i o ex e no pa a la
aplicación.
7.2. Validación
En es e apa ado se p esen an y explican las di e en es capacidades que
el disposi i o a es ea como p o o ipo de medición de endimien o de
unning posee. Además de de alla los di e en es se icios a u iliza po la
aplicación And oid pa a la medición y ecogida de da os del usua io del
disposi i o.
El disposi i o CC2541 Senso Tag ( e Fig.30.),
ue desa ollado po la emp esa ame icana Texas
Ins umen s. Con ello se busca da pie al desa ollo de
más disposi i os po á iles que es én conec ados a
in e ne y que leen y eciban da os de di e en es uen es.
Según la iloso ía de la emp esa, en el año 2020
hab á milla es de apa a os conec ados a in e ne y que
nos den in o mación eal de su ac i idad sean és as:
la ado as in eligen es, aspi ado as, bicicle as, colla es
in eligen es… Las posibilidades son an as como la
imaginación de la gen e que las lle e a cabo.
Es e disposi i o ecibe su nomb e del
mic op ocesado de Texas Ins umen s, que lle a
implemen ado en su ci cui o imp eso, el CC2541. Es e mic op ocesado lle a
a cabo la ges ión de di e en es senso es dispues os po odo el disposi i o
en e los cuales se encuen an: senso de empe a u a sin con ac o IR
(TMP006 de Texas Ins umen s), senso de humedad (Sensi ion SHT21),
gi oscopio (In ensense IMU-3000)( e Fig.33.), acele óme o (Kionix
KXTJ9) ( e Fig.32.), magne óme o (F eescale MAG33110), senso de
p esión ba omé ica (Epcos T5400), senso de empe a u a en con ac o con
el chip (Cons uido en el mic op ocesado CC2541) y senso de ol aje y
ba e ía (implemen ado en el mic op ocesado CC2541).
Fig.30. CC2541
Senso Tag de la emp esa
Texas Ins umen s.
P o o ipo de disposi i o de medida de endimien o en unning basado en
acele óme o iaxial y comunicación a disposi i o mó il
96
Como se ha mencionado p e iamen e, cada se icio cons a de un conjun o
de ca ac e ís icas con desc ip o es. En el acele óme o, que es el se icio,
hay anidadas cua o ca ac e ís icas:
Da o leído po el senso con código F000AA11 y desc ip o indicando
que puede se de lec u a o de no i icación.
No i icación de da os con el mismo código que el da o y desc ip o
indicando que puede se leído o esc i o.
Con igu ación del se icio con código F000AA12 y desc ip o
indicando que se puede lee o esc ibi .
Pe íodo de lec u a del senso con código F000AA13 y con desc ip o es
que indican que es posible lee lo o esc ibi lo, y que el pe íodo se á igual
al da o de con igu ación me ido mul iplicado po diez, siendo el
esul ado en unidades de milisegundos.
El manejado no iene ele ancia a la ho a de desa olla la
aplicación. Los códigos una ez ag egados al p ime o, end án es e
aspec o ( e Fig.37.):
El UUID pa a el se icio del acele óme o no es á especi icado po
Texas Ins umen s, pe o siemp e oma el alo 0 del úl imo bi del código.
Median e el UUID del se icio se puede decla a que se icio se es á
con igu ando en el sis ema. Con el código UUID de CONFIG_CHAR se
pasa al disposi i o ex e no los pa áme os de con igu ación necesa ios;
pa a el acele óme o hay que pasa un by e con alo 0x01 pa a habili a lo.
El pe iodo del acele óme o se con igu a eniendo en cuen a que la
esolución del mismo es de 10 ms. Texas Ins umen s pe mi e un ango de
pe iodo de en e 100 ms y 2.55 s; su alo po de ec o es de 1 s. A
con inuación, se mues a la con igu ación del acele óme o en la
aplicación ( e Fig.38.):
Fig.37. Códigos UUID de las ca ac e ís icas del acele óme o.
97
Al pe iodo se le ha pasado un by e con alo 0x0A indicando que se
es ablezca el pe iodo mínimo de 100 ms pa a la lec u a de da os. Toda
comunicación con el disposi i o ex e no conec ado con BLE debe
ealiza se median e una máquina de es ados. Es o es debido a que no se
pe mi e más de una conexión a la ez con cada ca ac e ís ica.
Median e el código UUID de DATA_CHAR se pueden lee los da os
en iados po los senso es, y además habili a la lec u a au omá ica de
es os cuando su alo a íe. Es o se consigue median e un código UUID
conocido como desc ip o de con igu ación, y si e de mane a gene al
pa a odos los se icios del disposi i o ( e Fig.39.). Dicho código es:
00002902-0000-1000-8000-00805 9b34 b.
Fig.38. Con igu ación de las ca ac e ís icas del acele óme o.
Fig.39. Uso del código pa a habili a la no i icación au omá ica del se icio.
P o o ipo de disposi i o de medida de endimien o en unning basado en
acele óme o iaxial y comunicación a disposi i o mó il
98
Gi oscopio
El gi oscopio IMU-3000 @ U8 de In ensense, es á iden i icado
median e los siguien es códigos ( e Tabla.3.):
Gi oscopio
Tipo
UUID
Lec u a/Esc i u a
Fo ma o
<Da a>
AA51
Solo lec u a
XLSB XMSB YLSB YMSB ZLSB ZMSB
<Da a No i ica ion>
Lec u a/Esc i u a
2 by es
<Con igu a ion>
AA52
Lec u a/Esc i u a
1 by e
<Pe iod>
AA53
Lec u a/Esc i u a
1 by e
Como se ha mencionado p e iamen e, cada se icio cons a de un
conjun o de ca ac e ís icas con desc ip o es. En el gi oscopio, que es el
se icio, hay anidadas cua o ca ac e ís icas:
Da o leído po el senso con código F000AA51 y dos desc ip o es
dis in os. El p ime o indica que es un da o solo de lec u a, el
segundo indica como es el o ma o de salida de los da os.
No i icación de da os con el mismo código que el da o y desc ip o
es indicando que puede se leído o esc i o y que el o ma o es en 2
by es.
Con igu ación del se icio con código F000AA52 y desc ip o
indicando que se puede lee o esc ibi y que el o ma o de en ada es
de 1 by e.
Pe iodo de lec u a del senso con código F000AA53 y con
desc ip o es que indican que es posible lee lo o esc ibi lo y que el
o ma o se á de 1 by e.
Después de jun a es e código de 16-bi con el p ime o p opo cionado
po Texas Ins umen s, apa ece el código comple o de la siguien e mane a
( e Fig.40.):
Tabla.3. Ca ac e ís icas del se icio gi oscopio
Fig.40. Códigos UUID de las ca ac e ís icas del gi oscopio.
99
El UUID pa a el se icio del gi oscopio ampoco es á especi icado po
Texas Ins umen s, pe o ya se ha explicado que oma el alo 0 del úl imo
bi . A di e encia del acele óme o, el gi oscopio necesi a un alo de
ac i ación compues o en luga de un 1 o un 0. Es o es debido a que puedes
ac i a la lec u a de cada eje de o ma indi idual, una o ma combinada
Ej.: XY o la lec u a de odos los ejes a la ez. Pa a habili a dichas lec u as,
se iene que esc ibi un alo de by e en e 0 y 7 en el CONFIG_CHAR
del gi oscopio ( e Fig.41.). El ango del pe iodo es el mismo que del
acele óme o.
El es o de la con igu ación de las ca ac e ís icas sigue el mismo pa ón
que las del acele óme o y, po ende, no es necesa io explica cómo se ha
lle ado a cabo.
Fig.41. Con igu ación de las ca ac e ís icas del gi oscopio.
P o o ipo de disposi i o de medida de endimien o en unning basado en
acele óme o iaxial y comunicación a disposi i o mó il
100
7.3.2. Análisis del ha dwa e
En es e apa ado se analizan los da os que leen los senso es y que la
aplicación ecoge. También se explica cómo es os da os son a ados po
la aplicación pa a consegui da os iables.
Acele óme o
La lec u a de la ca ac e ís ica de da os del se icio del acele óme o
iene en o ma o de by es, y es a iene que se pa ame izada median e
un mé odo. Es e ha sido decla ado en la clase Senso TagDa a.ja a ( e
Fig.42.).
El by e de in o mación iene sec o izado, es o implica que pa a
ecoge los alo es hay que indica cual que emos en el ec o de by es
y hace un desplazamien o a la izquie da de amaño ocho. A es os
pa áme os hay que pasa los po una escala pa a que sean co ec os.
El alo de escalado lo p opo ciona Texas Ins umen s y es de 4096.
El mé odo da como esul ado un ec o loa que, de o ma
o denada, con iene los alo es de los ejes X, Y y Z en el mismo o den.
Es e mé odo es llamado en la ac i idad p incipal, donde se aginan los
alo es del ec o a las a iables co espondien es ( e Fig.43.).
Fig.42. Con e sión del by e leído po la ca ac e ís ica del acele óme o a alo es ú iles.
Fig.43. Llamada al mé odo ex ac AccDa a en MainAc i i y.ja a.
101
Cada ez que la conexión egis e un cambio en los alo es del
senso , el mé odo upda eAccDa a se á ejecu ado. Es e lee los da os
en iados po el senso median e el mé odo explicado an e io men e;
una ez leídos, los almacena en es a iables decla adas en la clase.
Pa a dispone de unos da os más cla os con los que in e ac ua , los
di e en es alo es de los ejes del acele óme o se emplean pa a calcula
la inclinación del disposi i o en el eje X e Y.
Se iene en cuen a que la única ue za que ac úa sob e el senso es
la de la g a edad. Debido a es o, se puede conside a que los alo es
ob enidos po el senso es án co elacionados con la g a edad y que
ep esen a án la inclinación del plano del senso . En la Fig.44. se
ilus a de o ma sencilla el p oblema.
El diag ama ep esen a al disposi i o en un plazo X-Z inclinado
un cie o ángulo he a. La ue za de la g a edad que incide sob e el
obje o puede di idi se en la ue za de la g a edad del eje X y del eje Z.
El ángulo he a de inclinación se puede calcula median e el a co
angen e de las dos ue zas de g a edad dis in as. Sin emba go, es o es
solo usable en un plano 2D, pa a el cálculo de la inclinación en un
mapa 3D se necesi a la siguien e ó mula ( e Ec.4.):
222
1
an mAccZmAccY
mAccX
x
A la ó mula se le pasan los alo es del acele óme o almacenados
en las a iables de ManAc i i y.ja a, y da como esul ado un ángulo
de inclinación que oscila en e 90º y -90º. El cálculo del ángulo de
inclinación del eje Y es el siguien e ( e Ec.5.):
Fig.44. Rep esen ación g á ica de la in e acción de la g a edad con el disposi i o.
Ec.4. Fó mula pa a el cálculo de la inclinación en el eje X en un mapa 3D.
P o o ipo de disposi i o de medida de endimien o en unning basado en
acele óme o iaxial y comunicación a disposi i o mó il
102
222
1
an mAccZmAccX
mAccY
y
El cálculo del ángulo de inclinación del eje Z no es necesa io pa a
la p ueba de e i icación de senso es. Po aho a enemos un conjun o
de da os pa a la posible si uación en un mapa 3D del pie del co edo ,
pe o al a sabe cómo in e p e a los. P ime o hay que hace un
esquema g á ico pa a si ua los ejes de los cuales se calcula la
inclinación ( e Fig.45.).
Debido a que se ha especi icado que el disposi i o debe egis a
cuando el usua io ha a e izado de pun illas o de alón, hay que e
que ángulo es el más indicado pa a conside a que el pie es á de
pun illas o de alón. A a és de una lec u a de consola de los egis os
en iados po senso se han sacado dichos alo es de inclinación. Pa a
el eje X, oda inclinación meno de 60º es conside ada de pun illa;
cuando el pie del co edo es e en eposo, el disposi i o lee una
inclinación del eje X de 90º, el le an amien o del pie hacia delan e hace
dec ece ese ángulo has a 0º.
Pa a las pisadas de alón se emplea á el eje Y el cual, en un es ado
de eposo, da como lec u a 0º. Cuando el ángulo de inclinación de
dicho eje sea in e io a 0º, el paso se á conside ado de alón.
Ec.5. Fó mula pa a el cálculo de la inclinación en el eje Y en un mapa 3D.
Fig.45. Rep esen ación de los ejes de g a edad del CC2541 Senso Tag si uado en un pie.
103
Gi oscopio
La lec u a de la ca ac e ís ica de da os del se icio del gi oscopio
iene en o ma o de by es, y es a iene que se pa ame izada median e
un mé odo. Es e ha sido decla ado en la clase Senso TagDa a.ja a ( e
Fig.46.).
Al by e leído se le pasa á un o se dado po Texas Ins umen s y
mul iplicado po una escala ambién p opo cionada po Texas
Ins umen s. El esul ado de es a con e sión es almacenado en un
ec o loa que es en iado como esul ado del mé odo.
Es e mé odo es llamado en la ac i idad p incipal
MainAc i i y.ja a ( e Fig.47.), gua dando los da os ecibidos en las
a iables co espondien es a cada eje. El gi oscopio lee los º/s que se
han de ec ado en cada eje, a iando en un ango de en e -255 º/s a
255 º/s.
Los da os leídos son usados po la aplicación pa a medi cuando
el usua io ha ealizado un paso con demasiada ue za. Cualquie
lec u a que supe e los 200º/s en posi i o se conside a como un paso
pesado po pa e del co edo y se gua da en el egis o.
Fig.46. Con e sión del by e leído de la ca ac e ís ica del gi oscopio.
Fig.47. Llamada del mé odo ex ac Gy oDa a en MainAc i i y.ja a
P o o ipo de disposi i o de medida de endimien o en unning basado en
acele óme o iaxial y comunicación a disposi i o mó il
104
7.3.3. Conclusión
El CC2541 Senso ag p opo ciona una conexión inalámb ica BLE
que cumple con el equisi o de posee un pe il gené ico de conexión
GATT. Se han de inido los códigos de acceso UUID a dicho pe il y
sus ca ac e ís icas, dejando cla o que se puede ealiza una conexión
inalámb ica con dicho disposi i o. El gi oscopio y el acele óme o han
sido analizados y ambién se ha explicado cómo se ex aen los da os
de los mismos.
7.4. Análisis de su posible uso
El CC2541 Senso Tag puede emplea se como disposi i o ex e no
pa a la aplicación. Su capacidad de conexión inalámb ica median e
GATT es imp escindible, y los senso es que lle a inco po ados o ecen
una medición de da os p ecisa y de bajo cos e ene gé ico.
Si bien, pa a es e in, hay que adap a la aplicación a las
especi icaciones del Senso Tag, impidiendo un ca ác e gene alizado
como se ha explicado en la conec i idad. No obs an e, es o no es del
odo una p oblemá ica conc e a, pues odos los disposi i os con
conexión BLE necesi an p ede ini sus UUID en la aplicación an es de
es ablece la conexión.
105
8. Conclusiones
8.1. Resumen del abajo desa ollado
Debido al inc emen o de depo is as que eligen el unning como su
depo e, se ha plan eado la idea del desa ollo de un p o o ipo de disposi i o
que mida el endimien o de los co edo es, el cual, iene que es a comunicado
median e una aplicación al disposi i o mó il del usua io.
Median e una compa a i a con los di e en es p oduc os del me cado, se
ha decidido que ca ac e ís icas debía euni la aplicación y el disposi i o
ex e no. Con esas especi icaciones delimi adas, se han es udiado las
ecnologías disponibles con las que implemen a las.
Con el uso de And oid S udio como he amien a de desa ollo, se ha
ealizado la aplicación necesa ia pa a el disposi i o mó il. Pa a el disposi i o
ex e no que debe medi el endimien o del usua io, se ha comp obado la
alidez del CC2541 Senso Tag. En el documen o se ha explicado cómo se ha
adap ado la aplicación pa a cumpli con las condiciones apo adas po dicho
disposi i o.
Po úl imo, el obje i o de ealiza un disposi i o que mida el endimien o
del co edo se ha ealizado con éxi o. No obs an e, es o se ha ealizado con
el CC2541 Senso Tag como disposi i o p o o ipo y no es a ía p epa ado pa a
un lanzamien o al me cado.
8.2. Apo aciones
Al inicio del documen o se ha explicado el c ecimien o del unning como
depo e en España, y de cómo es o ha abie o las pue as a a ios me cados
cen ados en es a emá ica. El me cado analizado en es e documen o es el de
los disposi i os elec ónicos de i ness.
Con el obje i o de analiza las di e en es ca ac e ís icas que o ecen es os
disposi i os, se ha ealizado un es udio de me cado, donde se han compa ado
los disposi i os elec ónicos que las di e en es emp esas o ecen en el
me cado. De es e análisis se han deducido las ca ac e ís icas básicas que
deben ene an o la aplicación, como el disposi i o ex e no p o o ipo.
Se ha hecho hincapié en las ecnologías que se han empleado pa a
desa olla la aplicación, desc ibiéndolas y comen ando de o ma b e e los
elemen os más impo an es de es a.
Pa a explica cómo se ha desa ollado la aplicación se ha ecu ido a las
no ma i as IEEE 830 y la UML. Dichos modelos han sido aplicados y
publicados en es a memo ia. En ellos se pueden encon a : los obje i os a
P o o ipo de disposi i o de medida de endimien o en unning basado en
acele óme o iaxial y comunicación a disposi i o mó il
112
Tí ulo: ieee830
Au o : G. Mendez
Enlace: h ps://www. di.ucm.es/p o eso /gmendez/docs/is0809/ieee830.pd
C eado el: 22 de oc ub e de 2008 Úl ima consul a: 25 de agos o de 2016
Tí ulo: Tu o ial MPU6050, acele óme o y gi oscopio
Au o : anónimo
Enlace: h p://www.naylampmecha onics.com/blog/45_Tu o ial-MPU6050-
Acele %C3%B3me o-y-Gi oscopio.h ml
C eado el: sin egis a Úl ima consul a: 25 de agos o de 2016
Tí ulo: S eps o dis ance con e e
Au o : anónimo
Enlace: h p://www.ex x.ne /Calcula o s/S epDis ance.h ml
C eado el: sin egis a Úl ima consul a: 25 de agos o de 2016
Tí ulo: C ea e you own simple pedome e applica ion using And oid 4.4 and Nexus
5
Au o : Bawa, Ha imohan
Enlace: h p://blog.bawa.com/2013/11/c ea e-you -own-simple-pedome e .h ml
C eado el: 10 de no iemb e de 2013 Úl ima consul a: 25 de agos o de 2016
113
Anexo
In oducción
A con inuación, se p esen a el uncionamien o de la aplicación a ni el
usua io, c eando un guía de usua io median e imágenes y ex o jun o a una
b e e desc ipción. También se de alla en que consis e la aplicación y como ha
de ins ala se.
So wa e
La aplicación P o Run ha sido diseñada como un sis ema de medición de
endimien o pa a p ac ican es del unning. Con obje i o de ga an iza es a
medición, se equie e es ablece una conexión inalámb ica con un disposi i o
ex e no p opo cionado po el usua io.
Si el usua io ya ha es ablecido dicha conexión, accede a un sis ema de
con ol de ac i idades y de egis o de las mismas. Todo es á o ganizado po
una base de da os in e na que gua da la in o mación del usua io, incluida las
di e en es ac i idades ealizadas.
Pa a omen a el uso de es a aplicación se le p opo ciona al usua io una
se ie de e os pa a medi sus capacidades ísicas. Si bien, es os e os no
p opo cionan nada más que simple di e sión al usua io, pueden se
mejo ados en e siones u u as de la aplicación pa a inclui un sis ema de
ecompensas.
Ha dwa e
Pa a el co ec o uncionamien o de la aplicación se equie e un CC2541
Senso Tag® o, en su de ec o, un p o o ipo de disposi i o ex e no que con enga
el mismo pe il gené ico de a ibu os o GATT. Dicho disposi i o se enca ga
de la ecopilación de da os median e dos senso es di e en es, un acele óme o
y un gi oscopio; es o pe mi e localiza el pie del co edo en un mapa
idimensional.
La conexión inalámb ica es ablecida en e el disposi i o y la aplicación se
ealiza median e el Blue oo h™ Low Ene gy sys em. Es e ipo de conexión
pe mi e una ápida comunicación en e el disposi i o ex e no y el disposi i o
mó il, haciendo que el en ío de da os sea casi ins an áneo. El ango de la
conexión inalámb ica alcanza has a los 50 me os, pe o es ecomendable que
el usua io po e encima an o el disposi i o ex e no como el disposi i o mó il.
P o o ipo de disposi i o de medida de endimien o en unning basado en
acele óme o iaxial y comunicación a disposi i o mó il
114
Ins alación
La ins alación de la aplicación se ealiza median e el Play S o e de google
o con el a chi o apk co espondien e. Se ecomienda segui los pasos de
ins alación del espec i o disposi i o mó il.
Manual de usua io
Al inicia la aplicación, el usua io se encon a á con una pan alla acía que
cons a á de un solo bo ón ( e Fig.48.). En es a in e az el usua io ecibi á las
ale as co espondien es a la ac i ación del Blue oo h y de la geo localización.
Pa a que el usua io pueda con inua
in e ac uando con la aplicación, es e debe
pulsa el bo ón de escaneo pa a localiza los
disposi i os BLE p óximos. Es e bo ón
cambia de o ma según si es a en eposo o
haciendo la búsqueda ( e Fig.49.).
Una ez empezado el escaneo, se le
mues a po pan alla al usua io los
di e en es disposi i os encon ados en una
lis a ( e Fig.50.). Dicha lis a iene un
o ma o que se compone de: un icono
ep esen ando el disposi i o ex e no, el
nomb e dado po el usua io, el código de
adio baliza del disposi i o y el nomb e
dado po el ab ican e al disposi i o.
Cuando el usua io seleccione al disposi i o
que se quie e conec a en la lis a, la
aplicación comp ueba el nomb e dado po el
usua io al disposi i o. Si es e es el nomb e de
áb ica, ‘Nue o disposi i o’, se le edije a la in e az de egis o pa a nue os
disposi i os ( e Fig.51.). De lo con a io, si el disposi i o ya es á egis ado con un
nomb e di e en e al de áb ica, se habili a la in e az de usua io p incipal.
Fig.48. Pan alla de inicio de la aplicación
P o Run.
Fig.49. Bo ón en el es ado de escaneo.
115
Fig.50. Lis a de disposi i os
encon ados en el escaneo
Fig.51. Ale a que indica al usua io que a
se edi igido al egis o de disposi i os.
Fig.52. Cues iona io pa a el
egis o de nue os disposi i os en la
aplicación.
P o o ipo de disposi i o de medida de endimien o en unning basado en
acele óme o iaxial y comunicación a disposi i o mó il
116
La ac i idad de egis o de nue o disposi i o, cons a de un simple
o mula io donde el usua io debe indica cie os da os ( e Fig.52.). El
nomb e del disposi i o no iene que deja se en blanco y no admi e el nomb e
de áb ica ‘nue o disposi i o’. El campo pa a el nomb e de usua io no puede
deja se en blanco, se admi e cualquie longi ud de nomb e de usua io. El peso
del usua io debe in oduci se en kilog amos, o as unidades no es án
implemen adas en el disposi i o; lo mismo ocu e con la al u a, sólo se admi e
en cen íme os, o as unidades no es án implemen adas en el disposi i o.
Si el usua io p esiona el bo ón de gua da , los da os son egis ados en la
base de da os. En caso con a io, si el usua io p esiona el bo ón cancela , el
gua dado de da os no es e ec i o. Una ez gua dados los cambios, o no, el
usua io uel e a la p ime a pan alla, eniendo que ol e a busca el
disposi i o.
Habiendo egis ado el disposi i o de o ma exi osa, aho a apa ece con el
nomb e dado po el usua io y pod á accede a la in e az de usua io p incipal
después de selecciona un usua io ( e Fig.54.). También se le asigna un e o
dia io a comple a , es e es mos ado median e una ale a de diálogo al usua io
( e Fig.53.).
Hay implemen ados es e os dia ios di e en es en la aplicación: un e o
de dis ancia, que consis e en co e 10 km; un e o de quema de calo ías, es e
pide al usua io que queme 500 calo ías a lo la go del día y po úl imo, un e o
c onome ado que exige al usua io que eco a una dis ancia de 3 km en 10
minu os.
Fig.53.
Ale a de
nue o e o
dia io.
Fig.54.
In e az de
usua io
p incipal.
117
Una ez se ha accedido a la in e az p incipal, el usua io puede in e ac ua
con la aplicación median e el inicio de ac i idades y su de ención. También
puede clica el icono del o eo pa a sabe que e o dia io debe comple a . El
icono del co edo sob e la pis a le pe mi e al usua io conoce sus es adís icas
globales. Los eng anajes pe mi en el inicio del dialogo de con igu ación y el
icono de la papele a pe mi e el bo ado de da os po pa e del usua io.
Cada ez que el usua io e mine una ac i idad median e el bo ón pa a
de ene la, es a se á egis ada en la base de da os con el siguien e o ma o
( e Fig.55.):
Fig.55. Diálogo de ale a que
mues a al usua io una ac i idad
inalizada.
P o o ipo de disposi i o de medida de endimien o en unning basado en
acele óme o iaxial y comunicación a disposi i o mó il
118