Авторские права компании «Простые решения» защищены законом.

Несанкционированное копирование, демонстрация, распространение или другое использование разрабатываемых компанией продуктов и документации к ним в какой бы то ни было форме и любыми средствами являются противозаконными.

Введение

Wiegand конвертер (далее WGC) предназначен для встраивания системы биометрической идентификации Smilart в любую систему СКУД, работающую со считывателями по протоколу Wiegand.

WGC построен на базе платы-контроллера Arduino UNO с Ethernet-шилдом на базе микросхемы W5100. Для удобства подключения дополнительно может быть установлен шилд с винтовыми разъемами.

В зависимости от режима работы системы, WGC подключается либо в разрыв между считывателем идентификационных карт и СКУД (режим верификации), либо вместо (вместе) со считывателем идентификационных карт (режим идентификации). WGC поддерживает работу двух каналов Wiegand для обслуживания двух направлений прохода (вход и выход). Одномоментная работа двух каналов WGC невозможна, при активации одного из каналов, второй находится в режиме ожидания (горит красный светодиод (табло)), до завершения прохода активного канала. Проход одной персоны в режиме идентификации в одном и том же направлении возможен не ранее чем через несколько секунд после прекращения идентификации данной персоны с камеры этого направления. Т.е. персона должна уйти из поля зрения камеры данного направления прохода на некоторое время, иначе код карты не будет повторно послан контроллеру СКУД. Это позволяет ограничить использование идентификации по лицу для пропуска других персон. Другие персоны камерой данного направления идентифицируются без задержки.

Прошивка Arduino UNO (создание WGC)

Перед прошивкой контроллера, на компьютер необходимо установить драйвера для микросхемы интерфейса USB вашей платы Arduino. Драйвер для чипа CH340, приложен в комплекте. Прошивка контроллера Arduino осуществляется программой Xloader. Для этого необходимо выбрать тип контроллера (Arduino UNO) и порт к которому подключена плата. Остальные настройки оставить по умолчанию.

xloader

Файл для прошивки находится в архиве под именем WGC.hex.

После прошивки к контроллеру необходимо подключиться терминальной программой PuTTY для настройки параметров.

putty1

В программе PuTTY необходимо выбрать Serial, нужный последовательный порт и скорость 9600.

В разделе Terminal поставить галочку Implicit CR in every LF.

В разделе Keyboard выбрать в пункте The Backspace key Control-? (127) и в пункте The Function keys and End keys VT100+

putty2

При первом запуске терминальной программы запускается конфигуратор первоначальной настройки системы WGC. Необходимо ввести требуюмую информацию в полном объеме. Не допускается пропускать пункты нажатием клавиши Enter.

console1
  1. Режим работы конвертера — в случае работы в режиме верификации — V, для работы в режиме идентификации — W и формат используемого протокола Wiegand в вашей системе СКУД, без пробела. Например: W26 – для Wiegand-26, W34 — Wiegand-34 и т.д. При работе WGC в отделе кадров в режиме автоматического обучения (необходима отдельная прошивка LmWGC или LhWGC) — L (пока не реализовано на сервере).
    В режиме верификации WGC работает с полем Ключ базы данных Smilart, в котором должен находится ключ карты в одном из следующих форматов:

    1. 10-ти значный код карты (по умолчанию);

    2. site-код и 5-ти значный код карты с символом-разделителем между ними (необходимо ввести V 3-5 для формата XXX-YYYYY или V 3,5 - для формата XXX,YYYYY);

    3. 5-ти значный код карты (необходимо ввести V 5);
      В режиме идентификации WGC корректно работает с любым форматом ключа в базе Smilart без дополнительной спецификации.

  2. Идентификатор конвертера из одного или двух чисел от 1 до 255.
    Идентификатор участвует в формировании уникального имени при подключении к системе сообщений RabbitMQ сервера Smilart. Не используйте одинаковые идентификаторы для разных WGC в одной системе. Два идентификатора удобно использовать при работе системы с несколькими проходными (помещениями). При этом старший идентификатор будет определять номер проходной (помещения), а младший — номер турникета (шлюза). При вводе только одного числа, старший идентификатор будет равен 1.
    Например: 2 3 для 3-го турникета (прохода) во 2-м помещении

  3. ip-адрес конвертера в локальной сети.
    Например: 192.168.1.101

  4. ip-адрес сервера Smilart в локальной сети.
    Например: 192.168.1.201

  5. Название камеры или камер (через пробел) на сервере Smilart. Первой указывается камеры, обслуживающая входную зону, через пробел, при необходимости, выходную.
    Например: basler1In basler2Out
    Имена камер должны полностью совпадать с названиями камер на сервере и содержать не более 29 символов.

