75
UNIVERSIDAD DE BUENOS AIRES FACULTAD DE INGENIERÍA MAESTRÍA EN S ISTEMAS E MBEBIDOS MEMORIA DEL T RABAJO F INAL Plataforma abierta para dispositivos vestibles (wearables) Autor: Esp. Ing. Rodrigo Alejandro Tirapegui Director: Mg. Ing. Diego Javier Brengi (INTI, FIUBA) Jurados: Mg. Ing. Agustín Bassi (FIUBA) Dr. Ing Emanuel Irrazabal (UNNE, FIUBA) Mg. BioIng. Eduardo Filomena (UNER, FIUBA) Este trabajo fue realizado en la Ciudad Autónoma de Buenos Aires, entre enero de 2019 y diciembre de 2019.

Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

UNIVERSIDAD DE BUENOS AIRES

FACULTAD DE INGENIERÍA

MAESTRÍA EN SISTEMAS EMBEBIDOS

MEMORIA DEL TRABAJO FINAL

Plataforma abierta para dispositivosvestibles (wearables)

Autor:Esp. Ing. Rodrigo Alejandro Tirapegui

Director:Mg. Ing. Diego Javier Brengi (INTI, FIUBA)

Jurados:Mg. Ing. Agustín Bassi (FIUBA)

Dr. Ing Emanuel Irrazabal (UNNE, FIUBA)Mg. BioIng. Eduardo Filomena (UNER, FIUBA)

Este trabajo fue realizado en la Ciudad Autónoma de Buenos Aires, entre enerode 2019 y diciembre de 2019.

Page 2: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,
Page 3: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

III

Resumen

El presente documento describe el desarrollo de un rastreador de actividadcorporal solicitado por el Instituto Nacional de Tecnología Industrial (INTI).

El sistema está compuesto por dos elementos: un módulo sensor que mide laaceleración y ángulo en seis ejes, y un módulo interfaz de usuario que permite

contar las repeticiones de una rutina de entrenamiento en base a los datosrecibidos.

Para la realización de este trabajo se aplicaron técnicas de filtrado de señales yun sistema operativo apropiativo implementado por el autor del trabajo durantela carrera. Además, se utilizó control de versiones GIT, el framework de softwarecomercial RKH y se diseñó un protocolo de comunicación basado en el formato

para intercambio de datos JSON.

Page 4: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,
Page 5: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

V

Agradecimientos

Agradezco mi director Diego Brengi y a Santiago Villar por su buena predisposi-ción durante el desarrollo del proyecto.

Page 6: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,
Page 7: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

VII

Índice general

Resumen III

1. Introducción General 11.1. Descripción del problema . . . . . . . . . . . . . . . . . . . . . . . . 1

1.1.1. Perspectiva histórica de los dispositivos vestibles . . . . . . 11.1.2. Dispositivos vestibles en la actualidad . . . . . . . . . . . . . 21.1.3. Plataformas de hardware abierto de referencia . . . . . . . . 3

1.2. Motivación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.3. Objetivos y alcance . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.3.1. Objetivo general del proyecto . . . . . . . . . . . . . . . . . . 51.3.2. Objetivos específicos del trabajo realizado . . . . . . . . . . . 61.3.3. Alcance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2. Introducción Específica 72.1. Definición del producto . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.1.1. Requerimientos . . . . . . . . . . . . . . . . . . . . . . . . . . 82.1.2. Especificaciones funcionales y de diseño . . . . . . . . . . . 10

2.2. Análisis de factibilidad . . . . . . . . . . . . . . . . . . . . . . . . . . 112.2.1. Factibilidad tecnológica . . . . . . . . . . . . . . . . . . . . . 112.2.2. Factibilidad económica . . . . . . . . . . . . . . . . . . . . . . 112.2.3. Factibilidad legal y responsabilidad civil . . . . . . . . . . . 14

2.3. Resumen del capítulo . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3. Diseño e Implementación 173.1. Ingeniería de detalle . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.1.1. Hardware: módulo sensor . . . . . . . . . . . . . . . . . . . . 173.1.2. Firmware: módulo sensor . . . . . . . . . . . . . . . . . . . . 213.1.3. Software: módulo interfaz de usuario . . . . . . . . . . . . . 24

3.2. Diseño del circuito impreso y fabricación . . . . . . . . . . . . . . . 283.2.1. Detalles de construcción y precauciones especiales de mon-

taje del módulo sensor . . . . . . . . . . . . . . . . . . . . . . 283.2.2. Plan de pruebas de cada bloque del módulo sensor . . . . . 293.2.3. Comparación con plataformas de hardware abierto de refe-

rencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

4. Ensayos y Resultados 314.1. Validación del prototipo . . . . . . . . . . . . . . . . . . . . . . . . . 31

4.1.1. Validación del hardware . . . . . . . . . . . . . . . . . . . . . 314.1.2. Validación del firmware y software . . . . . . . . . . . . . . 34

4.2. Estudio de confiabilidad del hardware . . . . . . . . . . . . . . . . . 36

5. Conclusiones 395.1. Objetivos alcanzados . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

Page 8: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

VIII

5.2. Recomendaciones para futuros diseños . . . . . . . . . . . . . . . . 40

A. Circuito esquemático de PlatC 41

B. Descripción del framework de software RKH 43B.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43B.2. Estructura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

C. Protocolo de comunicación de PlatC 45C.1. Especificación del protocolo . . . . . . . . . . . . . . . . . . . . . . . 45C.2. Formato de los mensajes . . . . . . . . . . . . . . . . . . . . . . . . . 45

D. La función de autocorrelación 51D.1. El coeficiente de correlación . . . . . . . . . . . . . . . . . . . . . . . 51D.2. Función de autocorrelación . . . . . . . . . . . . . . . . . . . . . . . 52

E. Manual de usuario 53E.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54E.2. Contenido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54E.3. Forma de uso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54E.4. Conociendo la aplicación . . . . . . . . . . . . . . . . . . . . . . . . . 55

Bibliografía 61

Page 9: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

IX

Índice de figuras

1.1. Hitos principales en la historia de los dispositivos vestibles. . . . . 21.2. Plataforma de hardware abierta “Flora”. . . . . . . . . . . . . . . . . 41.3. Plataforma de hardware abierta “Gemma”. . . . . . . . . . . . . . . 41.4. Plataforma de hardware abierta “LilyPad”. . . . . . . . . . . . . . . 41.5. Prototipo de hardware de la plataforma Spora. . . . . . . . . . . . . 5

2.1. Diagrama del sistema. . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2. Diagrama en bloques del “módulo sensor”. . . . . . . . . . . . . . . 102.3. Diagrama en bloques del “módulo interfaz de usuario”. . . . . . . . 10

3.1. Configuración bluetooth “network processor”1 . . . . . . . . . . . . 203.2. Diagrama del bloque “alimentación” . . . . . . . . . . . . . . . . . . 213.3. Estructura de directorios del firmware de PlatC. . . . . . . . . . . . 223.4. Maquina de estados UML del objeto activo PlatC. . . . . . . . . . . 233.5. Menú de selección de pantallas que permite elegir entre “fitness”,

“gráficos” y “ajustes”. . . . . . . . . . . . . . . . . . . . . . . . . . . 253.6. Pantalla “fitness”. Izquierda: modo calibración. Derecha: modo ejer-

citación. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263.7. Pantalla “gráficos”. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273.8. Pantalla “ajustes”. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273.9. Diseño tridimensional del PCB realizado con KiCAD. Derecha: cara

superior. Izquierda: cara inferior. . . . . . . . . . . . . . . . . . . . . 293.10. Prototipo real fabricado. Derecha: cara superior. Izquierda: cara in-

ferior. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4.1. Esquema de conexión realizado en la medición de la corriente con-sumida por PlatC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

4.2. Forma de onda de un evento de sensado y transmisión. . . . . . . . 324.3. Sistema completo del rastreador de actividad implementado. Se

observa el “módulo sensor”, el “módulo interfaz de ususario” yla punta de prueba Atmel-ICE. . . . . . . . . . . . . . . . . . . . . . . 35

A.1. Diagrama en bloques de PlatC: Módulo principal. . . . . . . . . . . 41A.2. Diagrama en bloques de PlatC: Fuente de alimentación. . . . . . . . 42

B.1. Modelo de capas del framework de software RKH 2. . . . . . . . . . . 44

C.1. Comando Ack. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46C.2. Comando Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47C.3. Comando GetData. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47C.4. Comando Config. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48C.5. Comando GetConfig. . . . . . . . . . . . . . . . . . . . . . . . . . . . 48C.6. Comando Fitness. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49C.7. Comando MotionDetected. . . . . . . . . . . . . . . . . . . . . . . . 49

Page 10: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

X

E.1. Componentes del sistema rastreador de actividad. . . . . . . . . . . 54E.2. Menú de selección de pantallas de la aplicación. . . . . . . . . . . . 55E.3. Permisos de acceso al adaptador bluetooth. . . . . . . . . . . . . . . . 56E.4. Permisos de acceso a la ubicación. . . . . . . . . . . . . . . . . . . . 56E.5. Habilite la interfaz bluetooth del “módulo sensor” pulsando la tecla

indicada con el recuadro rojo. . . . . . . . . . . . . . . . . . . . . . . 56E.6. Conexión al “módulo sensor” pulsando el recuadro indicado en rojo. 57E.7. Conexión establecida con el “módulo interfaz de usuario”. . . . . . 57E.8. Ajustes del sistema. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58E.9. Modos de operación del sistema. . . . . . . . . . . . . . . . . . . . . 58E.10. Gráficos del sistema. . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

Page 11: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

XI

Índice de Tablas

1.1. Tabla comparativa de las plataformas de hardware abierto de refe-rencia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.1. Tabla descriptiva de los costos de fabricación de los prototipos del“módulo sensor”. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.1. Tabla descriptiva del protocolo de comunicación PlatC. . . . . . . . 243.2. Tabla comparativa de las características principales entre PlatC y

las plataformas presentadas en la sección 1.1.3. . . . . . . . . . . . . 30

4.1. Tabla descriptiva del consumo de corriente de cada estado medido. 334.2. Tabla descriptiva del consumo de corriente de cada estado medido. 334.3. Factores de carga de cada componente del “módulo sensor”. . . . . 384.4. Tasa de falla de cada componente del “módulo sensor”. . . . . . . . 38

C.1. Tabla descriptiva del protocolo de comunicación PlatC. . . . . . . . 46

Page 12: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,
Page 13: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

1

Capítulo 1

Introducción General

En este capítulo se ofrece un acercamiento al problema y a los conceptos básicosrelacionados; se mencionan los objetivos generales y específicos del proyecto; yse establece el alcance del mismo.

1.1. Descripción del problema

1.1.1. Perspectiva histórica de los dispositivos vestibles

Los dispositivos vestibles (también conocidos como wearables [1]) son prendas devestir o complementos que se incorporan en alguna parte del cuerpo humano, pa-ra cumplir con alguna función específica en las áreas de entrenamiento, bienestary deporte; pero que también pueden aplicarse en ámbitos laborales, militares, deseguridad y vigilancia, y muchos otros.

La historia de la tecnología vestible comienza en el siglo XIII con la invenciónde los anteojos, y continúa en el siglo XVI con la invención de los primeros re-lojes portátiles por el inventor alemán Peter Henlein, conocidos como Huevos deNuremberg [2].

Dichos relojes, estaban diseñados para ser usados como collares alrededor delcuello y se convirtieron rápidamente en un símbolo de estatus social en Europa,hasta que su posterior producción en masa a mediados del siglo XVIII convirtiósu uso en un artículo de moda.

En el año 1960 el matemático estadounidense Edward O. Thorp creó la prime-ra computadora portátil caracterizada por ser del tamaño de un zapato [3]; y, amedida que los componentes electrónicos se hicieron más pequeños, durante elsiguiente par de décadas, surgieron varios dispositivos que popularizaron y mo-dernizaron la tecnología vestible.

En el año 1977 fue lanzado al público el primer reloj de pulsera con calculadora[4] y luego, en el año 1980, se presentaron los primeros audífonos a transistoresde tamaño reducido [5], para personas con discapacidad auditiva.

No obstante, la tecnología vestible alcanzó la popularidad con el surgimiento delos primeros auriculares con bluetooth en el año 2002 [6], a lo cual siguió entre losaños 2006 y 2014 la presentación de dispositivos icónicos de la industria como loson Nike+ [7], Fitbit [8], Google glasses [9], Memoto Narrative Clip [10] y Apple Watch[11].

En la figura 1.1 se resumen los hitos principales en la historia de los dispositivosvestibles.

Page 14: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

2 Capítulo 1. Introducción General

FIGURA 1.1: Hitos principales en la historia de los dispositivosvestibles.

1.1.2. Dispositivos vestibles en la actualidad

En la actualidad, los productos vestibles se clasifican en las siguientes cinco cate-gorías:

Deportes, estado físico y bienestar: denominados rastreadores de actividad[12], son productos orientados a monitorear el estado fisiológico de los usua-rios y brindar información en tiempo real, buscando optimizar su compor-tamiento durante el entrenamiento y la competencia para que los atletaslogren un alto rendimiento.

Cuidado de la salud: presentan una serie de beneficios potenciales que losconvierten en una alternativa conveniente para la atención en entornos clí-nicos, frente a las opciones tradicionales cableadas. Permiten trasladar laatención médica al hogar y a otros entornos externos, al garantizar el moni-toreo continuo de las variables fisiológicas necesarias para diagnosticar y/otratar pacientes. Además, por ser de aplicación médica, su utilización se en-cuentra fuertemente regulada por entidades de control, como es el ANMAT[13], en la Argentina.

Entretenimiento: usados para el entretenimiento del usuario, incluyen fun-cionalidades de reproducción de música, fotos, videos y conectividad a In-ternet.

Page 15: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

1.1. Descripción del problema 3

