Как известно, во многих системах доступа используются карты RFID стандарта EM-Marin с частотой 125 КГц. Не исключением стал и домофон моего дома. Одна проблема – неплохо бы научиться копировать такие карты, ибо ценники на их копирование не радуют. В сети, конечно, существует довольно много схем копировщиков (да и китайцы продают свои копировщики за копейки — правда, они часто при копировании ставят свой пароль на болванки), но почему бы не собрать свой собственный копировщик? Вот об этом и нижеприведённая статья. Начинать разработку копировщика стоит с выяснения, а на что вообще можно скопировать такие метки? Почитав форумы, можно узнать, что наиболее распространёнными болванками для копирования являются T5577, T5557, EM4305. Теперь нужна схема. Возьмём аналоговую часть такого копировщика у RECTO и подключим её к микроконтроллеру atmega8. Дополним преобразователем уровней для подключения к COM-порту на базе max232 (желающие могут использовать ST232 или ещё что, чтобы подключится по USB, но у меня на компьютере COM-порт есть, как есть и переходник USB-COM, так что у меня такой задачи не стояло). Получится вот такая схема: Что она из себя представляет? Сдвоенный эмиттерный повторитель, колебательный контур, детектор и RC-фильтры. За счёт того, что RC-фильтры имеют разные постоянные времени, сравнивая между собой уровни напряжения между каскадами можно выделять изменение сигнала RFID-метки. Данной задачей у нас будет заниматься встроенный в atmega8 компаратор. Генерацию 125 КГц сигнала у нас будет обеспечивать встроенный в atmega8 ШИМ-контроллер. Комбинация RFID-метка – считыватель образуют трансформатор, где метка является вторичной обмоткой. Передача информации меткой производится путём изменения нагрузки вторичной обмотки. В результате в катушке считывателя (первичной обмотке) изменяется ток. Выделением этих импульсов тока и занимается приведённая выше аналоговая часть схемы. Колебательный контур нужно настроить на максимальное напряжение в контрольной точке, например, сматывая/наматывая витки катушки. Правда, говорят, лучше всё же напряжение немного меньше максимума — стабильнее работает. У меня в контрольной точке около 40 В. Копируемая метка использует кодирование типа манчестер. Для того чтобы расшифровать данный код, достаточно по любому изменению фронта сигнала пропускать три четверти периода слота бита и по следующему за ним перепаду сигнала фиксировать значение бита, которое будет соответствовать значению сигнала после перепада. При декодировании стоит задать окно, в которое должен произойти перепад сигнала – не более половины периода слота бита. Метод расшифровки манчестерского кодирования и код для этого я взял у Shads. Можно, конечно, было написать свой собственный, но я торопился запустить копировщик — хотелось убедиться, что схема рабочая и приём меток производится. Так этот фрагмент и остался в коде копировщика. Также оказалось, что у меня компаратор настроен инверсно, чем нужно коду декодирования. Изменил в коде. Итак, мы получили последовательности нулей и единиц. Как из них получить код карты? А очень просто. Примем, что номер карты по нибблам имеет вид AB CD EF GH IJ. Карта выдаёт вот что: 1) Девять единиц в начале; 2) Ниббл A; 3) Чётность ниббла A (1 бит); 4) Ниббл B; 5) Чётность ниббла B (1 бит); … 16) Ниббл I; 17) Чётность ниббла I (1 бит); 18) Ниббл J; 19) Чётность ниббла J (1 бит); 20) Ниббл чётности колонок для нибблов A B C D E F G H I J; 21) Бит 0. Считываем все 64 бита, расшифровываем и получаем 40 бит кода карты. Логично, что если самому выдать такой код, замыкая катушку карты приложенной к считывателю, мы получим эмулятор карты. Но сейчас нас интересует не он. Карту мы читать научились, а вот как передать данные карте? Для этого нужно просто включать или выключать частоту 125 КГц в соответствии с протоколом обмена с картой. На время “молчания” считывателя карта питается запасённой энергией. Болванки T5557/T5577 полностью совместимы между собой по протоколам записи, однако, имеют немного разные минимальные и максимальные времена импульсов (к счастью, времена T5557 перекрываются с T5577). У EM4305 протокол записи иной. Чтобы записать T5557 я воспользовался кодом BolshoyK. В таблице ниже указаны параметры сигналов для брелока T5557. Запись начинается с сигнала StartGape – требуется отключить сигнал 125 КГц примерно на 300 мкс. Это сигнал карте, что сейчас ей начнут передавать данные. Дальше следует передать болванке информацию. Кодирование передаваемых данных – тот же манчестер. Болванки T5557/T5577 и EM4305 многофункциональные и умеют разные виды модуляций, поддерживают пароли и ещё много чего. В каждой болванке на борту имеется набор блоков по 32 бита. Назначение этих блоков разное. В некоторых – выдаваемый код ключа (он занимает два блока). В других – конфигурация. В третьих – идентификатор производителя. Мы будем использовать ограниченный функционал, поэтому желающие разобраться, что значат все эти биты, могут заглянуть в документацию к болванкам (я приложил её к архиву). Блоки собраны в две страницы (0 и 1). В нулевой странице есть блок конфигурации с индексом 0. Его мы и будем задавать. Для T5557/T5577 у нас будут следующие конфигурационные байты: 0x00,0x14,0x80,0x40 в соответствии с таблицей из документации (красным я отметил выбранные единичными битами режимы): Таким образом, у нас выбрано: частота передачи данных RF/64 (125 КГц/64), кодирование типа манчестер, выдача блоков до второго (в блоках 1 и 2 у нас будет располагаться код, выдаваемый картой). Перед записью следует отправить код операции (2 бита opcode) и один бит защёлки (lockbit). Коды операции 10b и 11b предшествуют записи данных для страниц 0 и 1 (младший бит задаёт номер страницы, старший — код записи страницы). У нас выдаётся 10b для кода операции (вся работа идёт с нулевой страницей) и 0b для бита защёлки. После передачи всех этих данных необходимо передать трёхбитный адрес записываемой страницы. Все передачи данных для T5557/T5577 ведутся от старшего бита к младшему. Задав код карты в блоках 1 и 2 и конфигурацию в блоке 0 можно получить дубликат RFID-метки. Как видите, всё просто. Следующий тип болванок – это EM4305. Вот разбираться с записью этой болванки мне пришлось самому. Она также состоит из блоков по 32 бита, но назначение их иное. Кодирование передаваемых карте данных – по перепадам за интервал времени. Если перепад за интервал времени был, то это ноль, а если не было — единица. Конфигурационное слово хранится в 4 байте и для себя я определил его так: 0x5F,0x80,0x01,0x00 (кодирование манчестер, RF/64, выдача слова 6). В слова 5 и 6 я записываю код карты (те самые 64 бита, что выдаёт карта). EM4305 требует чтобы передача велась от младшего бита к старшему. Карта понимает, что с ней начинают обмен после выдачи ей комбинации импульсов:
- Отключаем поле на 48 мкс.
- Включаем поле на 96 мкс.
- Выключаем поле на 320 мкс.
- Включаем поле на 136 мкс.
- Отключаем поле до следующей команды.
Команда на запись блока карте передаётся так:
- Шлём вышеуказанную последовательность импульсов.
- Шлём 0b.
- Передаём CC0-CC1 и их чётность P. (0101b для записи, см. таблицы ниже).
- Передаём адрес блока (см. таблицу), два дополняющих нуля и чётность адреса.
- Передаём данные блока (32 бита).
Формат командыКоды командФормат адреса блока Таким образом задаётся конфигурация болванки EM4305 и её код. Собственно, ничего большего простому копировщику и не требуется. Я сделал несколько вариантов копировщика с разными дисплеями. Например, вот копировщик с дисплеем 1602: А вот видео работы копировщика на дисплее LPH9157-02: А вот причина, по которой я заинтересовался копировщиками таких ключей — нужно было сделать много копий ключа от домофона (ждать посылки из Китая при этом тоже было лень), но ценник вот какой: В архиве все схемы, печатки, программы и документация на болванки. Есть версия для Arduino Nano (её нужно прошивать отдельно через программы для заливки сторонних прошивок). Желающие могут открыть документацию на все эти болванки и реализовать поддержку паролей и иные режимы работы карт. Мне лично всё это было ненужно. Отдельное большущее спасибо RECTO, BolshoyK и Shads — без вас я бы развлекался бы с разработкой довольно долго! Спасибо за внимание. P.S. Я не являюсь профессионалом в копировании ключей и в болванках, поэтому вполне мог в чём-то ошибиться. Однако, копировщик работает, и в нём ошибок пока никто не нашёл.Главная » Каталог товаров<nobr>» Системы контроля доступа</nobr><nobr>» Считыватели, карты, брелоки</nobr><nobr>» Карты, брелоки, метки, ключи Touch Memory</nobr><nobr>» Брелоки Proximity</nobr><nobr>» Sarmatt » Sarmatt Брелок RFID T5577 (перезаписываемый)</nobr> На товары с флажком «Кэшбэк 500 руб с покупки!» — дарим 500 руб за публикацию отзывов о нашем магазине на Яндексе и Google. Акция действует при покупке товара через заказ с сайта. Ограничена количеством товара на складе.Подробнее »Отзыв на ЯндексОтзыв на GoogleПроизводитель: Sarmatt
Розн. цена: | 20.0 руб. |
---|---|
Ваша цена: | 19.0 руб. |
Экономия: | 1.0 руб. |
В наличии — большое количество Доставка В пределах МКАД — при заказе до 20000₽ — 300₽ — при заказе более 20000₽ — БЕСПЛАТНО За пределы МКАД — при заказе до 40000₽ — от 600₽ до 900₽ — при заказе более 40000₽ — БЕСПЛАТНО * уточнить стоимость доставки за МКАД можно в разделе «Доставка и оплата» или у менеджера 7 апреля Самовывоз из пункта выдачисегодня
Описание Sarmatt Брелок RFID T5577 (перезаписываемый)
Брелок-заготовка Sarmatt Брелок RFID T5577 (перезаписываемый), предназначен для копирования бесконтактных брелков/карт стандарта EM-Marine 125кГц. Подходит для копирования брелков Vizit, Метаком, Элтис, Cyfral. Поддержка многократной перезаписи ключа. Расстояние считывания 3-8 см.
Технические характеристики Sarmatt Брелок RFID T5577 (перезаписываемый)
- Единица измерения: 1 шт
- Габариты (мм): 6x28x35Модель: T5577 Тип: брелок-заготовка Назначение: для копирования бесконтактных брелков/карт стандарта EM-Marine 125кГц Совместимость: Подходит для копирования брелков Vizit, Метаком, Элтис, Cyfral Поддержка многократной перезаписи ключа: Есть Расстояние считывания: 3-8 см Производитель: Sarmatt
</span>170615
Sale
Просьба уточнять актуальную цену у менеджера компанииРозничная цена (до 100 шт.) 16 руб. Оптовая цена (до 500 шт.)16 руб.Оптовая цена (от 500 шт.)16 руб.Цена указана с НДС 20%Артикул: | 0496 |
Производитель: | Atmel |
Цвет: | Синий |
Рабочая частота: | 125 кГц |
Материал: | пластик ABS |
Чип: | T5577 |
Нумерация: | нет |
Диаметр: | 28 мм |
Кодируется в формат: | EM-Marin, HID, Indala |
C этим товаром покупают
РаспродажаРекомендуемНовинкиЛидеры продаж—> —> —> —>
Вы можете купить RFID брелок заготовка T5577 перезаписываемый (синий) в Москве, Санкт-Петербурге и Екатеринбурге по цене от 16 руб. и заказать доставку в свой регион. Подробнее об условиях доставки в разделе https://us-plast.ru/delivery/
Уважаемые посетители сайта us-plast.ru!
Хотим предупредить вас о том, что представленные в каталоге технические характеристики товаров (в том числе фотографии и цены) носят исключительно информационный характер и не являются публичной офертой, определяемой положениями Статьи 437 п 2. ГК РФ.
Обращаем ваше внимание на то, что в ряде случаев производители могут изменить параметры выпускаемой продукции и не сообщить нам об этом. Для получения точной информации о технических характеристиках и стоимости товаров необходимо связаться с нашими специалистами. Спасибо за понимание и доверие к компании U.S. PLAST!
—> —> Используемые источники:
- https://habr.com/post/330710/
- https://videoglaz.ru/breloki-proximity/sarmatt/sarmatt-brelok-rfid-t5577-perezapisyvaemyy
- https://us-plast.ru/skud/rfid-brelki/brelok-rfid-t5577-perezapisyvaemyy-siniy/