На этом первоначальная настройка WGC завершена и система готова к работе.

Дополнительный настройки WGC

При необходимости можно изменить настройки для адреса шлюза gateway и маски сети mask командами:
gateway и mask, соответственно.

Эти значения также можно задать при вводе ip-адреса конвертера.
Например: ip 192.168.10.101 192.168.10.10 255.255.254.0

Настройки по умолчанию: gateway = подсеть конвертера с 1 в последнем разряде, mask = 255.255.255.0.

Например: если ip=192.168.10.101, то:
gateway = 192.168.10.1 и mask = 255.255.255.0

Изменять эти настройки необходимо только если конвертер и сервер находятся в разных подсетях.

Инвертирование выхода Wiegand и активного уровня индикации

Команда invert

Обычно нет необходимости изменять значение по умолчанию (0). При этом значении на выходах микросхемы-контроллера формируется сигнал с высоким уровнем, с импульсами низкого уровня.
Управление индикацией осуществляется активным высоким уровнем.
Подробности см. в разделе Подключение WGC.

Любые настройки также можно изменить в любой момент через терминальную программу.

console2

Список команд терминала доступен по запросу ?. Также доступен экран помощи по команде help.

console3

Текущие настройки можно посмотреть командой show.
Запустить полную переконфигурацию WGC – config.
При запуске конфигуратора работа WGC приостанавливается до окончания ввода всех параметров и автоматической перезагрузки.

Возможен просмотр (без аргумента) и изменения (с аргументом(-ами)) одного параметра, соответствующими командами из списка. В этом случае работа WGC не прерывается.

console4
При измении одного или нескольких параметров без использования конфигуратора системы, настройки не сохраняются автоматически и могут не дать необходимого эффекта до их сохранения командой save. При выполнении данной команды произойдет запись параметров в постоянную память и перезапуск конвертера!!!

