webapi:uniserver_auto [Документация на программное обеспечение для весовых систем]

Инструменты пользователя

Инструменты сайта


webapi:uniserver_auto

Обзор веб-API UniServer AUTO

Введение

Веб-приложение UniServer AUTO это автономный веб-сервер с модульной архитектурой. Каждый модуль-плагин системы (журнал, камера, УДВВ, весовой индикатор, считыватель меток и т.п.) имеет свой набор функции и параметров. Для доступа к параметрам и функциям установленных в UniServer AUTO модулей-плагинов существует веб-API, основанный на HTTP POST/GET-запросах.

Веб-API позволяет разработчикам сторонних систем интегрировать ПО UniServer AUTO в единую программную экосистему предприятия. Методы веб-API UniServer AUTO можно использовать для взаимодействия с любым плагином системы.

Список доступных функций веб-API основных плагинов UniServer AUTO представлен здесь.

Различные методы веб-API UniServer AUTO возвращают ответ либо в формате JSON, либо строку в формате text/plain. Точный формат ответа представлен в описании к конкретному методу. Список кодов состояния HTTP ответов здесь.

Для доступа к API существует формат HTTP-запросов с набором обязательных и необязательных параметров.

Доступ к методам API производится двумя способами:

  1. Через опубликованный список команд на сервере;
  2. Напрямую к плагинам (модулям) системы.

Способ 1. Формат запроса к опубликованным методам плагина

Данный способ представляет собой механизм взаимодействия через ядро сервера UniServer AUTO с плагинами приложения с помощью методов, опубликованных в настройках Core.CommandMap.

Такой механизм удобен при большом количестве клиентов, так как снижает нагрузку на WEB интерфейс плагина, все команды поступают в ядро сервера и выполняются в основном обработчике каждого плагина в порядке очереди. Обработчик команд WEB интерфейса плагина при этом не используется.

Имеется возможность не публиковать команду или изменить наименование команды, что повышает степень защищенности системы. Если происходит обращение к неопубликованной команде, система вернет ошибку с кодом состояния 500.

Формат запроса к опубликованным методам плагина:

http://<адрес сервера>:<порт>/core/SendMsg?Name=<наименование метода>&Value=<набор параметров в формате JSON>

Пример запроса к опубликованному методу плагина Весовой индикатор - WeightIndicator1_GetMassa:
http://uniserver.vesysoft.ru:8123/core/SendMsg?Name=WeightIndicator1_GetMassa&auth_user=user&auth_password=user

Пример запроса к опубликованному методу плагина Камера - Camera1_GetFrameJpg:
http://uniserver.vesysoft.ru:8123/core/SendMsg?Name=Camera1_GetFrameJpg&Value={"w":800,"h":600}&auth_user=user&auth_password=user

В данном примере выполняется запрос на получение текущей картинки с камеры плагина Camera1 в формате JPG:

  • Camera1_GetFrameJpg- опубликованный метод ядра системы для получения картинки с камеры плагина Camera1 в формате JPG.
  • {«w»:800,«h»:600} - набор дополнительных параметров в формате JSON, сообщающих системе, размер запрашиваемого изображения.

По умолчанию при установке системы список опубликованных команд содержит все имеющиеся команды плагинов. Отредактировать список опубликованных команд, их наименования можно через меню ПараметрыCoreCore.CommandMap.

Способ 2. Формат прямого запроса к WEB интерфейсу плагина

Данный способ позволяет клиенту обратиться напрямую в обработчик WEB интерфейса плагина. Для каждого клиента создается отдельный обработчик, в котором команды выполняются сразу, без помещения в очередь.

Формат запроса к WEB интерфейсу плагина:

http://<адрес сервера>:<порт>/core/plugins/<наименование плагина>/<наименование метода>?<параметр_1>=<значение_параметра_1>&<параметр_2>=<значение_параметра_2>
&<параметр_n>=<значение_параметра_n>

Пример запроса к плагину WeightIndicator1:
http://uniserver.vesysoft.ru:8123/core/plugins/WeightIndicator1/Massa?auth_user=user&auth_password=user

В данном примере выполняется запрос на получение значения массы к плагину весового индикатора Weightindicator1, метод Massa.

Пример запроса к плагину Camera1:
http://uniserver.vesysoft.ru:8123/core/plugins/Camera1/Video?Width=600&Height=400&auth_user=user&auth_password=user

В данном примере выполняется запрос к плагину камеры Camera1 на получение текущей картинки формате JPG, набор параметров включает в себя 2 параметра:

  • Width - высота запрашиваемого изображения.
  • Height - ширина запрашиваемого изображения.

Авторизация

В случае, если запрос выполняется от неавторизованного клиента, к запросу необходимо добавить два параметра: auth_user (имя пользователя) и auth_password (пароль пользователя).

Список веб-API основных плагинов

В данном разделе представлен актуальный перечень всех основных плагинов системы UniServer AUTO, поддерживающих работу с WEB-API.

Наименование плагина Описание
WEIGHTINDICATOR Плагин для подключения весового индикатора
CAMERA Плагин для подключения камер
RECOGNIZE Плагин «Система распознавания номеров ТС»
UDVV Плагин для подключения устройства дискретного ввода-вывода
LEDPANEL Плагин для подключения LED панелей
AUTOSCALE Плагин автовесов AutoScale
JOURNAL Плагин универсального журнала(справочника) Journal
webapi/uniserver_auto.txt · Последние изменения: 2020/12/18 14:56 — akkullow