TECHNICZNE ZADANIE
Projekt: System śledzenia ćwiczeń siłowych
Wersja: MVP 1.0
⸻
1. Cel
Realizacja stabilnej interakcji programowej między:
• Bransoletą sportowca (Wrist Unit)
• Do 10 czujnikami ruchu (Weight Sensors)
• Aplikacją mobilną (iOS / Android)
System powinien:
• Określać aktywny czujnik
• Synchronizować ruch bransoletki i czujnika
• Przesyłać dane do aplikacji
• Obliczać podstawowe metryki ćwiczeń
⸻
2. Architektura systemu
2.1 Komponenty
1️⃣ Wrist Unit (bransoletka)
• IMU (akcelerometr + żyroskop)
• Moduł BLE
• Unikalny ID
• Częstotliwość próbkowania: 50–100 Hz
2️⃣ Weight Sensor (czujnik na hantli/sztandze)
• IMU
• BLE
• Unikalny ID
• Magnesowe lub mechaniczne mocowanie
• Częstotliwość próbkowania: 50–100 Hz
3️⃣ Aplikacja mobilna
• BLE Central
• Przetwarzanie danych
• Wizualizacja
• Logowanie treningu
⸻
3. Protokół interakcji
3.1 Typ komunikacji
Bluetooth Low Energy (BLE 5.0)
3.2 Role
• Bransoletka — Peripheral
• Czujniki — Peripheral
• Smartfon — Central
⸻
4. Logika działania
4.1 Początek treningu
1. Użytkownik otwiera aplikację
2. Aplikacja skanuje dostępne urządzenia BLE
3. Wyświetla listę:
• Wrist Unit (1)
• Weight Sensors (do 10)
4. Użytkownik łączy:
• Swoją bransoletkę
• Wybrane czujniki
⸻
4.2 Określenie aktywnego czujnika
Algorytm:
1. Bransoletka rejestruje ruch ręki
2. Czujnik rejestruje ruch wagi
3. Aplikacja:
• Porównuje timestamp
• Koreluje sygnały IMU
4. Jeśli korelacja > zadanego progu → czujnik aktywny
6.1 MVP-metryki
Programista powinien zrealizować:
• Określenie powtórzeń
• Tempo powtórzenia
• Czas pod obciążeniem (TUT)
• Amplituda ruchu
• Przerwa między seriami
⸻
6.2 Detekcja powtórzenia
Powtórzenie =
1. Ruch w górę (faza pozytywna)
2. Szczyt
3. Ruch w dół (faza negatywna)
4. Osiągnięcie pozycji bazowej
Metoda:
• Analiza szczytów wzdłuż osi głównego ruchu
• Filtracja szumów (filtr dolnoprzepustowy)
• Amplituda progowa
⸻
7. Synchronizacja
Obowiązkowo:
• Wszystkie urządzenia muszą synchronizować czas przez smartfon
• Kompensacja dryfu co 30 sekund
• Maksymalny błąd ≤ 10 ms
⸻
8. Stabilność połączenia
Programista powinien:
• Zrealizować auto-reconnect
• Obsługiwać utratę pakietów
• Logować % utraty pakietów
• Buforowanie na urządzeniu (2–5 sekund)
⸻
9. Kalibracja
Przy pierwszym uruchomieniu:
1. Użytkownik stoi nieruchomo
2. Określana jest oś grawitacyjna
3. Ustalana jest punkt zerowy
⸻
10. Bezpieczeństwo
• Szyfrowanie połączenia BLE
• Autoryzacja przez token sesji
• Przypisanie czujników do konta
⸻
11. Wymagania niefunkcjonalne
• Opóźnienie przesyłu ≤ 100 ms
• Połączenie do 10 czujników jednocześnie
• Praca 90+ min bez przerwy
• Zużycie baterii zoptymalizowane
⸻
12. Co należy zrealizować przez programistę
Firmware:
• Usługa BLE
• Formowanie pakietów
• Timestamp
• Buforowanie
• Wsparcie dla aktualizacji OTA
Mobile:
• Skanowanie BLE
• Zarządzanie urządzeniami
• Synchronizacja strumieni
• Algorytm korelacji
• Detekcja powtórzeń
• Logowanie treningu