Подключение WGC

  1. В режиме верификации:

    1. считыватель карт зоны входа подключается выводами D0 и D1 к контактам A0 и A1, соответственно.

    2. считыватель карт зоны выхода подключается выводами D0 и D1 к контактам A2 и A3, соответственно, при необходимости.

    3. контакты 6 и 7 (D6, D7) WGC подключаются к системе СКУД вместо D0 и D1 считывателя зоны входа.

    4. аналогично, контакты 8 и 9 (D8, D9) WGC подключаются к системе СКУД вместо D0 и D1 считывателя зоны выхода, при необходимости.

  2. В режиме идентификации:

    1. контакты 6 и 7 (D6, D7) WGC подключаются к системе СКУД паралельно D0 и D1 считывателя зоны входа, либо на свободный канал СКУД, соответственно.

    2. аналогично, контакты 8 и 9 (D8, D9) WGC подключаются, при необходимости, к системе СКУД паралельно D0 и D1 считывателя зоны выхода, либо на свободный канал СКУД, соответственно.

  3. сигнализация работы может информационным табло с входными уровнями активного сигнала +5В. За канал входа отвечают контакты 2 (D2) — ошибка (красный) и 3 (D3) —  успех (зеленый) . Аналогично, канал выхода — контакты 4 (D4) — ошибка и 5 (D5) — успех.
    При подключении элементов индикации непосредственно к WGC (например, двухцветных светодиодов) необходимо инвертировать второй бит параметра команды invert. Команда invert 2 или invert 3. В этом случае аноды светодиодов неодходимо подключить к + питания, а катоды к управляющим выходам WGC. Допустимый ток индикации составляет 40 мА на каждый вывод.

  4. Для возможности отключения системы биометрической идентификации в режиме верификации предусмотрен контакт A5. Низкий сигнал на нём (выключатель или перемычка на контакт GND) позволяет осуществить "прозрачную" передачу сигналов со считывателей на СКУД при любой неработоспособности системы Smilart или по желанию клиента.

  5. На период обучения, пока в базе данных Smilart не внесена информация о ключах всех пользователей, предусмотрен режим “прозрачной” передачи кодов карт незанесенных в систему биометрической идентификации, непосредственно в СКУД без проверки по лицу. Этот режим включается при наличии низкого уровня на контакте A4 WGC (выключатель или перемычка на контакт GND).

  6. Питание WGC осуществляется:

    1. от системы СКУД от выводов питания считывателей (+12В макс.), подачей напряжения питания на вывод VIN (при превышении напряжения питания на выходе СКУД 12В, требуется установка внешнего преобразователя напряжения (стабилизатора) на 7-12 В);

    2. внешним источником +5В подачей напряжения на вход 5V;

    3. от источника +5В c разъемом USB на вход USB type B;

    4. от источника +7…​12В со стандартным штекером питания.

Для повышения надежности работы WGC (особенно при неправильном монтаже) рекомендуется подключение выходов D6, D7, D8 и D9 через ключи микросхемы повторителя типа К155ЛП9 (SN7407N) и т.п.
При использовании в качестве ключей микросхем инверторов типа КР1533ЛН10 (SN74ALS1005N), КР1533ЛН2 (SN74ALS05AN) или простейших ключей с открытым коллектором на базе транзисторах структуры NPN (например 2n2222) необходима инверсия выхода Wiegand. За инверсию сигналов Wiegand отвечает первый бит аргумента команды invert. Команда invert 1 или invert 3.
Ключи подключаются входами к контактам 6, 7, и, при наличии второго направления прохода, 8, 9, а их выходы к соответствующим входам СКУД D0, D1 зоны входа и D0, D1 зоны выхода.
Использование ключей необходимо в обязательном порядке при параллельном подключении WGC к считывателю идентификационных карт в режиме идентификации для обеспечения нормального функционирования системы СКУД в случае отсутствии питания на WGC. Во всех остальных случаях обеспечивается полноценная работа системы без использования ключей.

Настройка сервера Smilart для работы с WGC

Подключиться к серверу Smilart терминальной программой PuTTY. Проверить версию rabbitmq командой

sam list

Если стоит rabbitmq младше 3.6.1_3.15, обновить версию:

sam rm rabbitmq
sam in rabbitmq:3.6.1_3.17
systemctl start rabbitmq
systemctl restart osgi

Подключиться к контейнеру rabbitmq:

connect rabbitmq

Переписать файлы из папки plugin архива в папку /opt/rabbitmq/plugins сервера (необходим режим суперпользователя), любым удобным способом. Например, через sudo mc.

Выполнить команды:

rabbitmq-plugins enable rabbitmq_mqtt
rabbitmq-plugins enable rabbitmq_checkpoint_common_exchange
rabbitmq-plugins enable jsx

