ИСАП-сервер
Сервер сбора оценок для системы судейства соревнований по тхэквондо ВТФ (дисциплина пхумсэ).
Содержание
- Обзор системы
- Требования
- Сборка проекта
- Настройка сервера
- Системы проведения соревнований
- Структура проекта
- Использование
Обзор системы
ИСАП-сервер предназначен для автоматизации судейства соревнований по тхэквондо (пхумсэ). Система позволяет:
- Подключать судейские пульты по сети TCP/IP
- Собирать оценки с пультов судей в реальном времени
- Отображать результаты на демонстрационном экране
- Вести протокол соревнований в базе данных
- Поддерживать различные системы проведения соревнований
Поддерживаемые системы судейства
- Cut/Freestyle (Система срезок) — традиционная система с оценками за точность и презентацию
- Олимпийская система — система по одному выступлению (Recognition) или по двум (SBS)
- Система флагов — упрощённая система судейства
Поддерживаемое количество судей
- 1 судья (для тестирования)
- 3 судьи
- 5 судей
- 7 судей
Требования
Программные требования
- Qt 5.15 или выше (модули: core, gui, sql, network, qml, svg, xml, widgets)
- C++17 компилятор
- MySQL или MariaDB (опционально, для удалённой базы данных)
- SQLite (встроенная поддержка)
Аппаратные требования
- Компьютер с сетевой картой (Ethernet/Wi-Fi)
- Судейские пульты (клиенты ИСАП)
- Демонстрационный экран (опционально)
Сборка проекта
Linux (ROSA, Ubuntu, etc.)
# Установка зависимостей (для ROSA)
sudo dnf install qt5-devel qt5-base-devel qt5-tools-devel
# Для Ubuntu/Debian
sudo apt-get install qt5-default qtbase5-dev qttools5-dev-tools
# Клонирование репозитория
git clone <repository-url>
cd isap-server
# Сборка
qmake ISAP-server.pro
make
# Запуск
./isap-server
Настройка сервера
Первоначальная настройка
При первом запуске сервер открывается на вкладке «Настройка сервера». Необходимо выбрать:
- Вид спорта — Пхумсэ (в разработке: Хапкидо, Кёруги)
- Корт — номер корта (1-7) для идентификации сервера
- Система — система проведения соревнований
- Количество судей — число судей на корте
После выбора всех параметров нажмите кнопку «Отправить» для сохранения настроек и запуска TCP-сервера.
IP-адрес сервера
IP-адрес сервера отображается в заголовке главного окна в формате:
ИСАП-сервер Eth: 192.168.1.100, WiFi: 192.168.1.101 / ver. 1.7.0
Этот адрес необходимо использовать при подключении судейских пультов.
Быстрый доступ к настройкам
Нажмите Ctrl+S в любой момент для возврата к настройкам сервера. При этом:
- TCP-сервер останавливается
- Все подключённые пульты отключаются
- Экран закрывается
Системы проведения соревнований
1. Система Cut/Freestyle (Система срезок)
Файл: system/cut-of/cutofwindow.cpp
Применение: традиционные соревнования с двумя выступлениями.
Особенности:
- Два выступления: первое и второе пхумсэ
- Оценки по двум критериям: Точность (Accuracy) и Презентация (Presentation)
- Шкала оценок: 0.0 — 10.0 с шагом 0.1
- Поддержка 3, 5 или 7 судей
- Итоговый расчёт с отбрасыванием максимальной и минимальной оценок
Настройка для Cut/Freestyle:
Вид спорта: Пхумсэ
Система: Cut/Freestyle
Количество судей: 3, 5 или 7
Алгоритм подсчёта оценок:
- При 3 судьях: все оценки учитываются
- При 5 судьях: отбрасываются 1 макс. и 1 мин.
- При 7 судьях: отбрасываются 2 макс. и 2 мин.
- Итоговая оценка = (Точность + Презентация) / 2
Загрузка участников:
- Формат CSV:
Номер;ФИО;Категория;Пхумсэ1;Пхумсэ2;Номер круга - Пример:
1;Иванов Иван;Мужчины до 30 лет;1;2;1
2. Олимпийская система
Файл: system/sbs-olimpic/sbsolimpicwindow.cpp
Применение: соревнования по олимпийской системе (Recognition или SBS).
Режимы работы:
Recognition (по одному выступлению)
- Одно выступление на спортсмена
- Оценки Accuracy и Presentation отдельно
- Возможны возрастные группы (14, 17, 18+ лет)
SBS (Set By Step) — по двум выступлениям
- Два выступления: первое и второе
- Суммарный подсчёт оценок
- Поддержка парных выступлений
Настройка для Олимпийской системы:
Вид спорта: Пхумсэ
Система: Олимпийская
Количество судей: 3, 5 или 7
Отличия от Cut/Freestyle:
- Возможность рандомизации пхумсэ
- Сохранение результатов в CSV файл
- Формирование итогового протокола автоматически
3. Система флагов
Файл: system/flags/flagswindow.cpp
Применение: упрощённое судейство без числовых оценок.
Особенности:
- Каждое выступление оценивается флагами (синий/красный)
- Быстрое определение победителя
- Минимальное количество судей (обычно 3)
Настройка:
Вид спорта: Пхумсэ
Система: Флаги
Количество судей: 3 (рекомендуется)
Таблица соответствия систем
| Система | Критерии оценки | Выступления | Возрастные группы | Отбрасывание оценок |
|---|---|---|---|---|
| Cut/Freestyle | Accuracy + Presentation | 2 | Нет | Да (3+, 5+, 7+) |
| Олимпийская | Accuracy + Presentation | 1-2 | Да (14/17/18+) | Да (3+, 5+, 7+) |
| SBS | Accuracy + Presentation | 2 | Да | Да (3+, 5+, 7+) |
| Флаги | Синий/Красный | 1 | Нет | Нет |
Структура проекта
isap-server/
├── base/ # Работа с базой данных
├── comboBoxModel/ # Модели для выпадающих списков
├── config/ # Конфигурационные файлы
├── ekran/ # Окна демонстрационного экрана
│ ├── ekran_ocen.* # Экран оценок (Cut/Freestyle)
│ ├── ekran_olimpic.* # Экран (Олимпийская)
│ └── ekran_flag.* # Экран (Флаги)
├── img/ # Изображения и логотипы
├── ServerTCP/ # TCP-сервер для подключения пультов
├── sql/ # SQL-запросы к базе данных
├── system/ # Реализации систем судейства
│ ├── cut-of/ # Система Cut/Freestyle
│ ├── sbs-olimpic/ # Олимпийская система
│ └── flags/ # Система флагов
├── dialog.* # Диалоговые окна
├── ipmonitor.* # Мониторинг IP-адресов
├── main.cpp # Точка входа
├── mainwindow.* # Главное окно
├── settingshelper.* # Helper для настроек
└── ISAP-server.pro # Файл проекта Qt
Использование
Подключение судейских пультов
- Запустите ИСАП-сервер и выполните первоначальную настройку
- На каждом судейском пульте запустите клиентское приложение
- Введите IP-адрес сервера (отображается в заголовке окна)
- Судьи автоматически подключатся к серверу
Проведение соревнования
- Выбор категории — выберите категорию из списка
- Загрузка участников — загрузите из CSV файла или добавьте вручную
- Запуск выступления — нажмите «Старт» для начала приёма оценок
- Приём оценок — судьи отправляют оценки с пультов
- Принятие оценок — нажмите «Принято» для фиксации результатов
- Следующий участник — переход к следующему спортсмену
Горячие клавиши
-
Ctrl+S— возврат к настройкам сервера -
Ctrl+J— вызов диалога управления оценками
Демонстрационный экран
Открывается автоматически при старте первого выступления. Отображает:
- ФИО спортсмена
- Категорию и пхумсэ
- Оценки судей в реальном времени
- Итоговую оценку
Лицензия
GPL
Контакты
- Сайт: https://isap-c.ru