Industria y empresa: principalmente conformados por terminales de pulse-ra que se utilizan para prevenir accidentes y proporcionar datos en tiem-po real, incluidos el monitoreo de procesos de fábrica y la actualización destocks de almacén. Se espera que los anteojos y bandas inteligentes seanadoptados por la industria por parte de trabajadores remotos "sin escrito-rio".

Defensa: utilizados para vincular a los soldados en campo entre sí, de ma-nera de conformar un campo de batalla más grande. Se caracterizan por serde alto rendimiento, duraderos y resistentes, pero a la vez livianos para lossoldados que se trasladan a pie.

En base al estudio titulado “Wearable Technology Forecasts 2019-2029” [14], seproyecta que el mercado mundial de productos vestibles continuará en creci-miento durante la próxima década, alcanzando un tamaño de tres billones dedispositivos para el año 2025.

Las razón principal del rápido crecimiento de esta tecnología se debe a que los sis-temas micro-electromecánicos han logrado ser lo suficientemente pequeños comopara ser colocados en diversos tipos de sensores, en relojes de pulsera y accesoriosde moda.

Además, los nuevos avances en electrónica flexible y elástica permiten generarnuevos factores de forma de los componentes electrónicos que, a su vez, expan-den las posibilidades para el surgimiento de nuevos dispositivos vestibles enáreas como la inteligencia artificial o la detección bioquímica.

1.1.3. Plataformas de hardware abierto de referencia

En la actualidad existen varias plataformas de hardware abierto, que son fabri-cadas por diferentes compañías y que están basadas en la popular plataforma deprogramación de código abierto Arduino [15].

1. Flora

“Flora” [16] es una plataforma de hardware abierto diseñada por la compa-ñía Adafruit [17], consistente en un PCB redondo de 1,8 pulgadas de diáme-tro y que es compatible con Arduino.

Además, cuenta con agujeros que permiten coserla a prendas textiles, enlugar de utilizar otros métodos de fijación como adhesivos o velcros; y conocho pines de propósito general que permiten conectar varios sensores com-patibles.

En la figura 1.2 se muestra la plataforma de hardware abierta “Flora”.

2. Gemma

“Gemma” [18] es una variante más pequeña que “Flora” (de 1,1 pulgadasde diámetro), que también es diseñada por la compañía Adafruit y es com-patible con Arduino.

“Gemma” tiene forma redonda y, por ser más pequeña que “Flora” cuentacon tan solo tres pines de propósito general, por lo que solamente puedeconectar algunos componentes electrónicos adicionales.

En la figura 1.3 se muestra la plataforma de hardware abierta “Gemma”.

Page 16: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

4 Capítulo 1. Introducción General

FIGURA 1.2: Plataforma de hardware abierta “Flora”.

FIGURA 1.3: Plataforma de hardware abierta “Gemma”.

3. LilyPad

“LilyPad” [19] es un PCB redondo de dos pulgadas de diámetro, que aligual que “Flora” y “Gemma” cuenta con agujeros que permiten coserlaa prendas textiles. Además, cuenta con veinte pines de propósito general,catorce de ellos digitales y seis analógicos.

En la figura 1.4 se muestra la plataforma de hardware abierta “LilyPad”.

FIGURA 1.4: Plataforma de hardware abierta “LilyPad”.

En la tabla 1.1 se resumen las características de las plataformas de hardware dereferencia mencionadas previamente.

Page 17: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

1.2. Motivación 5

TABLA 1.1: tabla comparativa de las plataformas de hardwareabierto de referencia.

Nombre de la plataforma Flora Gemma LilyPad

Fabricante Adafruit Adafruit ArduinoDiametro (pulgadas) 1,8 1,1 2

Microcontrolador ATMega32U4 ATtiny85 ATmega168VATmega328V

Cantidad de pines (E/S) 8 3 20Rango de operación (Volts) 3 - 16 3 - 16 2,7 - 5,5

Circuito de carga de baterías No No No

1.2. Motivación

En el año 2018, especialistas del INTI [20] (Instituto Nacional de Tecnología In-dustrial) y de la empresa Enytech [21] desarrollaron un dispositivo portátil contecnología bluetooth LE [22] (Low Energy) y sensores de movimiento (acelerómetro,brújula y giróscopo), con el objetivo de impulsar la industria nacional de weara-bles.

Se logró un diseño de 18 milímetros de diámetro que fue publicado como hardwareabierto bajo el nombre Spora [23], para que la comunidad cibernética pueda utili-zarlo o sugerir mejoras.

En la figura 1.5 se observa el prototipo de hardware fabricado.

FIGURA 1.5: Prototipo de hardware de la plataforma Spora.

No obstante, si bien los prototipos fueron montados en la Argentina, debido altamaño reducido del circuito impreso (PCB), no existe en el país ninguna empresacon la capacidad tecnológica para fabricarlo.

Es por ello, que el Centro de Micro y Nanotecnología del INTI decidió desarrollaruna segunda plaforma de hardware abierto (denominada PlatC), que pueda serfabricada íntegramente en el país, y convocó al autor del presente trabajo paravalidar su realización y demostrar su uso.

1.3. Objetivos y alcance

1.3.1. Objetivo general del proyecto

Con el fin de promover la innovación para crear, diseñar y desarrollar solucioneselectrónicas vestibles en la Argentina, el objetivo general del trabajo realizado

Page 18: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

6 Capítulo 1. Introducción General

consistió en desarrollar un rastreador de actividad corporal que permita contarlas repeticiones de una rutina de ejercicios realizada por un usuario.

El sistema fue diseñado para demostrar el correcto funcionamiento de todos losmódulos que componen el hardware de PlatC, de manera de impulsar el desarro-llo tecnológico nacional y darle visibilidad positiva a la electrónica argentina.

1.3.2. Objetivos específicos del trabajo realizado

Para poder cumplir con el objetivo general, el trabajo fue desglosado en los si-guientes objetivos específicos:

Investigar el estado del arte en los temas de monitoreo de la actividad cor-poral, mediante datos de aceleración y ángulo en seis ejes.

Desarrollar un dispositivo basado en la plataforma abierta para dispositi-vos vestibles PlatC, tal que pueda ser utilizado por cualquier persona quecuente con un smartphone con sistema operativo Android [24].

Garantizar que el proyecto de hardware PlatC esté libre de errores de dise-ño, previo a su publicación oficial.

1.3.3. Alcance

El proyecto de investigación y desarrollo fue enmarcado por el siguiente alcance:

Validar el hardware e implementar el firmware del “módulo sensor” y elsoftware del “módulo interfaz de usuario”.

Diseñar un protocolo de comunicación entre los módulos constituyentes delsistema, de manera tal que los datos sensados sean mostrados en el “módu-lo interfaz de usuario”, y a la vez permitan detectar repeticiones en unarutina de entrenamiento.

Añadir las funcionalidades de configuración necesarias para que el sistemapueda ser utilizado por cualquier usuario con un smartphone con sistemaoperativo Android.

Se excluyen del alcance los siguientes aspectos:

Versión comercial del rastreador de actividad (se limitará a la generación deun prototipo del sistema).

Diseño y fabricación de las carcasas contenedoras del “módulo sensor” quecompone el sistema.

Manejo de múltiples módulos sensores en simultáneo.

Page 19: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

7

Capítulo 2

Introducción Específica

En este capítulo se presentan los requerimientos del trabajo realizado, las alter-nativas de diseño y la implementación elegida. Además se analiza su factibilidadtecnológica, económica y legal en un hipotético escenario de producción.

2.1. Definición del producto

El sistema está compuesto por dos módulos, denominados “módulo sensor” y“módulo interfaz de usuario”.

El “módulo sensor”, que fue implementado con la plataforma de hardware PlatC,se encarga de sensar la aceleración y el ángulo en seis ejes a medida que el usua-rio realiza una rutina de entrenamiento, y de reportarlos al “módulo interfaz deusuario” mediante un enlace bluetooth LE.

El “módulo interfaz de usuario”, se encarga de mostrar los datos recibidos me-diante gráficos en tiempo real, y de procesarlos de manera tal de detectar lasrepeticiones de ejercicios realizadas por el usuario.

En la figura 2.1 se muestra un diagrama del sistema.

FIGURA 2.1: Diagrama del sistema.

Page 20: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

8 Capítulo 2. Introducción Específica

2.1.1. Requerimientos

Se enumeran a continuación los requerimientos en base a los cuales se desarrollócada uno de los módulos que constituyen el sistema, diferenciando entre reque-rimientos funcionales y no funcionales. Los mismos, surgieron del análisis reali-zado en conjunto con el director del presente trabajo.

Se menciona a continuación el significado de los parámetros utilizados en el pos-terior listado de requerimientos:

1. PlatCApk: hace referencia al software de la aplicación implementada por el“módulo interfaz de usuario”.

2. DISCONNECTED-TIMEOUT: intervalo de tiempo durante el cual el “mó-dulo sensor” permaneció descubrible y no se estableció el enlace bluetooth.

3. PUSH-BUTTON: pulsador del “módulo sensor”.

4. SHORT2LONG-BUTT-TIME: umbral de tiempo que diferencia la pulsacióncorta y larga del botón presente en el “módulo sensor”.

5. PLATC-DATA: paquete de datos enviados por el “módulo sensor” con lasmagnitudes sensadas.

6. BLE-LED: led que indica el estado del enlace bluetooth del “módulo sensor”.

7. BATTERY-LED: led que indica el estado de carga de la batería del “módulosensor”.

8. MOTION-LED: led que indica la detección de movimiento por parte del“módulo interfaz de usuario”.

9. MOTION-DETECTED: mensaje emitido por el “módulo interfaz de usua-rio” hacia el “módulo sensor” para indicar que debe señalizar la detecciónde movimiento.

10. KEEPALIVE-TIME: intervalo de tiempo que señaliza el cambio en algunode los leds del “módulo sensor”.

Requerimientos funcionales

Módulo sensor:

1. Debe usar un transceptor bluetooth LE para comunicarse con el “módu-lo interfaz de usuario”.

2. Debe contar con un acelerómetro y un giróscopo para medir la acele-ración y ángulo en seis ejes.

3. Debe tener un led RGB para indicar diferentes estadios durante su ope-ración.

4. Debe disponer de un pulsador (PUSH-BUTTON) de fácil acceso al usua-rio para modificar su estadío de operación.

5. Debe tener un parlante para señalizar los eventos de detección de mo-vimiento durante su operación.

6. Debe usar una batería de 3 Volts y brindar una autonomía de al menos2 horas.

Page 21: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

2.1. Definición del producto 9

7. El transceptor debe garantizar una distancia de transmisión y recep-ción de al menos 2 metros.

8. Cuando inicia, debe ser descubrible por PlatCApk.

9. Cuando permanezca sin establecer vínculo con PlatCApk durante másde DISCONNECTED-TIMEOUT debe dejar de ser descubrible.

10. Cuando esté vinculado con PlatCApk y se presione PUSH-BUTTONdurante más de SHORT2LONG-BUTT-TIME se debe desvincular y per-manecer descubrible.

11. Cuando esté vinculado con PlatCApk y se presione PUSH-BUTTONdurante menos de SHORT2LONG-BUTT-TIME debe transmitir un pa-quete PLATC-DATA a PlatCApk.

12. Cuando no sea descubrible y se presione PUSH-BUTTON durante másde SHORT2LONG-BUTT-TIME debe ser descubrible inmediatamente.

13. Cuando se encuentre vinculado con PlatCApk, debe encender el indi-cador BLE-LED.

14. Cuando se encuentre en proceso de carga de batería, debe encender elindicador BATTERY-LED.

15. Debe encender el indicador MOTION-LED cuando el “módulo interfazde usuario” lo solicita mediante el comando MOTION-DETECTED.

16. Cuando no exista vínculo entre PlatCApk y no se esté en curso deuna indicación por detección de movimiento, debe encender en se-cuencia los indicadores MOTION-LED, BLE-LED y BATTERY-LED ca-da KEEPALIVE-TIME.

17. El acelerómetro y giróscopo deben ser energizados solamente cuandoel “módulo interfaz de usuario” lo solicita, al iniciarse la rutina de en-trenamiento.

18. La batería debe tener una vida útil de al menos 3 años.

Módulo interfaz de usuario:

1. Debe usar un transceptor bluetooth LE para comunicarse con el “módu-lo sensor”.

2. El transceptor bluetooth LE debe garantizar una distancia de transmi-sión y recepción de al menos 2 metros.

3. Debe usar un display con un tamaño mínimo de 4 pulgadas.

4. El display debe poder ser encendido/apagado por el usuario.

5. El display debe mostrar en tiempo real la aceleración en tres ejes me-dida durante la rutina de entrenamiento.

6. Debe usar un parlante para anunciar el número de repeticiones restan-tes de la rutina de ejercicios, mediante indicaciones por voz.

7. Debe permitir que el usuario configure el número de repeticiones deejercicio a realizar, y habilite/deshabilite la indicación por voz y el pi-tido del parlante del “módulo sensor”.

Page 22: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

10 Capítulo 2. Introducción Específica

8. Debe procesar los datos de aceleración y ángulo en seis ejes emitidospor el “módulo sensor”, de manera de detectar cuando una repeticiónde ejercicio fue realizada.

Requerimientos no funcionales

Módulo sensor:

1. Tiene que filtrar el rebote del pulsador PUSH-BUTTON.

2. Debe mantener el tiempo de operación en memoria no persistente con-forme la rutina de ejercicios es llevada a cabo.

3. El firmware del módulo debe diseñarse minimizando el consumo.

4. El firmware del módulo debe diseñarse utilizando el framework de softwareRKH [25].

5. Debe implementarse usando la plataforma de hardware abierta PlatC.

2.1.2. Especificaciones funcionales y de diseño

En base a los requerimientos enumerados del sistema, se muestra el diagrama enbloques de cada uno de los módulos que lo constituyen, en las figuras 2.2 y 2.3.

FIGURA 2.2: Diagrama en bloques del “módulo sensor”.

FIGURA 2.3: Diagrama en bloques del “módulo interfaz de usua-rio”.

Page 23: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

2.2. Análisis de factibilidad 11

