Дата внедрения: 2026
Дата занесения: 06.07.2026
Отрасль: Производство
Решение: Разработка ПО




Узкоспециализированным оборудованием сложно управлять, особенно если каждое устройство одновременно следит за большим количеством параметров. В таком случае ручная настройка и выгрузка данных занимает много времени и требует особых навыков.

На помощь может прийти приложение, которое будет обрабатывать данные, выдавать их в готовом виде и позволит настраивать параметры из любой точки. В кейсе рассказываем, как ПО для удаленного управления оборудованием для плавательных бассейнов упростило взаимодействие с устройствами и позволило повысить лояльность покупателей.

Клиент

Компания-заказчик специализируется на разработке и производстве автоматики для плавательных бассейнов. Выпускает системы управления аттракционами, системы контроля уровня воды, микропроцессорные блоки для регуляции фильтрации и нагрева.

Весь цикл производства проходит внутри компании: проектирование, изготовление, тестирование, хранение на складе. Процессы организованы таким образом, чтобы обеспечить полную технологическую независимость и поддерживать уровень локализации производства около 85 %.

Ситуация до начала проекта

Компания во всем стремится к автоматизации: и в производстве, и в управлении своим оборудованием. На определенном этапе развития бизнеса потребовалась разработка программного обеспечения (ПО), с помощью которого покупатели смогут управлять параметрами своих устройств из браузера или с телефона. Заявку на такой проект заказчик разместил на тендерной площадке.

У нашей команды большой опыт создания ПО, взаимодействующего с оборудованием различных видов. В том числе мы разработали программу, которая отслеживает показатели с вентиляционного оборудования и позволяет изменять настройки, что во многом пересекается с запросом клиента.

Во время видеоконференции заказчику понравилось наше видение, наш подход к решению задач такого профиля и наше портфолио. Поэтому представители компании приняли решение реализовывать свой проект с нами.

Цель и задачи

Цель проекта – разработка комплексного программного обеспечения для удаленного управления автоматикой плавательных бассейнов.

Задачи:

1

Анализ требований и согласование технического решения, включающие изучение линейки оборудования заказчика и выбор технологического стека.

2

Разработка интуитивно понятного интерфейса для двух версий программного обеспечения, реализация всех необходимых разделов.

3

Настройка прав доступа для 6 ролей, распределение зон ответственности в соответствии с техническим заданием, согласованным с заказчиком.

4

Разработка механизма двустороннего взаимодействия с устройствами: прием сигналов от оборудования, их обработка на стороне сервера, принятие решений и отправка соответствующих команд обратно.

5

Обеспечение безопасности данных за счет шифрования конфиденциальной информации на уровне базы данных и ограничения доступа владельца ПО.

6

Создание системы оповещения владельцев оборудования при возникновении сбоев в системе с возможностью отправлять пуш-уведомления и письма на почту.

Реализация

При выборе языка программирования для будущего ПО, клиент остановился на PHP. Для написания кода на необходимом языке нами был выбран фреймворк Yii2, поскольку его характеристики полностью соответствуют требованиям, которые заказчик предъявлял к системе.

Принцип работы ПО

Продукт реализован в формате веб-сайта и мобильного приложения. В них мы настроили обмен данными со всеми типами устройств, представленных в линейке компании-заказчика – порядка 20 единиц. Любое новое устройство компании, которое продадут, будет синхронизировано с ПО, и им можно будет управлять из интерфейса программы.

При покупке девайса заказчик получает MAC-адрес – уникальный идентификационный номер устройства – и пароль для входа. Сайт для управления оборудованием доступен всем, но зарегистрироваться в системе можно только с этими уникальными данными. Далее пользователь может создать в программе все свои бассейны и подключить к ним необходимое оборудование с помощью их MAC-адресов.

Оборудование передает данные в среднем каждые 2-3 секунды. Всего каждый девайс посылает на сервер порядка 200-300 параметров, которые обрабатываются системой и отображаются в интерфейсе. Поставщик – наш клиент – заложил верхние и нижние границы параметров для температуры, количества минералов и других веществ в воде, концентрацию которых отслеживают и регулируют устройства. Заказчики оборудования в свою очередь самостоятельно указывают уставочное значение, к которому оборудование будет приводить показатели конкретно в их бассейне.

