Перейти к содержимому
Черновик: материал сгенерирован и ещё не вычитан.

Идентификация водителя и объектов

Прибор умеет опознавать водителя или объект четырьмя разными способами: контактным ключом iButton и RFID-меткой по шине 1-Wire, клавиатурой или считывателем по интерфейсу Wiegand, считывателем HID по RS-485 и беспроводными метками ELA по RS-232. Ниже — подключение и настройка для каждого способа, а также работа со списками доверенных ключей прямо из терминала команд.

1-Wire — двунаправленная низкоскоростная шина Dallas Semiconductor. Ей достаточно двух проводов (данные и «земля»), причём линия данных может работать источником паразитного питания; при необходимости питание можно подать отдельным проводом.

Считыватель ключей iButton — контактное устройство: номер ключа считывается в момент касания. Считыватель RFID-меток работает бесконтактно, по радиоканалу.

Подключите считыватель по схеме:

Подключение считывателя iButton или RFID к 1-Wire

После касания ключа его номер попадает в память прибора, пишется точка и уходит на сервер или на microSD-карту. Текущее значение видно на вкладке «Устройство» в поле iButton.

⚙ Показания 1-Wire на вкладке «Устройство»

Ответ на команду IBSTATE показывает то же самое из терминала:

IBSTATE
IBSTATE:iB=<ключ 1>,iB2=<ключ 2>,iButState=<битовая маска доверенных ключей>

Прибор хранит и сравнивает ключи в одном из двух форматов — 4 байта или 8 байт. Формат задаётся командой KEYSIZE, других значений прошивка не принимает:

KEYSIZE — запросить текущее значение
KEYSIZE 4 — работать с 4-байтовыми ключами
KEYSIZE 8 — работать с 8-байтовыми ключами

При KEYSIZE 4 во внутреннем хранилище от 8-байтового кода остаются младшие 4 байта, поэтому два ключа, различающиеся только старшей половиной, станут для прибора одинаковыми. Меняйте размер до наполнения списка ключей, а не после.

Пока ключ приложен, его код держится в памяти; после отрыва прибор обнуляет значение не сразу, а по таймауту. Таймаутов два, и прибор выбирает между ними по величине самого кода — граница проходит по значению 100 000:

IBCFG Timeout=<с>,Timeout100000=<с>,InvertKeys=<0|1>
  • Timeout= — для ключей с кодом больше 100 000 (обычные iButton);
  • Timeout100000= — для ключей с кодом меньше 100 000 (короткие коды RFID-карт и брелоков);
  • InvertKeys= — переворот байтов кода ключа. Нужен, когда считыватель отдаёт номер в обратном порядке относительно того, что напечатано на карте. На «прочие» типы считывателей (Other) переворот не действует.

Значения таймаутов — в секундах.

⚙ Открыть настройки 1-Wire

«Доверенный» ключ — это ключ из заранее заданного списка. Когда приложен ключ из списка, прибор выставляет соответствующий бит в поле Ключи iButton (тег IBUTTONS_STATE, 0x40E9), и это событие можно использовать в EasyLogic или в ПО мониторинга.

Списков три, и они не заменяют друг друга:

СписокГде лежитОбъёмЧем управлять
Ключи в конфигурацииОсновная конфигурация прибора8 ключейIBUTTONS
Внутреннее хранилищеВнутренняя память (флеш или файловое хранилище — зависит от модели)зависит от моделикоманды с суффиксом INT
Внешнее хранилищеmicroSD/eMMC, файл keys.binограничен объёмом картыкоманды без суффикса INT

Самый простой вариант, работает без карты памяти.

  1. Приложите ключ к контактам 1-Wire и GND и запишите значение из поля iButton на вкладке «Устройство».
  2. Внесите значение в список ключей. Из терминала это одна команда — все восемь позиций задаются сразу, в шестнадцатеричном виде:
IBUTTONS <ключ1>,<ключ2>,<ключ3>,<ключ4>,<ключ5>,<ключ6>,<ключ7>,<ключ8>

Запрос текущего списка — IBUTTONS без параметров. Неиспользуемые позиции заполняются нулями.

⚙ Открыть список доверенных ключей

Списки ключей во внутреннем хранилище и на карте

Заголовок раздела «Списки ключей во внутреннем хранилище и на карте»

