Сегодня я пошагово опишу процесс подключения RFID модуля RDM630 к Arduino Mega 2560.
Данный модуль может быть использован для создания системы радиочастотной идентификации с использованием RFID чипов.
Области применения:
- Системы контроля и управления доступом
- Наблюдение за перемещением по объектам
- Инвентаризация на складах
- Электронные паспорта
- Транспортные платежи
- и т.д.
Для начала познакомлю вас с самим модулем RDM630.
Технические характеристики RFID модуля RDM630
- Назначение – чтение карт EM4100 и TK4100
- Напряжение питание модуля – 5 Вольт.
- Потребляемый ток- менее 50 мА
- Скорость передачи данных – 9600
- Рабочая частота – 125 кГц
- Интерфейс – RS232
- Дальность считывания – 50 мм (зависит от типа RFID чипа)
Datasheet RDM630
RDM630.pdf (83,0 KiB, 1 859 hits)
Комплект поставки RFID модуля RDM630
В комплект поставки входят:
- RFID модуль RDM630
- Антенна
Назначение выводов RFID модуля RDM630
На модуле расположены три разъема:
Назначение выводов P1:
- 1 – TX
- 2 – RX
- 3 – не используется
- 4 – GND
- 5 — +5 V
Назначение выводов P2:
- 1 – антенна — вывод 1
- 2 – антенна – вывод 2
Назначение выводов P3:
- 1 – LED
- 2 — +5 V
- 3 – GND
Подключение RFID модуля RDM630 к Arduino Mega 2560
Схема подключения достаточно проста и не имеет никаких заморочек. Единственное, что я изменил в стандартном варианте подключения – это перенес, с помощью библиотеки SoftwareSerial, пин передачи данных с RX вывода Arduino на 50-й дискретный пин. Это позволило не отключать RDM630 от Arduino при загрузке скетча.
- 1 пин (TX) RDM630 – к дискретному выводу 50 на Arduino
- 4 пин (GND) RDM630 – к GND на Arduino
- 5 пин (+5 V) RDM630 – к +5 V на Arduino
Получилось как-то так:
Проверочный скетч для работы с RFID модулем RDM630
В данном коде реализовано считывание данных с RFID чипов и вывод их в COM порт. Сразу уточню, что выводимая информация — это не код карты, а полностью все данные.
Весь код я прокомментировал, поэтому вопросов у вас возникнуть не должно.
#include
SoftwareSerial RFIDSerial(50, 51); // RX, TX
При поднесении RFID чипов к антенне модуля RDM630, в Мониторе порта мы увидим значения кодов RFID чипов:
На всех имеющихся у меня в наличии чипах первый символ в выводимых данных всегда был 2, а последний 3. По информации из документации, так будет абсолютно на всех картах.
Формат данных RFID
У китайцев я покупал RFID чипы, которые были выполнены в виде карт и брелков.
При покупке RFID чипов обратите внимание на их частоту. Она должна быть 125 кГц, а не 13,56 МГц или 860-930 МГц.
Сам RFID модуль RDM630 я покупал у китайцев на dx.com за $13.5.
Функциональные отличия RFID модулей серии RDM6XX
- RDM611 — Только для чтения карт TI 134.2KHz
- RDM630 — Только для чтения карт EM4100/TK4100
- RDM650 — Чтение и запись карт TK5557/5567
- RDM660 — Чтение и запись Hitags-256/2048 Hitags-карт
- RDM671 — Только для чтения карт EM4005/EM4105
- RDM680 – Чтение и запись карт EM4569/EM4469
На этом всё! Если возникнут вопросы – задавайте их в комментариях.
Привет, друзья!Я запилил копировальщик домофонных ключей на ардуино и сделал пару видосов на своём канале youtube про копирование контактных ключей типа Dallas, токовых ключей Cyfral и Metakom, а также про копирование rfid ключей типа EM-Marine, работающих на частоте 125 кГц. Как раз такие используются в домофонах наших подъездов.
Подробное видео можно посмотреть тут:
Электрическая Схема
Gerber_PCB3_20200103004523
Корпус и Механическая сборка
Я забацал 3D модель кастомного корпуса для моего дубликатора.
-
STL-файл для печати 3D модели корпуса и крышки -
Распечатанный корпус
3D модель корпуса и крышки .STL
А вот как это напечаталось на 3D принтере. У меня нет принтера, но я нашёл человека через сервис дружественная печать.
Чтобы плата энкодера влезла в корпус ее необходимо немного подпилить напильником с конца, на котором нет дорожек.
Катушку можно взять готовую, например от модуля rdm или купить у китайцев на али на 340 мкГн. Если будете мотать на спичечный короб — это 59 витков.
Вот как выглядит аппарат в сборе.
Скетч и библиотеки
Ссылка на гитхаббиблиотеки и скетч. Библиотеки oled дисплея и oneWireSlave нужно сложить в папочку libraries среды ардуино. Для энкодера я использую библиотеку от Алекса Гайвера. Её нужно распаковать туда же.Также нужно доустановить библиотеку oneWire и TimerOne из репозитория библиотек ардуино.
Описание работы дубликатора
Если вы хотите сохранить в EEPROM прочитанный ключ, просто удерживайте нажатым энкодер несколько секунд. Если в EEPROM уже записаны все 20 ключей, то самый старый из них затирается. Если повторно пытаться сохранить в EEPROM ключ, который там уже есть — запись не происходит, а просто выбирается индекс уже сохраненного ключа.
Для перевода в режим записи жмём на кнопку энкодера — светится красный диод. Ключ который отображается на дисплее будет записан на болванку.
Если вам понравился проект — поддержите автора!
Если вам нравится самоделка, но чувствуете, что сил сделать самому пока не достаточно — можете заказать самоделку в авторском исполнении.
- Дубликатор 2900 руб
- Комплект для самостоятельной сборки 1900 руб
Доставка в ваш город составляет примерно 250 руб и уже входит в стоимость.
В заказе будет особая авторская прошивка.Вырученные средства пойдут на на закупку материалов для новых проектов, оборудования для съемки, содержание сайта и доменного имени.
Необходимые Материалы
- Tutorial
Приветствую всех, кого интересует тема электронных ключей-вездеходов. Сам я, по правде сказать, давно не слежу за новостями в этой области. Но свою разработку трёхлетней давности хочу опубликовать, так как она проста в повторении и может быть кому-то интересна. Суть: вместо десятка ключей с кодами-вездеходами и просто кодами, все ключи можно носить в одном небольшом устройстве.
Дисклеймер: повторять — не призываю, за сборку и применение — отвечаете сами, я делюсь информацией исключительно в ознакомительных целях. Например, чтоб помогали компаниям, обслуживающим домофоны, вовремя латать «дыры», если таковые с помощью прибора обнаружатся.
1. Что это такое? Что умеет?
Устройство, которое я собирал в далёком 2017 году, есть ни что иное, как спуфер домофонного RFID-ключа, работающего на частоте 125 кГц. Слово «спуфер» в данном случае означает, что устройство, по сути ключом не являясь, выдаёт себя за него, и домофоны реагируют на это соответствующе. Прибор умеет транслировать любые коды ключей, которые записаны в его память. Некоторые коды можно найти в Сети по запросу «ключи-вездеходы», их я вставил в прошивку в первую очередь. Но при некотором навыке и желании можно вставить в прошивку коды вообще всех RFID-ключей, которыми вы пользуетесь (если они работают на частоте 125 кГц), и, таким образом, иметь возможность заменить одним прибором связку брелков. Я знаю, что на просторе Сети гуляет большое количество схем подобных устройств. Моей целью было создать наипростейший вариант из всех доступных. Удалось или нет — судите сами.
2. Какими навыками нужно обладать, чтобы повторить данный проект?
Прежде всего, навыки работы с Arduino: иметь установленную среду разработки, уметь заливать в плату прошивки, устанавливать библиотеки, драйверы, вот это вот всё. Далее. Имеется в проекте место, где без пайки — ну вот никак. Потому — нужны прямые руки и паяльник с расходниками. Уметь читать электрические принципиальные схемы (или их подобия). Ну и навыки программирования на C++, дабы иметь возможность кастомизации прибора. Но это уже опционально.
3. Какие запчасти нужны и как их монтировать?
Не откладывая в долгий ящик — вот схема устройства: Как видно, BOM для базовой версии выглядит примерно так:
- Arduino Nano (или любая другая Дуня, которая под рукой есть);
- RFID-ключ формата EM4100 (вместо катушки индуктивности);
- n-p-n транзистор (любой какой отыщется, частоты тут не очень высокие);
- резистор на 10К;
- конденсатор на 560 пФ (лучше SMD, можно прямо в корпус от ключа припаять);
- литий-ионный аккумулятор — по вкусу;
- три сенсорных кнопки;
- OLED-дисплей с I2C интерфейсом;
- модуль зарядки для liIon;
- повышающий DC-DC преобразователь с выходом 5 В.
Схема питания может быть любой, лишь бы хватило Arduino чтобы стартовать. Устройства ввода/вывода — аналогично: прошивка легко может быть адаптирована под те кнопки/дисплеи, что есть в наличии (ссылка на гитхаб — чуть ниже). Текущая версия прошивки написана под OLED-дисплей и сенсорные кнопки (взяты были из соображений «бездребезговости»). Собрать тестовый образец можно и на беспаечной макетке. Особых инструкций тут не требуется, за исключением того, как быть с «индуктивностью». Об этом — поподробнее. Ключ, подобный тому, что на фото, можно раздобыть у любого местного мастера, либо заказать на Али. На корпусе ключа имеется крышка, которую следует аккуратно открыть, добравшись до начинки: Она представляет собой катушку и микросхему памяти с двумя контактными площадками по бокам. Выводы катушки припаяны как раз к этим площадкам. Всё это залито тонким слоем эластичного термополимера (по виду и свойствам похожего на застывший клей B7000). Чтобы добыть катушку, я поступил следующим образом. Взяв канцелярский нож, я аккуратно продавил лезвием текстолит между площадками и микросхемой. Микросхему отделил от катушки и выкинул. Затем паяльником я аккуратно (чтобы не отпаять тонкие проводки катушки) сжёг термополимер над контактными площадками, сделав возможным дальнейшую прозвонку. Прежде чем паять, следует измерить сопротивление катушки, убедившись, что она не в обрыве. Если всё в порядке, то собирать лучше так: сперва припаять SMD-конденсатор к контактным площадкам (он должен аккуратно поместиться между ними), затем — ножки транзистора и под конец — резистор к базе. Всё это можно аккуратно смонтировать в корпус ключа. Провода «земли» и базы транзистора припаивать в последнюю очередь. Затем сделать в крышке ключа отверстие под эти провода, и закрыть брелок, придав ему почти что первозданный вид. Для сборки на беспаечной макетке к проводам следует припаять штырьевые разъёмы (или просто хорошенько залудить их, чтобы можно было без проблем вставлять в макетную плату).
4. Прошивка, тест и наладка
Как и обещал, ссылка на репозиторий проекта. Файлы прошивки лежат в папке My_125_kHz_spoofer_v.03. После сборки и заливки прошивки прибор готов к использованию. Чтобы убедиться в его работоспособности, совсем не обязательно искать домофон — можно обойтись китайским модулем для чтения RFID-ключей, который называется RDM6300 и ещё одной платой Arduino (хотя кому что проще). Прошивку для модуля RDM6300, выдающую транслируемый код ключа в том же формате, в каком он внесён в прошивку спуфера, я также положил в репозиторий проекта. Схема подключения ридера — там же. Порядок тестирования с помощью ридера RDM6300:
- Убедиться, что ридер работает, поднеся к антенне любой из имеющихся в наличии ключей на 125 кГц (данные будут выводиться в COM-порт);
- Выбрать в меню спуфера интересующий код ключа;
- Поднести антенну к ридеру. Если ридер прочёл тот же ключ, что указан в прошивке — всё получилось! Else — проверяем схему, ищем, где ошибка, устраняем её и начинаем с пункта 1.
5. Что в прошивке можно менять, а что — лучше не трогать
Поскольку лепилась прошивка на основе вот этого, не вполне понятного для меня кода, то жизненно-необходимые функции, которые менять нельзя вот прям совсем, я вынес в отдельную вкладку functions.ino. Остальная часть программы служит исключительно для предоставления пользователю комфортной возможности вызвать функцию EmulateCard (ну, и нескольких строчек кода перед ней). Свои ключи можно добавлять в массив uint64_t universalID[], расположенный на 75 строке кода. Поскольку я не «задефайнил» общее количество ключей в памяти устройства, а некоторые функции завязаны на эту константу, при добавлении своего ключа следует менять также пределы, в которых находится переменная keyNumber, отвечающая за выбор ключа. Ну и не забывать свой ключ в меню добавлять. В общем, всё сыровато, но при желании, повторюсь, разобраться не трудно.
6. Что в приборе можно было бы доработать
- Добавить поддержку ключей iButton (хотя бы самых распространённых от Dallas).
- Добавить эмуляцию ключей, работающих на частоте 13,5 МГц (как я понял, либо через ношение перезаписываемой заготовки и модуль RC522, либо технически-сложно, через реальную эмуляцию).
- Добавить в прибор ридеры iButton, RDM6300 и RC522, чтобы сделать прибор ещё более универсальным.
У кого что получится — пишите о результатах. Сам я к разработке этой игрушки в ближайшее время возвращаться не собираюсь)
7. История создания
Была на дворе осень 2017 года. Будучи студентом второго курса магистратуры, я томился неразрешёнными вопросами самоопределения. Проще говоря, маялся бездельем и искал, чем бы заняться. В итоге решил довести до конца свои старые инженерные проекты в ущерб посещению университета. Погода на дворе стояла просто роскошная. А что может быть лучше, чем прохладной осенней ночью сидеть где-нибудь на крыше многоэтажки, попивая чай из термоса и созерцая суету ночного города под ногами?.. Днём попасть в подъезд любой многоэтажки труда не составляет никакого — социнженерия из серии «Здравствуйте, соцопрос о качестве работы управляющей компании для название_местной_газеты» отлично работает, да и вообще, в основном жильцы не против, чтобы кто-то заходил в подъезд вместе с ними. Ночью — другое дело. А я любил вылазить на крыши либо на закате, либо ночью… Назрела проблема, которую я и решил вышеописанным способом. Как я помню, информация о подобных устройствах нашлась не сразу. Гуглёжка по ключевикам «взломщик домофонов» не давала почти ничего. Адекватное стало находиться, когда я чуть-чуть разобрался в технологии RFID, и стал задавать уже более осмысленные вопросы, типа «RFID emulator», «RFID multykey», «RFID spoofer». В итоге получилось отыскать две приличные англоязычные статьи по теме. В одной автор описывал, как на основе Arduino делался довольно замороченный с аппаратной точки зрения ключик, а во второй — всё то же самое, но без исходников, зато с очень простой аппаратной частью. Справедливо рассудив, что раз и та, и другая схема соединяются с антенной одним пином Arduino, я решил скрестить простое аппаратное решение и открытые исходники. Удалось, пусть и не с первого раза). На фото в начале данной статьи — далеко не первая версия прибора. Первая была на макетке, и работала через СОМ-порт. Помню, как прохожие всячески давали мне понять, что я выгляжу подозрительно, когда я с раскрытым ноутом стоял у двери многоэтажного дома, и что-то там пиликал в домофоне. Затем было несколько более компактных версий, которые я собирал и разбирал ради интереса. Предпоследнюю спёр один из главных героев предыдущей моей статьи. Нынешняя версия была собрана 29 января сего года, в перерыве между уроками, которые я веду в своём кружке. Собрана только с целью убедиться, что я никого не дезинформирую, и прошивка со схемой работают.Используемые источники:
- https://geekelectronics.org/arduino/podklyuchenie-rfid-modulya-rdm630-k-arduino-mega-2560.html
- http://mexatrondiy.ru/rfiddublicatoroled/comment-page-1/
- https://habr.com/post/485104/