C 20 по 22 марта команда РТК в составе Адамовича Константина, Королевского Артема и Новоселова Артема, приняла участие во всероссийском межвузовском хакатоне HACKUNIVERSITY 2020.
Команда выбрала кейс «BigData и Индустрия 4.0.» от международной компании «BIOCAD». BIOCAD – международная инновационная биотехнологическая компания, объединяющая научно-исследовательский центр мирового уровня, современное фармацевтическое производство, доклинические и клинические исследования. В рамках кейса решалась задача по «Контролю и мониторингу сложных технологических процессов». Всего в хакатоне приняло участие 93 команды по всей России.
По результатам оценки экспертов, команда вошла в пятерку лидеров среди команд-участников по решению кейса от ВУЗов России:
- первое место – команда «ProgHub» (Санкт-Петербург, ВКА имени А.Ф.Можайского);
- второе место – команда «Time Walkers» (Санкт-Петербург. СПбГУТ им. Бонч-Бруевича);
- третье место – команда «inview» (Санкт-Петербург, ИТМО);
- четвертое место – команда Радиотехнического колледжа;
- пятое место – команда «Shava».
Основные технические задачи, решение которых было высоко оценено экспертами:
1. При помощи бесплатного симулятора OPC UA сервера (симулятор по заранее заданным настройкам будет генерировать данные, как будто бы из технологического процесса) генерировать до 100 параметров типа float раз в секунду.
2. Разработан OPC UA клиент для онлайн сбора сгенерированных данных на сервере на базе микросервисной архитектуры (это условие касается всех модулей). Язык реализации любой, но предпочтительнее на языке Go.
3. Разработать модуль архивирования сгенерированных данных используя БД временных рядов (Time-series databases) — предпочтительно Clickhouse.
4. Делать проверку пересечения аварийных предельных уставок (значений) для каждого параметра и фиксировать факт каждого пересечения (превышения заданных предельных значений) в БД.
5. Разработать веб-клиент для отображения онлайн параметров в виде значений с автоматическим обновлением, и графиков из БД за любой выбранный период. Возможность ввода аварийных установок (задания предельных значений). Просмотр аварийных событий и фактов изменения установок (предельных значений).
Так же команда реализовала дополнительное задание – оповещение пользователей о фактах пересечения аварийных установок в мессенджер через бот на любой из общепринятых платформ.
Результат визуализации данных можно посмотреть на ролике:
При решении кейса: использовались самые передовые технологии разработки – языки программирования GO, Python, PHP (Yii2) для серверной части, JS, и библиотека chart.js для клиентской части и база данных ClickHouse компании Яндекс.