ТЕХНІЧНЕ ЗАВДАННЯ Проєкт: Система трекінгу силових вправ Версія: 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 • Синхронізація потоків • Алгоритм кореляції • Детекція повторів • Логування тренування