SAUK. Протокол WEB-API для Wi-Fi и Ethernet
Журнал версий
Версия | Дата | Комментарий |
---|---|---|
V.1.0 | 20.05.2022 | Выпуск документа |
V.1.1 | 15.08.2022 | Добавление команд группы rfidconfig |
V.1.2 | 18.10.2022 | Добавление команд группы peripheryconfig |
V.1.3 | 12.11.2022 | Добавление команд группы tagidentity |
V.1.4 | 05.05.2023 | Добавление команд группы netinfo |
V.1.5 | 22.01.2023 | Общая корректировка, актуализация синтаксиса |
Комментарии к тексту документа
В документации применяется IP-адрес системы 192.168.10.1, этот адрес может отличаться от текущих настроек Вашего прибора. Перед выполнением http запросов, описанных в настоящем документе, пожалуйста, убедитесь, что используемый IP-адрес актуален.
Терминология
Термин \ фраза | Комментарий |
---|---|
Инвентаризация | Процесс чтения RFID-меток, которые попали в зону действия системы. В настоящей документации процесс инвентаризации также называется непрерывное сканирование. |
Таблица идентификации | Внутренний буфер прибора SAUK, в котором хранится информация о прочитанной RFID-метке. |
Хост | Устройство клиента, которое работает с RFID-системой SAUK. Хостом может выступать сервер, персональный компьютер, ноутбук, смартфон, программируемый логический контроллер, микропроцессорная плата и другие устройства, поддерживающие работу в сети Ethernet и/или Wi-Fi. |
Вкладка меню №1 | RFID-параметры устройства. Частоты, мощность излучения и управление антеннами |
Вкладка меню №2 | RFID-метки. Идентификация, фильтрация и каналы уведомления на хост |
Вкладка меню №3 | Реле и цифровые порты Wiegand |
Вкладка меню №4 | Дата и время. Настройка системного времени |
Вкладка меню №5 | Wi-Fi и Ethernet. Параметры сети |
1. Общее описание
RFID-системы SAUK с поддержкой сетевых интерфейсов Ethernet или Wi-Fi, могут быть интегрированы в сторонние информационно-учетные системы с применением унифицированного открытого протокола «WEB API. Коммутационный протокол для RFID-систем SAUK». Протокол, описываемый в настоящем документе, является разновидностью API клиент-серверной архитектуры REST (Representational State Transfer).
1.1. Процесс инвентаризации меток и таблица идентификации
В этой главе описываются способы включения процесса инвентаризации меток (сканирования меток), а также описано, как метка и её идентификационные данные, представлены в оперативной памяти прибора. Способы включения процесса инвентаризации меток:
1 Если вы работаете в режиме непрерывной инвентаризации, то значение параметра «Считываний за 1 команду» следует установить в 1.
В том или ином случае активируется сканирование RFID-меток. При возникновении RFID-метки в зоне действия системы, она идентифицируется мгновенно, после чего попадает в буфер «Таблица идентификации», при этом, запись о каждой метке дополняется системным временем идентификации метки RTC2 , номером антенны ANT3 , силой RSSI сигнала отметка метки, счётчиком успешных сканирований метки CNT (в зависимости от настроек, может считываться дополнительная область памяти метки, например TID или USER). В большинстве случаев этой информации вполне достаточно для последующей постобработки и аналитики данных. После попадания метки в таблицу идентификации, вышеуказанные данные будут обновлены по истечению таймаута «Время сна метки». Ключевым полем для поиска метки в таблице идентификации является EPC-номер метки. 2 Если вы работаете в режиме непрерывной инвентаризации, то значение параметра «Считываний за 1 команду» следует установить в 1. 3 Для системы с одной антенной типа моноблок – номер всегда №1. Для многопортовых систем – от 1 до 4 Пример данных из таблицы идентификации:
Каждый раз при успешном сканировании RFID-метки счетчик CNT будет инкрементироваться на 1, время регистрации метки будет обновлено, значения параметров также RSSI, PHASE будут актуализироваться. Если в течение таймаута «Время удержания в таблице» метка прочитана не будет, то она будет удалена из таблицы идентификации.
Обратите внимание. После первого попадания метки в таблицу идентификации и каждый раз при последующем её сканировании, по истечению таймаута «Время сна метки» будут выполняться следующие автоматические сценарии (если они активны, то есть включены в настройках прибора – см. соответствующий раздел):
3 Для системы с одной антенной типа моноблок – номер всегда №1. Для многопортовых систем – от 1 до 4.
- Прибор SAUK начинает процесс непрерывной инвентаризации меток в тот момент, когда устанавливается флаг /rfidconfig?infiniteinventory в состояние true. В графическом пользовательском интерфейсе процесс инвентаризации меток запускается путем включения чекбокса «Непрерывное сканирование» во вкладке меню № 1. Процесс инвентаризации будет продолжаться непрерывно до тех пор, пока его не отключить.
- Инвентаризацию меток можно выполнять кратковременно путем выполнения сервисной команды /inventory_once. Соответствующая кнопка в графическом интерфейсе «Сканировать 1 раз» расположена во вкладке меню № 2. При выполнении команды произойдет кратковременное включение радиотракта. При этом процесс включения может производиться несколько раз подряд, количество включений задается параметром /rfidconfig?repeattime, соответствующий параметр графического интерфейса – Считываний за 1 команду1 во вкладке меню № 1.
- Инвентаризацию меток можно выполнять по внешнему событию – при срабатывании цифрового входа HOLD. При подаче управляющего воздействия на цифровой вход флаг непрерывного сканирования будет взведен автоматически на минимальное время, которое установлено в настройках, вплоть до полного снятия управляющего воздействия с порта Hold.
1 Если вы работаете в режиме непрерывной инвентаризации, то значение параметра «Считываний за 1 команду» следует установить в 1.
В том или ином случае активируется сканирование RFID-меток. При возникновении RFID-метки в зоне действия системы, она идентифицируется мгновенно, после чего попадает в буфер «Таблица идентификации», при этом, запись о каждой метке дополняется системным временем идентификации метки RTC2 , номером антенны ANT3 , силой RSSI сигнала отметка метки, счётчиком успешных сканирований метки CNT (в зависимости от настроек, может считываться дополнительная область памяти метки, например TID или USER). В большинстве случаев этой информации вполне достаточно для последующей постобработки и аналитики данных. После попадания метки в таблицу идентификации, вышеуказанные данные будут обновлены по истечению таймаута «Время сна метки». Ключевым полем для поиска метки в таблице идентификации является EPC-номер метки. 2 Если вы работаете в режиме непрерывной инвентаризации, то значение параметра «Считываний за 1 команду» следует установить в 1. 3 Для системы с одной антенной типа моноблок – номер всегда №1. Для многопортовых систем – от 1 до 4 Пример данных из таблицы идентификации:
{ "RTC":"01:20:59", "CNT":1, "ANT":1,
"PC":"3400", "EPC":
"7716710A1CD1000000000003","EPCLEN":12,
"BANK":2,"DATA": "E280110C2000710A1CD108F6","DATALEN":12,
"PHASE":176, "RSSI":-42 }
Каждый раз при успешном сканировании RFID-метки счетчик CNT будет инкрементироваться на 1, время регистрации метки будет обновлено, значения параметров также RSSI, PHASE будут актуализироваться. Если в течение таймаута «Время удержания в таблице» метка прочитана не будет, то она будет удалена из таблицы идентификации.
Обратите внимание. После первого попадания метки в таблицу идентификации и каждый раз при последующем её сканировании, по истечению таймаута «Время сна метки» будут выполняться следующие автоматические сценарии (если они активны, то есть включены в настройках прибора – см. соответствующий раздел):
- коммутация реле в соответствии с правилами коммутации реле (см. раздел /peripheryconfig);
- отправка уведомлений на хост по каналам UART (см. раздел /tagidentity);
- отправка уведомлений на хост по каналам Ethernet и Wi-Fi (см. раздел /tagidentity);
- управление интерфейсными линиями Wiegand;
- иллюминация внешней светодиодной RGB индикации (на лицевой панели прибора SAUK).
3 Для системы с одной антенной типа моноблок – номер всегда №1. Для многопортовых систем – от 1 до 4.
1.2. Проверка прав доступа, свой \ чужой
Большая часть автоматических сценариев таких как управления реле, отправка данных по интерфейсам Wiegand, отправка уведомлений на хост, срабатывают после прохождения меткой процедуры проверки идентификационных параметров на соответствие ряду правил. Процесс проверки соответствия этим правилам называется «проверка прав доступа». Права доступа могут проверяться по следующим основным критериям:
- соответствие части EPC-номера фильтру (как правило это значение первых нескольких байт EPC-номера).
- Проверка пароля доступа AccessPassword к памяти EPC-метки.
- Проверка наличия EPC-номера метки в таблице доступа и проверка разрешения доступа для этой метки.
- Если метка соответствует критериям, то производится срабатывание настроенных автоматических сценариев. Также производится подсветка RGB светодиодной индикации на лицевой панели прибора или на специализированной выносной панели индикации (в зависимости от модификации прибора). Светодиодная индикация загорается зеленым цветом. Также метка попадает в таблице идентификации.
- Если метка не соответствует критериям, то выполнение автоматических сценариев блокируется, а метка не попадает в таблицу идентификации. Подсветка RGB загорается голубым цветом (за исключением единственного случая – если проверка пароля AccessPassword не была пройдена).
1.3. Обмен данными между прибором SAUK и хостом по http
Для обмена сообщениями с RFID-системой используется протокол передачи гипертекста HTTP – это протокол разметки, в соответствии с которым, формируется запрос на передачу и получение данных (или передачу команд прибору SAUK). Все функции, доступные в WEB-интерфейсе (при работе с интерфейсом пользователя из браузера) RFID-системы могут быть доступны для работы не только из браузера, но также из любой сторонней информационно-учетной системы, поддерживающий вышеуказанный протокол обмена (например, из 1С или другой WMS, ERP-системы). Данные от RFID-системы могут быть запрошены в любой произвольный момент, также конфигурационные параметры RFID-системы, могут быть изменены любой момент.
Рисунок 1. Диаграмма с потоками данных между RFID-системой и хостом
Пример запроса данных из RFID-системы. Запрос меток, которые обнаружила система (запрос меток из таблицы идентификации).
Запрос: http://192.168.10.1/taglist
Ответ:
Анализируя результат запроса видно, что в буфере прибора хранится две RFID-метки, EPC-номер первой из них 7716710A1CD1000000000003, а второй 77770021D158000000000001. Также видно, что обе метки попали в зону действия антенны №1. При этом, сигнал от метки №2 с уровнем -29 dBm более уверенный, нежели от метки №1 с уровнем -74 dBm. Также видно, что метка №2 была успешно просканирована 248 раз, а метка №1 только 110 раз. По вышеописанным данным уже можно сделать некоторые выводы и предположения о качестве беспроводной связи с метками, то есть, о качестве сканирования метки:
Запрос: http://192.168.10.1/taglist
Ответ:
{"list": [ {"RTC":"01:20:59","CNT":110,
"ANT":1,"PC":"3400",
"EPC":"7716710A1CD1000000000003",
"EPCLEN":12,"RSSI":-74}, {"RTC":"01:20:59","CNT":248,"ANT":1,"PC":
"3400", "EPC":"77770021D158000000000001
","EPCLEN":12,"RSSI":-29} ]}
Анализируя результат запроса видно, что в буфере прибора хранится две RFID-метки, EPC-номер первой из них 7716710A1CD1000000000003, а второй 77770021D158000000000001. Также видно, что обе метки попали в зону действия антенны №1. При этом, сигнал от метки №2 с уровнем -29 dBm более уверенный, нежели от метки №1 с уровнем -74 dBm. Также видно, что метка №2 была успешно просканирована 248 раз, а метка №1 только 110 раз. По вышеописанным данным уже можно сделать некоторые выводы и предположения о качестве беспроводной связи с метками, то есть, о качестве сканирования метки:
- Например, зная, что обе метки одинаковые, и сканирование обоих меток начато одновременно, можно предположить, что метка №2 находится ближе к антенне, а метка №1 расположена на удалении.
- Например, если обе метки используются одинаково (допустим, они наклеены на одинаковые коробки с товарами), и метки находятся равноудалены относительно антенны. То метка №2 имеет более выгодное расположение, а метку №1 следует расположить немного иначе – тем самым попытаться улучшить качество её сканирования.
1.4. Уведомления о RFID-метках по Socket TCP\IP
При работе с системой SAUK могут быть настроены уведомления об обнаруженных RFID-метках. Уведомления – это сообщения, об обнаруженных RFID-метках, которые отправляются на хост. Уведомления о RFID-метках отправляются на хост с некоторой задержкой, которая составляет величину от 5 мс до 1000 мс после появления RFID-метки в зоне действия антенны. Уведомление отправляется по технологии сокетов (Socket TCP/IP). При работе с уведомлениями важно, чтобы на стороне хоста было серверное приложение, которое должно слушать все входящие соединения по указанному в настройках номеру порта. Формат уведомления может быть байтовым или текстовым, запакованным в строку JSON. Более подробно об уведомлениях и формате пересылки данных написано в соответствующем разделе настоящей документации.
```
```
2. Формат и структура запроса данных и отправки команды
Запросы, в соответствии протоколом WEB API, возможно отправлять не только из сторонней информационно-учетной системы, а также через адресную строку браузера. Однако целевое назначение API – работа с оборудованием не из браузера, а именно из сторонней информационно-управляющей системы. Для упрощения разъяснений и благодаря возможности быстрой проверки выполнения команд и получения результата, будем рассматривать отправку запросов через браузер.
Пример №1: «Запрос параметров настройки RFID-тракта»
Заголовок | Регистр |
---|---|
http://192.168.10.1 | /rfidconfig |
Выполнение через адресную строку: http://192.168.10.1/rfidconfig Ответ: cтрока в формате JSON, которая содержит значение регистра rfidconfig. Через WEB-интерфейс: пользователь разворачивает вкладку меню №1
Пример №2: «Отключение непрерывного сканирования»
Заголовок | Регистр | ? | Параметр |
---|---|---|---|
http://192.168.10.1 | /rfidconfig | ? | infiniteinventory=false |
Выполнение через адресную строку: http://192.168.10.1/rfidconfig?infiniteinventory=false Ответ: cтрока в формате JSON, которая содержит значение регистра rfidconfig. Через WEB-интерфейс: отключение чекбокса «Непрерывное сканирование» во вкладке меню №1
Пример №3: «Установка мощности излучения ант. 1 на 23 dBm и включение сканирования»
Заголовок | Регистр | ? | Параметр 1 | & | Параметр 2 |
---|---|---|---|---|---|
http://192.168.10.1 | /rfidconfig | ? | pwrant1=23 | & | infiniteinventory=true |
Выполнение через адресную строку: http://192.168.10.1/rfidconfig?pwrant1=23&infiniteinventory=true Ответ: cтрока в формате JSON, которая содержит значение регистра rfidconfig. Через WEB-интерфейс: во вкладке меню №1 – пользователь настраивает мощность путем перемещения ползунка регулировки мощности для антенны №1, затем производит включение «Непрерывное сканирование».
Обратите внимание. Изменения того или иного параметра в регистре приводит к возврату JSON-строки, которая содержит все параметры регистра (в данном примере – регистра rfidconfig), но уже с обновленными значениями параметра или нескольких параметров (если они менялись при выполнении запроса). ```
Обратите внимание. Изменения того или иного параметра в регистре приводит к возврату JSON-строки, которая содержит все параметры регистра (в данном примере – регистра rfidconfig), но уже с обновленными значениями параметра или нескольких параметров (если они менялись при выполнении запроса). ```
SAUK© 2020 – 2025. Все тексты и изображения, представленные на сайте, являются интеллектуальной собственностью SAUK. Могут быть использованы только по письменному согласию SAUK. SAUK® является зарегистрированным торговым знаком.