2026-01-22 13:00:58 +03:00
2026-01-22 13:00:58 +03:00
2026-01-22 13:00:58 +03:00
2025-11-30 00:58:24 +03:00
2025-11-30 00:58:24 +03:00
2025-11-30 00:58:24 +03:00
2025-11-30 00:58:24 +03:00
2025-11-30 00:58:24 +03:00
2025-11-30 00:58:24 +03:00
2026-01-22 13:00:58 +03:00
2025-11-30 00:58:24 +03:00

Тренировочное приложение КГЭУ

Android-приложение для проведения и учёта тренировок с использованием тренажёра, подключённого к ESP32.

Описание

Приложение позволяет:

  • Регистрировать участников тренировок
  • Создавать и выбирать сценарии упражнений
  • Проводить тренировки с автоматическим подсчётом подъёмов
  • Отслеживать пульс через Bluetooth-кардиодатчик
  • Просматривать статистику тренировок

Режимы тренировок

Режим на время (TIME_BASED)

  • Задаётся время выполнения упражнения в секундах
  • Приложение считает количество выполненных подъёмов
  • Норматив: минимальное количество подъёмов за заданное время

Режим на количество (COUNT_BASED)

  • Задаётся целевое количество подъёмов
  • Приложение засекает время выполнения
  • Норматив: максимальное время для выполнения заданного количества подъёмов

Технические требования

  • Android 14 (API 34) или выше
  • Bluetooth для подключения кардиодатчика
  • WiFi для подключения к ESP32

Подключение к оборудованию

ESP32

Приложение подключается к ESP32 по TCP/IP. ESP32 должен отправлять JSON-сообщения с положением груза:

{"position": "top"}     // Груз вверху
{"position": "middle"}  // Груз в движении
{"position": "bottom"}  // Груз внизу

Поддерживаемые значения position:

  • top, up — верхнее положение
  • middle, moving, in_motion, motion — груз в движении
  • bottom, down — нижнее положение

Кардиодатчик

Приложение поддерживает Bluetooth-кардиодатчики с протоколом Heart Rate Service (стандартный BLE профиль).

Сборка проекта

Требования

  • Android Studio Ladybug (2024.2) или новее
  • JDK 11
  • Android SDK 36

Шаги сборки

  1. Клонируйте репозиторий:
git clone <url-репозитория>
cd AndroidStudioProjects
  1. Откройте проект в Android Studio:

    • File → Open → выберите папку проекта
  2. Дождитесь синхронизации Gradle (происходит автоматически)

  3. Соберите проект:

    • Build → Make Project (Ctrl+F9)

Установка на телефон

Способ 1: Через Android Studio (рекомендуется для разработки)

  1. Включите на телефоне Режим разработчика:

    • Настройки → О телефоне → 7 раз нажмите на "Номер сборки"
  2. Включите Отладку по USB:

    • Настройки → Для разработчиков → Отладка по USB → Включить
  3. Подключите телефон к компьютеру USB-кабелем

  4. Разрешите отладку на телефоне (появится диалог при первом подключении)

  5. В Android Studio выберите ваше устройство в выпадающем списке устройств (рядом с кнопкой Run)

  6. Нажмите Run (Shift+F10) или зелёную кнопку ▶

Способ 2: Установка APK-файла

  1. Соберите релизный APK:

    • Build → Build Bundle(s) / APK(s) → Build APK(s)
    • APK будет в папке app/build/outputs/apk/debug/
  2. Скопируйте APK на телефон любым способом:

    • Через USB-кабель
    • Через облачное хранилище
    • Через мессенджер
  3. На телефоне разрешите установку из неизвестных источников:

    • Настройки → Безопасность → Неизвестные источники (или аналогичный пункт)
  4. Откройте APK-файл на телефоне и установите

Способ 3: Через ADB (командная строка)

  1. Установите ADB (входит в Android SDK Platform Tools)

  2. Подключите телефон с включённой отладкой по USB

  3. Проверьте подключение:

adb devices
  1. Установите APK:
adb install app/build/outputs/apk/debug/app-debug.apk

Или соберите и установите одной командой:

./gradlew installDebug

Разрешения приложения

При первом запуске приложение запросит разрешения:

  • Bluetooth — для подключения к кардиодатчику
  • Nearby Devices — для сканирования Bluetooth-устройств
  • Internet/Network — для подключения к ESP32

Структура проекта

app/src/main/java/ru/kgeu/training/
├── bluetooth/           # Работа с Bluetooth (кардиодатчик)
├── data/
│   ├── dao/            # Data Access Objects для Room
│   ├── database/       # Конфигурация базы данных
│   ├── model/          # Модели данных (Participant, Scenario, Session)
│   └── repository/     # Репозиторий для работы с данными
├── network/            # TCP-клиент для ESP32
├── ui/
│   ├── navigation/     # Навигация приложения
│   ├── screen/         # Экраны (Compose)
│   ├── theme/          # Тема приложения
│   └── viewmodel/      # ViewModels
├── util/               # Вспомогательные утилиты
├── MainActivity.kt     # Главная Activity
└── TrainingApplication.kt  # Application класс

Настройка подключения к ESP32

IP-адрес и порт ESP32 можно настроить в приложении перед началом тренировки.

По умолчанию:

  • Порт: 8080 (или настраиваемый)
  • Протокол: TCP

Решение проблем

Не подключается к ESP32

  1. Проверьте, что телефон и ESP32 в одной WiFi-сети
  2. Проверьте правильность IP-адреса и порта
  3. Убедитесь, что ESP32 запущен и слушает указанный порт

Не подключается кардиодатчик

  1. Убедитесь, что Bluetooth включён на телефоне
  2. Проверьте, что кардиодатчик активен и не подключён к другому устройству
  3. Перезапустите кардиодатчик

Приложение не устанавливается

  1. Проверьте версию Android (требуется 14+)
  2. Убедитесь, что разрешена установка из неизвестных источников
  3. Удалите предыдущую версию приложения, если она установлена

Лицензия

Разработано для КГЭУ (Казанский государственный энергетический университет).

Description
No description provided
Readme 186 KiB
first release Latest
2026-01-22 13:05:51 +03:00
Languages
Kotlin 100%