Данная статья описывает подключение считывателя бесконтактных карт к системе Эксперт.
Введение
Бесконтактные считыватели, с которыми мы можем работать, делятся на несколько видов управления (не обращая внимания на тип читаемой карты):
- Не настраиваемые — настройки в считывателе заведены «железно» и их нельзя изменить
- Настраиваемые механически — считыватели с механическими переключателями или заглушками для контактов
- Настраиваемые программно — считыватели с отдельным ПО для настройки или же со встроенным управлением (доступ через COM-порт)
- Настраиваемые прошивкой — настройка таких считывателей происходит установкой на них разных версий подпрограмм







Выбор и/или настройка считывателя производится по тем условиям, которые предоставлены заказчиком.
Это может быть определённый тип карт (E-marine, HID iClass и т.д.) и номера карт, которые необходимо получить по итогу (определённая конвертация информации со считывателя).
Прежде чем двигаться дальше, необходимо узнать всю возможную вводную информацию.
Пункт 1.
Физическое подключение считывателя и его настройка.
Считыватель подключается к терминалу по средству кабеля RS232 или USB.
Для подключения по RS232 нужны лишь драйвера на COM-порт в самой ОС Windows.
При подключении через USB может быть 2 варианта:
- в диспетчере устройств определится «Неизвестное устройство»
- в диспетчере устройств определится устройство ввода, как клавиатура
В первом варианте через диспетчер выбираем поиск драйвера в нашем DROPBOX\HARDWARE. Как только он установится, появится виртуальный COM-порт.
Настраиваем перемычки или замыкаем необходимые контакты механических считывателей, используя их инструкцию.
Загружаем необходимую прошивку с сайта производителя для для считывателей с прошивкой.
Если считыватель имеет своё собственное ПО для настройки, то используем его для настройки.
Если считыватель работает через RS232 и у него нет собственного ПО, то может быть он имеет низкоуровневое меню для настройки. Попасть в него можно используя программы, которые могут общаться с COM-портом напрямую. Например DROPBOX\UTILS WIN\putty.exe.

После подключения к COM-порту, откроется пустое консольное окно. Для вызова меню считывателя необходимо нажать английскую букву «h» (без кавычек и в английской раскладке). Откроется меню управления считывателем.

Изменить настройку возможно только один раз, после нажатия буквы «h», т.е. если необходимо изменить какую-то настройку несколько раз или несколько разных настроек, то необходимо нажимать постоянно букву «h». У вас получится что-то вроде: h-1-h-2-h-3-h-3-h-3… и т.д.
Часть базовых настроек можно найти у нас в DROPBOX\HARDWARE.
Пункт 2.
Настройка Эксперт для работы со считывателем.
Рассмотрим два варианта настроек:
- RS232 подключение (не имеет значения железное или виртуальное)
- подключение как «клавиатура»
Пункт 2.1.
RS232 подключение (оно же по COM-порту)
- Выполняем скрипт ident.sql — создаёт таблицу для записи, считываемых карт.
db2 -tvf ident.sql - Выполняем скрипт для дополнительной конвертации, если это требуется:
db2 -tvf ident12.sql — от того, что прочитал считыватель, мы берём 12 символов, начиная со второго, и отправляем во Front
или
db2 -tvf ident8.sql — от того, что прочитал считыватель, мы берём 8 символов, начиная со второго, и отправляем во Front
или
db2 -tvf identhid.sql — от того, что прочитал считыватель, мы берём 4 символа, с 8 по 11, конвертируем из HEX в DEC, и отправляем во Front
Ещё несколько вариантов находятся в Dropbox!Install WIN\3.AVERS\AVERS\TRIGGERS\.
Однако количество возможных преобразований стремится к бесконечности, так что скрипт часто редактируется непосредственно под объект. - Настраиваем раздел [Ident] в C:\AVERS\SPOOL\spooler.cfg
[Ident]
DeviceID=1 — ID станции
Port=COM3 — номер COM-порта
BaudRate=9600 — скорость COM-порта
NumbersOnly=No — убирает нецифровые символы
Delimiter= — указываем символ, на котором чтение карты прекратится и оставшиеся символы проигнорируются.
DupSleep=10000 — задержка в миллисекундах для избежания повторного считывания карты.
ActionLog=Yes — YES или NO, вкл или выкл ведение лога работы спулера.
Trace=Yes — YES или NO, вкл или выкл подробное ведение лога работы спулера.
SendBefore= — отправка дополнительной команды считывателю перед чтением карты, если предусмотрено. Обычно не указывается.
SendAfter= — отправка дополнительной команды считывателю после чтения карты, если предусмотрено. Обычно не указывается.
IgnoreAnswer=»» — если считыватель отправляет ненужный нам символ или несколько, вписав их в эту настройку, мы будем их игнорировать
ListenOnly=no — особоая настройка для считывателей не настраиваемых HID iClass. YES или NO режим чтения CSN (заводской серийный номер карты) или режим работы по протоколу iClass. - Убираем rem в C:\AVERS\spoolers.bat перед ispool.exe.
- Перезапускаем спулера или перезагружаем станцию или просто запускаем C:\AVERS\SPOOL\ispool.exe
После этих настроек, ispool.exe будет получать информацию от считывателя, затем скрипт в БД будет его конвертировать и уже после этого Front будет получать номер карты клиента для предоставления ему различных услуг.
Пункт 2.2.
USB подключение (подключение как «клавиатура»).
- Выполняем пункты 1 и 2 аналогично предыдущей настройке.
- Настраиваем файл AVERS\SPOOL\readcard\ReadCard.exe.Config
Главное указать
add key=»DeviceID» value=»1″— ID станции
Описание остальных параметров в самом файле конфигурации. - Прописываем запуск ReadCard.exe в C:\AVERS\spoolers.bat:
cd C:\AVERS\SPOOL\readcard
start ReadCard.exe - Перезапускаем спулера или перезагружаем станцию или просто запускаем C:\AVERS\SPOOL\readcard\ReadCard.exe

После этих настроек, ReadCard.exe будет получать информацию от считывателя, затем скрипт в БД будет его конвертировать и уже после этого Front будет получать номер карты клиента для предоставления ему различных услуг.
Первичная статья написана Елыковым Д.В. на http://kb.averstech.ru/