Как сделать считыватель rfid

Эмулятор RFID на Arduino

Как сделать считыватель rfid. Смотреть фото Как сделать считыватель rfid. Смотреть картинку Как сделать считыватель rfid. Картинка про Как сделать считыватель rfid. Фото Как сделать считыватель rfid

Многие читали мой пост «Эмулятор RFID», где я в деталях рассказывал об устройстве EM Marine, о том как намотать антенну, и как сделать RFID-эмулятор из трёх деталей. Но, будем честны, несмотря на гениальную простоту того устройства, оно достаточно сложно для повторения. Не каждый имеет дома осциллограф, для того чтобы поймать резонанс, да и для прошивки ATtiny85 требуется отдельный программатор.

Поэтому я принял решение сделать такой эмулятор, который может повторить даже ребёнок. Все компоненты продаются чуть ли не в каждой деревне. При этом его функциональность может быть даже расширена. Например, можно сохранять в нём несколько карт или можно добавить ещё считыватель, и сохранять все карты в одном устройстве, или же использовать его для… В общем, поехали.

Аппаратное обеспечение

Как я уже сказал, эмулятор должен быть собран на доступных комплектующих, которые можно легко достать. Для начала рассмотрим схему эмулятора.

Как сделать считыватель rfid. Смотреть фото Как сделать считыватель rfid. Смотреть картинку Как сделать считыватель rfid. Картинка про Как сделать считыватель rfid. Фото Как сделать считыватель rfid

У нас есть колебательный контур, который мы будем замыкать в определённое время транзистором и таким образом в считывателе будет изменяться ток, и он будет получать передаваемые данные.
Самым сложным для нас в этой связке остаётся настроенные на частоту 125 кГц колебательный контур. И есть очень простое решение, откуда его можно взять. В продаже существует считыватель RFID-меток для Arduino RDM6300. Считыватель стоит сущие копейки, а у него в комплекте уже идёт антенна, а резонансный конденсатор уже распаян на плате. Таким образом, по сути считыватель нам нужен только для двух деталей: катушки и резонанстного конденсатора.

Как сделать считыватель rfid. Смотреть фото Как сделать считыватель rfid. Смотреть картинку Как сделать считыватель rfid. Картинка про Как сделать считыватель rfid. Фото Как сделать считыватель rfid

Считыватель RDM6300 и расположение резонансного конденсатора.

Я купил этот считыватель за какие-то копейки, которые несоизмеримы с трудами по намотке и настройке антенны. Самая сложная операция у нас — это отпаять данный конденсатор и припаять его на монтажную плату. Верю, что с ней справиться даже школьник младших классов.
В результате собираем всё на макетной плате. У меня два резистора в параллели стоит только лишь потому, что на 10кОм резисторов у меня не было под рукой, а были только на 20кОм.

Как сделать считыватель rfid. Смотреть фото Как сделать считыватель rfid. Смотреть картинку Как сделать считыватель rfid. Картинка про Как сделать считыватель rfid. Фото Как сделать считыватель rfid

Ну и посмотрим крупным планом, как это всё выглядит. Я специально под конденсатор выделил отдельную платку, там он припаян прямо на монтажные иголки, которые вставлены в этот матрац.

Как сделать считыватель rfid. Смотреть фото Как сделать считыватель rfid. Смотреть картинку Как сделать считыватель rfid. Картинка про Как сделать считыватель rfid. Фото Как сделать считыватель rfid

Для того, чтобы проверять работу эмулятора, изначально я думал использовать тот же RDM6300 (купил их два). И даже по началу так и делал, но потом решил, что это как-то не серьёзно, одной Ардуиной отлаживать другую, и разорился на заводской считыватель.

Как сделать считыватель rfid. Смотреть фото Как сделать считыватель rfid. Смотреть картинку Как сделать считыватель rfid. Картинка про Как сделать считыватель rfid. Фото Как сделать считыватель rfid

Взводим таймер