Зайдите в админку rabbitmq (http://адрес_сервера:15672) и убедитесь что создан mqtt exchange и привязаны нужные эксченчи в checkpoint.api.common. Выйти из контейнера rabbitmq командой exit или открыть новый удаленный терминальный сеанс. Скопировать файл rabbitmq.config в папку /etc/rabbitmq с заменой существующего файла (необходим режим суперпользователя) любым удобным способом.

Например, через sudo mc или отредактировать существующий файл следующим образом:

[{rabbit, [{loopback_users, []}]},
 {rabbitmq_mqtt, [{default_user, <<"guest">>},
    {default_pass, <<"guest">>},
    {allow_anonymous, true},
    {vhost,  <<"/">>},
    {exchange,  <<"checkpoint.api.common">>},
    {subscription_ttl, 5},
        {prefetch,        0},
    {ssl_listeners, []},
    {tcp_listeners, [1883]},
    {tcp_listen_options, [{backlog, 128},
      {nodelay, true}]}]}

].
Обратите внимание на точку в конце файла!!!

Рестартовать rabbitmq:

systemctl restart rabbitmq

Работа WGC

В режиме идентификации WGC обеспечивает посылку кода из поля базы Smilart, соответствующего персоне, в формате Wiegand на СКУД. Формат записи кода в базе Smilart должен совпадать с форматом WGC и не иметь посторонних символов.

В режиме верификации осуществляется запрос серверу Smilart и ожидание подтверждения от него, либо информации об отказе в верификации по таймауту или в связи с отсутствием кода карты в базе Smilart. В случае успешной верификации персон, осуществляется посылка кода полученного со считывателя карт, хотя WGC также проверяет соответствие кода карты и кода из базы Smilart. При включеном режиме обхода неизвестных карт (низкий уровень на контакте A4) пересылка осуществляется при отсутствии кода карты в базе Smilart. При отключении системы биометрической идентификации (низкий уровень на контакте A5) пересылка кода карты осуществляется без запроса системе Smilart. Решение о проходе персоны в любом случае принимает контроллер СКУД.

Индикация режимов работы WGC

Мигание красных светодиодов (табло) указывает на потерю соединения с сервером Smilart:

  • частое мигание — сервер доступен в сети, но недоступен RabbitMQ;

  • редкое мигание — сервер недоступен, нарушена работа сети или сеть отключена от WGC.

Мигание зеленых светодиодов (табло) — отключена (низкий уровень на контакте A5) система биометрической идентификации.

При нормальном режиме работы WGC и отсутствии событий светодиоды (табло) не светятся.

В режиме идентификации зажигание зеленых светодиодов (табло) указывает на идентификацию лица в системе Smilart и посылке соответствующего кода из базы Smilart на СКУД в формате Wiegand. Зажигание зеленых светодиодов (табло) и посылка состоится даже в случае отсутствия кода в базе Smilart (код 0). Решение о проходе персоны в любом случае принимает контроллер СКУД.

В режиме верификации зажигание красного светодиода (табло) указывает на запрет прохода в конкретной зоне (вход или выход) системой Smilart. Красный светодиод (табло) также зажигается при обработке запроса противоположенного направления прохода. При успешном считывании кода карты зажигаются оба светодиода (табло) зоны прохода. Потухание красного светодиода (табло) (остается гореть только зеленый) означает успешную верификацию системой Smilart. Потухание зеленого светодиода (табло) (остается гореть только красный) означает отказ системы Smilart подтвердить соответствиие персоны. При включеном режиме пропуска неизвестных карт (низкий уровень на контакте A4) оба светодиода (табло) остаются гореть на время индикации, посылка кода карты осуществляется сразу после получения ответа системы Smilart об отсутствии карты в базе. Решение о проходе персоны в любом случае принимает контроллер СКУД.

В случае непредвиденного “зависания” WGC через 8 секунд произойдёт перезапуск конвертера с восстановлением всех параметров работы. Таким образом, возможное время сбоя в работе системы по вине WGC не превышает 9 секунд.

Режим отладки

По умолчанию режим отладки отключен и система не выдаёт какую либо информацию в последовательный порт, за исключением названия прошивки и сетевого адреса при запуске WGC. Режим отладки WGC активируется командой debug TT. Где TT — время от 1 до 255 минут, на которое будет включен режим отладки. При отсутствии активности в терминальной программе со стороны пользователя режим отладки будет выключен через TT минут. В режиме отладки осуществляется вывод в терминал некоторой отладочной информации о системе, а также информации о событиях в виде строк типа:

при идентификации:

C:super -> (10495)=>S0
C:super -> (10495) #

при верификации:

R0:10495 -> [C:super<10495>]=req timeout
R0:06146 -> bypass =>S0
R0:10495 -> [C:super<10495>]=success:(10495) =>S0
R0:06146 -> [C:super<06146>]=unknownPersonKey:(06146) bypass =>S0
R0:04696 -> [C:super<04696>]=timeout:(04696)

где

  • C:Name обозначает камера (Camera) и её имя;

  • (…​..) — поле Ключ, полученое от системы Smilart;

  • ⇒S№  — обозначает посылку (Send) кода карты на направление прохода: 0=вход, 1=выход;

  • # означает блокирование посылки кода. Блокируются посылки карт отсутствующих в системе (при отключеном режиме), а также многократные посылки кода одной и той же персоны при многократной идентификации системой Smilart;

  • R№:Code — считыватель (Reader) карты с направлением прохода и полученный со считывателя код;

  • [C:Name<Code>]  — имя камеры и код в запросе подтверждения персоны, обратите внимание, что код в базе Smilart должен храниться с ведущими нулями в соответствующем формате;

  • =Respond:(Code)  — ответ системы Smilart и полученный код из базы Smilart;

  • bypass — посылка кода карты в режимах обхода проверки системы Smilart или неизвестных карт.

console5

Настройки таймаутов, времени индикации и автоотключения режима отладки

Предусмотрена возможность просмотра и изменения временных промежутков, задаваемых по умолчанию, для параметров:

  1. Время ожидания ответа от сервера Smilart (по умолчанию 8 с);

  2. Тайм-аут игнорирования только что пропущенной персоны (в режиме идентификации предотвращает многократные посылки кода карты на СКУД, рекомендуется установить равным промежутку времени на которое открывается турникет или немного больше) (по умолчанию 6 с);

  3. Время индикации на табло (светодиодами) (по умолчанию 4 с).

Для просмотра параметров необходимо выполнить команду timeouts,
для изменения - timeouts 10 2 5, где числа означают значения параметров, согласно перечислению выше.

Особенности LxWGC для отдела кадров

Модификация WGC для отдела кадров подразумевает использование как отдельной прошивки устройства, так и существенные отличия в его подключении. Сама процедура прошивки не отличается от приведенной выше, за исключением того что необходимо выбрать файл LmWGC.hex для работы по протоколу MQTT или LhWGC.hex, для работы по протоколу HTTP-POST.
Для эксплатации WGC в отделе кадров необходимо поместить его в корпус с креплением на нём считывателя карт системы СКУД.

photo LmWGC
Прошивка LmWGC, также позволяет обслуживать до двух считывателей (и камер), однако в связи конструктивными особенностями и невозможностью одновременного обучения двух персон настоятельно рекомендуется работа с одним считывателем на устройство.

Подключение LxWGC

  1. считыватель карт подключается выводами D0 и D1 к контактам A0 и A1, соответственно.
    ( второй считыватель может быть подключен к выводам A2 и A3.)

  2. вывод считывателя звукового сигнала (BUZZER) подключается к контакту 2,
    (контакт 4, для второго считывателя).

  3. вывод считывателя зеленого светодиода (GREEN) подключается к контакту 3,
    (контакт 5, для второго считывателя).

  4. нормально разомкнутая кнопка подтверждения действия подключается к контактам A4 и GND,
    (контакты A5 и GND, для второго считывателя).

Питание LxWGC и считывателя осушествляется от внешнего блока питания напряжением 9-12 вольт.

Настройка LxWGC

Первоначальная настройка LxWGC полностью аналогична настройке WGC. Также аналогичны все команды и дополнительные настройки.

Работа с LxWGC

Версия LmWGC для отдела кадров предназначена исключительно для внесения и удаления записей о персонах в базу данных системы биометрической идентификации Smilart. При включении LxWGC биппер считывателя издает (помимо собственного сигнала включения) короткий подтверждающий звуковой сигнал о наличии в сети сервера Smilart и длинный звуковой сигнал об успешной MQTT-подписке на событие камеры в RabbitMQ, указанной в настройках LxWGC. В случае невозможности соединения с сервером Smilart, биппер считывателя переодически издает сигнал ошибки - серию из двух коротких и одного длинного сигнала) и меняет цвет светодиода считывателя с зеленого на красный и обратно.

