Протокол взаимодействия c RFID-считывателями SAUK по шинам RS
ПРОТОКОЛ ВЗАИМОДЕЙСТВИЯ С RFID-СЧИТЫВАТЕЛЯМИ SAUK
ПО ПРОВОДНЫМ ШИНАМ ДАННЫХ
(ДЛЯ СЧИТЫВАТЕЛЕЙ С ПРОШИВКОЙ ВЕРСИИ ВЫШЕ 2.9)
УПРАВЛЕНИЕ ПРОЦЕССОМ ИНВЕНТАРИЗАЦИИ RFID-МЕТОК (СКАНИРОВАНИЯ RFID-МЕТОК)
1. Старт непрерывного сканирования
1 | 2 | 3 | 4 | 5 | 6 | 7 |
---|---|---|---|---|---|---|
0xA0 | 0x00 | 0x01 | START&STOP | FLASH | 0x0D | 0x0A |
START&STOP:
- 0x01 – запустить непрерывное сканирование
- 0x00 – остановить непрерывное сканирование
- 0x00 – без сохранения параметров во встроенную FLASH память
- 0x01 – перезапись файла конфигурации во FLASH память
- Запуск сканирования без сохранения во FLASH: `A0 00 01 01 00 0D 0A`
- Остановка сканирования без сохранения: `A0 00 01 00 00 0D 0A`
2. Запустить кратковременное сканирование, 1 раз
1 | 2 | 3 | 6 | 7 |
---|---|---|---|---|
0xA0 | 0x00 | 0x02 | 0x0D | 0x0A |
КОМАНДЫ ОБЩЕГО НАЗНАЧЕНИЯ
3. Версия программного обеспечения, серийный номер устройства
Запрос: {"cmd":"get","param":"version"}\n\r
Пример ответа:
{
Запрос: {"cmd":"get","param":"version"}\n\r
Пример ответа:
{
"result":"ok", "version":{ "serial":"179DFC", "firmware":"2.8", "hardware":"1.5" }}
ПАРАМЕТРЫ РАБОТЫ С RFID-МЕТКАМИ
1. Время сна RFID-метки
Запрос:
{"cmd":"set","param":"tagidentity.validate_ms","value":INTEGER}\n\r
INTEGER: Целочисленное значение от 500 мс до 60000 мс
Ответ:
{"result":"ok"}
2. Время удержания RFID-метки в таблице идентификации
Запрос:
{"cmd":"set","param":"tagidentity.hold_time_ms","value":INTEGER}\n\r
INTEGER: Целочисленное значение от 500 мс до 60000 мс
Ответ: {"result":"ok"}
3. Активация RSSI-фильтра
Запрос:
{"cmd":"set","param":"tagidentity.rssi_filter_enable","value":BOOL}\n\r
BOOL:
{"result":"ok"}
4. Значение сигнала RSSI-фильтра
Запрос:
{"cmd":"set","param":"tagidentity.rssi_filter_value","value":INTEGER}\n\r
INTEGER: Целочисленное значение от -90 до 0 dB (отрицательная величина)
Ответ:
{"result":"ok"}
5. Активация EPC-фильтра
Запрос:
{"cmd":"set","param":"tagidentity.epc_filter_enableINDEX","value":BOOL}\n\r
INDEX: Целочисленный параметр – номер фильтра, от 1 до 4
BOOL:
{"result":"ok"}
Пример:
{"cmd":"set","param":"tagidentity.epc_filter_enable1","value":true}\n\r
6. Установка нового значения EPC-фильтра
Запрос: {"cmd":"set",
\n\r
INDEX: Целочисленный параметр – номер фильтра, от 1 до 4
HEX_STR: До 24 символов HEX, что составляет 12 байт. Функция принимает значения от 0 до F. Все значения, не попадающие в диапазон, будут заменены на 0.
Ответ:
{"result":"ok"}
Пример:
{"cmd":"set","param":"tagidentity.epc_filter_enable1","value":"0102030A0B"}\n\r `
7. Включение и отключение звукового оповещения при сканировании RFID-метки
Запрос:
{"cmd":"set","param":"tagidentity.beep_on_tag","value":BOOL}\n\r
BOOL:
{"result":"ok"}
8. Задать новый пароль для чтения памяти TID у RFID-метки
Запрос:
{"cmd":"set","param":"tagidentity.epc_access_password", "value":"STRING[4]"}\n\r
STRING[4]: 8 символов HEX, что составляет 4 байта. Функция принимает значения от 0 до F. Все значения, не попадающие в диапазон, будут заменены на 0.
Ответ:
{"result":"ok"}
Пример:
{"cmd":"set","param":"tagidentity.epc_access_password","value":"112233AA"}\n\r
9. Установка разрешения чтения дополнительного сектора памяти (в текущей ревизии только память TID)
Запрос:
{"cmd":"set","param":"tagidentity.extra_mem_read","value":BOOL}\n\r
BOOL:
{"result":"ok"}
10. Установка смещения при чтении дополнительного сектора памяти (в текущей ревизии только TID)
Запрос:
{"cmd":"set","param":"tagidentity.data_start_bytes","value":INTEGER}\n\r
INTEGER: Целочисленное значение от 0 до 12 байт
Ответ:
{"result":"ok"}
11. Установка длины при чтении дополнительного сектора памяти (в текущей ревизии только TID)
Запрос: {"cmd":"set","param":"tagidentity.data_len_bytes","value":INTEGER}\n\r
INTEGER: Целочисленное значение от 0 до 12 байт
Ответ:
{"result":"ok"}
Запрос:
{"cmd":"set","param":"tagidentity.validate_ms","value":INTEGER}\n\r
INTEGER: Целочисленное значение от 500 мс до 60000 мс
Ответ:
{"result":"ok"}
2. Время удержания RFID-метки в таблице идентификации
Запрос:
{"cmd":"set","param":"tagidentity.hold_time_ms","value":INTEGER}\n\r
INTEGER: Целочисленное значение от 500 мс до 60000 мс
Ответ: {"result":"ok"}
3. Активация RSSI-фильтра
Запрос:
{"cmd":"set","param":"tagidentity.rssi_filter_enable","value":BOOL}\n\r
BOOL:
- true – активировать RSSI-фильтр
- false – деактивировать RSSI-фильтр
{"result":"ok"}
4. Значение сигнала RSSI-фильтра
Запрос:
{"cmd":"set","param":"tagidentity.rssi_filter_value","value":INTEGER}\n\r
INTEGER: Целочисленное значение от -90 до 0 dB (отрицательная величина)
Ответ:
{"result":"ok"}
5. Активация EPC-фильтра
Запрос:
{"cmd":"set","param":"tagidentity.epc_filter_enableINDEX","value":BOOL}\n\r
INDEX: Целочисленный параметр – номер фильтра, от 1 до 4
BOOL:
- true – активировать EPC-фильтр
- false – деактивировать EPC-фильтр
{"result":"ok"}
Пример:
{"cmd":"set","param":"tagidentity.epc_filter_enable1","value":true}\n\r
6. Установка нового значения EPC-фильтра
Запрос: {"cmd":"set",
"param":"tagidentity.
epc_filter_valueINDEX", "value":"
HEX_STR "}
\n\r
INDEX: Целочисленный параметр – номер фильтра, от 1 до 4
HEX_STR: До 24 символов HEX, что составляет 12 байт. Функция принимает значения от 0 до F. Все значения, не попадающие в диапазон, будут заменены на 0.
Ответ:
{"result":"ok"}
Пример:
{"cmd":"set","param":"tagidentity.epc_filter_enable1","value":"0102030A0B"}\n\r `
7. Включение и отключение звукового оповещения при сканировании RFID-метки
Запрос:
{"cmd":"set","param":"tagidentity.beep_on_tag","value":BOOL}\n\r
BOOL:
- true – активировать Buzzer
- false – деактивировать Buzzer
{"result":"ok"}
8. Задать новый пароль для чтения памяти TID у RFID-метки
Запрос:
{"cmd":"set","param":"tagidentity.epc_access_password", "value":"STRING[4]"}\n\r
STRING[4]: 8 символов HEX, что составляет 4 байта. Функция принимает значения от 0 до F. Все значения, не попадающие в диапазон, будут заменены на 0.
Ответ:
{"result":"ok"}
Пример:
{"cmd":"set","param":"tagidentity.epc_access_password","value":"112233AA"}\n\r
9. Установка разрешения чтения дополнительного сектора памяти (в текущей ревизии только память TID)
Запрос:
{"cmd":"set","param":"tagidentity.extra_mem_read","value":BOOL}\n\r
BOOL:
- true – разрешение чтения памяти
- false – запрет чтения памяти
{"result":"ok"}
10. Установка смещения при чтении дополнительного сектора памяти (в текущей ревизии только TID)
Запрос:
{"cmd":"set","param":"tagidentity.data_start_bytes","value":INTEGER}\n\r
INTEGER: Целочисленное значение от 0 до 12 байт
Ответ:
{"result":"ok"}
11. Установка длины при чтении дополнительного сектора памяти (в текущей ревизии только TID)
Запрос: {"cmd":"set","param":"tagidentity.data_len_bytes","value":INTEGER}\n\r
INTEGER: Целочисленное значение от 0 до 12 байт
Ответ:
{"result":"ok"}
УПРАВЛЕНИЕ RFID-АНТЕННАМИ И МОЩНОСТЬЮ СИГНАЛА
1. Установка мощности на RFID-портах (на антеннах)
Запрос:
{"cmd":"set","param":"rfidconfig.pwrantINDEX","value": INTEGER }\n\r
INTEGER: Целочисленное значение от 18 до 33 dB. Разные типы оборудования имеют различную мощность. Каждый тип оборудования имеет свои программные ограничения, ограничение по максимальному и минимальному уровню выставляются автоматически.
INDEX: Целочисленный параметр – номер антенны, от 1 до 4
Ответ:
{"result":"ok"}
Пример:
{"cmd":"set","param":"rfidconfig.pwrant1","value":21}\n\r
2. Включение и отключение RFID-портов (антенн)
Запрос:
{"cmd":"set","param":"rfidconfig.enantINDEX","value":BOOL}\n\r
BOOL:
Ответ:
{"result":"ok"}
Пример:
{"cmd":"set","param":"rfidconfig.enant1","value":true}\n\r {"cmd":"set","param":"rfidconfig.enant2","value":false}\n\r
3. Включение и отключение частотных каналов (866.3, 866.9, 867.5 МГц)
Запрос:
{"cmd":"set","param":"rfidconfig.rf_freq","value":"STRING"}\n\r
STRING: Строковый параметр. Комбинация 3 бинарных значений 0 и 1. Например 111, 010, 101, 110, 100 и пр.
Ответ:
{"result":"ok"}
Пример:
Запрос:
{"cmd":"set","param":"rfidconfig.pwrantINDEX","value": INTEGER }\n\r
INTEGER: Целочисленное значение от 18 до 33 dB. Разные типы оборудования имеют различную мощность. Каждый тип оборудования имеет свои программные ограничения, ограничение по максимальному и минимальному уровню выставляются автоматически.
INDEX: Целочисленный параметр – номер антенны, от 1 до 4
Ответ:
{"result":"ok"}
Пример:
{"cmd":"set","param":"rfidconfig.pwrant1","value":21}\n\r
2. Включение и отключение RFID-портов (антенн)
Запрос:
{"cmd":"set","param":"rfidconfig.enantINDEX","value":BOOL}\n\r
BOOL:
- true – активировать антенну
- false – деактивировать антенну
Ответ:
{"result":"ok"}
Пример:
{"cmd":"set","param":"rfidconfig.enant1","value":true}\n\r {"cmd":"set","param":"rfidconfig.enant2","value":false}\n\r
3. Включение и отключение частотных каналов (866.3, 866.9, 867.5 МГц)
Запрос:
{"cmd":"set","param":"rfidconfig.rf_freq","value":"STRING"}\n\r
STRING: Строковый параметр. Комбинация 3 бинарных значений 0 и 1. Например 111, 010, 101, 110, 100 и пр.
Ответ:
{"result":"ok"}
Пример:
- Включить все частотные диапазоны, а именно 866.3 МГц, 866.9 МГц и 867.5 МГц:
- Включить только частоту 866.9 МГц:
УВЕДОМЛЕНИЕ ОБ ОБНАРУЖЕННЫХ МЕТКАХ ПО КАНАЛУ UART (RS232, RS485)
1. Байтовый протокол обмена
На примере: ``` A00002 0C 4E2019DBC608800000000000 00 000000000000000000000000 01 46 0D0A ```
На примере: ``` A00002 0C 4E2019DBC608800000000000 00 000000000000000000000000 01 46 0D0A ```
- Преамбула, 3 байта:** `A0 00 02`
- Длина EPC-номера, 1 байт:** `0C` (в текущей ревизии прошивки длина ограничена 12-ю байтами)
- EPC-номер, 12 байт:** `4E2019DBC608800000000000`
- Длина данных из TID памяти, 1 байт:**
* А) `00` – если TID не запрашивается
из метки * Б) `XX` – длина части памяти, которая
зачитывается из TID, максимум 12 байт
- Содержимое TID памяти, 12 байт:** По умолчанию все байты `00`. Значащие данные, прочитанные из памяти RFID-метки, идут спереди.
- Номер антенны, 1 байт:** `01`
- RSSI, 1 байт:** `46`
- Суффикс – маркер окончания посылки, 2 байта:** `0D0A`
SAUK© 2020 – 2025. Все тексты и изображения, представленные на сайте, являются интеллектуальной собственностью SAUK. Могут быть использованы только по письменному согласию SAUK. SAUK® является зарегистрированным торговым знаком.