Наиболее полно всю физику процесса и принцип работы я рассказал в своей предыдущей статье, поэтому настоятельно рекомендую с ней ознакомиться. Однако для понимания того, что я делаю немного освежу некоторые моменты.

Напомню, что у EM4102 используется схема Манчестерского кодирования. Когда идёт модуляция EM4102 протокола, время передачи одного бита может составлять 64, 32 или 16 периодов несущей частоты (125 кГц).

Как сделать считыватель rfid. Смотреть фото Как сделать считыватель rfid. Смотреть картинку Как сделать считыватель rfid. Картинка про Как сделать считыватель rfid. Фото Как сделать считыватель rfid

Проще говоря, при передаче одного бита, у нас меняется значение либо единицы на нуль (при передаче нуля), либо с нуля на единицу (при передаче единицы). Соответственно, если мы выбираем для передаче одного бита информации 64 периода несущей частоты, то для передачи “полубита” нам нужно будет 32 периода несущей частоты. Таким образом каждый полубит должен меняться с частотой:

Период этого “полубита” будет равен 256 мкс.

Теперь нам нужно посчитать таймер, чтобы он нам дёргал ногу с данной частотой. Но я стал так ленив, что открыв даташит и начав зевать, решил найти какое-то готовое решение. И оказалось, что есть готовые расчёты таймеров, только вбивай свои данные. Встречайте: калькулятор таймера для Ардуино.

Нам необходимо только забить частоту таймера 3906 Гц, и нам сразу сгенерируют готовый к использованию код. Ну не чудо ли!

Как сделать считыватель rfid. Смотреть фото Как сделать считыватель rfid. Смотреть картинку Как сделать считыватель rfid. Картинка про Как сделать считыватель rfid. Фото Как сделать считыватель rfid

Обратите внимание, что частоту я вводил целыми, а он её посчитал дробными и именно ту, которая нам и нужна. Код инициализации таймера у меня получился следующий:

Гениально, просто, лаконично.

Вектор прерывания для вывода устроен тоже очень просто. Напоминаю, что нам необходимо делать переход с единицы на нуль в случае передачи нуля, и с нуля на единицу, в случае передачи единицы (смотрите рисунок для понимания). Поэтому смотрим, что мы сейчас передаём и в каком месте “полубита” находимся, постепенно считывая из массива data все данные.

Перевод данных для передачи

Тут тоже следует освежить в памяти форматы данных, хранимые на карте. То, в каком виде они записаны. Давайте на живом примере.

Предположим у нас есть карта, но нет ридера. На карте написан номер 010,48351.

Как сделать считыватель rfid. Смотреть фото Как сделать считыватель rfid. Смотреть картинку Как сделать считыватель rfid. Картинка про Как сделать считыватель rfid. Фото Как сделать считыватель rfid

Реальная карта с номером 010, 48351.

Как этот номер нам перевести в тот серийный номер, который записан на карте? Достаточно просто. Вспоминаем формулу: переводим две части числа отдельно:

Итого, серийный номер у нас получается: 0xABCDF. Проверим его, считываем карточку считывателем (он читает в десятичном формате), получаем число:

Переводим его любым калькулятором в хекс-формат и получаем снова: 0xABCDF.
Вроде пока просто, погодите, сейчас мозги придётся поднапрячь. Напомню формат данных, которые лежат на самой карте.

Как сделать считыватель rfid. Смотреть фото Как сделать считыватель rfid. Смотреть картинку Как сделать считыватель rfid. Картинка про Как сделать считыватель rfid. Фото Как сделать считыватель rfid

Что такое бит чётности? Это количество единиц в посылке: если оно чётное, то бит чётности равен нулю, если нет, то единице. Проще всего рассчитать его, просто обычным XOR.

На самом деле я долго думал, как элегантнее сделать пересчёт серийного номера в посылку, да так чтобы это занимало меньше места в микроконтроллере. Поэтому набросал небольшую програмку, которая это делает. Программу можно посмотреть под спойлером.

Самое важное для нас, это то как будет выглядеть биты чётности. Для удобства я сделал вывод на экран точно так же, как в этой табличке. В результате получилось вот так.

