Агенты

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

Следует пояснить сам термин Агент. Смысл термина вдохновлен следующим значением слова:

Агент: кто-то представляющий кого-то, официальный представитель кого-либо в бизнесе. [Microsoft® Encarta® 2006. © 1993-2005 Microsoft Corporation.]

В нашей документации Agent имеет одно из следующих обозначений (в зависимости от контекста):

  • Особое приложение, взаимодействующее с сервером SberMobile Server по протоколу SberMobile. Это приложение конвертирует данные, собираемые с оборудования в формате SberMobile и/или конвертирует сторонние коммуникационный протоколы в протокол SberMobile. Это приложение может быть реализовано практически на любом языке программирования, в то время как SberMobile предоставляет эталонные реализации на SberMobile BASIC, Java (включая версию для Android) и .NET (включая .NET Compact).
  • Внешнее оборудование (программируемый контроллер или PC) с запущенным в нём приложением Agent.
  • Агент SberMobile  - это программная библиотека, наследованная в прошивку устройства или отдельное небольшое приложение, работающее на модуле связи в составе устройства. Такое программно-аппаратное сочетание выступает посредником между "основной" прошивкой аппаратного устройства и SberMobile Server. Связь между SberMobile Server и агентом устанавливается по IP-сети. Агент осуществляет коммуникации с сервером и преобразует внутренние структуры данных устройства в формат единой модели данных.

    Остановимся более подробно на второй из этих функций:

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

  • Часть, специфичная для устройства: это часть кода, специально написанная для определенного аппаратного устройства, подключенного к аппаратной платформе Агента. Это единственная часть, которая должна модифицироваться, чтобы SberMobile работал с любым новым устройством.
  • Сетевая часть: эта часть кода обрабатывает все коммуникации с SberMobile Server. Это общая часть. По сути, она взаимодействует с SberMobile Server, используя коммуникационный протокол SberMobile. Эта часть никогда не меняется для работы SberMobile с новым устройством.
  • Можно рассматривать SberMobile в качестве аппаратного драйвера или конвертера протоколов. Если вы хотите подключить какое-либо устройство к SberMobile, чтобы воспользоваться всей мощью и преимуществами системы, все, что вам нужно - это включить библиотеку Агента с открытым исходным кодом в вашу прошивку/ПО, и все, ваше устройство полностью подключено!!

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

    • Он раскрывает SberMobile Server внутренние настройки вашего устройства таким образом, что настройки типа Число Хранящихся Записей (для таймера) или Максимально Разрешенная Скорость (для погрузчика) будут легко отображаться и редактироваться в любом пользовательском интерфейсе SberMobile Server (например, SberMobile IIoT Platform Client).
    • Он позволяет выполнять различные операции с устройством, например Выполнить самотестирование или Отправить сообщение на LCD устройства. Операторы могут указывать входные параметры для каждой операции и видеть статус их выполнения.
    • Он помогает отслеживать события, сгенерированные устройством, например, Пользователь вошёл в область или Пользователь покинул область для терминала контроля доступа. SberMobile Server хранит все события устройств в постоянном хранилище и предоставляет доступ к истории событий системным операторам.

    Драйвер устройства agent

    Agent имеет двойника на SberMobile Server - Драйвер Устройства, называемый Драйвер Агент. Этот драйвер отвечает за все коммуникации между SberMobile Server и Агентом.

    Использование агента в качестве центрального аппаратного компонента

    Поскольку SberMobile предоставляет полный спектр мощных программируемых модулей и контроллеров вместе с бесплатной средой IDE, другим вариантом будет создание вашей системы вокруг процессора SberMobile с запущенным на нем приложением Agent.

    В этом случае вы можете подключить периферийные компоненты вашей системы (LCD, клавиатуру и пр.) прямо к процессору SberMobile и использовать его как ЦПУ. Затем вы пропишете логику своего устройства на языке SberMobile BASIC или C. Таким образом вы получите новое устройство со стандартным функционалом SberMobile.

    Настройка агента для ваших устройств

    Приложение Агент нужно настроить для подключения любого уже существующего или вновь созданного устройства к SberMobile. Вам только нужно включить библиотеку Агента в ваше ПО/прошивку и предоставить:

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

    SDK агента

    Более подробно о реализации Агента как части приложения на ПК, основанного на технологиях Java или .NET, см. в разделе SDK Агента.