Разработчик серверного приложения IEC 60870-5-104

Что за роль

Нужно разработать компактный сервер IEC 60870-5-104 для приёма измерений от полевых устройств и записи каждого значения в MySQL. Приложение должно обрабатывать подключения нескольких устройств одновременно, сохранять источник и номер точки IEC 104 и работать без потери данных. Интерфейсы, панели мониторинга и системы оповещений не входят в объём задачи.

Что предстоит делать

  • Реализовать сервер, который принимает клиентские подключения и обрабатывает входящий поток измерений IEC 104.
  • Записывать каждое принятое значение в MySQL 8.0 с именем устройства-источника и номером точки IEC 104.
  • Обеспечить обработку одновременных соединений от нескольких полевых устройств без блокировок и потери данных.
  • Подготовить SQL-скрипт для создания необходимых таблиц и индексов.
  • Добавить запуск приложения при старте системы через systemd-службу или эквивалентный скрипт.
  • Описать сборку, параметры конфигурации и проверку работы с тестовым IEC 104-клиентом в README.
  • Провести проверку длительной работы и перезапуска после перезагрузки хоста, устранив утечки памяти и пропуски пакетов.

Что потребуется

  • Опыт программирования и интеграции с MySQL, включая проектирование хранения данных.
  • Навыки работы с Linux и Ubuntu; целевая среда — Ubuntu 22.04 без графического интерфейса.
  • Понимание системной архитектуры и администрирования баз данных.
  • Знакомство с Python или Node.js; язык реализации можно выбрать самостоятельно.
  • Умение использовать проверенные библиотеки для IEC 60870-5-104, например lib60870-C/C++, j60870 или Node IEC 104.

Что важно знать

Результат работы — готовое к запуску приложение с исходным кодом и комментариями, конфигурацией запуска, SQL-скриптом и инструкцией по сборке и тестированию. Критерии приёмки включают корректное сохранение каждого тестового измерения, устойчивость в течение 24-часового теста и автоматический запуск с возобновлением записи после перезагрузки.

Оценка вакансии
6.5 / 10
Задача и критерии приёмки описаны предметно: указаны протокол, целевая среда, схема идентификации измерений и требования к длительной работе. Не указаны формат занятости, сроки, опыт кандидата и сведения о заказчике.
Опубликовано:

Будьте в курсе новых вакансий

Подпишитесь на наш Telegram-канал

TalentMove стал Жабкой

Встречайте
TalentMove 2.0

Удобнее искать. Проще выбирать.

Открыть Жабку