Как сделать считыватель rfid. Смотреть фото Как сделать считыватель rfid. Смотреть картинку Как сделать считыватель rfid. Картинка про Как сделать считыватель rfid. Фото Как сделать считыватель rfid

card_id — это серийный номер карты (о котором мы говорили выше).

Первый столбец — это ниблы, второй — их битовое представление, третий — это бит чётности. Третья строка снизу — это биты чётности всех ниблов. Как я уже сказал, они рассчитываются просто операцией XOR.

Протестировав расчёты, сверив из визуально, я проверил получившиеся данные в программе на Arduino (последняя строка специально для вставки в код). Всё отработало отлично. В результате наброска этой программы, я получил готовую функцию пересчёта. Раньше, расчёты битов были чужими программами на компе и мне не нравилась их монструозная реализация. Таким образом функция пересчёта серийного номера в формат передачи выглядит так:

Всё, можно переходить к полевым испытаниям. Исходный код проекта обитает тут.

Испытания

Как говориться, лучше один раз увидеть, чем тысячу раз прочитать. Специально для вас записал кино о работе этого эмулятора. Хотел его протестировать на реальном железе, и попробовать пробраться в офис с помощью Arduino, но с проклятой пандемией туда не пускают. Поэтому натурные испытания придётся смотреть на столе, в лабораторных условиях.

Выводы

Очень надеюсь, что подобные статьи подстегнуть новичков изучать программирование и электронику. А так же они поспособствуют уходу с рынка такого типа карт, как самых незащищённых и небезопасных, поскольку теперь их может скопировать и эмулировать даже ребёнок.

Выражаю благодарность Michal Krumnikl за его терпение много-много лет назад, когда он мне по icq разъяснял работу подобного эмулятора, а так же помощь с разработкой кода. В некотором смысле это его идеи и наработки 13-ти летней давности.

Источник

Антенна RFID своими руками или Ключи в ремешке часов.

Как сделать считыватель rfid. Смотреть фото Как сделать считыватель rfid. Смотреть картинку Как сделать считыватель rfid. Картинка про Как сделать считыватель rfid. Фото Как сделать считыватель rfidВ этом обзоре я поделюсь способом изготовления бескаркасных антенн для RFID меток и установки пропуска и ключа от домофона в кожаный ремешок наручных часов.

Вот он, мой второй обзор на Муське. Решил я поведать вам о том, как я упростил свое передвижение на работе, а именно вшил дубликат пропуска в ремешок часов, в который позже добавил и ключ от домофона. Далее я буду параллельно рассказывать об изготовлении антенн для 125 кГц пропуска и 13,56 МГц домофона.

Началось все, когда на работе установили СКУД почти на всех дверях. Пользоваться карточкой мне не понравилось с самого начала и я начал искать пути облегчения прохода с пропуском.

Вначале был куплен силиконовый RFID браслет, но он мне не понравился, знаете ли, ощущения «не те». В дальнейшем оказалось, что такие браслеты не долговечны и рвутся из-за частых растяжений. В продаже есть и более удобные браслеты.
У меня же появилась идея скрестить наручные часы, которые я каждый день одеваю и пропуск, тем более, что два браслета на руке — это перебор.

Карточку-пропуск я ломать не стал, а купил дубликатор и перезаписываемые брелоки для домофона. В моем случае рабочая частота пропуска на работе 125 кГц, а домофона — 13,56 МГц.

Просто извлечь метку из брелока и установить в ремешок не получилось. Размеры антенны довольно большие. Я попробовал сжать антенну — сильно уменьшилось расстояние считывания. Замеры индуктивности антенны показали, что при изменении формы катушки, естественно, меняется и индуктивность. Я подозреваю, что антенна метки представляет собой колебательный LC контур и изменение индуктивности к хорошему не приведет.

Отсюда выход один — изготовить антенну нужных формы и размеров с требуемой индуктивностью. Максимальное расстояние считывания достигается при одинаковых размерах антенн метки и считывателя. Т.е. самодельная метка будет считываться на меньшем расстоянии, чем карта.
Сразу хочу предупредить, что намотка антенны на 125 кГц занятие довольно сложное из-за большого количества витков и малой толщины провода.

