powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / EM-Marine расшифрока кода, Помогите расшифровать код
11 сообщений из 11, страница 1 из 1
EM-Marine расшифрока кода, Помогите расшифровать код
    #39156810
MorAdan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Собственно есть 2 считывателя от card system.
Один USB. Второй COM.
USB возвращает нормальный(HEX) код который совпадает с кодом на брелке.
А вот COM возвращает не совсем понятные данные. Может кто сталкивался и поможет собрать алгоритм декодирования.
Первый столбец это код на карте и то что с USB получаем. А вторая это код с COM порта.

1115296 8A00880250
4538387 0A002A208C
4542191 06002A277F
4586488 06002AFDF1
4597380 0600264612
6119426 A300AB6004
8930846 6100112687
8932102 6100112D06
8939001 6100116AF9
8956467 61001155CC

Буду признателен за помощь.
...
Рейтинг: 0 / 0
EM-Marine расшифрока кода, Помогите расшифровать код
    #39156920
irbis_al
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MorAdan,

Usb считыватель бывает с эмуляцией com порта или usb клавы.
У Вас скорее всего usb с эмуляцией HID клавы....
ВЫ получаете сразу строку по любому и всегда..
В случае работы сom портом ...Вы получаете ,байты...
И например на языке java (утрировано)

Код: java
1.
2.
3.
byte[]  bytearray=InputStream.getbytes(От rs-232)
String s= new String (bytearray)
System.out.println(s);
...
Рейтинг: 0 / 0
EM-Marine расшифрока кода, Помогите расшифровать код
    #39156946
irbis_al
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
irbis_al,

В догонку ...если у Вас вот эти счмиыватели
http://card-sys.com/products/Schitivateli_EM-Marin/
То жутко странно,..я сам ими пользуюсь в pos системах ...у них usb с эмуляцией rs-232
и что rs-232 что usb-rs232 читает одинаково.(де факто rs-232 у обоих)
...
Рейтинг: 0 / 0
EM-Marine расшифрока кода, Помогите расшифровать код
    #39157226
MorAdan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
irbis_al,

Пользуемся этим считывателем, на выдаче мы получаем по USB HEX и он нормально переводится в 10-ричную. Код на карте совпадает с ним.
А вот считыватель который идет с турникета выдает вот такое.
Код: plaintext
;A300AB60043F?

Старт стоп символы понятно. Все снимали снифером и проверяли.
...
Рейтинг: 0 / 0
EM-Marine расшифрока кода, Помогите расшифровать код
    #39157340
irbis_al
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MorAdanirbis_al,

Пользуемся этим считывателем, на выдаче мы получаем по USB HEX и он нормально переводится в 10-ричную. Код на карте совпадает с ним.
А вот считыватель который идет с турникета выдает вот такое.
Код: plaintext
;A300AB60043F?

Старт стоп символы понятно. Все снимали снифером и проверяли.

Наверное неверно проверять снифером.
Протокол usb эмуляции принципиально отличается от rs-232.(в usb всё драйвер разруливает)
когда идёт по usb, то действует по аппаратному протоколу usb.(затем драйвер(у меня линуксовый) меняет в соответствии с программной спецификацией usb -rs232) этот код на байты ).

А в rs-232 просто идут данные...и в буфер ввода попадают почти как есть.

И ещё надо уточнить может у Вас всё таки usb=эмуляция hid клавы в этом турникете.
...
Рейтинг: 0 / 0
EM-Marine расшифрока кода, Помогите расшифровать код
    #39157662
MorAdan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
irbis_al,

Ридер USB c эмуляцией COM порта.
На туринкете 2 ридера которые комутированы через плату КСДК 3. Тыц PDF .
Далее это чудо идет в плату ТКП 3204.
А она уже в COM.

Вот его иы и сниферили и просто COM слушаем когда карта проводится. Получаем одни и теже данные.

Свежая пачка такая:
НППНомер картыДанные с USB/RS ридераДанные с COM ТКП 3204176794580000DDE3900000BB7C9276794780000DDE3D00000BB7CB376794880000DDE3300000BB7CC48435452840010D6F3000080B6FC58435461840010DE0A000080B70568435472840010DE80000080B710