Dado que los requerimientos del “módulo interfaz de usuario” son sobradamen-te cumplidos por los smartphones, se decidió implementar dicho módulo desarro-llando una aplicación que corra sobre el sistema operativo Android.

2.2. Análisis de factibilidad

2.2.1. Factibilidad tecnológica

La factibilidad tecnológica para diseñar y fabricar un rastreador de actividad enla Argentina presenta como principal barrera los aspectos asociados con la ma-nufactura de circuitos impresos de pequeñas dimensiones.

Usualmente, los circuitos impresos son diseñados por un especialista que siguenumerosas normas y estándares de diseño con el fin de garantizar la calidad delcircuito y a la vez de reducir su costo de fabricación. Dichas normas, son estableci-das por una organización de estandarización acreditada por ANSI [26] (AmericanNational Standards Institute), como por ejemplo la IPC [27] (Asociación Conec-tando Industrias de Electrónica).

Existe una gran variedad de circuitos impresos, que pueden clasificarse según suconstrucción, tipo de material base, cantidad de capas, forma en que se define losconductores, etc. En particular, si la clasificación se realiza según su cantidad decapas, se pueden encontrar circuitos de una sola capa ó simple faz, de dos capas ódoble faz, y de múltiples capas ó multilayers.

Durante el desarrollo de la plataforma de hardware Spora, la empresa Enytechdefinió como requerimiento el diseño de un circuito impreso circular, de tan sólo18 milimetros de diámetro; lo que derivó en un PCB multilayer de seis capas y conuna separación entre pistas de tan sólo 3,5 mils (0,09 milimetros).

Dado que no existe en la Argentina empresa fabricante de circuitos impresos quecuente con la tecnología necesaria para satisfacer dichos requerimientos, el Centrode Micro y Nanotecnología del INTI decidió desarrollar una segunda plaforma dehardware abierto con requerimientos dimensionales más laxos, de manera que latotalidad del procesos pueda ser llevado a cabo en el país.

En este sentido, PlatC representa una alternativa de menor costo que Spora y confuncionalidades equivalentes, consistente en un PCB de cuatro capas, de dimen-siones rectangulares (25x26 milímetros) y con una separación mínima entre pistasde cinco mils (0,127 milimétros).

2.2.2. Factibilidad económica

Análisis de mercado

A nivel mundial, la tecnología de dispositivos vestibles es una tendencia emer-gente que integra la electrónica a las actividades diarias, se adapta a los estilos devida cambiantes y permite su utilización en cualquier parte del cuerpo.

El crecimiento de su mercado se ve respaldado por los continuos avances tecno-lógicos en componentes de software y hardware, y por su adopción en las áreasde salud, defensa y entretenimiento por parte de los jóvenes.

Page 24: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

12 Capítulo 2. Introducción Específica

Además, en los últimos años, los avances en la investigación científica han gene-rado mayor innovación, lo que impulsó su demanda y dio lugar a nuevas cate-gorías de productos, como los tejidos inteligentes y los artículos de vestir, entreotros.

El mercado global de wearables puede segmentarse según diversas clasificaciones:

Tipo de dispositivo:

1. Relojes inteligentes (smart watches).

2. Rastreadores de actividad (fitness and wellness).

3. Lentes inteligentes (smart glasses).

4. Ropa inteligente (smart clothing).

5. Otros.

Tipo de producto:

1. Vestibles de muñeca (wrist wear).

2. Vestibles de visión (eye wear).

3. Vestibles de audición (hearables).

4. Vestibles de cuerpo (body wear).

5. Vestibles de cuello (neck wear).

6. Otros.

Aplicación:

1. Estilo de vida (lifestyle).

2. Cuidado de la salud (healthcare).

3. Defensa (defense).

4. Actividad y deportes (fitness and sports).

5. Entretenimiento (entretainment).

6. Empresa e industria (enterprise and industrial).

Región:

1. América del Norte.

2. América Latina.

3. Europa.

4. Asia.

En base al estudio titulado “Wearable Technology Market by Device, by Producttype and Geography - Global Opportunity Analysis and Industry Forecast, 2014-2022” [28], los rastreadores de actividad dominaron el mercado en el segmento detipo de dispositivos, con más del 39 % de participación en el año 2015. A su vez, seproyecta que mantengan dicha tendencia durante todo el período del pronósticoy que el sector de entretenimiento experimente una caída del 35,7 % durante elmismo período.

Page 25: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

2.2. Análisis de factibilidad 13

En el estudio, se indica que los principales factores que regirán la evolución delos dispostivos vestibles son:

Mayor conciencia de la atención médica:

La creciente preocupación por la obesidad y otras enfermedades crónicasgenera la adopción de dispositivos portátiles como los rastreadores de acti-vidad y los monitores corporales que proporcionan información en tiemporeal sobre la salud general del cuerpo. Estos dispositivos portátiles puedenproporcionar información como el control de los latidos del corazón, los ni-veles de colesterol, la ingesta de calorías, la calidad y la cantidad de sueño,los niveles de oxígeno, la presión arterial, así como otra información reque-rida por el cuerpo para las actividades cotidianas.

Alto costo de fabricación:

El costo inicial de fabricar los dispositivos portátiles es elevado, lo que ge-nera precios altos para los consumidores finales. La razón principal radicaen los costos asociados a la investigación, marketing y promoción, envío,licencias, software y desarrollo en que incurren los fabricantes de dichosdispositivos.

Avances tecnológicos:

El despliegue de sensores en miniatura en las telas, la compatibilidad de losrelojes inteligentes para interactuar con las redes sociales, la comercializa-ción en tiendas y la facilidad de pago con dispositivos portátiles son algunosde los ejemplos clásicos de avance en la tecnología portátil. Se espera queel crecimiento en las características tecnológicas y los avances impulsen elmercado de tecnología portátil durante el período del pronóstico.

En este sentido, el desarrollo de una plataforma de hardware abierta para el desa-rrollo de wearables resulta prometedora para promover el desarrollo tecnológiconacional y darle visibilidad a la electrónica Argentina.

Análisis de costos

Los costos asociados con la fabricación y montaje de los prototipos del “módulosensor” se describen en la tabla 2.1.

TABLA 2.1: tabla descriptiva de los costos de fabricación de losprototipos del “módulo sensor”.

Descripción Componente Cantidad Costo unitario [us$] Subtotal

IC MCU 32BIT 128KB FLASH 32QFN ATSAMD21E17A-MUT 5 2,31 11,55Acelerómetro, giróscopo y magnetómetro de 3 ejes (I2C) MPU-9250 5 14,95 74,75

Módulo Bluetooth Smart FCC/CE BGM113A256V2R 5 9,84 49,2Switch tactil SMD B3U-1000P-B 5 1 5

Parlante monotono 4 kHz ST-0402T 5 3,68 18,4Conector de 10/20 posiciones DF12(3.0)-10DP-0.5V(86) 10 0,86 4,3

Cristal 12 MHz 30 ppm ABM10AIG-12.000MHZ-4Z-T3 5 1,36 6,8Mosfet canal N 60V SOT-23 2N7002ET1G 5 0,18 0,9

Led RGB SML-LX0404SIUPGUSB 5 1,04 5,2Convertidor DC/DC salida 3,3V 200 mA TPS82740BSIPT 5 3,31 16,55

IC multiplexor TPS2115ADRBR 5 2,01 10,05IC cargador de baterías de Litio-Ion MCP73831-2ACI/MC 5 0,59 2,95

Conector micro-USB AB 2.0 SMD ZX62-AB-5PA-31 5 0,83 4,15Resistencia SMD (0402) Resistencia SMD (0402) 95 0,1 9,5

Capacitor cerámico SMD (0402) Capacitor cerámico SMD (0402) 100 0,1 10Diodo SMD SOD-323 Diodo SMD SOD-323 5 0,33 1,65Fabricación de PCB 5 39,33 196,65

Montaje de PCB 5 20 100Total costos prototipos 527,6

Page 26: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

14 Capítulo 2. Introducción Específica

2.2.3. Factibilidad legal y responsabilidad civil

En el escenario de comercialización del sistema a nivel nacional, deberá garanti-zarse que el producto cumpla con la legislación que rige en todo el territorio dela República Argentina.

De modo que el sistema deberá cumplir con la ley N 24.240 de “Defensa del Con-sumidor”, que consagra para productores, importadores, distribuidores y vende-dores, el deber de informar a los consumidores en forma veraz, detallada, eficazy suficiente sobre los bienes y servicios que éstos adquieren.

Además, deberá cumplir con la ley N 22.802 de “Lealtad Comercial”, que estable-ce pautas para la comercialización de bienes con el objeto de generar un marco deprotección al consumidor, en lo ateniente a la exhibición de precios, informaciónclara y objetiva, y publicidad no engañosa.

En lo que se refiere a la homologación, el producto debe cumplir con la normaIRAM 4029 (IEC 65) “Aparatos electrónicos de uso doméstico y similares (porextensión)”; con la recomendación IEC 801 de “Compatibilidad electromagnéticapara la medición de equipos industriales y equipos de control (por extensión)”;y con la resolución N 92 del año 1998 de la Secretaría de Industria, Comercio yMinería (Ex-SICyM), que establece los “requisitos esenciales de seguridad” quedebe cumplir el equipamiento eléctrico de baja tensión para su comercialización.

En lo que respecta al manejo sustentable de “Residuos de Aparatos Eléctricos yElectrónicos (RAEEs)”, en la actualidad no ha sido sancionada la “Ley de BasuraElectrónica”, que tiene por objetivo incentivar a los productores de aparatos eléc-tricos y electrónicos al eco diseño (es decir, a producir aparatos cada vez más fácilesde reciclar, reutilizar, libres de sustancias tóxicas y con una mayor durabilidad).

Por lo tanto, no existe en la actualidad un sistema de gestión a nivel nacionalque regule la basura electrónica, y que permita a los consumidores deshacerse,de forma segura, de sus aparatos una vez cumplida su vida útil.

No obstante, en vistas de su aprobación en un futuro cercano, resultará conve-niente orientar la fabricación del producto en base a lo establecido por la ley N14.321, vigente en la provincia de Buenos Aires, que establece el conjunto de pau-tas, obligaciones y responsabilidades para la gestión de los RAEEs.

Por último, en relación con el software desarrollado, dado que parte del mismoconsiste en una aplicación para smartphones corriendo sobre el sistema operativoAndroid, se analizan los términos y condiciones sobre el uso del ASDK, AndroidSoftware Development Kit provisto por Google Inc. [29].

De su lectura, se desprende que su libre comercialización es factible en la Ar-gentina y por tanto, el desarrollo se encuentra sujeto a la ley N 25.922 “Ley deSoftware” que promueve la industria del software y servicios informáticos en elpaís.

2.3. Resumen del capítulo

En el presente capítulo se presentaron los requerimientos que debe cumplir elrastreador de actividad solicitado por el INTI, y se presentaron los diagramasque resumen sus especificaciones funcionales y de diseño.

Page 27: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

2.3. Resumen del capítulo 15

Además, se mencionaron las tendencias a nivel mundial que experimentará elmercado de dispositivos vestibles, y se analizaron los aspectos asociados con lamanufactura nacional de circuitos impresos de pequeñas dimensiones, sus costos,y las leyes que deberá cumplir el producto en el escenario de comercialización delsistema en el país.

Page 28: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,
Page 29: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

17

Capítulo 3

Diseño e Implementación

En este capítulo se describe el diseño e implementación de los distintos módulosque componen el rastreador de actividad corporal desarrollado para el InstitutoNacional de Tecnología Industrial (INTI).

3.1. Ingeniería de detalle

Se describen a continuación los detalles de implementación del hardware y delfirmware del “módulo sensor”, y del software del “módulo interfaz de usuario”.También, se enumera el plan de pruebas realizado para validar el correcto funcio-namiento de cada uno de los bloques constituyentes del sistema.

Durante el diseño del firmware y el software, fueron aplicadas técnicas de pro-gramación en lenguaje C y se utilizaron los protocolos de comunicación que sedescriben a lo largo del capítulo.

Además, durante la implementación y pruebas del sistema fue utilizado controlde versiones GIT, de manera que pudo ser mantenida al día la trazabilidad y do-cumentación de las funcionalidades añadidas a lo largo del histórico del proyecto.El trabajo realizado se encuentra publicado en [30] y [31].

3.1.1. Hardware: módulo sensor

Selección de componentes y bloques funcionales

El hardware del “módulo sensor” consiste en la plataforma PlatC diseñada porespecialistas del Centro de Micro y Nanotecnología del INTI, con el objetivo deofrecer de forma abierta una alternativa de menor costo y funcionalidades equi-valentes a las provistas por Spora.

En su diseño, se priorizó la realización de un PCB de tamaño reducido y capaz deser fabricado en el país, lo que derivó en una placa de dimensiones rectangularesde 25x26 milímetros, en cuatro capas y con una separación mínima entre pistasde cinco mils (0,127 milímetros).

El circuito puede describirse como la conjunción de cinco bloques principales:

1. Sistema de control: integrado por un microcontrolador programable queimplementa la lógica de control.

2. Interfaz de comunicación: compuesta por un transceptor bluetooth LE paratransmitir y recibir datos.

Page 30: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

18 Capítulo 3. Diseño e Implementación

3. Interfaz de usuario: consistente en un parlante monotono de 4 kHz, un pul-sador, un led RGB, un conector micro USB y un puerto de expansión deveinte pines.

4. Sensores: equipado con un acelerómetro, magnetómetro y giróscopo de tresejes cada uno, y un sensor de temperatura ambiental que opera en el rango-40C a 85C.

5. Alimentación: implementado con un cargador de baterías de Li-Ion [32] de3,7 Volts.

En la elección de los componentes de cada uno de los bloques se evaluaron variasopciones, priorizando bajo costo y alta disponibilidad, y utilizando la experienciaadquirida durante el diseño de Spora. Véase “Apéndice A”.

Sistema de control