Как сделать считыватель rfid. Смотреть фото Как сделать считыватель rfid. Смотреть картинку Как сделать считыватель rfid. Картинка про Как сделать считыватель rfid. Фото Как сделать считыватель rfid
Как сделать считыватель rfid. Смотреть фото Как сделать считыватель rfid. Смотреть картинку Как сделать считыватель rfid. Картинка про Как сделать считыватель rfid. Фото Как сделать считыватель rfid

Измеренная индуктивность антенны метки на 125 кГц составила около 3,57 мГн (миллиГенри), а на 13,56 Мгц — около 5 мкГн (микроГенри). Измерения нужно проводить так, чтобы исключить влияние других предметов на индуктивность.

Для пропуска на 125 кГц может понадобиться около 450 витков провода 0,05-0,07 с внутренним диаметром 7 мм и толщиной антенны в 1 мм. Провод сматывал с 24в реле. Намотку я производил шуруповертом. Где-то с пятой попытки получилось что нужно ).
Для ключа домофона на 13,56 МГц ушло около 1,5 метра провода 0,1-0,15 с внутренним диаметром 7 мм и толщиной около 1,5 мм. Намотка производилась вручную, витки не считал. Получилось со второй попытки.

Чип для домофона был аккуратно извлечен из брелока. Брелок хитрый и в переходе не получилось его скопировать. Все было залито нерастворяемым компаундом. Пришлось аккуратно все разламывать.

Как сделать считыватель rfid. Смотреть фото Как сделать считыватель rfid. Смотреть картинку Как сделать считыватель rfid. Картинка про Как сделать считыватель rfid. Фото Как сделать считыватель rfid

Для намотки бескаркасной катушки нам потребуется оснастка. Я нашел пару пластиковых крышек не известно от чего. Две пластиковые крышки или другие желательно круглые и плоские детали скрепляются посередине винтом с гайкой, который образует ось вращения. Между крышками устанавливается картонная прокладка. Намотка производится в промежуток между пластиковых крышек. Провод фиксируется эпоксидной смолой или лаком.

Как сделать считыватель rfid. Смотреть фото Как сделать считыватель rfid. Смотреть картинку Как сделать считыватель rfid. Картинка про Как сделать считыватель rfid. Фото Как сделать считыватель rfid

Методика намотки следующая: сначала нужно вырезать из картона шайбу, которая будет задавать внутреннюю форму антенны и ее толщину. Далее смазываем поверхности оснастки (пластиковых крышек) тонким слоем силикона, вставляем винт и одеваем картонную шайбу. Конец провода нужно закрепить в отверстии винта. Наносим немного «пятиминутной эпоксидки» вокруг картонной вставки, одеваем вторую крышку, скрепляем все вместе и незамедлительно производим намотку.

Как сделать считыватель rfid. Смотреть фото Как сделать считыватель rfid. Смотреть картинку Как сделать считыватель rfid. Картинка про Как сделать считыватель rfid. Фото Как сделать считыватель rfid
Как сделать считыватель rfid. Смотреть фото Как сделать считыватель rfid. Смотреть картинку Как сделать считыватель rfid. Картинка про Как сделать считыватель rfid. Фото Как сделать считыватель rfid
Как сделать считыватель rfid. Смотреть фото Как сделать считыватель rfid. Смотреть картинку Как сделать считыватель rfid. Картинка про Как сделать считыватель rfid. Фото Как сделать считыватель rfid
Как сделать считыватель rfid. Смотреть фото Как сделать считыватель rfid. Смотреть картинку Как сделать считыватель rfid. Картинка про Как сделать считыватель rfid. Фото Как сделать считыватель rfid

