Ingigo Cloud — кейс InstaDev

Промышленная автоматизация давно ушла из серверной в поле: операторам и инженерам нужно видеть состояние оборудования не только с рабочего места в диспетчерской, но и на выезде, в цеху, на удалённой площадке. Классические SCADA-системы к этому не приспособлены — они привязаны к стационарным АРМ, а критичные события (перегрев, авария, выход параметра за уставку) часто узнаются с задержкой.

Промышленность · iOS (Swift), Android (Kotlin), REST API, SignalR, push-уведомления

4
рейтинг
SCADA-мнемосхемы, алармы, IoT/M2M, роли и права доступа
функции
Хочу похожий проект

Задача

Задача для проекта Ingigo Cloud стояла в этой плоскости: дать доступ к промышленным данным SCADA/IoT/M2M с телефона, с корректным отображением мнемосхем, мгновенными алармами и разграничением доступа — чтобы оператор, инженер и руководитель видели ровно то, что положено их роли, и могли реагировать на инцидент за минуты, а не за смену.

Что сделали

Мы сделали нативные мобильные приложения под обе платформы: iOS на Swift и Android на Kotlin. Для промышленного мониторинга нативная разработка оправдана — плотные экраны с мнемосхемами, диаграммами и списками алармов должны отрисовываться быстро и без лагов, а фоновая работа с уведомлениями быть предсказуемой на каждой ОС.

Обмен данными построен на двух каналах. REST API отвечает за запросы состояния, справочники, конфигурацию и авторизацию — то, что запрашивается по требованию. Поток реального времени (изменения показателей, срабатывание алармов) идёт через SignalR: сервер сам проталкивает обновления на устройство, поэтому оператор видит изменение параметра или аварию сразу, без ручного обновления экрана. Поверх этого работают push-уведомления — критичные события доходят до пользователя, даже когда приложение свёрнуто.

Ключевые функции собраны вокруг реальных сценариев эксплуатации: SCADA-мнемосхемы для наглядного контроля объекта, алармы для реакции на инциденты, поддержка IoT/M2M-устройств и модель ролей с правами доступа — чтобы одно приложение закрывало и оператора на смене, и инженера, и руководителя, каждому показывая свой срез данных и свой набор действий.

Результат

Приложение Ingigo Cloud вышло на платформах iOS и Android и закрыло промышленный мониторинг с телефона: SCADA-мнемосхемы, алармы, работа с IoT/M2M-устройствами и разграничение доступа по ролям. Рейтинг приложения — 4.

Частые вопросы

Зачем для SCADA-приложения нужен отдельный поток реального времени, а не обычные запросы?
В промышленном мониторинге данные меняются постоянно, а критичные события требуют реакции здесь и сейчас. Опрос сервера по таймеру создаёт задержку и лишнюю нагрузку. Поэтому в Ingigo Cloud реалтайм-канал реализован на SignalR: сервер сам проталкивает изменения показателей и алармы на устройство, а push-уведомления доводят критичные события до пользователя даже при свёрнутом приложении.
Почему нативная разработка (Swift и Kotlin), а не кросс-платформа?
Экраны SCADA-мнемосхем плотные и интерактивные, а фоновая работа с уведомлениями должна быть предсказуемой на каждой платформе. Нативные iOS (Swift) и Android (Kotlin) дают контроль над отрисовкой и системными механизмами уведомлений. При этом в студии есть и Flutter, и Kotlin Multiplatform — выбор стека мы делаем под задачу проекта, а не наоборот.
Как в приложении разделяется доступ для оператора, инженера и руководителя?
В Ingigo Cloud заложена модель ролей и прав доступа. Одно приложение показывает каждому пользователю свой срез данных и доступный набор действий: оператор на смене, инженер и руководитель видят разные экраны и функции. Это снижает риск ошибочных действий и упрощает эксплуатацию — не нужно плодить отдельные сборки под каждую категорию сотрудников.
Можно ли подключить к такому приложению существующее оборудование и IoT/M2M-устройства?
Да, это профильный сценарий. Приложение работает с промышленными данными через REST API и реалтайм-канал, поддерживает IoT/M2M-устройства и отображает состояние объектов на мнемосхемах. Конкретная интеграция зависит от протоколов и серверной части вашей системы — это обсуждается на старте проекта.

Смотрите также

Нужен похожий проект?

Расскажите задачу — предложим решение, стек и смету.

Оставить заявку на instadev.ru