Выбор типа карт и основная информация по считывателям

     ПО «Абонемент» может работать с картами Em-Marine, Mifare и iCode. Принципиальной разницы нет, т.к. ПО «Абонемент» работает не с картами, а со считывателями. При выборе типа карт необходимо учитывать, какое дополнительное ПО и/или оборудование будет использоваться (например шкафчики с электронными замками в раздевалках) и есть ли у данных продуктов ограничения по типу карт.
 
     
     Считыватели IronLogic Matrix-III RD-ALL и IronLogic Z-2 могут работать одновременно с обоими типами карт. Matrix-III подключается к ПК по протоколу RS-232 используя последовательный порт с разъемом DB-9, также данный считыватель имеет блок питания, который необходимо подключить к розетке. Считыватель Z-2 подключается по USB в режиме эмуляции COM-порта - для этого необходимо установить драйвера, которые идут в комплекте.

Получение трека карты

     Примеры трека для различных типов карт при использовании данных считывателей:
  • Em-Marine: Em-Marine [11FF]  123,65535
  • Mifare 1k: Mifare[49D0CC19] 208,52249 1K (0004,08)
  • iCode[E00401080A9F2557] 159,09559

EM4100 (EM4102, EM-Marin) - Относятся к классу пассивных RFID карт. Работает в частотном диапазоне 125 КГц. Наиболее распространены Clamshell-карты, ISO 7810-карты, брелки, браслеты.

 

     Конкретный номер трека (рис.1) можно узнать с помощью программ HyperTerminal или Putty, настроив соединение с COM-портом на скорости 9600 (может варьироваться в зависимости от модели считывателя). При установившемся подключении, проведите/приложите карту к считывателю.

(Рис.1 Пример вывода трека)

Настройка TCPCardReader

Для дальнейшей работы с данной последовательностью символов, мы будем использовать утилиту TCPCardReader.exe, которая занимает COM-порт и передаёт данные со считывателя всем остальным утилитам, обращающимся к нему - они не взаимодействуют с портом напрямую, подключаясь по TCP протоколу к TCPCardReader'у и получая от него считанную строку. Подробное описание работы TCPCardReader'а. Схема взаимодействия ПО при получении номера карты отображена на рис.2.

(Рис.2 Схема, иллюстрирующая получение номера карты ПО Абонемент)

Рассмотрим параметры настройки tcpcardreader'а, которые находятся в файле tcpcardreader.ini:

[application]

 

AutoStart = 1

Автоматически стартовать программу после запуска

AutoHide = 1
 

Сворачивать программу после запуска

[setup]

 

COMPORTCOUNT=1
 

Количество подключений к СОМ портам.

[TCP]

PORT=7760

IP=0.0.0.0
 

TCP порт и адрес сетевого интерфейса, к которому будет производиться подключение клиентов. В данном примере возможно подключение с любого адреса сети.

[READER1]

COMPORT=3

COMPORTPARAMS=baud=9600 data=8 parity=N stop=1

Настройки подключения к СОМ-порту. Номер и параметры СОМ-порта.

Prefix=;

 

Строка, которая передаётся клиентам перед первым прочтенным символом. В данном примере добавится символ: «точка с запятой»

Postfix=?

 

Строка, которая передаётся клиентам после последнего прочтенного символа. В данном примере добавится символ: «Вопросительный знак»

useDecodeCards=0

= 0 НЕ использовать декодирование decodecards.dll

= 1  использовать декодирование  decodecards.dll

StartTermChars=;

Используется, если useDecodeCards=1
Признак начала трека для декодирования
см.Примеры

FinishTermChars=?#13;#10;#0;

Используется, если useDecodeCards=1
Признак начала трека для декодирования

см.Примеры

[LOG]

level=30

debuglevel=30

 

Уровни логирования. Используются значения от 0 до 30

[TCPCARDREADER]

 

Prefix=;

 

Строка, которая передаётся клиентам перед первым прочтенным символом. В данном примере добавится символ: «точка с запятой»

Postfix=?

 

Строка, которая передаётся клиентам после последнего прочтенного символа. В данном примере добавится символ: «Вопросительный знак»

[READER.1.CODEPARAMS.90]

 

Prefix=;BarCode

Postfix=?

Специализированный префикс и постфикс для строк, уже прошедших декодирование после считывателя номер 1 и вернувшейся с кодом Code=90 (параметр Code задаётся в decodecards.ini)

(Табл.1 Параметры TCPCARDREADER.INI)

 

Настройка декодирования

Параметры настройки decodecards на стороне TCPCARDREADER

[general]
usemask=1
TrackResultLog=

[mask]
  ;card_2 = arine[* 
  card_bard=*
  ;card_d = *

[cards.Card_d]
code=2
;CardDecodeType = LAST9
;MaskType=ARRAYOFBYTES
CardDecodeType = MASK
mask=dddddddd*
bitmask=$FFFFFFFF

[cards.card_bard]
code=2


[cards.Card]
code=2

Параметры настройки decodecards на стороне ABONEMENTMANAGER

[cards]
  CardPrefix   =
  StaffCardPrefix        = y
  RegularCardPrefix = z
  PDSCardPrefix   = x
  FirstSignEquallyAsLetterA = 0
[cards.Card]
  CardDecodeType = mask
  mask=hhhhhhhh
  bitmask=$7FFFFFFF
  code=2

[cards.RegularCard]
code=22

[cards.StaffCard]
code=21

[cards.PDSCard]
code=24

Взаимодействие TCPCardReader с ПО "Абонемент"

Необходимо настроить параметры в файле abonementmanager.ini:

[TCPCardReader]

PORT=7760

 

Порт TCPCardReader

HOST=127.0.0.1

Адрес сервера TCPCardReader

UseTCPCardReader=1

Использовать  TCPCardReader

StartChar = ;

Признак начала трека для обращения в Decodecards.dll

StopChars = ? Признак окончания трека  для обращения в Decodecards.dll

(Табл.2 Параметры abonementmanager.ini)

Получение конечного номера происходит с помощью decodecards.dll, подробнее описано в руководстве по decodecards.