Зеленый цвет индикации на считывателе информирует о переходе в режим ожидания ввода карты.

В дальнейшем короткий звуковой сигнал означает подтверждение операции, длинный звуковой сигнал - успех операции, серия из двух коротких и одного длинного звуковых сигналов означают ошибку текущей операции.

Активная работа LxWGC начинается после прислонения карты к считывателю. В случае наличия карты в базе данных системы Smilart биппер издаёт два коротких звуковых сигнала, при этом индикатор на считывателе меняет цвет с зелёного на красный, а LxWGC ожидает нажатия кнопки подтверждения для удаления персоны из базы. Успешная операция подтверждается соответствующим звуковым сигналом, после которого LxWGC переходит в режим ожидания. Если кнопка не будет нажата в течении определенного времени, удаление персоны производится не будет, раздастся сигнал ошибки и система перейдет в режим ожидания.

Для настройки времени ожидания нажатия кнопки используется второй числовой параметр команды timeouts 10 9. В данном примере время ожидание ответа сервера Smilart будет установлено на 10 секунд, а время ожидания нажатия на кнопку - 9 секунд.

В случае отсутствия карты в базе данных системы Smilart бипер выдаёт один длинный сигнал, при этом световой индикатор считывателя часто меняет цвет с зеленого на красный и обратно. Если кнопка не будет нажата в течении определенного времени, бипер выдаст сигнал ошибки и система перейдет в режим ожидания. При нажатии кнопки бипер выдаёт однократный сигнал о начале автообучения персоны — владельца карты, который должна находится перед камерой определенной в настройках LxWGC. Процесс обучения сопровождается более редкими сменами цвета светового индикатора. По факту успешно завершению операции раздатся сигнал успеха и в базе Smilart появится персона с соответствующим кодом карты, в формате определенном в настройках LxWGC. В случае ошибки автообучения раздастся сигнал ошибки и персона создана не будет. В этом случае автообучение необходимо повторить.

block diagram

Инструкция для персонала отдела кадров

Для удаления карты из базы:
  1. Прислонить карту к считывателю

  2. По двум коротким пискам и зажиганию красного светодиода

    1. Нажать кнопку для удаления персоны из базы Smilart

    2. или ничего не делать и дождаться писка пи-пи-пииии для отмены операции

Для занесения персоны:
  1. Посадить персону напротив камеры

  2. Проинструктировать персону

  3. Прислонить карту к считывателю

  4. По длинному писку и перемигиванию светодиода

    1. Нажать кнопку для обучения/занесения персоны в базу Smilart
      или ничего не делать и дождаться писка пи-пи-пииии для отмены операции

    2. Персоне слегка поворачивать голову в право-влево не отрывая глаза от камеры процесс обучения сопровождается перемигиванием светодиода

  5. Длинный писк и зеленый светодиод означает упешное завершение процесса обучения,
    писк пи-пи-пииии — ошибку в обучении. В случае ошибки, обучение необходимо повторить начиная с пункта 3.