Агенты

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

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

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

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

  • Особое приложение, взаимодействующее с сервером AggreGate Server по протоколу AggreGate. Это приложение конвертирует данные, собираемые с оборудования в формате AggreGate и/или конвертирует сторонние коммуникационный протоколы в протокол AggreGate. Это приложение может быть реализовано практически на любом языке программирования, в то время как Tibbo предоставляет эталонные реализации на Tibbo BASIC, Java (включая версию для Android) и .NET (включая .NET Compact).

  • Внешнее оборудование (программируемый контроллер или PC) с запущенным в нём приложением Agent.

Агент AggreGate  - это программная библиотека, наследованная в прошивку устройства или отдельное небольшое приложение, работающее на модуле связи в составе устройства. Такое программно-аппаратное сочетание выступает посредником между "основной" прошивкой аппаратного устройства и AggreGate Server. Связь между AggreGate Server и агентом устанавливается по IP-сети. Агент осуществляет коммуникации с сервером и преобразует внутренние структуры данных устройства в формат единой модели данных.

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

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

  • Часть, специфичная для устройства: это часть кода, специально написанная для определенного аппаратного устройства, подключенного к аппаратной платформе Агента. Это единственная часть, которая должна модифицироваться, чтобы AggreGate работал с любым новым устройством.

  • Сетевая часть: эта часть кода обрабатывает все коммуникации с AggreGate Server. Это общая часть. По сути, она взаимодействует с AggreGate Server, используя коммуникационный протокол AggreGate. Эта часть никогда не меняется для работы AggreGate с новым устройством.

Можно рассматривать AggreGate в качестве аппаратного драйвера или конвертера протоколов. Если вы хотите подключить какое-либо устройство к AggreGate, чтобы воспользоваться всей мощью и преимуществами системы, все, что вам нужно - это включить библиотеку Агента с открытым исходным кодом в вашу прошивку/ПО, и все, ваше устройство полностью подключено!!

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

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

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

  • Он помогает отслеживать события, сгенерированные устройством, например, Пользователь вошёл в область или Пользователь покинул область для терминала контроля доступа. AggreGate Server хранит все события устройств в постоянном хранилище и предоставляет доступ к истории событий системным операторам.

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

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

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

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

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

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

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

  • Определения настроек, операций и событий вашего устройства,

  • Код, который реализует чтение и запись настроек устройства,

  • Код для перенаправления команд на устройства,

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

SDK агента

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