Когда восьми ключей мало, список ведут во внутреннем хранилище прибора или на карте памяти. Обоими списками управляют одни и те же команды; хранилище выбирается суффиксом INT:

  • без суффикса — внешнее хранилище (microSD/eMMC, файл keys.bin);
  • с суффиксом INT — внутреннее хранилище прибора.

Если выбранного хранилища в приборе нет (например, ADDKEY без карты), команда вернёт ошибку синтаксиса.

Все номера ключей в этих командах задаются в шестнадцатеричном виде, без префикса 0x.

КомандаЧто делаетОтвет
KEYCOUNT / KEYCOUNTINTСколько ключей в спискеKEYCOUNT:<N>;
ADDKEY <k1>,<k2>,… / ADDKEYINT …Добавляет один или несколько ключей за разAdded keys: <N>
DELKEY <k1>,<k2>,… / DELKEYINT …Удаляет перечисленные ключиDeleted keys: <N>
SHOWKEY <n> / SHOWKEYINT <n>Показывает ключ по порядковому номеру, нумерация с 1SHOWKEY 1:<десятичный>(0x<hex>) или nothing
KEYNUMBER <hex> / KEYNUMBERINT <hex>Ищет ключ и возвращает его порядковый номерNumber: <n>; или No key;
CLEARKEYSINTПолностью очищает внутреннее хранилищеCLEARKEYSINT Success. Keys count:0

Особенности, о которых стоит знать заранее:

  • ADDKEY/ADDKEYINT принимают список через запятую — это самый быстрый способ залить пачку ключей одной командой. Нулевой ключ игнорируется, повторы внутри одной команды отбрасываются. В ответе — сколько ключей реально добавлено.
  • DELKEY/DELKEYINT тоже принимают список через запятую; нулевое значение здесь допустимо (им «затирают» ячейку).
  • CLEARKEYSINT работает только с внутренним хранилищем. Команды CLEARKEYS для карты памяти нет: список на карте чистят удалением ключей или заменой файла keys.bin.
  • Файл keys.bin переносится между приборами: его можно скопировать на карту другого терминала.

⚙ Открыть терминал команд

Рецепт: перенести список ключей на новый прибор

Заголовок раздела «Рецепт: перенести список ключей на новый прибор»
KEYCOUNTINT — узнать, сколько ключей в старом приборе
SHOWKEYINT 1 — выписать ключи по одному, от 1 до N
KEYSIZE 8 — на новом приборе задать тот же размер ключа
CLEARKEYSINT — очистить внутреннее хранилище нового прибора
ADDKEYINT 12AB34CD,12AB34CE,… — залить ключи пачками
KEYCOUNTINT — сверить количество
KEYNUMBERINT 12AB34CD — точечно проверить конкретный ключ

Wiegand — простой проводной интерфейс между считывателем СКУД и контроллером. По нему передаётся номер карты, номер брелока, набранный PIN-код или номер шаблона отпечатка пальца. Шифрования, аутентификации и контроля целостности линии интерфейс не предусматривает.

Выходы DATA0 и DATA1 считывателя подключаются к входам IN0 и IN1 либо IN2 и IN3. Отрицательный вход питания клавиатуры соединяется с минусом питания прибора. Поддерживаются считыватели с длиной выходного импульса не менее 250 мкс.

Подключение Wiegand к Galileosky 7x

Подключение Wiegand к Galileosky 10

Для входов задаётся тип фильтра «Wiegand … Data0» и «Wiegand … Data1» соответственно. Из терминала — командой INCFG<номер входа>:

INCFG0 4,5,3000,3000,7000,7000,0
INCFG1 5,5,3000,3000,7000,7000,0

Для второй пары входов — то же самое с INCFG2 и INCFG3.

Параметры INCFG идут в фиксированном порядке и, кроме позиционной записи, принимают именованную:

INCFG<n> FiltType=,FiltLen=,UpLow=,UpHi=,DownLow=,DownHi=,ImpNull=[,PullUp=]
  • FiltType= — тип фильтра (для Wiegand — значения из таблицы ниже);
  • FiltLen= — длина фильтра, от 1;
  • UpLow=, UpHi= — границы зоны срабатывания, мВ;
  • DownLow=, DownHi= — границы зоны несрабатывания, мВ;
  • ImpNull= — обнулять счётчик импульсов после записи точки;
  • PullUp= — подтяжка входа. Восьмой параметр есть только у базовых входов прибора; у остальных входов команда принимает семь параметров.
