ТЕХНІЧНЕ ЗАВДАННЯ
Проєкт: Система трекінгу силових вправ
Версія: MVP 1.0
⸻
1. Мета
Реалізувати стабільну програмну взаємодію між:
• Браслетом спортсмена (Wrist Unit)
• До 10 датчиками руху (Weight Sensors)
• Мобільним застосунком (iOS / Android)
Система повинна:
• Визначати активний датчик
• Синхронізувати рух браслета і датчика
• Передавати дані в застосунок
• Розраховувати базові метрики вправ
⸻
2. Архітектура системи
2.1 Компоненти
1️⃣ Wrist Unit (браслет)
• IMU (акселерометр + гіроскоп)
• BLE модуль
• Унікальний ID
• Частота семплування: 50–100 Hz
2️⃣ Weight Sensor (датчик на гантелі/штанзі)
• IMU
• BLE
• Унікальний ID
• Магнітне або механічне кріплення
• Частота семплування: 50–100 Hz
3️⃣ Мобільний застосунок
• BLE Central
• Обробка даних
• Візуалізація
• Логування тренування
⸻
3. Протокол взаємодії
3.1 Тип зв’язку
Bluetooth Low Energy (BLE 5.0)
3.2 Ролі
• Браслет — Peripheral
• Датчики — Peripheral
• Смартфон — Central
⸻
4. Логіка роботи
4.1 Початок тренування
1. Користувач відкриває застосунок
2. Застосунок сканує доступні BLE пристрої
3. Відображає список:
• Wrist Unit (1)
• Weight Sensors (до 10)
4. Користувач підключає:
• Свій браслет
• Обрані датчики
⸻
4.2 Визначення активного датчика
Алгоритм:
1. Браслет реєструє рух руки
2. Датчик реєструє рух ваги
3. Застосунок:
• Порівнює timestamp
• Корелює сигнали IMU
4. Якщо кореляція > заданого порогу → датчик активний
6.1 MVP-метрики
Програміст повинен реалізувати:
• Визначення повторень
• Темп повторення
• Час під навантаженням (TUT)
• Амплітуда руху
• Пауза між підходами
⸻
6.2 Детекція повторення
Повторення =
1. Рух вверх (позитивна фаза)
2. Пік
3. Рух вниз (негативна фаза)
4. Досягнення базового положення
Метод:
• Аналіз піків по осі основного руху
• Фільтрація шуму (low-pass filter)
• Порогова амплітуда
⸻
7. Синхронізація
Обов’язково:
• Усі пристрої повинні синхронізувати час через смартфон
• Drift компенсація кожні 30 секунд
• Максимальна похибка ≤ 10 мс
⸻
8. Стабільність з’єднання
Програміст повинен:
• Реалізувати авто-reconnect
• Обробляти втрату пакетів
• Логувати % packet loss
• Буферизацію на пристрої (2–5 секунд)
⸻
9. Калібрування
При першому запуску:
1. Користувач стоїть нерухомо
2. Визначається гравітаційна вісь
3. Встановлюється нульова точка
⸻
10. Безпека
• Шифрування BLE-з’єднання
• Авторизація через токен сесії
• Прив’язка датчиків до акаунта
⸻
11. Нефункціональні вимоги
• Затримка передачі ≤ 100 мс
• Підключення до 10 датчиків одночасно
• Робота 90+ хв без розриву
• Споживання батареї оптимізоване
⸻
12. Що потрібно реалізувати програмісту
Firmware:
• BLE сервіс
• Формування пакетів
• Timestamp
• Буферизація
• OTA update support
Mobile:
• BLE scanning
• Device management
• Синхронізація потоків
• Алгоритм кореляції
• Детекція повторів
• Логування тренування