2. Конфигурация агента ----------------------- 2.1 Настройки на старте ======================= Агент мониторинга имеет функционал для конфигурации своих настроек из файла при старте. Это поможет не настраивать каждое устройство вручную, а сразу подтянуть настройки из заранее подготовленного файла. Для этого перед началом работы: 1. Подготовьте файл `config.json` с вашими настройками, например: .. code-block:: 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 **Входные данные:** .. code:: { "keys": ["device_ip", "device_port"] } При передаче пустого массива keys, агент вернет значения всех настроек. **Выходные данные:** .. code:: { "code": 0, "data": { "device_ip": "172.22.0.6", "device_port": "80" } } 2.3 Установить настройки ========================= **URL интерфейса:** {host}/api/agent/set_config **Метод запроса:** POST **Входные данные:** .. code:: { "device_ip": "172.22.0.6", "device_port": "80" } Перечисляются настройки и их значения, которые нужно поменять. **Выходные данные:** .. code:: { "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:: { "code": 0, "data": null } 2.5 Получить статистику распознавания ======================================= **URL интерфейса:** {host}/api/agent/get_statistic **Метод запроса:** POST **Входные данные:** .. code:: { "productCode": "123", "requestType": "DAYS", "startDate": "01-10-25", "endDate": "09-11-25", "limit": 10, "offset": 0 } Поля `productCode`, `limit` и `offset` являются необязательными. Если не передавать код, вернется статистика по всем товарам агрегированная за указанный период. **Выходные данные с productCode:** .. code:: { "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:: { "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` (идентификатор модуля распознавания) пустое, и условия выше выполнены, происходит поиск устройства на сервере. Когда устройство найдено, его идентификатор автоматически сохраняется и работа начинается по нему.