Выбор типа карт и основная информация по считывателям
Получение трека карты
- 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)