Я изготавливал антенны овальной формы. Точно рассчитать индуктивность мне показалось невозможным, поэтому я мотал побольше… После неполного застывания эпоксидной смолы оснастку аккуратно разбираем. Катушка должна легко отделиться от смазанной оснастки. Измеряем индуктивность и отматываем провод до получения необходимой индуктивности. При приближении к требуемому значению я производил замеры через каждый виток.
Таким методом можно мотать антенны любой формы и размеров.

Как сделать считыватель rfid. Смотреть фото Как сделать считыватель rfid. Смотреть картинку Как сделать считыватель rfid. Картинка про Как сделать считыватель rfid. Фото Как сделать считыватель rfid

Так же всегда можно купить мелкие RFID метки (раз, два, три) и припаять свой или перезаписываемый чип.

После изготовления антенны припаиваем к ней чистый чип (TK5577 на 125 кГц) и производим копирование или паяем заведомо рабочий чип.

Как сделать считыватель rfid. Смотреть фото Как сделать считыватель rfid. Смотреть картинку Как сделать считыватель rfid. Картинка про Как сделать считыватель rfid. Фото Как сделать считыватель rfid

Как же теперь все интегрировать в ремешок часов?
Варианта три: первый — купить кожаный ремешок с прошивкой по краю, расшить, подготовить нишу, вставить метку и зашить обратно. Второй — найти изготовление ремешков под заказ, отправить метки, указать место установки и получить готовый результат. Третий вариант — есть нейлоновые ремешки типа миланской петли. Метку можно установить внутри ремешка на клей. Я заказал ремешок у мастера (ищите в комментариях) и получил отменный результат.

Как сделать считыватель rfid. Смотреть фото Как сделать считыватель rfid. Смотреть картинку Как сделать считыватель rfid. Картинка про Как сделать считыватель rfid. Фото Как сделать считыватель rfid
Как сделать считыватель rfid. Смотреть фото Как сделать считыватель rfid. Смотреть картинку Как сделать считыватель rfid. Картинка про Как сделать считыватель rfid. Фото Как сделать считыватель rfid

Сейчас, после всего полученного опыта могу сказать, что мотать антенны на 125 кГц — занятие довольно сложное. Большое количество витков, тонкий провод для малых габаритов делают изготовление таких антенн очень тонкой работой.
Но изготовить антенну для 13,56 мГц оказалось не сложно. Витков мало, провод можно не совсем тонкий. Работает не хуже штатной антенны брелока.

Еще были идеи добавить в ремешок карту метро и банковскую карту. Только в Украине нет возможности пополнить метро бесконтактно. По крайней мере я не нашел. Да и достать кошелек два раза в день не трудно. Вмонтировать банковскую карту тоже, считаю, реально. Люди уже такое делали. Заказываем карту с бесконтактной оплатой, растворяем в ацетоне, а дальше пайка и т.п. Пополнить ее можно в онлайн банкинге. Но это уже другая история…
Для себя решил, что пропуска и ключа от домофона пока достаточно. Вшивать RFID под кожу пока не время, а вот расположить их в удобных местах вполне возможно.
На этом спасибо, что дочитали до конца. Прошу прощения за возможные ошибки и неточности. В общем как умею…
Всем добра!

Источник

RFID-модуль RC522

Как сделать считыватель rfid. Смотреть фото Как сделать считыватель rfid. Смотреть картинку Как сделать считыватель rfid. Картинка про Как сделать считыватель rfid. Фото Как сделать считыватель rfid

Товары

Как сделать считыватель rfid. Смотреть фото Как сделать считыватель rfid. Смотреть картинку Как сделать считыватель rfid. Картинка про Как сделать считыватель rfid. Фото Как сделать считыватель rfid

Радиочастотная идентификация (RFID) — это технология бесконтактной идентификации объектов при помощи радиочастотного канала связи. Идентификация объектов производится по уникальному идентификатору, который имеет каждая электронная метка.

Содержание

Обзор RFID модуля RC522

Как сделать считыватель rfid. Смотреть фото Как сделать считыватель rfid. Смотреть картинку Как сделать считыватель rfid. Картинка про Как сделать считыватель rfid. Фото Как сделать считыватель rfid