Например 2 и 3 позиция отличаются на 1 единицу.
По USB ридеру все ок.1 Байт по HEX.
А вот по тому что передает COM не понятно почему оно меньше и как это считается.
...
Рейтинг: 0 / 0
EM-Marine расшифрока кода, Помогите расшифровать код
    #39157755
MorAdan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Опечатка в таблице. Перепутал наименование колонок.

Свежая пачка такая:
НППНомер картыДанные с COM ТКП 3204Данные с USB/RS ридера176794580000DDE3900000BB7C9276794780000DDE3D00000BB7CB376794880000DDE3300000BB7CC48435452840010D6F3000080B6FC58435461840010DE0A000080B70568435472840010DE80000080B710
...
Рейтинг: 0 / 0
EM-Marine расшифрока кода, Помогите расшифровать код
    #39157801
Фотография sobolev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извиняюсь, нет времени для подробного ответа - вот кусок кода, который точно работает.
Если будут доп вопросы позже попробую ответить.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
		if(all_are_hex) {
			for(i = 0; i < data_size; i++)
				temp_buf.CatChar(data_buf[i]);
			DRVS.Log((msg_buf = "EmMarine driver readed HEX:").Space().Cat(temp_buf), 0xffff);
			i = 2; // Первые два байта (служебные пропускаем).
			while(i < (data_size-1) && data_buf[i] == '0' && data_buf[i+1] == '0')
				i += 2; // Пропускаем так же нули
			uint32 value = 0;
			//
			// Нам надо забрать 6 байт каждый из который представляет hex-полубайт.
			// Пример: F6ED7B
			//
			int    c = 16;
			while(c >= 0 && i < (data_size-1)) {
				uint8 byte = (hex(data_buf[i]) << 4) | hex(data_buf[i+1]);
				value = (value | (byte << c));
				c -= 8;
				i += 2;
			}
			rOutput.CatLongZ(value, 10);
			DRVS.Log((msg_buf = "EmMarine driver readed CODE:").Space().Cat(rOutput), 0xffff);
		}
...
Рейтинг: 0 / 0
EM-Marine расшифрока кода, Помогите расшифровать код
    #39157861
irbis_al
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MorAdan,

Сложно,что либо сказать по этой проблеме...тут ещё и плата непонятная участвует.
Могу сказать одно...прямо сейчас только что провёл эксперимент...
У меня был usb и rs-232...я их подключил к компу.(linux ...У нас свой javaвовский драйвер)
Провёл карточкой...результаты одинаковые..
Вам надо без посредников так же подключить к компу.(в случае с виндой...можно проверить hyperterminal)
Если результаты разные какой-то считыватель тупит.
Если одинаковые тупит плата..или Вы её не так настроили.
...
Рейтинг: 0 / 0
EM-Marine расшифрока кода, Помогите расшифровать код
    #39157889
Фотография sobolev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
irbis_alMorAdan,

Сложно,что либо сказать по этой проблеме...тут ещё и плата непонятная участвует.
Могу сказать одно...прямо сейчас только что провёл эксперимент...
У меня был usb и rs-232...я их подключил к компу.(linux ...У нас свой javaвовский драйвер)
Провёл карточкой...результаты одинаковые..
Вам надо без посредников так же подключить к компу.(в случае с виндой...можно проверить hyperterminal)
Если результаты разные какой-то считыватель тупит.
Если одинаковые тупит плата..или Вы её не так настроили.
ничего там не тупит. разные драйверы или считыватели могут возвращать код в разных форматах.
...
Рейтинг: 0 / 0
EM-Marine расшифрока кода, Помогите расшифровать код
    #39158855
MorAdan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sobolev,

Господа все спасибо. Вы все помогли.
На будущее что получилось русскими словами:
Считывается 10 байт.
Первые 4 идут лесом.
Потом каждый 16 байт переводим в двоичную. Делаем реверс. Так для каждого байта.
Собираем обратно HEX и в десятичную.

Пример:
0B2AA4CC = 0000 1011 0010 1010 1010 0100 1100 1100
0D455233 = 0000 1101 0100 0101 0101 0010 0011 0011
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / EM-Marine расшифрока кода, Помогите расшифровать код
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]