2. Конфигурация агента

2.1 Настройки на старте

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

  1. Подготовьте файл config.json с вашими настройками, например:

{
  "file_storage_service_address": "https://my-adress.ru/" // адрес файлового хранилища в сети, включая протокол (http/https),
  "file_storage_service_bucket": "bucket1" //корневая папка файлового хранилища в сети,
  "file_storage_service_login": "mylogin"// логин подключения к файловому хранилищу,
  "file_storage_service_password": "mypassword12345" //пароль подключения к файловому хранилищу,
  "mertech_monitoring_client_secret": "54321secret" //пароль доступа к серверу мониторинга MERTECH,
  "monitoring_getting_tasks": true // флаг, отвечающий запрашивать ли задачи с сервера мониторинга для выполнения на модуле распознавания,
  "monitoring_request_frequency": 20000 // периодичность опроса сервера мониторинга на очередь задач,
  "monitoring_service_address": "https://monitoring.mertech.ru" // ip-адрес сервера мониторинга,
  "monitoring_service_port": "443"// порт подключения к серверу мониторинга,
  "monitoring_service_type": "MERTECH_MONITORING" //тип сервера мониторинга, используемого агентом
}

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

  1. Сохраните файл в локальную папку проекта (по умолчанию C:\Users\ИмяПользователя\AppData\Roaming\MERTECH\VisionAiAgent).

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

2.2 Получить настройки

URL интерфейса: {host}/api/agent/get_config

Метод запроса: POST

Входные данные:

{ "keys": ["device_ip", "device_port"] }

При передаче пустого массива keys, агент вернет значения всех настроек.

Выходные данные:

{
  "code": 0,
  "data": {
    "device_ip": "172.22.0.6",
    "device_port": "80"
  }
}

2.3 Установить настройки

URL интерфейса: {host}/api/agent/set_config

Метод запроса: POST

Входные данные:

{
  "device_ip": "172.22.0.6",
  "device_port": "80"
}

Перечисляются настройки и их значения, которые нужно поменять.

Выходные данные:

{ "code": 0, "data": null }

Список настроек агента:

  • device_ip — ip-адрес модуля распознавания;

  • device_port — порт подключения к модулю распознавания;

  • file_storage_service_address — адрес файлового хранилища в сети, включая протокол (http/https). Если файловое хранилище развернуто в локальной сети, то порт можно указать в этом поле после двоеточия, например http://192.168.100.166:9000.

  • file_storage_service_bucket — корневая папка файлового хранилища в сети;

  • file_storage_service_login — логин подключения к файловому хранилищу;

  • file_storage_service_password — пароль подключения к файловому хранилищу;

  • logging_level — уровень логирования;

  • mertech_monitoring_client_secret — пароль доступа к серверу мониторинга MERTECH;

  • mertech_monitoring_device_id — идентификатор модуля распознавания на сервере мониторинга MERTECH;

  • monitoring_getting_tasks — флаг, отвечающий запрашивать ли задачи с сервера мониторинга для выполнения на модуле распознавания;

  • monitoring_request_frequency — периодичность опроса сервера мониторинга на очередь задач;

  • monitoring_service_address — ip-адрес сервера мониторинга, включая протокол (http/https);

  • monitoring_service_port — порт подключения к серверу мониторинга;

  • monitoring_service_type — тип сервера мониторинга, используемого агентом;

  • product_prediction_data_folder_path — путь к директории на локальном компьютере для временного хранения изображений при распознавании;

  • recognition_image_sending_enable — флаг, отвечающий отправлять ли изображения распознавания на сервер мониторинга.

2.4 Проверить соединение с сервером мониторинга

URL интерфейса: {host}/api/agent/check_connect

Выходные данные:

{ "code": 0, "data": null }

2.5 Получить статистику распознавания

URL интерфейса: {host}/api/agent/get_statistic

Метод запроса: POST

Входные данные:

{
  "productCode": "123",
  "requestType": "DAYS",
  "startDate": "01-10-25",
  "endDate": "09-11-25",
  "limit": 10,
  "offset": 0
}

Поля productCode, limit и offset являются необязательными. Если не передавать код, вернется статистика по всем товарам агрегированная за указанный период.

Выходные данные с productCode:

{
  "code": 0,
  "data": {
    "code": "123",
    "name": "",
    "predictionDataList": [
      {
        "date": "08-10-25",
        "position1Count": 1,
        "position2Count": 2,
        "position3Count": 0,
        "position4Count": 3,
        "position5Count": 0,
        "processedUnknownPredictionCount": 0,
        "processedWithPredictionCount": 6,
        "processedWithoutPredictionCount": 0,
        "weightingsCount": 6
      }
    ]
  }
}

Выходные данные без `productCode`:

{
  "code": 0,
  "data": [
    {
      "code": "123",
      "name": "",
      "predictionDataList": [
        {
          "position1Count": 1,
          "position2Count": 2,
          "processedWithPredictionCount": 6,
          "weightingsCount": 6
        }
      ]
    }
  ]
}
  • requestType — виды агрегаций статистики (DAYS, MONTHS, YEARS).

2.6 Получить идентификатора устройства с сервера мониторинга MERTECH

Агент может автоматически получить идентификатор устройства. Для этого:

  1. Настройте обмен данных между агентом и сервером мониторинга (адрес, порт, пароль доступа).

  2. На сервере мониторинга создайте модель устройства «Модуль распознавания “Mertech Vision Ai Module”».

  3. Затем создайте устройство «Модуль распознавания» с моделью “Mertech Vision Ai Module” и заводским номером устройства.

Если при обновлении конфигурации (старте агента), в настройках поле mertech_monitoring_device_id (идентификатор модуля распознавания) пустое, и условия выше выполнены, происходит поиск устройства на сервере. Когда устройство найдено, его идентификатор автоматически сохраняется и работа начинается по нему.