Распределение ролей в системе

В системе определены 6 видов ролей. Две из них относятся к нашему заказчику и его сотрудникам. Им доступен общий список всех пользователей и общее количество подключенных устройств. Остальные роли получают покупатели устройств. Роли различаются в соответствии с правами доступа.

По одному MAC-адресу могут зарегистрироваться до 5 сотрудников покупателя. Чтобы подключить больше людей к одному устройству необходимо заполнить форму в интерфейсе приложения, ввести личные и контактные данные нового пользователя, задать пароль. Далее вход в систему будет осуществляться с установленными логином и паролем.

Обеспечение безопасности данных

В системе настроено шифрование всех MAC-адресов и паролей на уровне базы. Данные недоступны ни владельцам сайта, ни разработчикам. Это обеспечивает дополнительную безопасность на случай, если база данных попадет в открытый доступ из-за действий злоумышленников.

Кроме того, настройки оборудования доступны только непосредственно владельцу бассейна, к которому оно подключено. Администратор со стороны нашего заказчика не видит показатели систем покупателей и не может изменять параметры. Благодаря этому, если хакеры получат доступ к аккаунту администратора, будет невозможно нарушить работоспособность систем в бассейнах, к которым подключено оборудование.

Сбор статистики по устройствам

В веб-версии мы разработали систему статистики для вывода усредненных и накопительных данных по добавленным устройствам. Показатели можно выгрузить из системы в формате Excel или PDF. Такого функционала нет в мобильном приложении – это основное отличие двух этих версий ПО.

Есть три уровня детализации статистики: за день с шагом в минуту, за месяц с шагом в час,
за год с шагом в день.

При перезагрузке оборудования устройство иногда передает в приложение нулевые показатели вместо реальных данных. Мы настроили систему таким образом, чтобы показатели при получении нуля не менялись до прихода верных цифр.

Уведомления об ошибках

Оборудование отправляет данные в ПО в шестнадцатеричном виде. Система преобразовывает этот сигнал, чтобы он правильно обрабатывался в программе. При определенной последовательности символов ПО понимает, что произошел сбой и пользователи получат сообщение об этом в виде пуш-уведомления и письма на почту. Есть два вида сбоев:

1

Если произошло отклонение в нормах по одному из параметров, система охарактеризует это как уведомление.

2

Если нарушение касается технической части оборудования: нет соединения с краном или произошел перелив, система обозначит это как аварию.

Для каждого вида сбоя есть свой раздел, обозначенный цветной иконкой: авария – красная,
уведомление – желтая.

Для каждого вида сбоя есть свой раздел. Сбои не означают, что оборудование больше неработоспособно. Они лишь сигнализируют, что что-то в системе пошло не так и пользователям нужно обратить на это внимание и устранить неисправность.

Результат

За 9 месяцев мы разработали программное обеспечение и далее приступили к доработкам по пожеланиям заказчика. За это время заказчик получил:

возможность отслеживать количество проданного оборудования и обслуживаемых бассейнов в интерфейсе разработанного программного обеспечения;

рост лояльности покупателей за счет внедрения удобной платформы для управления приобретаемым оборудованием;

снижение потребности в консультации покупателей по настройке оборудования благодаря интуитивно понятному интерфейсу приложения;

гарантию безопасности пользователей за счет шифрования конфиденциальной информации на уровне базы данных;

сокращение рисков поломки устройств, поскольку все неисправности отображаются в системе и могут быть исправлены до перехода в критическое состояние.

Изначально ПО разрабатывалось на русском языке. В рамках доработки приложение локализовано на английский язык для всех пользователей и на арабский для посетителей из стран, не входящих в СНГ. Местоположение пользователя определяется по IP.

Объем базы данных стремительно растет: ежедневно добавляется более 3 млн записей. Чтобы сохранить высокую производительность, мы применили комбинированный подход: часть расчетов производится на уровне базы данных, а часть – на уровне сервера приложений. Дополнительно мы настроили автоматическое сжатие и очистку в базе данных.

На момент публикации кейса программное обеспечение полностью функционирует. Мы продолжаем сотрудничество с клиентом, развиваем платформу и добавляем в базу новое оборудование, которое запускается в продажу.