Marco Haslinger
ESP32 Programmierung, Beschleunigungssensor, NFC-Tag, Bluetooth Verbindung, React Native
"Sample"
Deutsch: Die Diplomarbeit Move Metrics beschäftigt sich mit der Entwicklung eines Systems zur Erfassung und Analyse von Bewegungsdaten während sportlicher Aktivitäten. Da es vor allem im Fitnessbereich immer wichtiger wird, Trainingsfortschritte zu messen und zu optimieren und dies viel Zeit in Anspruch nimmt, soll mit diesem Projekt eine Lösung geschaffen werden, die es ermöglicht, Bewegungsdaten automatisch zu erfassen und auszuwerten. Dafür wird ein tragbares Gerät mit Sensoren und Gehäuse entwickelt, das während des Trainings verwendet wird und die Wiederholungen, Geschwindigkeiten und Sätze des Nutzers aufzuzeichnen. Die erfassten Daten werden zur Prüfung auf einem kleinen OLED-Display angezeigt und über eine mobile App verarbeitet. Zusätzlich werden die Daten in einer Datenbank gespeichert, um sie später analysieren und vergleichen zu können, sowie langfristig aufrufbar zu machen. Das Ziel dieses Projekts ist es, eine benutzerfreundliche und effiziente Lösung zur Bewegungserfassung und -analyse zu schaffen, die es den Nutzern ermöglicht, ihre Trainingsfortschritte zu verfolgen und zu optimieren.
English: The Move Metrics diploma thesis focuses on developing a system for capturing and analyzing motion data during athletic activities. Since it is becoming increasingly important — especially in the fitness sector — to measure and optimize training progress, and because manual tracking is time-consuming, this project aims to create a solution that enables automatic recording and evaluation of movement data. For this purpose, a device equipped with sensors and a protective casing is being developed. It is used during training to detect repetitions, movement speeds, and sets performed by the user. The collected data is displayed on a small OLED screen for immediate feedback and processed by a mobile application. Additionally, all data is stored in a database, allowing it to be analyzed, compared, and retrieved over the long term. The goal of this project is to create a user-friendly and efficient system for motion tracking and analysis, enabling users to monitor and optimize their training progress.
Unser Logo:
Unser Logo:
Blockschaltbild
Blockschaltbild
Im Folgenden sind alle im Projekt verwendeten Technologien beschrieben – inklusive kurzer Erklärungen und Logos.
Docker wird verwendet, um die verschiedenen Komponenten des Projekts – etwa Backend, Datenbank und Frontend – in isolierten Containern bereitzustellen. So kann das gesamte System leicht gestartet, skaliert und auf unterschiedlichen Systemen identisch betrieben werden.
MySQL speichert Projektdaten wie Benutzer, Workouts, Statistiken oder auch die ESP32 Sensordaten. Angesteuert via JPA/Hibernate aus Spring Boot können Daten gespeichert und ausgelesen werden.
REST-APIs, Authentifizierung und Datenoperationen über MySQL – Spring Boot bietet vorallem eine sehr sichere Authentifizierung mit Rollenmanagement (User/Admin) und schützt sensible Endpunkte.
React treibt das Web-Frontend: modulare Komponenten, dynamische Datenbindung, Animationen und hohe Performance für eine moderne UI sowohl auf PC als auch Mobile.
Das OLED-Display zeigt dem Benutzer Echtzeitinformationen an – etwa Wiederholungen, Sätze oder die ausgewählte Übung. Dank der I2C-Anschlüsse, kann der ESP32 die Daten schnell und effizient übertragen und den selben Datenbus wie der NFC-Tag verwenden.
Mit React Native entsteht die Mobile-App auf Basis der React-Komponenten. Eine Codebasis für Android und iOS – ideal für Echtzeit-Sensorwerte und Projektdaten.
Der ESP32 dient als zentrales IoT-Modul, das Sensordaten erfasst, über Bluetooth kommuniziert und Steuersignale an die Plattform übermittelt. Dank seiner Vielseitigkeit, Größe und Leistungsfähigkeit ist er ideal für Anwendungen im Projekt.
Entwicklung, Build und Flash der ESP32-Firmware in VS Code. Effizient, reproduzierbar und CI-freundlich.
Der MPU6050 kombiniert ein 3-Achsen-Gyroskop mit einem 3-Achsen-Beschleunigungssensor. Er misst Neigung, Beschleunigung und Drehbewegungen – etwa zur Erkennung von Wiederholungen oder Geschwindigkeit. Über I²C werden die Daten in Echtzeit an den ESP32 übertragen.
Das PN532-Modul ermöglicht kontaktlose Kommunikation über NFC. Es wird genutzt, um kurze Distanzen sicher zu überbrücken – etwa für Benutzeridentifikation oder zum Definieren der Übung. Der Datentransfer erfolgt via I²C.