El bloque “sistema de control” consiste en un microcontrolador de propósito ge-neral y bajo consumo de energía que utiliza el procesador ARM R©Cortex R©-M0+[33] de 32 bits, fabricado por la empresa de semiconductores Atmel R©.

El mismo, denominado SAMD21E17A, cuenta con una memoria SRAM de 32 kBy una memoria Flash de 128 kB programables por el usuario, operando a unafrecuencia máxima de 48 MHz.

Además, cuenta con un número de serie de 128 bits único para cada chip, que esgrabado por el fabricante; característica necesaria para la producción comercialde dispositivos vestibles basados en PlatC.

Dado que la plataforma fue pensada para el desarrollo de dispositivos vestiblesque operan a baterías, el bajo consumo de energía es una prioridad. En ese senti-do, el microcontrolador cuenta con un módulo de control de energía (PM, PowerManagement), que ofrece dos modos de operación para minimizarlo:

1. Modo de espera (STANDBY): es el modo de consumo de energía más ba-jo disponible en un MCU SAMD21, en el cual todos los relojes del sistemaestán desactivados y los reguladores de voltaje están configurados para fun-cionar en modo de baja potencia.

2. Modo inactivo (IDLE): detiene el reloj de la CPU pero deja los periféricos enfuncionamiento. Existen tres sub-modos de IDLE, en los cuales es posibledesactivar selectivamente los relojes innecesarios para ahorrar energía.

A diferencia del microcontrolador seleccionado en Spora, el SAMD21 está dispo-nible en múltiples configuraciones de memoria y tipos de encapsulado, ademásde contar con una mayor cantidad de periféricos; lo que, en esencia, convierte aPlatC una plataforma más flexible en el desarrollo de wearables.

Interfaz de comunicación

El bloque “interfaz de comunicación” consiste en un SoC, System On Chip [34]que está diseñado para aplicaciones bluetooth LE, en las cuales el bajo consumo deenergía, el tamaño reducido y la confiabilidad del enlace de RF son requerimien-tos fundamentales.

El SoC utilizado es el BGM113 y posee un procesador ARM R©Cortex R©-M4 [35]de 32 bits, fabricado por la empresa de semiconductores Silicon Labs R©. Además,

Page 31: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

3.1. Ingeniería de detalle 19

cuenta con una memoria RAM de 32 kB y una memoria Flash de 256 kB, progra-mables por el usuario; y con un transceptor de radio integrado, compatible con elestándar bluetooth LE.

De manera similar al bloque “sistema de control”, el SoC BGM113 cuenta con unmódulo de control de energía, que ofrece dos modos de operación para minimizarel consumo:

1. Modo dormido (DEEP SLEEP EM2): deshabilita el reloj de todos los perifé-ricos del sistema y retiene la información almacenada en la memoria RAM,alcanzando un consumo máximo de 2,5 µA.

2. Modo detenido (STOP CURRENT EM3): deshabilita el reloj de todos los pe-riféricos del sistema y desenergiza todos los circuitos internos, alcanzandoun consumo máximo de 2,1 µA.

En relación con los periféricos requeridos para la interconexión con el bloque “sis-tema de control”, cuenta con una UART [36] para comunicarse con el SAMD21, ycon tres pines de propósito general para señalizar diferentes estados de la comu-nicación bluetooth LE.

A diferencia del SoC seleccionado en Spora, el BGM113 tiene la capacidad de in-tegrar aplicaciones de usuario como parte del stack de comunicaciones bluetooth,lo que se traduce en mayor flexibilidad al momento de diseñar un producto.

Si bien las capacidades técnicas del BGM113 son suficientes como para evitar eluso de un microcontrolador externo (SAMD21), al momento de diseñar PlatC sedecidió mantener separados los bloques de “sistema de control” e “interfaz decomunicación” para mantener independientes los bloques funcionales y facilitarfuturas modificaciones y reemplazos.

En este sentido, el procesador BGM113 es utilizado en la configuración denomi-nada network processor [37], en la cual las capas “controlador” (controller) y “orga-nizador” (host) son implementadas en conjunto por el stack bluetooth integrado;mientras que la “aplicación” (application) es implementada en un microprocesa-dor externo (SAMD21).

La figura 3.1 muestra el esquema adoptado.

Interfaz de usuario

El bloque “interfaz de usuario” está constituido por un parlante monotono de 4kHz, un pulsador, un led RGB, un conector micro USB y un puerto de expansiónde veinte posiciones.

A diferencia de Spora, el parlante (modelo ST-0402T del fabricante Soberton inc.)fue incorporado con el objetivo de incrementar el rango de aplicaciones de PlatC;de manera que la interacción con el “módulo sensor” sea sonora, además de vi-sual y táctil.

En este sentido, se incorporó también un puerto de expansión de veinte posicio-nes en el que pueden conectarse sensores externos a los provistos por el hardwarede PlatC, y se añadió un conector micro USB para permitir el proceso de carga dela batería de forma estándar.

Page 32: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

20 Capítulo 3. Diseño e Implementación

FIGURA 3.1: Configuración bluetooth “network processor”1

Aprovechando el hecho de que el microcontrolador SAMD21 trae integrado unperiférico USB, se prevee conectar los pines de datos del conector micro USB almismo, de manera de ampliar el abanico de aplicaciones de la plataforma.

Sensores

Al igual que Spora, PlatC incorpora un acelerómetro, magnetómetro y giróscopode tres ejes cada uno, y un sensor de temperatura ambiental, provistos por elMCM (Multi-Chip in Module) MPU-9250 fabricado por TDK InvenSense.

El MPU-9250 incorpora en un mismo encapsulado dos obleas de silicio, una delas cuales implementa un acelerómetro y giróscopo de seis ejes, y la otra un mag-netómetro de tres ejes modelo AK8963 fabricado por Asahi Kasei Microdevices Cor-poration.

En base a la experiencia adquirida con Spora, el MPU-9250 resulta ideal en eldesarrollo de dispositivos vestibles, dado que permite eliminar el costo y la com-plejidad asociados a la selección e integración de componentes discretos. A la vezsimplifica su utilización al disponer de buses de comunicación I2C [38] y un pinde propósito general (INT pin) para indicar diferentes eventos según sea configu-rado.

En el presente trabajo, solamente se utilizaron las mediciones del acelerómetro detres ejes en la detección de las repeticiones de la rutina de abdominales realizadapor un usuario, como se explicará en la subsección 3.1.3.

En relación con el consumo de energía, el MPU-9250 provee una funcionalidaddenominada Wake-on-Motion Interrupt, mediante la cual el usuario puede configu-rar un umbral de aceleración en cualquiera de sus tres ejes, tal que al ser superado

1Tomado de http://www.ti.com/lit/ug/swru271g/swru271g.pdf

Page 33: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

3.1. Ingeniería de detalle 21

es indicado a través de INT pin. En este modo, el consumo de energía se reduce aun mínimo de 8,4 µA.

Alimentación

El bloque “alimentación” está conformado por un controlador de carga para bate-rías de Li-Ion (modelo MCP73831) fabricado por la empresa de semiconductoresMicrochip R©); un multiplexor para seleccionar la fuente de alimentación (modeloTPS2114A); y un convertidor DC/DC para acondicionar la tensión de alimenta-ción de los diferentes bloques del circuito (modelo TPS82740A), ambos fabricadospor la empresa Texas Instruments R©.

La figura 3.2 muestra el diagrama del bloque “alimentación”.

FIGURA 3.2: Diagrama del bloque “alimentación”

En particular, el controlador de carga de baterías cuenta con un pin para indicarsu estado (en carga activa/inactiva), el cual está vinculado al bloque “sistema decontrol” para informar al usuario cuando ocurre un cambio en la alimentacióndel circuito.

La solución integrada se caracteriza por ser de tamaño reducido y requerir unacantidad mínima de componentes pasivos para su funcionamiento, lo que la con-vierte en una opción ideal para aplicaciones portátiles como lo son los wearables.

3.1.2. Firmware: módulo sensor

El firmware del “módulo sensor” se implementó utilizando las herramientas pro-vistas por Atmel R©para tal fin, entre las que se encuentran la IDE (IntegratedDevelopment Environment) de programación Atmel Studio 7.0 [39], la interfazde debug Atmel-ICE [40] para procesadores Cortex R©-M0+ y una biblioteca queimplementa drivers de hardware de bajo nivel denominada CMSIS (Cortex Mi-crocontroller Software Interface Standard) [41].

Además, por pedido expreso del INTI, se utilizó el framework de máquinas deestado RKH (Reactive frameworK for Hierarchical state machines) (véase “ApéndiceB”), el cual consiste en un paquete de software multiplataforma cuyo objetivo esfacilitar el desarrollo de sistemas parcialmente o totalmente reactivos.

Page 34: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

22 Capítulo 3. Diseño e Implementación

Mediante RKH fue posible construir de manera rápida y segura la aplicación derastreador de actividad completa, respetando la estructura de directorios que semuestra en la figura 3.3.

FIGURA 3.3: Estructura de directorios del firmware de PlatC.

La estructura esquematizada fue diseñada pensando en la divulgación OpenSource,dado que mantiene separada la lógica de la aplicación, de las dependencias dehardware e incluye una carpeta donde contener fuentes de terceros.

También, con la idea de aplicar los conocimientos aprendidos en la maestría, sedecidió integrar un sistema operativo multitarea apropiativo que fue desarrolla-do durante el cursado de la asignatura Implementación de Sistemas OperativosI. El mismo, brinda la posibilidad a los usuarios de PlatC de ejecutar en parale-lo múltiples objetos activos creados en el framework RKH, al asignar tiempos deCPU a cada uno de ellos.

El firmware implementado consta de un único objeto activo creado en el frameworkRKH, cuyos estados se muestran en la figura 3.4. Se describen a continuación ca-da uno de los estados implementados en el objeto activo PlatC de a cuerdo a losrequerimientos indicados en la subsección 2.1.1:

1. Unlinked

Es el estado inicial del sistema tanto cuando el microprocesador es reinicia-do, como cuando sale del modo de operación de bajo consumo STANDBY.

Conforme permanece en este estado, el programa habilita el SoC BGM113para que sea visible al “módulo interfaz de usuario” (lo que permite suvinculación mediante un enlace bluetooth).

Si una vez transcurrido el intervalo de tiempo DISCONNECTED-TIMEOUTno se estableció conexión con el “módulo interfaz de usuario”, la máquinaavanza hacia el estado Hiden y el microrpocesador es configurado en el mo-do de bajo consumo STANDBY.

Page 35: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

3.1. Ingeniería de detalle 23

FIGURA 3.4: Maquina de estados UML del objeto activo PlatC.

2. Hiden

En este estado el programa apaga al SoC BGM113 para reducir el consu-mo de energía, y configura al procesador en el modo de bajo consumoSTANDBY.

La máquina avanza hacia el estado Unlinked solamente cuando el usua-rio presiona PUSH-BUTTON durante un tiempo superior al indicado porSHORT2LONG-BUTT-TIME. En ese momento, el procesador es energizadoy las acciones del estado Unlinked son ejecutadas.

3. Linked

El programa avanza hacia este estado cuando se establece el enlace a nivelbluetooth. En él, el “módulo sensor” intercambia mensajes con el “módulointerfaz de usuario”, según se describe en la tabla 3.1.

El protocolo es del tipo cliente-servidor, donde el dispositivo PlatC adoptael rol de servidor que acepta la conexión de un único cliente a la vez.

PlatC (servidor), ejecuta las acciones solicitadas por parte del cliente confir-mando la ejecución de dicha solicitud, y también puede transmitir mensajeno solicitados hacia PlatCApk (cliente).

El protocolo no define ni política de reintentos ni recuperación por lo que,en caso de producirse errores durante el intercambio de los mensajes, sedelega al lado cliente la resolución del conflicto.

El formato de los mensajes respeta el estándar JSON [42] y se especificadetalladamente en “Apéndice C”.

Page 36: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

24 Capítulo 3. Diseño e Implementación

TABLA 3.1: tabla descriptiva del protocolo de comunicación PlatC.

ID de mensaje(comando) Mensaje Descripción

0 Ack Confirmación de comando recibido.1 Data Mensaje no solicitado que contiene

las magnitudes sensadas.2 GetData Petición de transmisión de

mensaje Data.

3 Config Mensaje para la lectura/escritura dela configuración, con confirmación.

4 GetConfig Petición de transmisión demensaje Config.

5 Fitness Mensaje para indicar el inicio/detenciónde la rutina de ejercicios,

con confirmación.

6 Motion detected Mensaje para indicar la detecciónde una repetición en la

rutina de ejercicios.

4. Motion

El programa avanza hacia este estado cuando recibe un mensaje MOTION-DETECTED y permanece en él durante el tiempo indicado por MOTION-DETECTED-TIME. Además, en caso de ser habilitada la alerta sonora, emiteun pitido utilizando su parlante. Una vez transcurrido el tiempo indicadopor MOTION-DETECTED-TIME, retorna al estado previo.

3.1.3. Software: módulo interfaz de usuario

En base a los requerimientos funcionales del “módulo interfaz de usuario”, se de-cidió que el mismo podía ser implementado utilizando un smartphone, dado quetodos los componentes necesarios (display, teclado, parlante) son sobradamentecubiertos por dispositivos de este tipo.

En este sentido, se desarrolló una aplicación para el sistema operativo Android,dado que es uno de los más utilizados a nivel mundial y provee un SDK muycompleto y de acceso gratuito [43]. En particular, se utilizó la plataforma de desa-rrollo Xamarin.Android [44], la cual expone el SDK de Android completo para desa-rrolladores de .NET C# en Visual Studio.

La aplicación implementada ofrece una interfaz sencilla, minimalista e intuitivapara que el usuario pueda interactuar con su rastreador de actividad. La mismaestá compuesta por tres pantallas, que son gestionadas mediante una barra lateralprovista por el SDK, denominada Navigation Drawer.

En la figura 3.5 se muestra el menú de selección de las diferentes pantallas.

Page 37: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

3.1. Ingeniería de detalle 25

FIGURA 3.5: Menú de selección de pantallas que permite elegirentre “fitness”, “gráficos” y “ajustes”.

Se describe a continuación la funcionalidad de cada una de las secciones que com-ponen la aplicación:

Fitness

Esta pantalla se encuentra dividida en tres secciones, mediante las cuales se indicael tipo de ejercicio a realizar, la cantidad de repeticiones restantes y el estado demonitoreo por parte de la aplicación (activo ó detenido).

Por el momento, el algoritmo de detección de movimiento está diseñado paradetectar repeticiones en una rutina de abdominales, pero se prevé extenderla adiferentes tipos de ejercicios en el futuro.

En la parte superior de la pantalla se encuentra un menú desplegable que permitecontrolar el estado de conexión bluetooth con el “módulo sensor”, y un texto queevidencia dicho estado.

Antes de comenzar con el ejercicio físico, es necesario que el usuario calibre alsistema, para lo cual la pantalla provee en la parte inferior un botón de selec-ción de modo (calibración ó ejercitación) y un botón de estado (rutina iniciada ódetenida).

Cuando el modo de calibración es iniciado, se solicita al usuario realizar abdo-minales durante sesenta segundos, tiempo durante el cual el “módulo sensor”envía los valores de media y varianza de la aceleración tomados en cada uno delos tres ejes, una vez por segundo; los cuales son almacenados por el software del“módulo interfaz de usuario”.

Page 38: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

26 Capítulo 3. Diseño e Implementación

Una vez finalizado el intervalo de calibración, el software procesa los datos alma-cenados del siguiente modo:

1. Varianza: analiza la varianza de la aceleración en cada uno de los tres ejes ydetermina el eje dominante como aquél que presenta el mayor valor. De estamanera, durante la ejercitación, el software considera solamente los datosdel eje dominante para inferir las repeticiones de abdominales.

2. Media: calcula la autocorrelación (véase “Apéndice D”) de los datos alma-cenados correspondientes al eje dominante, obteniendo una normalizaciónde los mismos en el rango -1 a 1. Luego, procesa los datos normalizados yfija un umbral superior que será utilizado durante el proceso de ejercitaciónpara detectar las repeticiones.

En el modo ejercitación, el software del “módulo sensor” calcula la autocorrela-ción de los datos recibidos de forma dinámica y, en base al umbral determinadodurante la calibración, decrementa el contador de abdominales y emite una indi-cación por voz anunciando el progreso del usuario.

La figura 3.6 resume las funcionalidades disponibles en la pantalla “fitness”.

FIGURA 3.6: Pantalla “fitness”. Izquierda: modo calibración. De-recha: modo ejercitación.

Gráficos

Esta pantalla también se encuentra dividida en tres secciones, cada una de lascuales presenta un gráfico en tiempo real de la media y la varianza de la acelera-ción correspondiente a cada uno de los ejes (x, y, z).

Su función consiste en exponer de forma gráfica los patrones de la aceleraciónrecibidos desde el “módulo sensor” para, en el futuro, servir como base paraprocesar las huellas de aceleración de diferentes rutinas de ejercicio.

La figura 3.7 muestra las funcionalidades descritas previamente.

Page 39: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

3.1. Ingeniería de detalle 27

FIGURA 3.7: Pantalla “gráficos”.

Ajustes

La figura 3.8 resume las funcionalidades de la pantalla “ajustes”.

FIGURA 3.8: Pantalla “ajustes”.

Page 40: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

28 Capítulo 3. Diseño e Implementación

Esta pantalla le permite al usuario:

Habilitar/deshabilitar la indicación por voz al hacer ejercicio.

Habilitar/deshabilitar el alerta sonoro emitido por el parlante del “módulosensor” cuando es detectada una repetición.

Determinar el número de repeticiones a realizar en la rutina de ejercicios,en el rango 1 a 100.

Restablecer los valores por defecto configurados en la aplicación.

3.2. Diseño del circuito impreso y fabricación

La construcción del prototipo se centró en el diseño, fabricación y montaje delhardware del “módulo sensor”. Es por ello, que esta sección está dedicada a des-cribir las recomendaciones de diseño tenidas en cuenta a fin de garantizar sucalidad y reducir su costo de manufactura, y a compararla con las plataformas dehardware abierto de referencia descritas en 1.1.3.

3.2.1. Detalles de construcción y precauciones especiales de montajedel módulo sensor

El diseño del circuito impreso se realizó teniendo en cuenta las siguientes reco-mendaciones:

Reglas de diseño

Fue necesario conocer los requisitos técnicos de Ernesto Mayer S.A. basados enel nivel de tecnología de PCB que es capaz de construir. Para ello, se consultósobre el ancho y espaciado de las pistas, así como la cantidad y la configuraciónde las capas del circuito impreso; dado que al superarse dichas limitaciones, pue-den aumentar los costos de fabricación, o provocar que el impreso no se puedafabricar.

Posicionamiento de componentes

La etapa de colocación de componentes del proceso de diseño requirió una con-sideración estratégica acerca de las principales partes disponibles en el circuito,dado que la forma en que se ubican los componentes determina la dificultad deruteo (interconexión de componentes).

Planos de alimentación y ruteo de señales

Una vez colocados los componentes, se procuró ubicar los planos de alimentacióny tierra en las capas internas de la tarjeta; y de trazar las líneas de alimentaciónde los integrados evitando su encadenamiento de componente a componente.

Luego, se conectaron los caminos de señal de acuerdo al esquemático, ubicandolas conexiones de la forma más corta y directa posible entre los componentes.

Verificación del diseño

Una vez finalizado el diseño, se realizó la verificación de reglas eléctricas (ERC -Electric Rule Check) y la verificación de reglas de diseño (DRC - Design Rule Check),para asegurar el cumplimiento de las restricciones preestablecidas.

Page 41: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

3.2. Diseño del circuito impreso y fabricación 29

El circuito impreso se fabricó en la empresa nacional Ernesto Mayer S.A. [45], lacual cuenta con máquinas de inspección visual AOI (Aútomated Optical Inspection)para garantizar la calidad del PCB manufacturado. Luego, dado que la totalidadde los componentes utilizados en el diseño es de montaje superficial (SMD), serecurrió a la empresa nacional Asembli S.A. [13] para su montaje.

La figura 3.9 muestra el diseño tridimensional del PCB realizado mediante la he-rramienta de software KiCAD; mientras que la figura 3.10 muestra el prototiporeal fabricado.

FIGURA 3.9: Diseño tridimensional del PCB realizado con KiCAD.Derecha: cara superior. Izquierda: cara inferior.

FIGURA 3.10: Prototipo real fabricado. Derecha: cara superior. Iz-quierda: cara inferior.

3.2.2. Plan de pruebas de cada bloque del módulo sensor

El plan de pruebas se ejecutó por bloque y consistió en:

1. Sistema de control: implementar código de prueba de cada periférico invo-lucrado en el desarrollo del rastreador de actividad (UART del BGM113, I2Cdel MPU9250, pines de control del parlante, pulsador y led RGB).

2. Interfaz de comunicación: implementar código de prueba que permita veri-ficar la transmisión y recepción de datos a través del stack bluetooth provistopor Silicon Labs R©, y a través de la UART conectada al SAMD21.

Page 42: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

30 Capítulo 3. Diseño e Implementación

3. Interfaz de usuario y sensores: inspección visual con microscopio de las sol-daduras de los componentes.

4. Alimentación: pruebas de carga y descarga de una batería de Li-Ion de 3,7Volts.

Además, fue necesario hacer retrabajo del integrado sensor, dado que se constatóque el integrado montado por la empresa Asembli S.A. no se correspondía con elMPU-9250.

3.2.3. Comparación con plataformas de hardware abierto de referencia

Las plataformas de hardware abierto de referencia descritas en la sección 1.1.3,cuentan con micro-controladores que ofrecen menores prestaciones a las provis-tas por PlatC, y no incorporan ninguna clase de sensores (acelerómetro, giróscopoó magnetómetro) ó actuadores (parlante), debiendo ser estos conectados de formaexterna.

Además, no cuentan con módulos de comunicación inalámbrica como lo es blue-tooth LE, ni tampoco cuentan con la electrónica necesaria para la carga de susbaterías; lo que las convierte en alternativas menos versátiles con respecto a PlatCal momento de diseñar un producto comercial.

En la tabla 3.2 se comparan las principales características de PlatC y de las plata-formas presentadas en la sección 1.1.3.

TABLA 3.2: tabla comparativa de las características principales en-tre PlatC y las plataformas presentadas en la sección 1.1.3.

Plataforma PlatC Flora - Gemma - LilyPad

Capacidad de procesamiento Mayor MenorSensores integrados Sí No

Actuadores integrados Sí NoInterfaz de comunicación inalámbrica Sí No

Circuito de carga de batería Sí NoIndustria nacional Sí No

Costo Mayor Menor

Page 43: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

31

Capítulo 4

Ensayos y Resultados

En este capítulo se detallan los ensayos realizados para comprobar el correctofuncionamiento del hardware y del firmware de los módulos que componen elsistema, y se realiza un estudio de la confiabilidad del hardware del “módulosensor”.

4.1. Validación del prototipo

4.1.1. Validación del hardware

La validación del hardware se centra en el “módulo sensor”, dado que éste es elúnico módulo del sistema que se diseñó y fabricó. Como el rastreador de activi-dad fue desarrollado para ser operado a batería, se presentan a continuación lasmediciones de consumo de corriente realizadas y se expone el cálculo de su vidaútil.

Teniendo en cuenta que PlatC produce picos de corriente solamente durante elsensado y transmisión de los datos de aceleración, mientras que el resto del tiem-po experimenta un consumo reducido, se decidió utilizar como unidad de medi-da la corriente media en el cálculo de la vida útil de la batería.

Mediciones

Se procedió a medir la caída de tensión sobre una resistencia de 10 Ω y toleran-cia 1 % colocada en serie con los pines de alimentación del circuito, mediante eluso de un analizador lógico. Luego, la corriente medida surge de la división delvoltaje obtenido por el valor de la resistencia.

Se decidió utilizar una resistencia de 10 Ω, porque es un valor lo suficientementepequeño como para asegurar una pequeña caída de tensión que no afecte el fun-cionamiento del circuito, y lo suficientemente grande como para obtener medicio-nes con buena precisión; al tiempo que simplifica las operaciones matemáticas.

Además, las mediciones se realizaron alimentando el dispositivo con una fuentede tensión continua, para evitar posibles errores asociados a variaciones en latensión aplicada.

La figura 4.1 muestra el esquema de conexión utilizado.

Page 44: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

32 Capítulo 4. Ensayos y Resultados

FIGURA 4.1: Esquema de conexión realizado en la medición de lacorriente consumida por PlatC.

Una vez armado el banco de pruebas, se procedió a capturar la forma de onda deun ciclo completo de sensado y transmisión, configurando el trigger del analiza-dor lógico en modo “rising-edge”, de modo tal de dispararlo cada vez que PlatCincurre en dicho ciclo de operación. Las muestras tomadas fueron exportadas ygraficadas en Matlab R©.

La figura 4.2 muestra la forma de onda de corriente medida.

FIGURA 4.2: Forma de onda de un evento de sensado y transmi-sión.

Se observa que la corriente consumida se modifica conforme PlatC atraviesa porlos siguientes estados:

1. Sensado: etapa durante la cual el microcontrolador SAMD21 solicita la ace-leración en cada eje al MPU-9250, y calcula su media y varianza utilizandolas rutinas provista por la librería matemática de CMSIS.

2. Transmisión UART: etapa durante la cual el microcontrolador SAMD21 en-vía a través de la UART el paquete de datos que debe ser transmitido por elmódulo bluetooth BGM113.

3. Pre-procesamiento: las rutinas provistas por el stack bluetooth de Silicon Labspreparan la radio para enviar datos.

4. Transmisión bluetooth: la radio del BGM113 transmite la trama de datos.

Page 45: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

4.1. Validación del prototipo 33

5. Post-procesamiento: el programa desarrollado monitorea los pines de con-trol que determinan el estado de carga de la batería y el estado de pulsadodel botón con que cuenta el hardware.

El intervalo temporal de cada sección se obtuvo utilizando los cursores que pro-vee el programa del analizador lógico, y el valor de voltaje utilizando la funciónaverage.

El error absoluto en la medición de corriente de cada uno de los estados por losque atraviesa el dispositivo, surge de propagar el error en la medición de tensión,y en el valor de la resistencia, según la ecuación:

∆I = ‖ ϕI

ϕV‖∆V + ‖ ϕI

ϕR‖∆R =

1

R∆V +

V

R2∆R (4.1)

Considerando un error de un 1 % en las mediciones de voltaje, las mediciones decorriente se muestran en la tabla 4.1.

TABLA 4.1: tabla descriptiva del consumo de corriente de cadaestado medido.

Estado Tiempo (uS) Corriente (mA)

1 (sensado) 31,33 18,63 +/- 0,372 (transmisión UART) 100 17,65 +/- 0,353 (pre-procesamiento) 64,5 22,55 +/- 0,45

4 (trasmisión bluetooth) 335 26,47 +/- 0,535 (post-procesamiento) 541 20,59 +/- 0,41

Por último, el consumo en estado estacionario se midió con un amperímetro mo-delo UT58A [46]; el resultado se muestra en la tabla 4.2.

TABLA 4.2: tabla descriptiva del consumo de corriente de cadaestado medido.

Estado Corriente (mA) Error Instrumento

6 (estacionario) 4,1 +/- 0,1 +/- (0,8 % + 1)

Resultados

La estimación de la vida útil de la batería puede calcularse mediante el modelomatemático:

V idaUtilEsperada[horas] =CapacidadNominalBateria[mA/h]

CorrienteMedia[mA](4.2)

donde:

Page 46: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

34 Capítulo 4. Ensayos y Resultados

CorrienteMedia[mA] =(CMoperacion[mA] ∗ Intervalooperacion[s])

Intervaloreportes[s]+

(CMestacionaria[mA] ∗ (Intervaloreportes[s]− Intervalooperacion[s]))

Intervaloreportes[s](4.3)

Tomando como peor caso la operación constante del programa en el estado “Lin-ked” (en el cual se envía un reporte cada un segundo) y calculando la corrientemedia mientras el dispositivo está activo con los datos menos favorables de latabla 4.1, la vida útil de una batería de 110 mA/h es:

CorrienteMedia[µA] =(22210µA ∗ 0, 00107s)

1s+

(4100µA ∗ (1s− 0, 00107s))

1s= 4120 µA (4.4)

V idaUtilEsperada[horas] =110[mA/h]

4, 12[mA]= 26, 82 horas (4.5)

4.1.2. Validación del firmware y software

La validación del firmware del “módulo sensor” se realizó mediante pruebas uni-tarias de las principales funciones programadas y mediante pruebas de integra-ción, directamente sobre el hardware en cuestión.

Al respecto, por cada archivo C que se deseaba testear, se generó un archivo consu mismo nombre y el prefijo “unit-test-”; y se lo corrió haciendo uso de las he-rramientas de debugging provistas por la IDE de programación Atmel Studio 7.0.

Previo a la realización de cada test, se especificaron cuáles eran los pasos a seguir,sus requerimientos, y las pre/post-condiciones que debía cumplir.

En particular, se diseñaron pruebas para verificar el correcto funcionamiento delas rutinas que permiten:

Medir las magnitudes aceleración, ángulo y campo magnético provistas porel MCM MPU-9250, a través del bus de comunicaciones I2C.

Enviar tramas de datos con el SoC bluetooth LE BGM113, a través del busde comunicaciones UART. Para ello, se utilizó la aplicación comercial Se-rial Bluetooth Terminal [47] en un smartphone, con la cual es posible generarmensajes de largo variable y mostrar aquellos que son recibidos.

Definir el estado de conexión del adaptador bluetooth LE.

Detectar los tiempos de pulsado del botón presente en el hardware, imple-mentando lógica de control antirebote.

Verificar el correcto funcionamiento del led RGB, encendiendo el correspon-diente a cada color.

Page 47: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

4.1. Validación del prototipo 35

Evidenciar y calibrar la frecuencia de resonancia del parlante monotono de4 kHz modelo ST-0402T.

Dado que las funciones descritas previamente son de muy bajo nivel (es decir,implican accesos a los registros del SAMD21), fue necesario debugguear el pro-grama mediante la punta de pruebas Atmel-ICE diseñada para tal fin.

Por otro lado, las pruebas sobre el software se realizaron utilizando un smartphoneMotorola G4Plus con sistema operativo Android 8.0, mediante la IDE de programa-ción Visual Studio.

La figura 4.3 muestra al sistema completo sobre el cual se realizó la prueba deintegración.

FIGURA 4.3: Sistema completo del rastreador de actividad imple-mentado. Se observa el “módulo sensor”, el “módulo interfaz de

ususario” y la punta de prueba Atmel-ICE.

Finalmente, para verificar la compatibilidad de todos los elementos del sistema,se realizó una prueba de integración que involucró los siguientes pasos:

1. Instalar la aplicación del “módulo interfaz de usuario” en un smartphone consistema operativo Android.

2. Iniciar la aplicación y conectarla con el “módulo sensor” mediante el enlacebluetooth LE.

3. Desde la pantalla “fitness”, seleccionar el “modo calibración” e iniciar elproceso de sesenta segundos de duración.

Page 48: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

36 Capítulo 4. Ensayos y Resultados

4. Realizar movimientos rotacionales con respecto al eje x del acelerómetrodel “módulo sensor” y, mediante el debugguer provisto por Visual Studio,evidenciar la recepción de las magnitudes media y varianza de cada uno delos ejes.

5. Calcular la autocorrelación de la media de aceleración sobre el eje de mayorvarianza y exportar el set de datos para ser graficados en Matlab R©.

6. Repetir el proceso de calibración hasta que el umbral de detección definidoen base al set de datos de autocorrelación respete un patrón definido.

7. Una vez fijado el umbral de detección, activar el “modo ejercitación” y mo-ver el “módulo sensor” hasta que la autocorrelación calculada de formadinámica supere el umbral definido.

8. Evidenciar el correcto funcionamiento de las indicaciones por voz del “mó-dulo interfaz de usuario” y sonora del “módulo sensor”.

4.2. Estudio de confiabilidad del hardware

El análisis de la confiabilidad del hardware se centra en el “módulo sensor” da-do que éste es el único módulo del sistema que se diseñó y fabricó de maneracompleta.

El estudio se basa en los parámetros fijados por la norma militar estadounidenseMIL-HDBK-217F [45], en la cual se establece que el tiempo de falla de los compo-nentes de un sistema puede modelarse como una variable aleatoria con distribu-ción exponencial.

En particular, se aplica el método de las cargas (Part Stress Analysis Prediction [45]),el cual es aplicable cuando la mayoría del diseño se ha finalizado y se conocen lascondiciones de estrés a las cuales se someten los componentes del sistema.

Según establece la norma, la tasa de fallas de un módulo (λmodulo) equivale a lasumatoria individual de la tasa de fallas de cada uno de sus componentes. Eneste sentido, dado que el “módulo sensor” diseñado no contiene elementos deredundancia, puede asumirse que el sistema es puramente serie, con lo cual sutasa de fallas (λsistema) equivale a la tasa de fallas del “módulo sensor”.

λsistema = λsensor (4.6)

Los diferentes componentes que conforman el “módulo sensor”, junto con losmultiplicadores que los afectan se listan en la tabla 4.3.

Para cada uno de ellos, la nomenclatura utilizada es la siguiente:

λb: Tasa de falla base.

πT: Factor de carga por temperatura.

πP: Factor de carga por potencia.

πS: Factor de carga por estrés.

πC: Factor de carga por capacidad.

πV: Factor de carga por estrés de voltaje.

Page 49: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

4.2. Estudio de confiabilidad del hardware 37

πL: Factor de carga por aprendizaje.

πSR: Factor de carga por resistencia serie.

πK: Factor de conexión y desconexión.

πQ: Factor de carga por calidad.

πE: Factor de carga por ambiente.

En el cálculo de la tasa de fallas de cada tipo de componente listado, se utilizaronlas siguientes ecuaciones establecidas en la norma MIL-HDBK-217F:

Circuito integrado

λcomponente = (C1πT + C2πE)πQπL fallas/106hs (4.7)

Capacitor SMD

λcomponente = λbπTπCπV πSRπQπE fallas/106hs (4.8)

Resistencia SMD

λcomponente = λbπTπPπSπQπE fallas/106hs (4.9)

Diodo SMD

λcomponente = λbπTπSπCπQπE fallas/106hs (4.10)

Cristal SMDλcomponente = λbπQπE fallas/106hs (4.11)

Conector SMD

λcomponente = λbπPπQπE fallas/106hs (4.12)

El cálculo de la tasa de fallas de cada componentes se muestra en la tabla 4.4.

En base a los datos que surgen de la tabla 4.4, la tasa de fallas del sistema es:

λsistema = λsensor = 1, 69 fallas/106hs (4.13)

Lo cual implica un tiempo medio entre fallas del sistema:

MTBFsistema =1

λsistema= 67, 38 anios (4.14)

Page 50: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

38 Capítulo 4. Ensayos y Resultados

TABLA 4.3: factores de carga de cada componente del “módulosensor”. Los valores expuestos son fijados por la norma militar

estadounidense MIL-HDBK-217F.

Bloque Componente Valor CantidadFactores de carga

λb πT πP πS πC πV πL πSR πK πQ πE C1 C2

Sistema de control y sensores

IC MCU - ATSAMD21 - 1 - 0,71 - - - - 1 - - 1 0,5 0,56 2,50E-02IC MCU - MPU-9250 - 1 - 0,71 - - - - 1 - - 1 0,5 0,28 1,00E-02

Cristal SMD 12 MHz 1 0,024 - - - - - - - - 1 1 - -Capacitor SMD 27 pF 2 0,0009 4,2 - - 0,76 1,6 - 0,66 - 1 1 - -Capacitor SMD 0,1 uF 7 0,0009 4,2 - - 0,81 1,6 - 0,66 - 1 1 - -Capacitor SMD 0,47 uF 3 0,0009 4,2 - - 0,94 1,6 - 0,66 - 1 1 - -Capacitor SMD 1 uF 1 0,0009 4,2 - - 1 1,6 - 0,66 - 1 1 - -Capacitor SMD 10 uF 1 0,0009 4,2 - - 1,3 1,6 - 0,66 - 1 1 - -

Resistencia SMD 180 Ω 1 0,0037 1,6 0,068 1,2 - - - - - 1 1 - -Resistencia SMD 330 Ω 2 0,0037 1,6 0,068 1,2 - - - - - 1 1 - -Resistencia SMD 470 Ω 1 0,0037 1,6 0,068 1,2 - - - - - 1 1 - -Resistencia SMD 4,7 kΩ 2 0,0037 1,6 0,068 1,2 - - - - - 1 1 - -Resistencia SMD 10 kΩ 4 0,0037 1,6 0,068 1,2 - - - - - 1 1 - -Resistencia SMD 100 kΩ 1 0,0037 1,6 0,068 1,2 - - - - - 1 1 - -

Interfaz de comunicación IC MCU - BGM113 - 1 - 0,71 - - - - 1 - - 1 0,5 0,56 2,50E-02

Interfaz de usuarioLed - 3 0,0038 1,4 - 1 1 - - - - 0,7 1 - -

Conector 20 posiciones - 1 0,0006 - 3,6 - - - - - - 0,3 1 - -Swtich táctil SMD - 1 0,1 - - - 1,3 - 1 - - 1 1 - -

Alimentación

IC REG - TPS2115A - 1 - 0,71 - - - - 1 - - 1 0,5 0,14 2,60E-03IC REG - TPS82740B - 1 - 0,71 - - - - 1 - - 1 0,5 0,14 2,60E-03

IC CHARGER - MCP73821 - 1 - 0,71 - - - - 1 - - 1 0,5 0,14 2,60E-03Diodo SMD 5 v 1 0,0038 1,4 - 1 1 - - - - 0,7 1 - -

Capacitor SMD 0,1 uF 4 0,0009 4,2 - - 0,81 1,6 - 0,66 - 1 1 - -Capacitor SMD 4,7 uF 2 0,0009 4,2 - - 0,94 1,6 - 0,66 - 1 1 - -

Resistencia SMD 0 Ω 2 0,0037 1,6 0,068 1,2 - - - - - 1 1 - -Resistencia SMD 49,9 Ω 1 0,0037 1,6 0,068 1,2 - - - - - 1 1 - -Resistencia SMD 1,5 kΩ 1 0,0037 1,6 0,068 1,2 - - - - - 1 1 - -Resistencia SMD 68 kΩ 1 0,0037 1,6 0,068 1,2 - - - - - 1 1 - -

Connector micro USB - 1 0,0006 - 3,6 - - - - - - 1 1 - -Battery connector - 1 0,0005 - 1,4 - - - - - 1 10 17 - -

TABLA 4.4: tasa de falla de cada componente del “módulo sensor”.

Bloque Componente Valor Cantidad λp[/10^6 hs] (por unidad) MTBF[10^6 hs] (por unidad) λp[/10^6 hs] (total)

Sistema de control y sensores

IC MCU - ATSAMD21 - 1 0,4100 2,4300 0,4101IC MCU - MPU-9250 - 1 0,2038 4,9067 0,2038

Cristal SMD 12 MHz 1 0,0240 41,6666 0,0240Capacitor SMD 27 pF 2 0,0033 299,6663 0,0066Capacitor SMD 0,1 uF 7 0,0035 281,1684 0,0249Capacitor SMD 0,47 uF 3 0,0041 242,2834 0,0123Capacitor SMD 1 uF 1 0,0043 227,7464 0,0043Capacitor SMD 10 uF 1 0,0057 175,1895 0,0057

Resistencia SMD 180 Ω 1 0,0005 2070,0847 0,0004Resistencia SMD 330 Ω 2 0,0005 2070,0847 0,0009Resistencia SMD 470 Ω 1 0,0005 2070,0847 0,0004Resistencia SMD 4,7 kΩ 2 0,0005 2070,0847 0,0009Resistencia SMD 10 kΩ 4 0,0005 2070,0847 0,0019Resistencia SMD 100 kΩ 1 0,0005 2070,0847 0,0004

Interfaz de comunicación IC MCU - BGM113 - 1 0,4101 2,4384 0,4101

Interfaz de usuarioLed - 3 0,0037 268,5284 0,0111

Conector 20 posiciones - 1 0,0007 1446,7592 0,0007Swtich táctil SMD - 1 0,1300 7,6923 0,1300

Alimentación

IC REG - TPS2115A - 1 0,1007 9,9304 0,1007IC REG - TPS82740B - 1 0,1007 9,9304 0,1007

IC CHARGER - MCP73821 - 1 0,1007 9,9304 0,1007Diodo SMD 5 V 1 0,0037 268,5284 0,0037

Capacitor SMD 0,1 uF 4 0,0035 281,1684 0,0142Capacitor SMD 4,7 uF 2 0,0041 242,2834 0,0082

Resistencia SMD 0 Ω 2 0,0005 2070,0847 0,0009Resistencia SMD 49,9 Ω 1 0,0005 2070,0847 0,0004Resistencia SMD 1,5 kΩ 1 0,0005 2070,0847 0,0004Resistencia SMD 68 kΩ 1 0,0005 2070,0847 0,0004

Connector micro USB - 1 0,0023 434,0277 0,0023Battery connector - 1 0,1118 8,9397 0,1118

λt[fallas/10^6 hs] 1,69MTBFt[10^6 hs] 0,59

MTBFt años 67,38

Page 51: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

39

Capítulo 5

Conclusiones

En este capítulo se mencionan los aspectos más relevantes del trabajo realizadohasta el momento y se mencionan los próximos pasos a seguir.

5.1. Objetivos alcanzados

En el trabajo realizado, se logró implementar de forma exitosa el prototipo de unrastreador de actividad corporal, con el objetivo de validar y demostrar el uso dela plataforma de hardware PlatC, que fue diseñada por el Instituto Nacional deTecnología Industrial (INTI). Para ello, se diseñaron y produjeron con éxito cadauno de los módulos que componen el sistema, tanto a nivel de hardware comode software; y se analizaron los aspectos económicos y legales que el productodeberá cumplir en caso de ser comercializado en el nicho correspondiente dentrodel mercado local.

Además, se cumplió con los requerimientos tanto funcionales como no funciona-les planteados en la subsección 2.1.1.

Durante el desarrollo, fueron imprescindibles los conocimientos que, a lo largodel año, fueron aprendidos en la Maestría en Sistemas Embebidos. Si bien cadauna de las asignaturas cursadas aportó conocimiento y experiencia para el desa-rrollo de sistemas embebidos, se listan a continuación aquellas de mayor relevan-cia para el trabajo:

Procesamiento digital de señales: se utilizaron los conocimientos sobre fil-tros digitales para procesar los datos recopilados por el acelerómetro y de-tectar cambios en la actividad corporal del usuario.

Gestión de la tecnología y la innovación: la discusión en grupos de los tra-bajos finales de la maestría permitió definir los aspectos principales en losque fue necesario poner énfasis para generar innovación tecnológica.

Implementación de sistemas operativos I: durante el cursado de la mate-ria se desarrolló un sistema operativo apropiativo que fue integrado en elfirmware del “módulo sensor” para gestionar la operatoria de los objetosactivos definidos según el framework de software RKH.

Certificación de sistemas electrónicos: el análisis de diferentes normas du-rante el curso y, en particular, la realización de un trabajo final sobre el tema“Baterías de Li-Ion” permitieron definir los aspectos principales a tener encuenta al momento de seleccionar la batería para la plataforma PlatC.

Page 52: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

40 Capítulo 5. Conclusiones

Taller de trabajo final: durante su cursado se redactó el presente documentoy se armó la presentación pública del trabajo.

5.2. Recomendaciones para futuros diseños

Una vez finalizado el proyecto, se abren varias áreas en las cuales se puede pro-fundizar con el fin de mejorar la solución y acercarla a un producto comercial.

En relación con el software, el rastreador de actividad corporal puede mejorarseagregando las siguientes funcionalidades:

Ampliar el software del smartphone a otras plataformas que soportan blue-tooth LE, como por ejemplo, el sistema operativo iOS.

Introducir nuevas opciones en el menú de usuario, como por ejemplo, mos-trar los progresos en pos de objetivos diarios de pasos, distancia, caloríasquemadas y minutos de actividad, además de las tendencias a lo largo deltiempo.

Introducir nuevas funcionalidades que permitan hacer todavía más versa-til a la plataforma PlatC, como por ejemplo, actualizaciones del firmwaredirectamente mediante la aplicación del smartphone.

En relación con el hardware, podrían realizarse las siguientes mejoras:

Diseñar carcasas plásticas para sujetar el módulo a la vestimenta del usua-rio.

Modificar algunas conexiones entre los bloque de “alimentación”, “sistemade control” e “interfaz de comunicación”, para facilitar la detección de losestados de conexión del transceptor bluetooth LE, y añadir la comunicaciónUSB a través del puerto de carga de la batería.

Verificar la concordancia con las normas de compatibilidad electromagnéti-ca en laboratorios certificados para tal fin, tarea que será necesaria en casode venderse de forma masiva el producto. De todas maneras, debe conside-rarse que el SoC BGM113 cuenta con el respaldo de Silicon Labs R©en relacióna la compatibilidad con las normas vigentes.

Al momento de la escritura de éste documento, se sabe que el integradoMPU-9250 entró en obsolescencia y será discontinuado por la empresa quelo fabrica, con lo cual debe analizarse qué otros integrados de característicassimilares existen en el mercado que sirvan para reemplazarlo.

Page 53: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

41

Apéndice A

Circuito esquemático de PlatC

FIGURA A.1: Diagrama en bloques de PlatC: Módulo principal.

Page 54: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

42 Apéndice A. Circuito esquemático de PlatC

FIGURA A.2: Diagrama en bloques de PlatC: Fuente de alimenta-ción.

Page 55: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

43

Apéndice B

Descripción del framework desoftware RKH

El propósito de este apéndice es describir el framework de software utilizado en larealización del “módulo sensor”, denominado RKH.

B.1. Introducción

El framework de software RKH (Reactive frameworK for Hierarchical state machines)es una herramienta de desarrollo genérica, flexible, modular, altamente portátil,compatible con ANSI-C y de código abierto diseñado para implementar máqui-nas de estado jerárquicas.

El mismo, provee un conjunto de servicios comunes y fundamentales entre apli-caciones del mismo dominio, en especial los embedded systems, cuyo objetivo es fa-cilitar el desarrollo de sistemas parcialmente o totalmente reactivos, en los cualessu comportamiento dinámico se representa mediante máquinas de estados pla-nas y/o statecharts, incluyendo aquellos con restricciones temporales o real-timedentro de un marco formal, simple, bien definido y estructurado.

B.2. Estructura

La figura B.1 muestra la estructura en capas que conforman el framework de softwareRKH.

1. Application: es la aplicación específica del sistema, que puede constituirsetanto por una parte reactiva y otra parte no reactiva, las cuales pueden co-laborar entre sí para lograr la funcionalidad del sistema. La parte reactivaes aquella que utiliza el framework RKH.

2. Reactive appliaction part: se constituye por uno o más statecharts que se eje-cutan en forma simultánea en el contexto de sus objetos activos; los cualescolaboran entre sí y con su entorno, enviando y recibiendo mensajes asin-crónicos.

3. Non-Reactive appliaction part: es la parte de la aplicación que no es necesa-riamente reactiva y que, por lo general, se ejecuta en el contexto de hilos delOS/RTOS subyacente y se comunica con la parte reactiva mediante mensa-jes asincrónicos.

Page 56: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

44 Apéndice B. Descripción del framework de software RKH

4. Configuration: define las opciones de configuración del framework RKH, lascuales son independientes de la plataforma subyacente, de acuerdo con lasnecesidades de la aplicación.

5. Neutral code: es el código independiente de la plataforma sobre la cual seejecuta el framework RKH; que hace uso de las funciones provistas por laplataforma subyacente, a través de la capa PAL (Platform Abstraction Layer)y por el BSP (Board Support Package).

6. Board Support Package (BSP): concentra las dependencias de la plataformaque no están estrictamente definidas por RKH. De esta forma, el BSP au-menta la flexibilidad de RKH, permitiendo que una misma aplicación puedaejecutarse sobre un mismo framework, pero en diferentes placas o entornos.

7. Platform Abstraction Layer (PAL): permite aislar el código de RKH del co-rrespondiente a la plataforma subyacente. La selección de la plataforma (de-nominada “port”) se realiza en tiempo de compilación. Específicamente, elarchivo rkhplat.h incluye condicionalmente el archivo rkhport.h que corres-ponda, según la opción de compilación para el “port” deseado; mientrasque el archivo rkhtype.h incluye condicionalmente el archivo rkht.h que co-rresponda, según la misma opción de compilación.

8. Port: concentra las dependencias de la plataforma que requiere RKH, y seconstituye básicamente por los archivos rkhport.h, rkhport.c y rkht.h.

9. Target platform: se constituye por el procesador, el compilador y el OS/R-TOS, en caso que exista.

FIGURA B.1: Modelo de capas del framework de software RKH 1.

1https://www.vortexmakes.com/estructura/

Page 57: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

45

Apéndice C

Protocolo de comunicación dePlatC

El propósito de este apéndice es describir el protocolo de comunicaciones imple-mentado en el desarrollo del rastreador de actividad solicitado por el InstitutoNacional de Tecnología Industrial (INTI).

C.1. Especificación del protocolo

El protocolo de comunicación de PlatC se establece entre PlatCApk y el dispositi-vo PlatC permitiendo el intercambio de mensajes. El mismo, es del tipo cliente-servidor, donde el dispositivo PlatC adopta el rol de servidor que acepta la cone-xión de un único cliente a la vez.

El dispositivo PlatC (servidor), ejecuta las acciones solicitadas por parte del clien-te confirmando la ejecución de dicha solicitud, y también puede transmitir men-sajes no solicitados hacia PlatCApk (cliente). El protocolo no define ni política dereintentos ni de recuperación, por lo tanto si se produjeran errores durante el in-tercambio de mensajes se delega al lado cliente la resolución del conflicto.

C.2. Formato de los mensajes

El intercambio de mensajes se realiza sobre un enlace bluetooth LE y respeta elformato de texto sencillo para el intercambio de datos JSON (JavaScript ObjectNotation) [42].

El conjunto de comandos soportados se resume en la tabla C.1. Todo mensajetransmitido reserva el JSON tag “cmd” del tipo integer para identificar el tipo demensaje.

Se describe a continuación el contenido de cada uno de los comandos resumidosen la tabla C.1.

1. Ack: solamente contiene el campo “cmd” con el valor correspondiente alidentificador de mensaje, que en este caso es 0. Se utiliza como confirmaciónde los mensajes Config, Fitness y MotionDetected.

1 2 "cmd" : 0 // Id del mensaje

Page 58: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

46 Apéndice C. Protocolo de comunicación de PlatC

TABLA C.1: tabla descriptiva del protocolo de comunicación PlatC.

ID de mensaje(comando) Mensaje Descripción

0 Ack Confirmación de comando recibido.1 Data Mensaje no solicitado que contiene

las magnitudes sensadas.2 GetData Petición de transmisión de

mensaje Data.

3 Config Mensaje para la lectura/escritura dela configuración, con confirmación.

4 GetConfig Petición de transmisión demensaje Config.

5 Fitness Mensaje para indicar el inicio/detenciónde la rutina de ejercicios,

con confirmación.

6 Motion detected Mensaje para indicar la detecciónde una repetición en la

rutina de ejercicios.

3

ALGORITMO C.1: Contenido del comando Ack.

La figura C.1 esquematiza su uso.

FIGURA C.1: Comando Ack.

2. Data: el campo “cmd” corresponde al identificador del mensaje 1. El restode los campos contiene la información de los datos de aceleración sensadosdurante la rutina de ejercicios.

1 2 "cmd" : 1 // Id del mensaje3 " t " : <Timestamp [ i n t ] > // segundos4 "xm" : <Media de l a a c e l e r a c i o n e j e X [ f l o a t ] > // +/− 2g5 "ym" : <Media de l a a c e l e r a c i o n e j e Y [ f l o a t ] > // +/− 2g6 "zm" : <Media de l a a c e l e r a c i o n e j e Z [ f l o a t ] > // +/− 2g7 " xv " : <Varianza de l a a c e l e r a c i o n e j e X [ f l o a t ] > // +/− 2g8 " yv " : <Varianza de l a a c e l e r a c i o n e j e Y [ f l o a t ] > // +/− 2g

Page 59: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

C.2. Formato de los mensajes 47

9 " zv " : <Varianza de l a a c e l e r a c i o n e j e Z [ f l o a t ] > // +/− 2g10

ALGORITMO C.2: Contenido del comando Data.

La figura C.2 esquematiza su uso.

FIGURA C.2: Comando Data.

3. GetData: solamente contiene el campo “cmd” con el valor correspondienteal identificador de mensaje, que en este caso es 2.

1 2 "cmd" : 2 // Id del mensaje3

ALGORITMO C.3: Contenido del comando GetData.

La figura C.3 esquematiza su uso.

FIGURA C.3: Comando GetData.

4. Config: el campo “cmd” corresponde al identificador del mensaje 3. El restode los campos contiene las variables de configuración.

1 2 "cmd" : 3 // Id del mensaje3 " e " : <Estado del par lant e [ i n t ] > // 0 − Deshabi l i tado / 1 −

Habi l i tado4 "n" : <Nombre d i s p o s i t i v o PlatC [ s t r i n g ] > // Nombre de usuario

PlatC5

ALGORITMO C.4: Contenido del comando Config.

La figura C.4 esquematiza su uso.

Page 60: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

48 Apéndice C. Protocolo de comunicación de PlatC

FIGURA C.4: Comando Config.

5. GetConfig: solamente contiene el campo “cmd” con el valor correspondien-te al identificador de mensaje, que en este caso es 4.

1 2 "cmd" : 4 // Id del mensaje3

ALGORITMO C.5: Contenido del comando GetConfig.

La figura C.5 esquematiza su uso.

FIGURA C.5: Comando GetConfig.

6. Fitness: el campo “cmd” corresponde al identificador del mensaje 5, y con-tiene un flag que indica al dispositivo PlatC si una rutina fitness está o noen curso. En caso de estar en curso, PlatC envía de forma no solicitada elcomando Data una vez por segundo hacia PlatCApk.

1 2 "cmd" : 5 // Id del mensaje3 " f " : <Flag de r u t i n a en curso > // 0 − Detenida / 1 − En curso4

ALGORITMO C.6: Contenido del comando Fitness.

La figura C.6 esquematiza su uso.

Page 61: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

C.2. Formato de los mensajes 49

FIGURA C.6: Comando Fitness.

7. MotionDetected: solamente contiene el campo “cmd” con el valor corres-pondiente al identificador de mensaje, que en este caso es 6. El comando esenviado por PlatCApk hacia PlatC cuando es detectada una repetición du-rante una rutina de ejercicios.

1 2 "cmd" : 6 // Id del mensaje3

ALGORITMO C.7: Contenido del comando MotionDetected.

La figura C.7 esquematiza su uso.

FIGURA C.7: Comando MotionDetected.

Page 62: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,
Page 63: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

51

Apéndice D

La función de autocorrelación

El propósito de este apéndice es mostrar una técnica simple para estimar la pe-riodicidad en series de tiempo denominada autocorrelación.

D.1. El coeficiente de correlación

