Uso de dispositivos GPS e IMU para analizar la performance de deportistas de alto rendimiento
Material type:
Tesina (Licenciatura en Sistemas) - Universidad Nacional de La Plata. Facultad de Informática, 2020.
1. Objetivos -- 1.1. Motivación -- 1.2. Objetivos generales -- 1.3. Objetivos específicos -- 2. Introducción -- 2.1. Internet de las cosas -- 2.1.1. Aplicaciones -- 2.1.1.1. Aplicaciones de consumo -- 2.1.1.2. Aplicaciones comerciales -- 2.1.1.3. Aplicaciones industriales -- 2.1.1.4. Aplicaciones de infraestructura -- 2.1.1.5. Aplicaciones militares -- 2.1.1.6. Aplicaciones en el deporte -- 2.1.2. Tendencias y características -- 2.1.3. Arquitectura -- 2.1.3.1. Tecnología distribuida -- 2.1.3.2. Arquitectura escalable -- 2.1.4. Eficiencia energética -- 2.1.5. Complejidad -- 2.1.6. Seguridad -- 3. Tecnologías analizadas 24 -- 3.1. Conceptos esenciales de Electrónica -- 3.1.1. Placa de Desarrollo -- 3.1.2. Microcontrolador -- 3.1.3. Pinouts -- 3.1.4. Serial Port y Baud Rate -- 3.1.5. Protocolos de Comunicación en Serie -- 3.1.5.1. USB (Universal Serial Bus) -- 3.1.5.2. UART (Universal Asynchronous Receiver and Trans mitter) -- 3.1.5.3. I2C (Inter-Integrated Circuit) -- 3.1.5.4. SPI (Serial Peripheral Interface) -- 3.2. Hardware: sensores y componentes -- 3.2.1. Filtros de Señales -- 3.2.2. GPS -- 3.2.2.1. Satnav Regionales -- 3.2.2.2. Trilateración -- 3.2.2.3. Detectando la ubicación -- 3.2.2.4. NMEA, el protocolo de comunicación -- 3.2.3. Acelerómetro -- 3.2.3.1. Aceleración Lineal -- 3.2.4. Giroscopio -- 3.2.4.1. Funcionamiento de un giroscopio MEMS -- 3.2.5. Magnetómetro -- 3.2.6. Hardware y Definición de los Módulos -- 3.2.6.1. Ublox-NEO-M8N -- 3.2.6.2. MPU9250 -- 3.2.6.3. Adafruit Feather HUZZAH ESP8266 -- 3.2.6.4. Raspberry Pi -- 3.3. Protocolo de Comunicación MQTT -- 3.3.1. Introducción -- 3.3.2. Publish/Subscribe -- 3.3.3. Topics/Subscriptions -- 3.3.4. Quality of Services -- 3.3.5. Clean session / Durable connections -- 3.3.6. Wills -- 3.3.7. Security -- 3.3.8. MQTT-SN -- 3.4. Software analizado -- 3.4.1. Arduino IDE -- 3.4.1.1. Introducción -- 3.4.1.2. Formato básico del código Arduino -- 3.4.2. Time Series Database (TSDB) -- 3.4.2.1. InfluxDB -- 3.4.3. Grafana -- 3.4.3.1. Introducción -- 3.4.3.2. Panels -- 3.4.3.3. Dashboards -- 3.4.3.4. Data Sources -- 3.4.3.5. Logs -- 3.4.4. Lenguajes utilizados -- 3.4.4.1. Python -- 3.4.4.2. C++ -- 4. Propuesta del Prototipo y aporte de la tesina -- 5. Desarrollo del Prototipo -- 5.1. Conexión del Hardware -- 5.2. Introducción a las librerías y pruebas de Conexión -- 5.2.1. Adafruit y GPS uBlox NeoM8 -- 5.2.2. Adafruit y MPU9250 -- 5.2.3. Conexión WiFi del Adafruit y PC -- 5.3. Integrando las tres conexiones -- 5.4. Broker MQTT -- 5.4.1. Conectando con el broker -- 5.4.2. Enviando los datos al broker -- 5.5. Calculando la Aceleración y la Velocidad -- 5.5.1. La problemática de los datos en crudo -- 5.5.2. Filtro de Madgwick y cuaterniones -- 5.5.3. Obteniendo Aceleración -- 5.5.4. Verificación de movimiento -- 5.5.5. Reducción de ruido mecánico por software -- 5.5.6. Integrando la aceleración para obtener el resultado final -- 5.5.7. Arreglo en reconexión y problema de datos basura -- 5.5.8. Obteniendo la distancia recorrida -- 6. Pruebas del prototipo y comparativas -- 6.1. Recibiendo y Procesando la data -- 6.1.1. Mosquitto broker MQTT -- 6.1.2. Leyendo y procesando los datos del broker -- 6.1.3. Información persistida en InfluxDB -- 6.1.4. Obteniendo y visualizando las métricas con Grafana -- 6.1.5. Raspberry Pi 4 como nodo middleware de almacenamiento y procesamiento -- 6.1.6. Comparativa con dispositivo profesional PlayerTek -- 6.1.6.1. Pricing -- 7. Conclusiones y líneas de trabajo futuro -- 7.1. Conclusiones -- 7.2. Trabajos futuros