Рисунок 1. RFID модуль RC522

Технические характеристики RFID-модуля RC522

Интерфейсы и назначение выводов

Микросхема MFRC522 поддерживает интерфейсы SPI, UART и I2C (см. рисунок 2). Выбор интерфейса осуществляется установкой логических уровней на определенных выводах микросхемы. На данном модуле выбран интерфейс SPI.

Как сделать считыватель rfid. Смотреть фото Как сделать считыватель rfid. Смотреть картинку Как сделать считыватель rfid. Картинка про Как сделать считыватель rfid. Фото Как сделать считыватель rfid

Рисунок 2. RFID модуль RC522 – назначение выводов

Подключение модуля к плате Arduino

Как сделать считыватель rfid. Смотреть фото Как сделать считыватель rfid. Смотреть картинку Как сделать считыватель rfid. Картинка про Как сделать считыватель rfid. Фото Как сделать считыватель rfid

Рисунок 3. Схема соединений для подключения RFID модуль RC522 к плате Arduino

На платах Arduino есть разъём ICSP. Он используется для работы по интерфейсу SPI. Назначение контактов разъёма ICSP представлено на рисунке 4. Поэтому можно для соединений использовать контакты разъёма ICSP.

Как сделать считыватель rfid. Смотреть фото Как сделать считыватель rfid. Смотреть картинку Как сделать считыватель rfid. Картинка про Как сделать считыватель rfid. Фото Как сделать считыватель rfid

Рисунок 4. Распиновка разъёма ICSP Arduino для интерфейса SPI

Для программирования модуля будем использовать arduino-библиотеку MFRC522, которую можно скачать на github (https://github.com/miguelbalboa/rfid). Загружаем на плату Arduino скетч из листинга 1 для получения типа метки и ее UID (уникального идентификатора).

Листинг 1 В качестве меток используем брелки и карты, идущие к комплекте с модулем, а также клюющиеся метки Ultrasonic C (рисунок 5).

Как сделать считыватель rfid. Смотреть фото Как сделать считыватель rfid. Смотреть картинку Как сделать считыватель rfid. Картинка про Как сделать считыватель rfid. Фото Как сделать считыватель rfid

Рисунок 5. RFID-метки для модуля RFID RC522

После загрузки скетча открываем монитор последовательного порта и видим вывод данных о типе и UID подносимой к считывателю метки (рисунок 6).

Как сделать считыватель rfid. Смотреть фото Как сделать считыватель rfid. Смотреть картинку Как сделать считыватель rfid. Картинка про Как сделать считыватель rfid. Фото Как сделать считыватель rfid

Рисунок 6. Вывод данных о типе и UID считываемых с меток

Любопытно посмотреть содержимое памяти метки (дамп памяти). Загрузим на плату Arduino скетч из листинга 2 для чтения и вывода в последовательный порт дампа памяти метки метки.

Листинг 2 И смотрим содержимое памяти для разных меток (рисунок 7). Метка Ultralight C всего 64 байта.

Как сделать считыватель rfid. Смотреть фото Как сделать считыватель rfid. Смотреть картинку Как сделать считыватель rfid. Картинка про Как сделать считыватель rfid. Фото Как сделать считыватель rfid

Рисунок 7. Вывод дампа памяти меток

И еще рассмотрим вопрос записи информации на метку. Считывание данных с метки и запись данных на метку производится поблочно. Разные метки имеют разный размер блока. Для Ultralight C размер блока 4 байта. Скетч 3 – запись данных в память метки в первые два байта 15 блока. Получаем данные по последовательному порту и записываем в метку. Затем выводим содержимое блока в последовательный порт. Листинг 3 И смотрим запись на карту данных из последовательного порта (рисунок 8).

Как сделать считыватель rfid. Смотреть фото Как сделать считыватель rfid. Смотреть картинку Как сделать считыватель rfid. Картинка про Как сделать считыватель rfid. Фото Как сделать считыватель rfid

Рисунок 8. Вывод дампа памяти меток

Часто задаваемые вопросы FAQ

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *