HTTP GET API приборов SAUK
Единый программный интерфейс управления и интеграции по сети Wi-Fi и Ethernet. Набор HTTP-запросов одинаков для всех устройств SAUK (RFID-считыватели, BLE-шлюзы, GSM-шлюзы) вне зависимости от аппаратной сборки; различается только состав полей в уведомлениях, отправляемых на хост. Доступность отдельных функций зависит от комплектации — фактический перечень опций возвращает поле options запроса /version.
Содержание
1Системные и сервисные запросы
Как отправлять запросы
Все запросы — обычные HTTP GET к IP-адресу прибора в сети Wi-Fi или Ethernet. Параметры передаются в строке запроса (?имя=значение). Изменяющие настройки и управляющие запросы требуют HTTP Basic Authentication (логин и пароль указаны в паспорте прибора). Ответ приходит в формате JSON либо короткой строкой «OK».
# через curl (логин и пароль — из паспорта прибора) curl -u ЛОГИН:ПАРОЛЬ http://192.168.1.50/version # прямо из адресной строки браузера http://192.168.1.50/rfidconfig?pwrant1=20
Во всех примерах ниже 192.168.1.50 — условный адрес прибора; ответы приведены реальные, снятые с прибора (сетевые имена и пароли в примерах обезличены).
GET/version
Описание. Возвращает информацию о версиях прошивки, оборудования, RFID-модуля и о включённых опциях прибора.
Параметры. Нет.
Ответ. 200 — JSON с ключами serial, chip_version, firmware, hardware, hardware_e, webapi, build, options, buffsize.
{
"serial": "A1B2C3",
"chip_version": "HW 26dBm VS1.2, FW VS2.4.5",
"firmware": "4.63",
"hardware": "1.9",
"hardware_e": "1.9",
"webapi": "1.8",
"build": "MR210_P1",
"options": "NTP,MBT,RFID",
"buffsize": 300
} Поле options перечисляет включённые в данной комплектации функции (интерфейсы Wiegand, реле, HOLD-триггеры, Modbus, NTP и т.д.). Ключи ответа одинаковы для всех приборов; значения зависят от модели и версии прошивки — например, у этого прибора сборка MR210_P1 и буфер меток 300.
GET/messagelog
Описание. Возвращает журнал системных событий и сообщений.
Параметры. Нет.
Ответ. 200 — JSON-массив объектов с полями: метка времени (RTC), тип (type), источник (source) и текст сообщения (message).
GET/messagelog_clear
Описание. Очищает журнал системных событий и сбрасывает счётчики ошибок и предупреждений. Требует аутентификации.
Параметры. Нет.
Ответ. 200 OK — в теле ответа строка «OK».
GET/reboot
Описание. Перезагружает прибор.
Параметры. Нет.
Ответ. 200 OK — в теле ответа строка «OK».
GET/restart_rfid
Описание. Программно перезагружает RFID-модуль (сбрасывает и инициализирует его заново).
Параметры. Нет.
Ответ. 200 OK — в теле ответа строка «OK».
GET/beepdevice
Описание. Подаёт звуковой и световой сигнал (два коротких) для идентификации прибора.
Параметры. Нет.
Ответ. 200 OK — в теле ответа строка «OK».
GET/logout
Описание. Завершает текущую сессию аутентификации. При следующем обращении к защищённому ресурсу браузер снова запросит логин и пароль.
Параметры. Нет.
Ответ. 401 Unauthorized.
2Управление сетью (Wi-Fi / Ethernet)
GET/netinfo
Описание. Возвращает текущую конфигурацию сетевых интерфейсов (Wi-Fi STA, Wi-Fi AP, Ethernet) либо изменяет её при передаче параметров.
Параметры (для изменения).
| Параметр | Тип | Описание |
|---|---|---|
| sta_enable | bool | Включить/выключить подключение к внешней Wi-Fi сети |
| ap_enable | bool | Включить/выключить точку доступа (AP) |
| reduce_power | bool | Режим пониженной мощности Wi-Fi |
| ap_ip | string | IP-адрес точки доступа |
| ap_pass1 / ap_pass2 | string | Новый пароль точки доступа и его подтверждение (должны совпадать) |
| eth_enable | bool | Включить/выключить интерфейс Ethernet |
| eth_static | bool | Использовать статический IP для Ethernet |
| eth_ipv4 / eth_mask / eth_gate | string | Статический IP, маска подсети и шлюз для Ethernet |
Ответ. 200 — JSON с полной текущей конфигурацией сети.
{
"type": "info",
"source": "wifi",
"mode": "Client & Access point",
"sta_enable": true,
"mac": "2C:BC:BB:A1:B2:C3",
"hostname": "SAUK-UHF-A1B2C3",
"ipv4": "192.168.1.50",
"gateway": "192.168.1.1",
"mask": "255.255.255.0",
"ap_enable": true,
"ap_hostname": "SAUK-AP-A1B2C3",
"ap_ipv4": "192.168.10.1",
"eth_support": false,
"eth_enable": false
} GET/wificonnect
Описание. Инициирует подключение к указанной Wi-Fi сети.
Параметры.
| Параметр | Тип | Описание | Обяз. |
|---|---|---|---|
| ssid | string | Имя сети (SSID) | Да |
| pass | string | Пароль сети | Да |
| safe | bool | Если true, конфигурация сохраняется в файловую систему | Нет |
Ответ. 200 OK — в теле ответа строка «OK».
GET/wifiscan
Описание. Запускает асинхронный поиск доступных Wi-Fi сетей и возвращает его результат. Не блокирует работу прибора. Требует аутентификации.
Параметры. Нет.
Ответ. 200 — JSON. Пока идёт поиск: {"status":"scanning"}. По завершении: {"status":"ok","networks":[…]}, где каждый элемент содержит поля ssid, rssi и open (признак открытой сети без пароля). Запрос повторяют (поллинг) до получения статуса ok.
{ "status": "scanning" } {
"status": "ok",
"networks": [
{ "ssid": "Office-WiFi", "rssi": -52, "open": false },
{ "ssid": "Guest", "rssi": -67, "open": true },
{ "ssid": "Warehouse-AP", "rssi": -81, "open": false }
]
} GET/ntp
Описание. Возвращает или настраивает параметры NTP-клиента для синхронизации времени.
Параметры (для настройки).
| Параметр | Тип | Описание |
|---|---|---|
| enable | bool | Включить/выключить NTP-синхронизацию |
| server / server2 | string | Адрес основного и резервного NTP-сервера |
| zone | int | Часовой пояс (смещение от GMT в часах) |
| period_hours | int | Период автоматической синхронизации, часы |
Ответ. 200 — JSON с текущими настройками NTP.
{
"ntp": {
"enable": false,
"server": "ntp1.niiftri.irkutsk.ru",
"server2": "ntp3.vniiftri.ru",
"zone": 3,
"period_hours": 0
}
} 3Доступ и аутентификация
GET/webaccess
Описание. Изменяет логин и пароль доступа к веб-интерфейсу. Требует текущей аутентификации.
Параметры. login (string, до 9 символов), password (string, до 9 символов) — оба обязательны.
Ответ. 200 OK — в теле ответа строка «OK».
GET/tableaccess
Описание. Изменяет логин и пароль оператора таблицы доступа. Требует текущей аутентификации.
Параметры. tlogin (string, до 9 символов), tpassword (string, до 9 символов) — оба обязательны.
Ответ. 200 OK — в теле ответа строка «OK».
GET/wifiaccess
Описание. Изменяет пароль встроенной точки доступа Wi-Fi. Требует текущей аутентификации.
Параметры. password (string, до 10 символов) — обязателен.
Ответ. 200 OK — в теле ответа строка «OK».
4RFID-модуль и инвентаризация
GET/inventory_once
Описание. Запускает однократный цикл инвентаризации меток (если непрерывное сканирование отключено).
Ответ. 200 OK — «OK».
GET/rfidconfig
Описание. Возвращает текущую конфигурацию RFID-модуля либо изменяет её при передаче параметров.
Параметры (примеры).
| Параметр | Тип | Описание |
|---|---|---|
| infiniteinventory | bool | Непрерывная инвентаризация |
| pwrant1…pwrant4 | int | Мощность антенн 1–4 |
| enant1…enant4 | bool | Включение антенн 1–4 для инвентаризации |
| activ1…activ4 | bool | Физическая активность антенн 1–4 |
| txtant1…txtant4 | string | Текстовые псевдонимы антенн 1–4 |
| entrig1, entrig2 | bool | Включение HOLD-триггеров 1 и 2 |
| no_trig1, no_trig2 | bool | Тип HOLD-триггера (NO/NC) |
| triggered1…triggered4 | int | Какие антенны активируются HOLD-триггерами |
| rf_session | int | Номер сессии RFID |
| repeattime | int | Число циклов сканирования за одну инвентаризацию |
| min_hold_ms | int | Минимальное время активации от HOLD-триггера |
| freq_start, freq_space, freq_quan | int | Частотный план |
| freq_error | float | Компенсация частотной ошибки |
| diagnostics | — | Запуск диагностики подключения антенн |
Ответ. 200 — JSON с полной текущей конфигурацией RFID-модуля.
{
"infiniteinventory": false,
"rf": {
"rf_session": 4,
"freq_start": 866300,
"freq_space": 60,
"freq_quan": 3,
"fhss_enabled": true,
"repeattime": 1
},
"trigger": { "support": false, "enable": [false], "min_hold_ms": 5000 },
"antennas": {
"quantity": 1,
"enable": [true],
"activ": [true],
"power": [12],
"triggered": [1]
}
} Запрос без параметров только читает конфигурацию; с параметрами — сначала применяет их, затем возвращает обновлённую конфигурацию. Массивы (power, enable, activ…) содержат по одному значению на каждую физическую антенну прибора.
Рабочие частоты (Россия)
В диапазоне UHF RFID для России разрешён строго фиксированный набор из трёх каналов: 866,3 / 866,9 / 867,5 МГц. Частоты задаются в килогерцах: freq_start — первый канал (например, 866300), freq_space — шаг сетки (60 = 600 кГц, 120 = 1200 кГц), freq_quan — число каналов (до 3).
Прибор автоматически приводит план частот к разрешённому набору: если указать freq_start вне разрешённых значений, оно округляется до ближайшего разрешённого канала, а число каналов ограничивается верхней границей диапазона (867,5 МГц). Например, freq_start=866500 будет приведено к 866300. Любое сочетание параметров всегда остаётся в пределах 866,3 / 866,9 / 867,5 МГц.
Типовые планы: все три канала — ?freq_start=866300&freq_space=60&freq_quan=3; один канал — ?freq_quan=1 с нужным freq_start.
{
"rf": {
"freq_start": 866300,
"freq_space": 60,
"freq_quan": 3,
"fhss_enabled": true
}
} GET/tagidentity
Описание. Возвращает или настраивает параметры идентификации и фильтрации меток, а также уведомлений на хост.
Параметры (примеры).
| Параметр | Тип | Описание |
|---|---|---|
| validtime_ms | long | Время «сна» метки перед повторной инвентаризацией |
| hold_time_ms | uint32 | Время удержания метки в списке инвентаризации |
| beep_on_tag | bool | Звуковой сигнал при обнаружении метки |
| rssi_filter_enable / rssi_filter_value | bool / int | Фильтр по уровню сигнала RSSI и его порог |
| epc_filter_enable1…4 / epc_filter_value1…4 | bool / string | EPC-фильтры 1–4 и их значения |
| epc_access_password | string | Пароль доступа к меткам |
| extra_mem_read / extra_mem_bank | bool / uint8 | Чтение доп. банка памяти и его выбор (2=TID, 3=USER) |
| data_start_words / data_len_words | uint8 | Смещение и длина читаемых данных в словах (макс. 6) |
| accesstable | bool | Проверка меток по таблице доступа |
| notify_enable | bool | Уведомления на хост по TCP-сокету |
| notify_ip / notify_port | string / uint32 | Адрес и порт получателя уведомлений |
| notify_time_lim_ms | uint32 | Таймаут соединения для уведомлений |
| http_enable | bool | Отправка уведомлений в формате HTTP GET |
| http_wait | bool | Ожидать ответ HTTP-сервера перед локальным управлением реле |
| modbus_rtu | bool | Протокол Modbus RTU (отключает прочие UART-уведомления) |
| notify_uart | bool | Уведомления по UART |
| notify_uart_json | uint8 | Формат UART-уведомления (0=байтовый, 1=JSON, 2=ASCII, 3=настраиваемый байтовый) |
| add_prefix / add_suffix | string | Префикс/суффикс UART-уведомления |
| add_epcl, add_epc, add_tidl, add_tid, add_ant, add_rssi, add_crlf | bool | Включение соответствующих полей в UART-уведомление |
| notify_uart_alive | bool | Отправка KeepAlive по UART |
| notify_uart_speed | int | Скорость UART |
| ble_keyb | bool | Эмуляция BLE-клавиатуры |
| antenna_stay / antenna_rssi | bool | Фильтр по удержанию антенны и по RSSI удержания |
Ответ. 200 — JSON с текущими параметрами идентификации. При taglist=true в ответ включается таблица обнаруженных меток.
{
"beep_on_tag": true,
"validtime_ms": 1000,
"hold_time_ms": 10000,
"rssi_filter_enable": false,
"rssi_filter_value": -50,
"epc_filter_enable": [false, false, false, false],
"extra_mem_read": true,
"extra_mem_bank": 2,
"accesstable": false,
"notify_enable": false,
"http_enable": true,
"http_endpoint": "/api/rfid",
"notify_ip": "192.168.1.40",
"notify_port": 8001,
"notify_uart": true,
"notify_uart_json": 1,
"notify_uart_speed": 9600
} Полный ответ содержит больше полей (префикс/суффикс UART-строки, набор передаваемых полей и т.д.) — см. таблицу параметров выше.
GET/peripheryconfig
Описание. Возвращает или настраивает параметры периферии (Wiegand, реле, звуковая индикация, рампа).
Параметры (примеры).
| Параметр | Тип | Описание |
|---|---|---|
| w_pullup | bool | Подтяжка линий Wiegand |
| wiegand1_enable, wiegand2_enable | bool | Интерфейсы Wiegand 1 и 2 |
| wiegand1_type, wiegand2_type | int | Тип Wiegand (26, 34, 48 и т.д.) |
| wiegand1_shift_bytes, wiegand2_shift_bytes | int | Смещение данных Wiegand |
| wiegand1_source, wiegand2_source | int | Источник данных Wiegand (1=EPC, иначе DATA) |
| wiegand1_depends, wiegand2_depends | int | Зависимость Wiegand от антенн (битовая маска) |
| timeout_logical_0 / timeout_next_bit | uint16 | Ширина импульса и период следования импульсов Wiegand |
| parity_enable | bool | Биты чётности Wiegand |
| beep_on_start | bool | Звуковой сигнал при старте прибора |
| smartboard_enable | bool | Управление платой SmartBoard |
| smartboard_portN_enable / _timer / _ants | bool / uint32 | Порты SmartBoard: включение, время удержания, зависимость от антенн |
| ramp_link, ramp_enable, ramp_renable | bool | Взаимодействие с контроллером рампы |
| ramp_timeout, ramp_ltimeout, ramp_senable, ramp_stype, ramp_address | uint32 | Параметры работы с рампой |
| wd_hour, wd_min, wd_sec | uint8 | Время ежедневной перезагрузки |
Ответ. 200 — JSON с текущей конфигурацией периферии.
{
"beep_on_start": true,
"rwdog_enable": true,
"rwdog_timeout": 3500,
"wdog_enable": true,
"wd_hour": 23,
"wd_min": 59,
"wd_sec": 59,
"smartboard": { "exists": false }
} GET/checkwiegand
Описание. Проверяет интерфейсы Wiegand, подавая на линии D0 и D1 короткий импульс. Ответ. 200 OK — «OK».
GET/simulatewiegand
Описание. Отправляет тестовые данные по интерфейсу Wiegand для проверки его работы. Ответ. 200 OK — «OK».
GET/lasttag
Описание. Возвращает данные о последней обнаруженной метке на указанной антенне; если инвентаризация не запущена — запускает её.
Параметры. antenna (int, 1–4; по умолчанию 1).
Ответ. 200 — JSON с данными метки (EPC, RSSI, антенна и т.д.).
GET/taglist
Описание. Возвращает список меток, находящихся в зоне действия считывателя и прошедших фильтрацию.
Параметры. limit (int; по умолчанию 50, макс. 150).
Ответ. 200 — JSON с массивом list.
{
"list": [
{
"RTC": "109.088",
"CNT": 1,
"ANT": 1,
"EPC": "77770220F73F0AFD00000006",
"EPCLEN": 12,
"PC": "3400",
"RSSI": -34,
"BANK": 2,
"DATA": "E280117020000220F73F0AFD",
"DATALEN": 12,
"FP": 1
}
]
} | Поле | В примере | Смысл |
|---|---|---|
| EPC | 77770220F73F0AFD00000006 | Уникальный номер метки (память EPC) |
| ANT | 1 | Антенна, обнаружившая метку |
| RSSI | -34 | Сила сигнала (ближе к 0 — сильнее) |
| CNT | 1 | Сколько раз метка прочитана |
| DATA / BANK | E280…0AFD / 2 | Доп. данные из банка памяти (2 = TID) |
Если в зоне несколько меток — массив list содержит соответствующее число объектов. Пустой список {"list":[]} означает, что метки уже «уснули» после чтения (см. validtime_ms) либо их нет в зоне.
GET/taglist_clear
Описание. Очищает список обнаруженных меток. Ответ. 200 OK — «OK».
5Время и система
GET/datetime
Описание. Возвращает системное время и состояние прибора либо устанавливает новое системное время.
Параметры (установка времени). day, month, year, hour, minute, second (int, все вместе) и wday (int, 1–7, где 1 — воскресенье).
Параметры (запрос). taglist (bool) — включить в ответ таблицу текущих меток.
Ответ. При установке — 200 OK «OK». При запросе — 200 JSON с текущим временем, статусом Wi-Fi, состоянием индикации, количеством меток и диагностикой.
{
"param": ["Started 1970-01-01 00:01:48(?)"],
"stassid": "Office-WiFi",
"inventory": false,
"temperature": "0.00",
"tag_types": "uhf",
"log_counter": 38,
"log_errors": 0,
"log_warns": 0
} GET/uart
Описание. Диагностика UART-порта: отправляет тестовую последовательность байт и ожидает ответ. Ответ. 200 OK — «OK».
6Таблица доступа (EEPROM)
GET/accesstable_size
Описание. Текущее количество записей в таблице доступа. Ответ. 200 — число.
0
GET/accesstable_capacity
Описание. Максимальная ёмкость таблицы доступа. Ответ. 200 — число.
GET/accesstable_format
Описание. Форматирует (очищает) таблицу доступа, создавая новый заголовок. Ответ. 200 OK — «OK».
GET/accesstable_part
Описание. Возвращает часть записей таблицы. Параметры. s, f (uint16) — начальный и конечный индексы (включительно), оба обязательны. Ответ. 200 — JSON-массив записей.
GET/accesstable_save
Описание. Сохраняет (перезаписывает) часть записей таблицы.
Параметры. s, f (uint16) — диапазон индексов; data (string) — JSON-массив записей. Все обязательны.
Ответ. 200 OK — «OK».
Пример — запись одной записи (индекс 0):
GET /accesstable_save?s=0&f=0&data=[{"RFID":"E2801170200031215A3B09EF",
"VIS":"00042","CMT":"Volvo_XC",
"A1":62,"SH1":"08","SM1":"00","FH1":"20","FM1":"00",
"A2":0,"SH2":"00","SM2":"00","FH2":"23","FM2":"59","ANT":3}] RFID— EPC-номер метки (24 hex-символа = 12 байт)VIS— визуальный номер пропуска (строка)CMT— комментарий (до 9 символов)A1,A2— маски правил доступа (день недели + признак активности)SH/SM/FH/FM— начало и конец временного интервала правилаANT— маска разрешённых антенн
Маска байта A1/A2:
Бит 7 — признак активности правила (1 = активно) Бит 6 — Суббота Бит 2 — Вторник Бит 5 — Пятница Бит 1 — Понедельник Бит 4 — Четверг Бит 0 — Воскресенье Бит 3 — Среда Примеры: 255 (0xFF) — любой день, без проверки времени 190 (0xBE) — активно, Пн–Пт
Маска байта ANT:
Бит 0 — Антенна 1 Бит 2 — Антенна 3 Бит 1 — Антенна 2 Бит 3 — Антенна 4 1 (0x01) — только антенна 1 3 (0x03) — антенны 1 и 2 15 (0x0F) — все четыре антенны
GET/accesstable_commit
Описание. Фиксирует итоговое количество записей после серии запросов /accesstable_save. Вызывается один раз после успешной отправки всех пакетов и завершает транзакцию обновления таблицы.
Параметры. total (uint16) — итоговое число записей; значения сверх ёмкости отбрасываются. Обязателен.
Ответ. 200 OK — «OK». При отсутствии total — 400.
7Кодирование RFID-меток
Доступно в соответствующей комплектации прибора.
GET/copy_tid
Описание. Кодирование метки по алгоритму «COPY TID»: читает TID, формирует на его основе новый EPC, записывает его в метку, устанавливает новый пароль и блокирует память.
Параметры.
| Параметр | Тип | Описание | Обяз. |
|---|---|---|---|
| pass | string | Текущий пароль метки (8 hex) | Да |
| npass | string | Новый пароль метки (8 hex) | Да |
| filter | string | Новый фильтр EPC (4 hex) | Да |
| serial | string | Новая серийная часть EPC (12 hex) | Да |
| beep | bool | Сигнал при успешном кодировании | Нет |
Ответ. 200 — JSON с результатом операции и деталями закодированной метки.
GET/write
Описание. Записывает произвольные данные в указанный банк памяти метки. Требует аутентификации.
Параметры.
| Параметр | Тип | Описание | Обяз. |
|---|---|---|---|
| antenna | uint8 | Номер антенны для кодирования | Да |
| select | string | EPC выбираемой метки (иначе первая попавшаяся) | Нет |
| pass | string | Пароль доступа к метке (8 hex) | Да |
| bank | uint8 | Банк памяти (0=Reserved, 1=EPC, 2=TID, 3=USER) | Да |
| shift_w | uint8 | Смещение в словах (по 2 байта) | Да |
| datalen_w | uint8 | Длина данных в словах (макс. 6) | Да |
| data | string | Данные в hex (длина по datalen_w) | Да |
| beep | bool | Сигнал при успешном кодировании | Нет |
GET /write?antenna=1&select=000000000000000000000000&pass=00000000 &bank=1&shift_w=2&datalen_w=6&data=1234010105441CDFFF003097&beep=true
Ответ. 200 — JSON с результатом операции.
GET/encode_result
Описание. Возвращает статус и результат последней операции кодирования (/copy_tid или /write). Применяется для опроса хода длительной операции.
Ответ. 200 — JSON: {"status":"processing"} — операция выполняется; {"status":"idle"} — операций нет; либо объект с результатом по завершении.
8Управление периферией (реле)
Все запросы раздела требуют аутентификации и кратковременно замыкают соответствующее реле (либо порт SmartBoard). В теле ответа — строка «OK».
OK
| Запрос | Действие |
|---|---|
| /relay1 | Электромагнитное реле №1 (или порт SmartBoard №1) |
| /relay2 | Электромагнитное реле №2 (или порт SmartBoard №2) |
| /ssr1 | Твердотельное реле (SSR) №1 (или порт SmartBoard №3) |
| /ssr2 | Твердотельное реле (SSR) №2 (или порт SmartBoard №4) |
| /beepontag | Звуковой сигнал (имитация обнаружения метки) |
9Уведомления на хост
При включённых уведомлениях прибор сам отправляет на хост сообщение по каждой обнаруженной метке, удовлетворяющей правилам фильтрации. Транспорт настраивается: TCP-сокет (notify_enable, адрес notify_ip:notify_port) или HTTP GET (http_enable, путь http_endpoint). Формат тела — строка JSON, настраиваемая строка-конструктор или байтовая посылка (выбирается настройкой notify_uart_json). Проводной транспорт (UART, в т.ч. через USB/RS232/RS485) описан в отдельном документе «Протокол взаимодействия с RFID-считывателем по UART».
9.1Событие по обнаруженной метке (JSON)
Фиксированный набор полей. Поля BANK/DATA/DATALEN присутствуют, если у метки были прочитаны дополнительные данные (например, TID).
{"SN":"A1B2C3","RTC":"109.088","ANT":1,"EPC":"77770220F73F0AFD00000006","EPCLEN":12,"RSSI":-34,"BANK":2,"DATA":"E280117020000220F73F0AFD","DATALEN":12} | Поле | Смысл |
|---|---|
| SN | Серийный номер считывателя |
| RTC | Момент обнаружения (время работы, секунды.миллисекунды) |
| ANT | Номер антенны, обнаружившей метку |
| EPC / EPCLEN | Код метки (память EPC) и его длина в байтах |
| RSSI | Уровень сигнала (ближе к 0 — сильнее) |
| BANK / DATA / DATALEN | Банк, содержимое и длина доп. данных (например, TID) — при наличии |
9.2Keep-alive
Если включён keep-alive (notify_uart_alive, по умолчанию включён), прибор периодически — примерно раз в 5 секунд — отправляет «сигнал жив», чтобы хост убеждался в наличии связи. При включённой непрерывной инвентаризации keep-alive идёт в моменты простоя (когда метки нет), при выключенной — регулярно. Поле scan отражает состояние непрерывного сканирования.
{"SN":"A1B2C3","cmd":"act","param":"inventory","warning":"no_tag_alive","scan":false} Состав полей зависит от типа прибора
Приведённый JSON — пример для RFID-считывателя. У BLE-шлюза и других приборов набор полей отличается (например, вместо EPC/ANT передаются идентификатор и параметры BLE-маяка). Формат уведомления (байты, ASCII или JSON) и транспорт доставки (TCP-сокет, HTTP GET, UART, а в соответствующей комплектации — MQTT) настраиваются параметрами идентификации (раздел 4, /tagidentity).
10Примечания и статусы
Аутентификация
Большинство критически важных запросов (изменение настроек, управление реле, кодирование меток) требуют HTTP Basic Authentication. Заводские логин и пароль указаны в паспорте прибора; в целях безопасности настоятельно рекомендуется сменить их сразу после ввода прибора в эксплуатацию через /webaccess (а логин/пароль оператора таблицы доступа — через /tableaccess).
Единый API и комплектация
Набор HTTP-запросов одинаков для всех приборов SAUK. Доступность отдельных функций зависит от комплектации и версии прошивки (кодирование меток, таблица доступа, синхронизация NTP, интеграция MQTT, эмуляция BLE-клавиатуры и т.п.). Фактический перечень включённых опций возвращает поле options запроса /version. Если функция не поддерживается прибором, соответствующий запрос вернёт текст NOT SUPPORT или статус 404.
Формат ответа и статусы HTTP
Большинство запросов возвращают JSON; служебные — простой текст «OK» либо сообщение об ошибке. Основные статусы: 200 OK (успех), 400 Bad Request (неверные параметры), 401 Unauthorized (требуется аутентификация), 403 Forbidden (действие запрещено), 404 Not Found (ресурс не существует или функция не поддерживается), 500 Internal Server Error (внутренняя ошибка).