2. Конфигурация агента¶
2.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 Установить настройки, перечисление их всех в файле не обязательно.
Сохраните файл в локальную папку проекта (по умолчанию 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¶
Агент может автоматически получить идентификатор устройства. Для этого:
Настройте обмен данных между агентом и сервером мониторинга (адрес, порт, пароль доступа).
На сервере мониторинга создайте модель устройства «Модуль распознавания “Mertech Vision Ai Module”».
Затем создайте устройство «Модуль распознавания» с моделью “Mertech Vision Ai Module” и заводским номером устройства.
Если при обновлении конфигурации (старте агента), в настройках поле mertech_monitoring_device_id (идентификатор модуля распознавания) пустое, и условия выше выполнены, происходит поиск устройства на сервере. Когда устройство найдено, его идентификатор автоматически сохраняется и работа начинается по нему.