РазновидностьFiltType для Data0FiltType для Data1
Wiegand-2645
Wiegand-3367
Wiegand-3489
Wiegand-351011
Wiegand-371213
Wiegand-401415
Wiegand-421617
Ручная настройка1819

Разновидности, отличные от Wiegand-26, доступны на 7x с прошивки 47 и на Galileosky 10 с прошивки 1.1.

Ручной режим (типы 18 и 19) задаёт длину посылки и число бит чётности самостоятельно:

WIEGANDCFG<0|1> <длина посылки в битах>,<число бит чётности>
  • индекс 0 — пара входов IN0/IN1, индекс 1 — пара IN2/IN3;
  • длина посылки — 0…64 бита;
  • число бит чётности — 0…2.

Команда WIEGANDCFG сама переводит соответствующую пару входов в ручной режим Wiegand: отдельно выставлять FiltType 18 и 19 не нужно.

⚙ Открыть настройки входов

Считанное значение появляется в ячейке iButton2 (в ПО мониторинга — переменная trailer_id). Десятичное значение, набранное на клавиатуре, передаётся в том формате, в котором его отдаёт считыватель; при необходимости преобразование выполняется на стороне ПО мониторинга.

Для отправки на сервер отметьте в основном пакете поля Статус терминала, iButton, iButton2, Состояние ключей iButton. В ПО мониторинга данные приходят в полях ibutton_code, avl_driver, trailer_id, ibuttons.

⚙ Открыть настройки протокола

Считыватели HID подключаются по RS-485 и обрабатываются алгоритмом EasyLogic.

Подключение считывателя HID по RS-485

Считыватель HID

Линия RS-485 — витая пара; длина шины до 1200 м. На концах линии ставятся согласующие резисторы 150 Ом 0,5 Вт, экран заземляется в одной точке:

Экранирование и согласование линии RS-485

Настройка:

  1. Задайте тип периферии RS-485 = «Только обработчики RS485 в EasyLogic» (RS485FN 4).
  2. Загрузите алгоритм: SCRIPT galileosky/HID.
  3. В настройках CAN-сканера включите «Не обнулять данные», иначе значение будет пропадать между посылками.

Алгоритм держит считанные данные одну секунду, после чего обнуляет их.

Данные раскладываются так:

ИсточникЧто содержит
Тег пользователя 0Facility Code
Тег пользователя 1Номер карты
Пользовательский массивСырая посылка считывателя
CAN8BITR30Признак «карта доверенная»

Facility Code и ведущие нули. Facility Code передаётся числом, и ведущие нули в нём теряются. Чтобы номер не «схлопывался», к старшему байту добавляют префикс 0xF0: например, Facility Code 12345 — это 0x00003039, с префиксом 0xF0003039, то есть 4026544185. В ПО мониторинга старший байт отбрасывается.

Про сам порт RS-485 — распиновку и совместное использование с другими устройствами — читайте в статье «Последовательные порты».

⚙ Открыть настройки RS-485

Считыватель SCIEL READER Lite подключается по RS-232 и принимает беспроводные метки ELA.

Подключение SCIEL READER Lite по RS-232

Загрузите алгоритм под нужный порт:

SCRIPT galileosky/ELAsens_0 — для RS232[0]
SCRIPT galileosky/ELAsens_1 — для RS232[1]

Метки регистрируются командами алгоритма, до 10 меток:

ADDSENS <тип>,<идентификатор> — добавить метку
DELSENS <идентификатор> — удалить метку

Идентификатор задаётся в десятичном виде. Типы меток:

ТипНазначение
1Идентификатор прицепа
2Геркон двери
3Температура

Возможные ответы об ошибках: No more free space in the file! — список меток заполнен; File write fail, check SD card! — нет карты памяти или ошибка записи.

⚙ Открыть настройки RS-232

  • Wiegand: 7x и Galileosky 10 с прошивки 38; разновидности 33/34/35/37/40/42 и ручной режим — 7x с 47, Galileosky 10 с 1.1.
  • Считыватели HID и метки ELA требуют алгоритма EasyLogic и, соответственно, прибора с поддержкой EasyLogic.

См. также: Алгоритмы идентификации · Дискретные, токовые датчики и терморезисторы · Датчики температуры и влажности · Последовательные порты RS-232 и RS-485