Техническое задание: Разработка ПО для квест-комнаты
Существует полностью функционирующая квест-комната. Аппаратная часть (управление светом, электромагнитами, датчиками, звуком) реализована на платформе Arduino и находится в рабочем состоянии.
Основная задача
Требуется разработать, доработать и интегрировать программную часть на стороне компьютера, используя язык Python. Программа будет выступать в роли центрального контроллера, связывающего аппаратную часть (Arduino) с оператором/администратором.
Ключевые требования к ПО
- Связь с Arduino: Обеспечение стабильной двусторонней коммуникации (последовательный порт или иной интерфейс) для отправки команд и чтения состояния датчиков.
- Визуальный интерфейс (GUI): Создание интуитивно понятного графического интерфейса для оператора. Интерфейс должен отображать:
- Статус комнаты и всех активных элементов.
- Логи прохождения квеста.
- Панель ручного управления устройствами (для тестирования и сброса).
- Функция автозапуска: Реализация механизма автоматического запуска всей системы (ПО + связь с Arduino) при включении компьютера, без необходимости ручных действий оператора.
- Логика квеста: Интеграция или доработка скрипта, обрабатывающего последовательность событий (нажатия кнопок, срабатывания датчиков) и управляющего исполнительными устройствами согласно сценарию.
- Надежность: Программа должна устойчиво работать в продолжительном режиме, иметь обработку ошибок связи и возможности аварийной остановки.
Что имеется
- Готовая и рабочая аппаратная часть на Arduino.
- Существующий, вероятно, частичный код или четкое понимание протокола обмена данными с контроллером.
Ожидаемый результат
Готовое кроссплатформенное (или под указанную ОС) приложение на Python с графическим интерфейсом, которое после установки и минимальной настройки позволяет управлять квест-комнатой в автоматическом и ручном режимах, обеспечивая бесперебойный цикл работы.