Оценить проект

Софт к прибору: десктоп, мобайл, облако — что и когда нужно

Прошивки и ПО26 октября 202611 минутИнженерная команда ГМТ Инжиниринг
КороткоПО к прибору бывает четырёх основных видов: программа для ПК, мобильное приложение, облачный сервис с веб-интерфейсом и сервисные утилиты для производства. Выбор зависит не от моды, а от сценариев: кто работает с прибором, где он находится, сколько приборов и куда должны попадать данные. Общее для всех вариантов — протокол обмена с прошивкой, который нужно описать и согласовать до начала разработки.

Какое ПО бывает у прибора

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

Вид ПОКто пользуетсяТипичные функции
Программа для ПКОператор, инженер, сервисная службаНастройка параметров, калибровка, просмотр и выгрузка журналов, обновление прошивки
Мобильное приложениеПользователь в поле, монтажникПодключение по Bluetooth, показания, управление, уведомления
Облако и веб-интерфейсВладелец парка приборов, диспетчерПриём данных, хранение, графики, тревоги, отчёты, доступ по ролям
ПО для производстваСборочный участок, ОТКПрошивка, тестирование и калибровка на линии, учёт серийных номеров
ИнтеграцияСистемы заказчикаОбмен с SCADA, АСУ ТП, учётными и информационными системами через API или промышленные протоколы

Как выбрать: от сценария к архитектуре

Начинать стоит не с вопроса «какое приложение сделать», а с описания того, что происходит с прибором в жизни. Несколько типовых сценариев:

СценарийЧто обычно нужно
Прибор настраивают один раз при монтаже, дальше он работает самСервисная программа для ПК или мобильное приложение для монтажника
Пользователь носит прибор с собой и смотрит показанияМобильное приложение с подключением по Bluetooth
Десятки или сотни приборов на разных объектахОблако с веб-интерфейсом, тревогами и отчётами
Прибор встраивается в систему управления предприятияПромышленный протокол и интеграция с SCADA или АСУ ТП, своё приложение может не понадобиться
Прибор выпускается сериейПО для производства: прошивка, тест и калибровка на линии

Часто правильный ответ — комбинация: например, мобильное приложение для монтажника и облако для владельца. Важно понимать это до разработки прошивки, потому что от сценариев зависят интерфейсы прибора и протокол обмена.

Десктоп, мобайл, веб: сравнение

КритерийПрограмма для ПКМобильное приложениеВеб-интерфейс и облако
Связь с приборомUSB, RS-485, Ethernet — напрямуюBluetooth напрямую или через облакоЧерез сервер: прибор передаёт данные сам или через шлюз
Работа без интернетаДаДа, при прямом подключенииНет, нужен доступ к серверу
РаспространениеУстановочный пакетПубликация в магазинах приложений или установочный файлДостаточно браузера
ОбновлениеПользователь устанавливает новую версиюЧерез магазин приложенийЦентрализованно на сервере
Много приборовНеудобноОграниченноОсновной сценарий
Постоянные расходыМинимальныеПоддержка новых версий ОС телефоновСервер, хранение данных, администрирование

Облако — не только разработка, но и эксплуатация: кто-то должен администрировать сервер, следить за обновлениями и резервными копиями. Эти расходы стоит оценить заранее вместе со стоимостью разработки.

Протокол обмена — главный документ

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

  • Описывайте протокол отдельным документом до начала разработки, а не по ходу. Тогда прошивку и приложение можно писать параллельно.
  • Закладывайте версию протокола. Приложение должно понимать, с какой версией прошивки работает, иначе после обновления одного из них всё сломается.
  • Продумайте работу без связи. Прибор копит данные, пока нет связи, и досылает их; приложение показывает, когда данные получены в последний раз.
  • Используйте стандарты, где можно. Для промышленных систем — распространённые протоколы вроде Modbus, для Bluetooth — стандартные профили, если они подходят. Это упрощает интеграцию с чужими системами.

Данные и безопасность

Как только прибор передаёт данные за пределы помещения, появляются вопросы безопасности:

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

Если ПО обрабатывает персональные данные — например, данные пациентов или сотрудников, — к хранению и обработке применяются требования Федерального закона № 152-ФЗ «О персональных данных». Их учитывают при выборе архитектуры и места размещения сервера.

От чего зависят стоимость и сроки

