Разработка мобильного программного обеспечения для АСУ ТП и IoT
В современном промышленном мире мобильность является ключевым фактором эффективности.
Мы разрабатываем готовые программные продукты для мобильных устройств на базе OC ANDROID,
которые преобразуют подход к управлению технологическими процессами.
Преимущества мобильных решений для вашего предприятия
Наши продукты для Android предоставляют уникальные возможности:
- Мгновенный доступ к данным в режиме реального времени из люобой точки мира при условии наличии на устройстве услуги провайдера Internet
- Оперативное реагированиена аварийные ситуации через мобильные уведомления
- Удобный мониторинг ключевых показателей эффективности (KPI)
- Снижение времени на принятие критических решений
Современные технологии способны превратить ваше устройство не только в пользовательский девайс,
но и служить сервером сбора и передачи данных на сервер (реаляционная база данных или 1С). При разработке программных продуктов мы используем следующие технологии:
1. Проектирование и дизайн: Figma
Любой успешный проект начинается с продуманного дизайна. Для АСУ ТП это особенно критично, так как интерфейс должен быть не только эстетичным, но и функциональным, информативным и безопасным.
- Информационные панели (Dashboard): В Figma мы создаем макеты, которые отображают значения ключевых параметров — давление,
температура, статус оборудования... Важно использовать интуитивно понятные графики, диаграммы
и цветовую маркировку (например, красный для аварийного состояния или температуры теплоносителя подающего трубопровода).
- Списки событий и тревог:Разрабатывается интерфейс для отображения лога событий с возможностью фильтрации по времени, типу события (предупреждение, ошибка) и объекту.
- Прототипирование: Figma позволяет создать интерактивный прототип, чтобы заказчик и команда могли "пощупать" будущее приложение еще до начала программирования, что экономит время и ресурсы.
Результат: Готовый UI/UX-кит, согласованный со всеми участниками проекта, который служит точным руководством для верстки в Android Studio.
2. Клиентская часть: Android Studio на Java и Kotlin
Android Studio — это стандарт для разработки нативных приложений под ОС Android. Использование одновременно Java (для legacy-кода или специфических библиотек) и Kotlin (как современного, более безопасного и лаконичного языка) позволяет гибко подходить к реализации.
- Kotlin: Является предпочтительным языком. Его корутины (coroutines) идеально подходят для асинхронных вызовов к серверу, что критично для приложений, работающих в реальном времени.
- Java:Может использоваться для интеграции со специфическими Java-библиотеками для промышленных протоколов (например, OPC UA через обертки).
- Retrofit: Это типобезопасный HTTP-клиент от Square, который значительно упрощает работу с сетевыми запросами. Мы декларативно описываем наш REST API, а Retrofit генерирует всю необходимую реализацию.
3. Серверная часть и API: Ktor и PHP
Сервер выступает в роли посредника между мобильным приложением и источниками данных (базы данных, промышленные шлюзы, IoT-платформы).
- Ktor: Это асинхронный фреймворк для построения веб-приложений на Kotlin. Он отлично подходит для создания легковесных и производительных REST API.
Преимущества: Полная поддержка корутин, что идеально сочетается с Kotlin-клиентом. Позволяет писать весь стек на одном языке (Kotlin Multiplatform), упрощая разработку и поддержку.
- PHP:Несмотря на популярность новых фреймворков, PHP остается надежным и проверенным решением, особенно в связке с фреймворками типа Laravel или Symfony.
4. Обмен сообщениями в реальном времени: Apache Kafka
Для АСУ ТП и IoT жизненно важна скорость и надежность доставки событий, таких как аварийные сигналы или резкие изменения параметров.
- Apache Kafka — это распределенная платформа обмена сообщениями, работающая по принципу публикации-подписки (pub-sub).
- Как это работает:
- Промышленный шлюз или сервис данных публикует сообщение о новом событии (например, "перегрев двигателя") в топик Kafka.
- Серверное приложение на Ktor (или микросервис) является подписчиком на этот топик.
- Получив сообщение, сервер немедленно рассылает его всем подключенным мобильным клиентам через механизм Push-уведомлений (например, через Firebase Cloud Messaging) или сохраняет в БД для последующего запроса.
Результат: Пользователь получает тревожное уведомление на смартфон почти мгновенно после возникновения события на производстве.
5. Хранение данных: Серверная база данных SQL и Firebase
Мы используем гибридный подход к хранению данных для максимальной эффективности.
- MySQL/MariaDB: Это реляционные базы данных, используемые на сервере для хранения структурированной и исторической информации.
Что хранится: : В базах данных как правило храняться архивные данные (комерческий и технологический учет), мгновенные значения параметров для построения графиков,
различные настройки, данные пользователей для авторизации, тревожные и аварийные сообщения, конфигурации ПО и прочее...
- Google Firebase:Используется как Backend-as-a-Service (BaaS) для мобильного приложения.
Заключение
Разработка мобильного ПО для АСУ ТП и IoT — это комплексная задача, требующая интеграции множества технологий. Данный стек предоставляет надежное, масштабируемое и современное решение:
- Kotlin и Ktor обеспечивают высокую производительность и единую языковую среду.
- Retrofit упрощает сетевое взаимодействие.
- Kafka гарантирует доставку критически важных сообщений в реальном времени.
- Figma помогает создать безупречный пользовательский интерфейс.
- СУБД отвечает за целостность и сохранность исторических данных.
- Firebase ускоряет разработку и добавляет мощные мобильные функции "из коробки".
Такой подход позволяет создавать не просто приложения, а полноценные, надежные инструменты для управления технологическими процессами в эпоху Индустрии 4.0 и Интернета Вещей.
По ссылке ниже вы можете скачать DEMO-версию приложения с магазина RuStore, в котором реализован маркерный протокол обмена данными с тепловычислителем СПТ961.2