La correlación de dos funciones (o series de tiempo) es una medida de cuán simi-lar es el comportamiento de las mismas.

Matemáticamente se expresa según la ecuación D.1.

corr(X,Y ) =cov(X,Y )

std(X)std(Y )(D.1)

donde std(X) representa el desvío estándar, definido según la ecuación D.2.

std(X) =

√√√√ 1

N

N∑i=1

[Xi −mean(X)]2 (D.2)

y mean(X) representa la media de X, que es simplemente el promedio de toda laserie temporal, dada por la ecuación D.3.

mean(X) =1

N

N∑i=1

Xi (D.3)

El desvío estándar indica cuánto tienden los puntos de la serie a distanciarse dela media, y es una magnitud a menudo asociada con la varianza que está dadapor la ecuación D.4.

var(X) = std(X)2 (D.4)

Cuando la varianza es igual a cero, todos los puntos de la serie son iguales a lamedia; mientras que una varianza elevada indica que los puntos están dispersos.

El término cov(X,Y) representa la covarianza entre X e Y, que generaliza el con-cepto de varianza en dos series de tiempo en lugar de una sola.

La covarianza proporciona una medida de cuánto cambian juntas dos series detiempo; es decir, no necesariamente explica cuán similares son, sino cuán similar

Page 64: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

52 Apéndice D. La función de autocorrelación

es su variación en el tiempo. Más detalladamente, la covarianza permite detectarsi ambas series aumentan o disminuyen en el mismo instante.

La covarianza se calcula mediante la ecuación D.5.

cov(X,Y ) =1

N

N∑i=1

[Xi −mean(X)][Yi −mean(Y ) (D.5)

Mirando la definición de la correlación, resulta claro comprender que es una me-dida de cuán similar X e Y se comportan, normalizados por su varianza; es decir,perteneciendo al dominio [-1 a 1].

Cuando ambas series de tiempo tienden a aumentar (o disminuir) con el tiempode manera similar, se dice que se correlacionan positivamente mientras que, porel contrario, si una sube cuando la otra baja, se dice que se correlacionan negati-vamente.

D.2. Función de autocorrelación

La idea detrás del concepto de autocorrelación es calcular el coeficiente de co-rrelación de una serie temporal consigo misma, desplazada en el tiempo; dadoque si los datos tiene una periodicidad, el coeficiente de correlación será mayorcuando esos dos períodos resuenen entre sí.

El primer paso es definir un operador para cambiar una serie de tiempo en eltiempo, causando un retraso de t. Esto se conoce como “operador de retraso”:

lag(Xi, t) = Xi−t (D.6)

La autocorrelación de una serie de tiempo con retardo t se define como:

autocorr(X, t) = corr[X, lag(X, t)] (D.7)

que también se puede expresar como:

autocorr(X, t) =cov[X, lag(X, t)

std[X]std[lag(X, t)]=cov[X, lag(X, t)

var(X)]= (D.8)

∑Ni=1[Xi −mean(X)][Xi−t −mean(X)]∑N

i=1[Xi −mean(X)]2(D.9)

Page 65: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

53

Apéndice E

Manual de usuario

MAESTRÍA EN SISTEMAS EMBEBIDOS

Plataforma abierta para dispositivosvestibles (wearables)

Page 66: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

54 Apéndice E. Manual de usuario

E.1. Introducción

Gracias por adquirir el rastreador de actividad PlatC. El producto le permitirácontabilizar su rutina de ejercicios de abdominales de forma práctica y eficientemediante un smartphone o tablet con tecnología bluetooth LE.

FIGURA E.1: Componentes del sistema rastreador de actividad.

El sistema le permitirá llevar un registro del número de abdominales que reali-za en su rutina diaria de ejercitación, sin necesidad de observar la pantalla desu smartphone, gracias a la funcionalidad de asistente por voz incorporada en laaplicación.

Antes de comenzar a utilizar su nuevo producto lea detenidamente las siguientesinstrucciones de uso.

E.2. Contenido

1 (uno) “módulo sensor” con interfaz bluetooth LE.

1 (uno) cable con conexión micro USB para la carga de la batería.

Aplicación nativa para el sistema operativo Android 8.0 o superior.

E.3. Forma de uso

El “módulo sensor” debe colocarse en la zona del pecho del usuario, como semuestra en la figura E.1. No es necesario respetar una orientación en particular,

Page 67: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

E.4. Conociendo la aplicación 55

dado que la misma es determinada durante el proceso inicial de calibración delsistema.

Además, el “módulo sensor” cuenta con un led RGB, cuyos colores se utilizanpara señalizar diferentes estados del sistema:

Azul: se enciende cuando el enlace bluetooth está establecido. Caso contra-rio, permanece apagado.

Verde: se enciende cuando la batería se está cargando. Caso contrario, per-manece apagado.

Rojo: se enciende cuando el “módulo interfaz de usuario” detecta una repe-tición en la rutina de ejercicios. Caso contrario, permanece apagado.

bluetooth LE no es compatible con todos smartphones. Verifique compatibili-dad antes de adquirir el producto.

E.4. Conociendo la aplicación

La aplicación provista con el producto ofrece una interfaz sencilla, minimalista eintuitiva que le permite calibrar el sistema y visualizar el número de repeticionesde abdominales restantes en su rutina de ejercicios diaria.

Está compuesta por tres pantallas, que son gestionadas mediante una barra lateralque se muestra en la figura E.2.

FIGURA E.2: Menú de selección de pantallas de la aplicación.

Al iniciar la aplicación, si su adaptador bluetooth se encuentra desactivado, se lesolicitará que lo encienda.

Page 68: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

56 Apéndice E. Manual de usuario

FIGURA E.3: Permisos de acceso al adaptador bluetooth.

Luego, se le solicitarán permisos de acceso a su ubicación.

FIGURA E.4: Permisos de acceso a la ubicación.

A continuación, pulse durante al menos 3 (tres) segundos el pulsador presente enel “módulo sensor”, como se indica en la figura E.5 para hacer visible al disposi-tivo.

FIGURA E.5: Habilite la interfaz bluetooth del “módulo sensor”pulsando la tecla indicada con el recuadro rojo.

Al hacerlo, los tres colores del led RGB que equipa al dispositivo comenzarán aparpadear, señalizando que el enlace bluetooth puede ser establecido.

Diríjase a la sección “Fitness” y seleccione “Conectar a PlatC” como se muestraen la figura E.6.

Page 69: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

E.4. Conociendo la aplicación 57

FIGURA E.6: Conexión al “módulo sensor” pulsando el recuadroindicado en rojo.

Una vez que la conexión quede establecida, se indicará en el subtitulo de la sec-ción “Fitness”, como se ve en la figura E.7.

FIGURA E.7: Conexión establecida con el “módulo interfaz deusuario”.

Page 70: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

58 Apéndice E. Manual de usuario

A continuación, diríjase a la pantalla “Ajustes” y configure la cantidad de abdo-minales que quiere realizar, y habilite/deshabilite el asistente por voz o el parlan-te del dispositivo vestible.

La figura E.8 muestra las opciones de configuración mencionadas.

FIGURA E.8: Ajustes del sistema.

Por último, desde la pantalla “Fitness” active el “modo calibración” y realice ab-dominales durante el tiempo indicado (sesenta segundos). Una vez finalizado elproceso, los parámetros del sistema están configurados para que realice de formahabitual todas las rutinas de abdominales deseadas, activando el “modo ejercita-ción”.

La figura E.9 muestra los modos de operación mencionados.

FIGURA E.9: Modos de operación del sistema.

Page 71: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

E.4. Conociendo la aplicación 59

A medida que se ejercita, los valores de aceleración sensados en cada uno delos ejes son graficados por el “módulo interfaz de usuario” y pueden observarsedesde la pantalla “Gráficos”, como se muestra en la figura E.10

FIGURA E.10: Gráficos del sistema.

Page 72: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,
Page 73: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

61

Bibliografía

[1] Dispositivos Wearables. Dispositivos Wearables. Visitado el 2-11-2019. 2014.URL: http://www.dispositivoswearables.net/.

[2] Wikipedia, la enciclopedia libre. Nuremberg eggs. Visitado el 1-11-2019.2015. URL: https://es.qwertyu.wiki/wiki/Nuremberg_eggs.

[3] Computadora corporal.https://es.wikipedia.org/wiki/Computadora_corporal. (Visitado:24-11-2019).

[4] https://nipponargentina.com/historia.htm. (Visitado: 24-11-2019).[5] http://www.audix.cl/2018/04/historia-los-audifonos/. (Visitado:

24-11-2019).[6] Breve historia de los auriculares. https://es.ihodl.com/technologies/2016-

09-18/breve-historia-de-los-auriculares/. (Visitado: 24-11-2019).[7] Nettinita Harris. How does the Nike Plus Work. Visitado el 3-11-2019. 2011.

URL: https://www.livestrong.com/article/533191-how-does-the-nike-plus-work/.

[8] ¿Quienes somos? Visitado el 4-11-2019. URL:https://www.fitbit.com/es/about.

[9] Discover glass enterprise edition. Visitado el 4-11-2019. URL:https://www.google.com/glass/start/.

[10] Narrative Clip. https://en.wikipedia.org/wiki/Narrative_Clip. (Visitado:24-11-2019).

[11] Watch. Series 5. Visitado el 4-11-2019. URL:https://www.apple.com/la/watch/.

[12] Wikipedia, la enciclopedia libre. Activity Tracker. Visitado el 4-11-2019.URL: https://en.wikipedia.org/wiki/Activity_tracker.

[13] http://www.asembli.com/. (Visitado: 24-11-2019).[14] James Hayward. Wearable Technology Forecasts 2019-2029.

https://www.idtechex.com/de/research-report/wearable-technology-forecasts-2019-2029/680. (Visitado: 3-11-2019).

[15] Arduino home. https://www.arduino.cc/. (Visitado: 24-11-2019).[16] Arduino home. https://www.adafruit.com/product/659. (Visitado:

24-11-2019).[17] Adafruit. https://www.adafruit.com/. (Visitado: 24-11-2019).[18] ATmega16UA/ATmega32UA.

http://ww1.microchip.com/downloads/en/devicedoc/atmel-7766-8-bit-avr-atmega16u4-32u4_datasheet.pdf. (Visitado: 24-11-2019).

[19] LilyPad. http://paolaguimerans.com/openeart/?p=536. (Visitado:24-11-2019).

[20] ¿Conocés al INTI? https://www.inti.gob.ar/conoces-al-inti. (Visitado:10-11-2019).

[21] Enye technologies. http://www.enyetech.com/. (Visitado: 10-11-2019).

Page 74: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

62 Bibliografía

[22] Bluetooth Vs. Bluetooth Low Energy: What’s The Difference?https://www.link-labs.com/blog/bluetooth-vs-bluetooth-low-energy.(Visitado: 10-11-2019). 2015.

[23] Spora. https://sporaio.com/. (Visitado: 10-11-2019).[24] Definición de Android. https://definicion.de/android/. (Visitado:

17-11-2019).[25] ¿Qué es RKH? https://www.vortexmakes.com/que-es/. (Visitado:

10-11-2019).[26] About ANSI.

https://www.ansi.org/about_ansi/overview/overview?menuid=1.(Visitado: 10-11-2019).

[27] About IPC. http://www.ipc.org/ContentPage.aspx?pageid=About-IPC.(Visitado: 10-11-2019).

[28] Kritika Mamtani. Wearable Technology Market by Device, by Product type andGeography - Global Opportunity Analysis and Industry Forecast, 2014-2022.https://www.alliedmarketresearch.com/wearable-technology-market.(Visitado: 3-11-2019).

[29] Términos y condiciones.https://developer.android.com/studio/terms?hl=es-419. (Visitado:3-11-2019).

[30] GIT Harware PlatC. https://github.com/INTI-CMNB/PlatC-hardware.(Visitado: 24-11-2019).

[31] GIT Firmware y Software PlatC.https://github.com/INTI-CMNB/PlatC-software. (Visitado: 24-11-2019).

[32] Baterías de Litio...Qué es? https://www.bateriasdelitio.net/?p=6. (Visitado:11-11-2019).

[33] Cortex-M0+. https://developer.arm.com/ip-products/processors/cortex-m/cortex-m0-plus. (Visitado: 11-11-2019).

[34] Qué es un SoC (System on a Chip) y en qué se diferencia de una CPU.https://hardzone.es/2018/03/10/soc-system-on-a-chip/. (Visitado:11-11-2019).

[35] Cortex-M4. https://developer.arm.com/ip-products/processors/cortex-m/cortex-m4. (Visitado: 11-11-2019).

[36] Cómo funciona el Puerto Serie y la UART.https://www.rinconingenieril.es/funciona-puerto-serie-la-uart/.(Visitado: 10-11-2019).

[37] CC2540 and CC2541 Bluetooth low energy Software Developer’s.[38] Fundamentos del Protocolo I2C - Aprende. https://teslabem.com/nivel-

intermedio/fundamentos-del-protocolo-i2c-aprende/. (Visitado:10-11-2019).

[39] Atmel Studio 7.https://www.microchip.com/mplab/avr-support/atmel-studio-7.(Visitado: 10-11-2019).

[40] The Atmel-ICE Debugger.[41] CMSIS.

https://developer.arm.com/tools-and-software/embedded/cmsis.(Visitado: 11-11-2019).

[42] JSON. https://es.wikipedia.org/wiki/JSON. (Visitado: 11-11-2019).[43] https://developer.android.com/studio. (Visitado: 24-11-2019).[44] https://en.wikipedia.org/wiki/Xamarin. (Visitado: 24-11-2019).[45] http://www.mayerpcb.com/. (Visitado: 24-11-2019).

Page 75: Plataforma abierta para dispositivos vestibles (wearables)laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · En la actualidad existen varias plataformas de hardware abierto,

Bibliografía 63

[46] UT58A Manual.https://www.manualslib.com/manual/538636/Uni-T-Ut58a.html.(Visitado: 18-11-2019).

[47] Military Handbook: Reliability Prediction Of Electronic Equipment.