Цена ПО к прибору складывается не из «количества экранов», а из сценариев и требований к надёжности. Основные факторы:

  • Число видов ПО. Программа для ПК, приложение для двух мобильных платформ и облако — это три разных продукта со своей разработкой и поддержкой.
  • Работа с прибором. Готов ли протокол обмена, нужно ли его разрабатывать или разбирать, сколько версий прошивки нужно поддерживать.
  • Объём данных и число приборов. Десять приборов с измерением раз в час и тысяча приборов с измерением раз в секунду требуют разной серверной архитектуры.
  • Роли и отчёты. Разграничение доступа, отчёты, выгрузки, интеграция с системами заказчика.
  • Требования к документации и безопасности. ЕСПД, персональные данные, реестр российского ПО, требования к ПО медицинских изделий.

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

Типичные ошибки

  1. Делают «всё сразу». Программа для ПК, мобильное приложение и облако заказываются одновременно, хотя пользователям на старте нужна только одна из них.
  2. Протокол обмена описывают по ходу. Изменения в прошивке ломают приложение, а исправления в приложении требуют новой прошивки.
  3. Не продумывают отсутствие связи. Данные теряются, когда прибор временно не видит сеть, и это обнаруживается у клиентов.
  4. Доступы оформлены на подрядчика. Сервер, аккаунты магазинов приложений и домены зарегистрированы не на заказчика, и после проекта их сложно вернуть.
  5. Требования к данным вспоминают в конце. Персональные данные или реестр российского ПО требуют смены хостинга или компонентов, когда система уже работает.

Нормативная база

  • Федеральный закон от 27.07.2006 № 152-ФЗ «О персональных данных» — если приложение или облако обрабатывает персональные данные.
  • Постановление Правительства РФ от 16.11.2015 № 1236 — правила ведения единого реестра российских программ для ЭВМ и баз данных. Важно, если ПО поставляется заказчикам с ограничениями на закупку иностранного ПО. Реестр опубликован на портале reestr.digital.gov.ru.
  • ГОСТ 19.101-77 и другие стандарты ЕСПД (серия ГОСТ 19) — если нужна программная документация по государственным стандартам.
  • ГОСТ 34.602-2020 «Техническое задание на создание автоматизированной системы» — когда ПО к приборам является частью автоматизированной системы заказчика и ТЗ оформляют по стандартам серии 34.
  • МЭК 62304 — процессы жизненного цикла ПО медицинских изделий. Если программа влияет на диагностику или лечение, она может сама считаться медицинским изделием.
Какие требования применимы, определяется для конкретного проекта: по назначению прибора, заказчикам и типу данных. Вопросы регистрации ПО как медицинского изделия ведёт наш Инженерный центр.

Условный пример: парк газоанализаторов

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

  • Сценарии. Монтажник настраивает прибор при установке. Диспетчер смотрит показания и тревоги по всем объектам. Производство калибрует каждый прибор перед отгрузкой.
  • Архитектура. Программа для ПК — для монтажа и калибровки на производстве, облако с веб-интерфейсом — для диспетчеров, уведомления о тревогах — через мессенджер или почту, без отдельного мобильного приложения.
  • Протокол. Описываем команды настройки и формат передачи данных с номером версии. Прибор при обрыве связи копит измерения и досылает их.
  • Интеграция. Для крупных клиентов добавляем выдачу данных по Modbus в их систему диспетчеризации — облако им не нужно.

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

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

Нужно ли прибору отдельное приложение, если у него есть экран?

Зависит от того, кто и как с ним работает. Экран закрывает повседневное использование. Программа для ПК или мобильное приложение нужны для настройки, калибровки, выгрузки журналов, обновления прошивки и работы с несколькими приборами сразу.

Что выбрать: мобильное приложение или веб-интерфейс?

Мобильное приложение нужно, когда телефон подключается к прибору напрямую — например, по Bluetooth — или нужны push-уведомления. Если прибор передаёт данные на сервер сам, обычно достаточно веб-интерфейса: он работает на любом устройстве и не требует публикации в магазинах приложений.

Можно ли сделать ПО к прибору, который уже выпускается?

Да. Нужны описание протокола обмена или документация на прибор и образец для отладки. Если протокол не описан, его разбирают вместе с разработчиками прошивки — это стоит заложить в план работ отдельным этапом.

Когда ПО нужно включать в реестр российского программного обеспечения?

Когда ПО поставляется заказчикам, которые обязаны закупать российское ПО, — прежде всего по госзакупкам. Реестр ведётся по постановлению Правительства РФ от 16.11.2015 № 1236. Требования к включению учитывают заранее: при выборе компонентов, лицензий и места хранения данных.

Кому принадлежат права на приложение и сервер?

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

Подберём архитектуру ПО под ваш прибор

Расскажите, кто работает с прибором, сколько их и куда должны попадать данные. Предложим состав ПО, опишем протокол обмена и оценим работу по этапам. NDA подписываем до передачи технической информации.

Обсудить ПО