Копирование ключей домофона своими руками

Как сделать своими руками копировальщик контактных и бесконтактных ключей домофона

Для копирования ключа домофона необходимо получить код ключа оригинала, затем записать его в ключ копию. Домофон определит ключ дубликат как свой и откроет входную дверь.

С помощью модуля Ардуино по интерфейсу onewire можно провести считывание а также запись домофонных ключей.

Перечень инструментов и материалов.
— плата Arduino Nano-1шт ;
— подстроечный многооборотный резистор на 10Ком -1шт;
— соединительные провода;
— макетная плата -1шт ;
— RFID ключ болванка T5577(Т5557) ;
— Ibutton ключ болванка RW1990 ;
— RGB светодиод-1шт;
— кнопка-1шт;
— выключатель питания-1шт;
— активный зуммер 5В -1шт;
— считыватель контактный-1шт;
— провод ПЭВ 0,2-0,4мм;
— конденсаторы и резисторы согласно схемы;
— пластмассовый корпус (распредкоробка);
— паяльник;
— тестер.

Шаг первый. Распайка схемы.

Схема состоит из платы Arduino Nano с подключенными считывателем контактных ключей и платы считывателя бесконтактных ключей. RGB светодиод служит для индикации режимов работы-дежурный, считывание ключа,запись ключа. Подстроечный многооборотный резистор для регулировки компаратора. Кнопка предназначена для переключения режимов работы дубликатора. Зуммер- для звукового контроль работы копира.

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


Колебательный контур состоит из конденсатора 4700 пФ и катушки индуктивности.

Расчет катушки колебательного контура можно произвести на калькуляторе сайта

Шаг второй. Настройка и проверка работы.
Собираем всю схему для настройки на макетной плате. Загружаем скетч. Версия IDE Arduino должна не ниже 1.8.9

С платы Arduino Nano контакт D11 выдается сигнал 125 kHz, который идет на колебательный контур катушки и конденсатора. Но потому что конденсаторы имеют разброс по емкости от 5 до 30%, колебательный контур надо точно настроить на частоту 125 kHz. Для этого катушку наматываем с запасом 10-15 витков, затем сматываем пока на тестере не будет увеличиваться напряжение до максимума. Тестер подключаем к амплитудному детектору(в точке –диод,конденсатор). Напряжение должно находится в пределах 16-22 Вольта. После подстроечным резистором выставляем напряжение 0,1 Вольта(тестер на вывод D6 и GND).

Если схема собрана и настроена правильно то она сразу начинает работать. Подносим к катушке RFID ключ, происходит считывание кода, проходит звуковой сигнал.

Ключ представляет собой катушку с чипом.


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

Процесс изготовления и настройки можно посмотреть в видео

Всем желаю здоровья и интересных самоделок!

Крутой дубликатор домофонных ключей на Arduino

Привет, друзья!
Я запилил копировальщик домофонных ключей на ардуино и сделал пару видосов на своём канале youtube про копирование контактных ключей типа Dallas, токовых ключей Cyfral и Metakom, а также про копирование rfid ключей типа EM-Marine, работающих на частоте 125 кГц. Как раз такие используются в домофонах наших подъездов.

Подробное видео можно посмотреть тут:

Электрическая Схема

Так выглядит схема копировальщика: к ардуино нано подключается луза для копирования контактных ключей, а к ногам 11 и 7 подключается вход и выход rfid модуля.
Rgb-cветодиод для индикации режима чтение/запись/BlueMode, buzzer — для попискивания. Энкодер — для управления дибликатором. На шине i2c подцеплен oled дисплей.

  • Схема электрическая принципиальная

Взрослая схема платы дубликатора из онлайн-редактора EasyEda

Корпус и Механическая сборка

Я забацал 3D модель кастомного корпуса для моего дубликатора.

  • STL-файл для печати 3D модели корпуса и крышки
  • Распечатанный корпус

А вот как это напечаталось на 3D принтере. У меня нет принтера, но я нашёл человека через сервис дружественная печать.

Чтобы плата энкодера влезла в корпус ее необходимо немного подпилить напильником с конца, на котором нет дорожек.

Катушку можно взять готовую, например от модуля rdm или купить у китайцев на али на 340 мкГн.
Если будете мотать на спичечный короб — это 59 витков.

Вот как выглядит аппарат в сборе.

Скетч и библиотеки

Ссылка на гитхаб библиотеки и скетч. Библиотеки oled дисплея и oneWireSlave нужно сложить в папочку libraries среды ардуино. Для энкодера я использую библиотеку от Алекса Гайвера. Её нужно распаковать туда же.
Также нужно доустановить библиотеку oneWire и TimerOne из репозитория библиотек ардуино.

Описание работы дубликатора

При запуске копировальщик достаёт из eeprom последний сохранённый туда ключик и показывает на дисплее количество ключей в EEPROM, шифр ключа и его тип. Максимум в дубликатор можно сохранить 20 разных ключей.
Rgb диод светит зелёным, т.е ключ уже можно писать на болванку. Если в EEPROM было пусто, на экране будет соответствующая надпись, в ожидании чтения ключа.
Чтобы выбрать из EEPROM другой ключ , достаточно покрутить энкодер вправо или влево.

Если вы хотите сохранить в EEPROM прочитанный ключ, просто удерживайте нажатым энкодер несколько секунд. Если в EEPROM уже записаны все 20 ключей, то самый старый из них затирается. Если повторно пытаться сохранить в EEPROM ключ, который там уже есть — запись не происходит, а просто выбирается индекс уже сохраненного ключа.

Для перевода в режим записи жмём на кнопку энкодера — светится красный диод. Ключ который отображается на дисплее будет записан на болванку.

Теперь немного про ключи цифрал и метаком.
Для копирования таких ключе нужна спец болванка тм-01а.
Дубликатор умеет делать финализацию таких ключей, и они ничем не будут отличаться от исходных.

Но и это ещё не всё! Я прикинул, а что если сделать эмулятор rfid ключа? У меня есть девайс, который может хранить до 20 разных ключей, в нем есть мозги и рамка, как в обычном ключе. С манчестерским кодом я уже разобрался….
Короче, жмём на кнопку энкодера и переключаемся в третий режим — blueMode. Достаточно поднести дубликатор к домофону и … опа.. дверь открывается! Магия!

Если вам понравился проект — поддержите автора!

Если вам нравится самоделка, но чувствуете, что сил сделать самому пока не достаточно — можете заказать самоделку в авторском исполнении.

  • Дубликатор 3200 руб
  • Комплект для самостоятельной сборки 2300 руб

Доставка в ваш город составляет примерно 250 руб и уже входит в стоимость.

В заказе будет особая авторская прошивка. Вырученные средства пойдут на на закупку материалов для новых проектов, оборудования для съемки, содержание сайта и доменного имени.

Необходимые Материалы

  • Arduino nano
  • OLED дисплей
  • Энкодер
  • Луза
  • Пищалка buzzer
  • RGB светодиод
  • Микро выключатель
  • Контакт для батарейки
  • Готовая катушка на 340 мкГн (10 шт) и от RDM (1шт)
  • 3D модель корпуса STL
  • Gerber файл печатной платы
  • Кондесатор 4.7 нФ — 1 шт
  • Кондесатор 2.2 нФ — 2 шт
  • Кондесатор 10 нФ — 1 шт
  • Резистор 0.25 Вт, 220 Ом — 3 шт
  • Резистор 0.25 Вт, 2.4 кОм — 1 шт
  • Резистор 0.25 Вт, 10 кОм — 1 шт
  • Резистор 0.25 Вт, 120 кОм — 1 шт
  • Резистор 0.25 Вт, 510 кОм — 1 шт
  • Диод 1N4148 — 1 шт
  • Заготоква rfid-ключа T5557
  • Заготовка dallas-ключа RW1990
  • Универсальная заготовка для метаком, цифрал и dallas TM-01a

Конденсаторы любые неполярные. Я использовал керамические на 50В.

Полезные ссылки

  • Для начинающих ардуинщиков от AlexGyver
  • Про манчестерский код
  • Расчет катушки индуктивности
  • Чтение ключа rfid ключа em marine
  • Протокол записи rfid T5557/T5577 на русском, оригинал ATA5555 datasheet .pdf
  • Протокол dallas oneWire
  • Протокол чтения Цифрал к1233кт1
  • Протокол чтения Метаком к1233кт2
  • Статья от RECTO про копировальщик
  • Статья от Петра про протоколы записи tm-01
  • Сервис дружественная 3d печать

640 комментариев к « Крутой дубликатор домофонных ключей на Arduino »

Здравствуйте собрал и я такую штуку автору проекта большое спасибо. У меня вроде все работает контактные и бесконтактные ключи читает и пишет. Я в этом деле новичок и мало, что понимаю только начинаю познавать азы электроники. У меня есть пару вопросов к вам МЕХАТРОН или форумчанам. Первое собрав сей девайс стал испытывать разные режимы и моя крона здохла промерно минут так через 10 первое что перестало работать при падении напряжении RFD. Но думал крона говно купил подороже но теперь подключил мультиметр на крону посмотреть падение напряжение, включил дубликатор показало 9,3в и стало потихоньку падать 9,27 9,26 итд отключил антену rfd вроде стало чуть чуть поменьше падать. Вопрос почему так быстро подает напряжение в чем может быть причина в LED Дисплее или в RFD антенне или так и должно беспрерывная работа дубликатора примерно 5 минут и все.Перечитал все коменты но никто об этом не писал. И второй вопрос при включении дубликатора моргнет и загорается красный диод в лузе потом когда загорелся зеленый диод режим чтения ключей красны диод в лузе гаснет и загорается толька в режиме — bluemode, это так и должно быть так в скетче прописано или у меня что-то неправильно работает . Просто у вас на видео вроде после загрузки светиться зеленый и красный в лузе диод и можно ли в скетче в режиме — bluemode наоборот отключить светодиод, а в режиме чтения и записи включить. Буду вам всем рад за помощь в ответах на мои вопросы повторюсь ребята я в этом деле новичок . Спасибо вам всем заранее.

Здравствуйте собрал и я такую штуку автору проекта большое спасибо. У меня вроде все работает контактные и бесконтактные ключи читает и пишет. Я в этом деле новичок и мало, что понимаю только начинаю познавать азы электроники. У меня есть пару вопросов к вам МЕХАТРОН или форумчанам. Первое собрав сей девайс стал испытывать разные режимы и моя крона здохла примерно минут так через 10 первое что перестало работать при падении напряжении RFD. Но думал крона говно купил подороже но теперь подключил мультиметр на крону посмотреть падение напряжение, включил дубликатор показало 9,3в и стало потихоньку падать 9,27 9,26 итд отключил антену rfd вроде стало чуть чуть поменьше падать. Вопрос почему так быстро подает напряжение в чем может быть причина в LED Дисплее или в RFD антенне или так и должно беспрерывная работа дубликатора примерно 5 минут и все.Перечитал все коменты но никто об этом не писал. И второй вопрос при включении дубликатора моргнет и загорается красный диод в лузе, потом когда загорелся зеленый диод режим чтения ключей красны диод в лузе гаснет и загорается толька при выборе режима — bluemode, это так и должно быть, так в скетче прописано или у меня что-то неправильно работает . Просто у вас на видео вроде после загрузки светиться зеленый и красный в лузе диод и можно ли в скетче в режиме — bluemode наоборот отключить светодиод, а в режиме чтения и записи включить. Буду вам всем рад за помощь в ответах на мои вопросы, повторюсь ребята я в этом деле новичок . Спасибо вам всем заранее.

Читайте также  Как узнать код ключа от домофона?

А что вы хотите ?
Крона — это очень слабая батарейка.
Вы не падение напряжения измеряйте, а померьте потребляемый этим устройством ток — и всё станет ясно !

Делаем универсальный RFID-ключ для домофонов

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

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

1. Что это такое? Что умеет?

Устройство, которое я собирал в далёком 2017 году, есть ни что иное, как спуфер домофонного RFID-ключа, работающего на частоте 125 кГц. Слово «спуфер» в данном случае означает, что устройство, по сути ключом не являясь, выдаёт себя за него, и домофоны реагируют на это соответствующе.

Прибор умеет транслировать любые коды ключей, которые записаны в его память. Некоторые коды можно найти в Сети по запросу «ключи-вездеходы», их я вставил в прошивку в первую очередь. Но при некотором навыке и желании можно вставить в прошивку коды вообще всех RFID-ключей, которыми вы пользуетесь (если они работают на частоте 125 кГц), и, таким образом, иметь возможность заменить одним прибором связку брелков.

Я знаю, что на просторе Сети гуляет большое количество схем подобных устройств. Моей целью было создать наипростейший вариант из всех доступных. Удалось или нет — судите сами.

2. Какими навыками нужно обладать, чтобы повторить данный проект?

Прежде всего, навыки работы с Arduino: иметь установленную среду разработки, уметь заливать в плату прошивки, устанавливать библиотеки, драйверы, вот это вот всё. Далее. Имеется в проекте место, где без пайки — ну вот никак. Потому — нужны прямые руки и паяльник с расходниками. Уметь читать электрические принципиальные схемы (или их подобия). Ну и навыки программирования на C++, дабы иметь возможность кастомизации прибора. Но это уже опционально.

3. Какие запчасти нужны и как их монтировать?

Как видно, BOM для базовой версии выглядит примерно так:

  1. Arduino Nano (или любая другая Дуня, которая под рукой есть);
  2. RFID-ключ формата EM4100 (вместо катушки индуктивности);
  3. n-p-n транзистор (любой какой отыщется, частоты тут не очень высокие);
  4. резистор на 10К;
  5. конденсатор на 560 пФ (лучше SMD, можно прямо в корпус от ключа припаять);
  6. литий-ионный аккумулятор — по вкусу;
  7. три сенсорных кнопки;
  8. OLED-дисплей с I2C интерфейсом;
  9. модуль зарядки для liIon;
  10. повышающий DC-DC преобразователь с выходом 5 В.

Схема питания может быть любой, лишь бы хватило Arduino чтобы стартовать. Устройства ввода/вывода — аналогично: прошивка легко может быть адаптирована под те кнопки/дисплеи, что есть в наличии (ссылка на гитхаб — чуть ниже). Текущая версия прошивки написана под OLED-дисплей и сенсорные кнопки (взяты были из соображений «бездребезговости»).

Собрать тестовый образец можно и на беспаечной макетке. Особых инструкций тут не требуется, за исключением того, как быть с «индуктивностью». Об этом — поподробнее.

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

Она представляет собой катушку и микросхему памяти с двумя контактными площадками по бокам. Выводы катушки припаяны как раз к этим площадкам. Всё это залито тонким слоем эластичного термополимера (по виду и свойствам похожего на застывший клей B7000). Чтобы добыть катушку, я поступил следующим образом. Взяв канцелярский нож, я аккуратно продавил лезвием текстолит между площадками и микросхемой. Микросхему отделил от катушки и выкинул. Затем паяльником я аккуратно (чтобы не отпаять тонкие проводки катушки) сжёг термополимер над контактными площадками, сделав возможным дальнейшую прозвонку.

Прежде чем паять, следует измерить сопротивление катушки, убедившись, что она не в обрыве. Если всё в порядке, то собирать лучше так: сперва припаять SMD-конденсатор к контактным площадкам (он должен аккуратно поместиться между ними), затем — ножки транзистора и под конец — резистор к базе. Всё это можно аккуратно смонтировать в корпус ключа. Провода «земли» и базы транзистора припаивать в последнюю очередь.

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

4. Прошивка, тест и наладка

Как и обещал, ссылка на репозиторий проекта. Файлы прошивки лежат в папке My_125_kHz_spoofer_v.03.

После сборки и заливки прошивки прибор готов к использованию. Чтобы убедиться в его работоспособности, совсем не обязательно искать домофон — можно обойтись китайским модулем для чтения RFID-ключей, который называется RDM6300 и ещё одной платой Arduino (хотя кому что проще). Прошивку для модуля RDM6300, выдающую транслируемый код ключа в том же формате, в каком он внесён в прошивку спуфера, я также положил в репозиторий проекта. Схема подключения ридера — там же.

Порядок тестирования с помощью ридера RDM6300:

  1. Убедиться, что ридер работает, поднеся к антенне любой из имеющихся в наличии ключей на 125 кГц (данные будут выводиться в COM-порт);
  2. Выбрать в меню спуфера интересующий код ключа;
  3. Поднести антенну к ридеру. Если ридер прочёл тот же ключ, что указан в прошивке — всё получилось! Else — проверяем схему, ищем, где ошибка, устраняем её и начинаем с пункта 1.

5. Что в прошивке можно менять, а что — лучше не трогать

Поскольку лепилась прошивка на основе вот этого, не вполне понятного для меня кода, то жизненно-необходимые функции, которые менять нельзя вот прям совсем, я вынес в отдельную вкладку functions.ino. Остальная часть программы служит исключительно для предоставления пользователю комфортной возможности вызвать функцию EmulateCard (ну, и нескольких строчек кода перед ней).

Свои ключи можно добавлять в массив uint64_t universalID[], расположенный на 75 строке кода. Поскольку я не «задефайнил» общее количество ключей в памяти устройства, а некоторые функции завязаны на эту константу, при добавлении своего ключа следует менять также пределы, в которых находится переменная keyNumber, отвечающая за выбор ключа. Ну и не забывать свой ключ в меню добавлять. В общем, всё сыровато, но при желании, повторюсь, разобраться не трудно.

6. Что в приборе можно было бы доработать

  1. Добавить поддержку ключей iButton (хотя бы самых распространённых от Dallas).
  2. Добавить эмуляцию ключей, работающих на частоте 13,5 МГц (как я понял, либо через ношение перезаписываемой заготовки и модуль RC522, либо технически-сложно, через реальную эмуляцию).
  3. Добавить в прибор ридеры iButton, RDM6300 и RC522, чтобы сделать прибор ещё более универсальным.

У кого что получится — пишите о результатах. Сам я к разработке этой игрушки в ближайшее время возвращаться не собираюсь)

7. История создания

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

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

Днём попасть в подъезд любой многоэтажки труда не составляет никакого — социнженерия из серии «Здравствуйте, соцопрос о качестве работы управляющей компании для название_местной_газеты» отлично работает, да и вообще, в основном жильцы не против, чтобы кто-то заходил в подъезд вместе с ними. Ночью — другое дело. А я любил вылазить на крыши либо на закате, либо ночью… Назрела проблема, которую я и решил вышеописанным способом.

Как я помню, информация о подобных устройствах нашлась не сразу. Гуглёжка по ключевикам «взломщик домофонов» не давала почти ничего. Адекватное стало находиться, когда я чуть-чуть разобрался в технологии RFID, и стал задавать уже более осмысленные вопросы, типа «RFID emulator», «RFID multykey», «RFID spoofer».

В итоге получилось отыскать две приличные англоязычные статьи по теме. В одной автор описывал, как на основе Arduino делался довольно замороченный с аппаратной точки зрения ключик, а во второй — всё то же самое, но без исходников, зато с очень простой аппаратной частью. Справедливо рассудив, что раз и та, и другая схема соединяются с антенной одним пином Arduino, я решил скрестить простое аппаратное решение и открытые исходники. Удалось, пусть и не с первого раза).

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

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

Читайте также  Как сменить пароль на домофоне?

Дубликатор домофонных ключей своими руками: особенности, принцип работы

Дубликатор ключей домофонной системы (копировщик) – это простой, но эффективный прибор, который позволяет разблокировать дверь с электромеханическим или электромагнитным замком в случае утери ключа. В продаже доступны готовые приспособления для разблокировки, но его можно изготовить и своими руками. Сегодня распространены 2 группа ключей – контактные, и бесконтактные, которые выпускаются в виде карточек или брелоков.

Особенности простого копировальщика для ключей домофона

Приобрести заготовки для сборки дубликатора домофонных ключей своими руками, можно через сервис Aliexpress, либо на рынке радиотехники. Существуют простые схемы изготовления, по которым можно выполнить сборку за 5 минут. В качестве основной детали для копировщика используется микроконтроллер.

Разрешается использовать компоненты под обозначением 628, 648 или 88. Затем нужно запрограммировать микроконтроллер, используя программатор, который подключается к ноутбуку или персональному компьютеру. В сети распространены подробные инструкции по эксплуатации такого приспособления. Средняя стоимость программатора составляет 10-15 долларов.

Принцип работы

Все ключи обладают связью с дверьми домофона – в качестве идентификатора используется специальная комбинация. Цифры интерком-ключа определяют, правильный ли брелок вы поднесли к дверной конструкции. Это значит, что принцип действия копировальщика достаточно простой: он проверяет «совместимый» ключ, а затем генерирует нужный номер для клонирующего приспособления.

Во время проверки номера из базы данных, такой прибор выполняет разблокировку двери. Ключи для связи с внутренним блоком называются Touch Memory или iButton.

Самодельный дубликатор домофонных ключей

Для сборки домофонного дубликатора ключей потребуется подготовить:

  1. Приспособление с чипом Arduino Nano.
  2. Пьезо-зуммер.
  3. 2 светодиодных экрана.
  4. 2х резистора 330.
  5. Клавиатуру 4 х 4.
  6. Адаптер I2C для монитора.

В мониторе установлено 16 контактов, что является чрезмерно большим числом для Arduino Nano домофонных комплексов. Поэтому необходимо подготовить адаптер I2C.

В ЖК-дисплеях используется параллельный интерфейс, поэтому MCU должен синхронизоваться с разными проводниками интерфейса.

Чтобы ввести код, потребуется подготовить библиотеку LiquidCrystal_I2 и Arduino IDE. С помощью библиотеки можно подсоединить ЖК-дисплей к копировальщику.

Приобрести заготовки для сборки дубликатора домофонных ключей своими руками, можно через сервис Aliexpress, либо на рынке радиотехники. Существуют простые схемы изготовления, по которым можно выполнить сборку за 5 минут.

Для программирования самодельного устройства нужно сделать следующее:

  1. Загрузить файлы из
  2. Выполнить распаковывание файлов из архива.
  3. Переместить ZIP-файлы в папку Ардуино.
  4. Вставить файл zip.
  5. Включить библиотеку клавиатуры.

Следующий этап – выполнение работ по программной части. Для этого необходимо подключить клавиатуру и скопировать кодовую комбинацию. С помощью библиотеки Keypad.h можно обрабатывать данные с клавиатуры матричного типа.

Все элементы будущего программатора должны размещаться в специальном корпусе. Это будет сохранять их целостность в течение долгого времени. Для защиты модулей можно изготовить корпус на 3D-принтере. Если у вас отсутствует такое оборудование, подготовьте любую пластиковую конструкцию, в которой можно будет разместить все детали.

Можно попробовать собрать устройство с использованием программного обеспечения SketchUp. Программа отличается интуитивно-понятным интерфейсом с простыми клавишами, такими как Lines. Tape Measure Tool и Eraser.

Чтобы применить дубликатор, нужно открыть последовательный дисплей и нажать на соответствующие кнопки. В результате таких действий, на мониторе появится оповещение с названием активированного ключа.

Как сделать копию ключа для домофона в домашних условиях

С помощью Ардуино можно сделать дома копию ключа для домофона за 15 минут, если, к примеру, мастерская закрыта, а ключ нужен срочно.

Инструкция по чтению и записи ключа iButton (1-wire) с помощью Arduino
  • Ардуино (или совместимая плата);
  • персональный компьютер с Arduino IDE или иной средой разработки;
  • ключ для домофона типа iButton или 1-wire, копию которого нужно сделать;
  • ключ-болванка для создания «клона» оригинального ключа (покупаем здесь);
  • 1 резистор сопротивлением 2,2 кОм (вот отличный набор резисторов самых популярных номиналов);
  • макетная плата (breadboard);
  • соединительные провода (вот такие).

1 Схема подключения ключа к Arduinoпо однопроводному интерфейсу

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

Ключи для домофона, которые мы будем подключать к Arduino (их иногда называют iButton или Touch Memory), считываются и записываются по однопроводному интерфейсу 1-wire. Поэтому схема подключения очень проста. Нам нужны лишь пара проводов и подтягивающий резистор номиналом 2,2 кОм. Схема соединений показана на рисунке.

Схема подключения ключа iButton к Arduino по интерфейсу 1-wire

Собранная схема может выглядеть примерно так:

Схема для чтения ключа Dallas на Arduino

2 Считывание идентификатора ключа iButton с помощью Arduino

Для работы с интерфейсом 1-wire существуют готовые библиотеки для Ардуино. Можно воспользоваться, например, этой. Скачиваем архив и распаковываем в папку /libraries/, расположенную в каталоге Arduino IDE. Теперь мы можем очень просто работать с данным протоколом.

Загрузим в Ардуино стандартным способом этот скетч:

Скетч чтения ключа iButton с помощью Arduino (разворачивается)

Данный скетч показывает номер ключа для домофона, который подключён к схеме. Это то, что нам и нужно сейчас: мы должны узнать номер ключа, копию которого хотим сделать. Подключим Ардуино к компьютеру. Запустим монитор последовательного порта: Инструменты Монитор последовательного порта (или сочетание клавиш Ctrl+Shift+M ).

Теперь подключим ключ к схеме. Монитор порта покажет номер ключа. Запомним этот номер.

Запоминаем номер ключа iButton, выводимый в монитор последовательного порта

А вот какой обмен происходит на однопроводной линии при чтении идентификатора ключа (подробнее – далее):

Диаграмма взаимодействия ключа Dallas с Arduino по однопроводному интерфейсу (1-wire)

На рисунке, конечно, не видны все детали реализации. Поэтому в конце статьи я прикладываю временную диаграмму в формате *.logicdata , снятую с помощью логического анализатора и программы Saleae Logic Analyzer и открываемую ей же. Программа бесплатная и скачивается с официального сайта Saleae. Чтобы открыть файл *.logicdata нужно запустить программу, нажать сочетание Ctrl+O или в меню Options (расположено вверху справа) выбрать пункт Open capture / setup.

3 Запись идентификатора ключа Dallasс помощью Arduino

Теперь напишем скетч для записи данных в память ключа iButton.

Скетч записи ключа iButton с помощью Arduino (разворачивается)

Не забудьте задать номер своего оригинального ключа в массиве key_to_write, который мы узнали ранее.

Загрузим этот скетч в Arduino. Откроем монитор последовательного порта ( Ctrl+Shift+M ). Подключим к схеме ключ, который будет клоном оригинального ключа. О результате программирования монитор последовательного порта выведет соответствующее сообщение.

Если данный скетч не сработал, попробуйте заменить код после Serial.print(«Start programming. «) и до конца функции loop() на следующий:

Дополнительный скетч записи ключа iButton с помощью Arduino (разворачивается)

Здесь функция writeByte() будет следующей:

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

Ключи для домофона бывают разных типов. Данный код подойдёт не для всех ключей, а только для RW1990 или RW1990.2. Программирование ключей других типов может привести к выходу ключей из строя!

При желании можно переписать программу для ключа другого типа. Для этого воспользуйтесь техническим описанием Вашего типа ключа (datasheet) и изменить скетч в соответствии с описанием. Скачать datasheet для ключей iButton можно в приложении к статье.

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

4 Описание однопроводного интерфейса 1-Wire

1) Инициализация

Инициализация заключается в том, что ведущий выставляет условие сброса RESET (на время от 480 мкс или более опускает линию в «0», а затем отпускает её, и за счёт подтягивающего резистора линия поднимается в состояние «1»), а ведомый не позднее чем через 60 мкс после этого должен подтвердить присутствие, также опустив линию в «0» на 60…240 мкс и затем освободив её:

Инициализация: сигнал сброса и подтверждения протокола 1-wire

2) Команды работы с ПЗУ

Если после импульса инициализации не пришёл сигнал подтверждения, мастер повторяет опрос шины. Если сигнал подтверждения пришёл, то мастер понимает, что на шине есть устройство, которое готово к обмену, и посылает ему одну из четырёх 8-битных команд работы с ПЗУ:

Название Команда Назначение
Чтение (Read ROM ) 0x33 Мастер считывает 64 первых битов iButton, в которых содержатся: 8 бит кода семейства (*), 48 бит серийного номера и 8 бит контрольной суммы.
Совпадение (Match ROM) 0x55 Обращение к определённому устройству с известным 64-битным номером.
Поиск (Search ROM) 0xF0 Позволяет определить все 64-битные номера ведомых устройств, подключённых к шине.
Пропуск (Skip ROM) 0xCC Позволяет сэкономить время обмена данными с ключом благодаря тому, что мастер пропускает проверку серийного номера. Не рекомендуется к использованию в ситуации, когда на линии присутствуют несколько ведомых.

(*) Кстати, семейств устройств iButton существует довольно много, некоторые из них перечислены в таблице ниже.

Коды семейств устройств типа iButton (разворачивается)

Код семейства Устройства iButton Описание
0x01 DS1990A, DS1990R, DS2401, DS2411 Уникальный серийный номер-ключ
0x02 DS1991 Мультиключ, 1152-битная защищённая EEPROM
0x04 DS1994, DS2404 4 кб NV RAM + часы, таймер и будильник
0x05 DS2405 Одиночный адресуемый ключ
0x06 DS1993 4 кб NV RAM
0x08 DS1992 1 кб NV RAM
0x09 DS1982, DS2502 1 кб PROM
0x0A DS1995 16 кб NV RAM
0x0B DS1985, DS2505 16 кб EEPROM
0x0C DS1996 64 кб NV RAM
0x0F DS1986, DS2506 64 кб EEPROM
0x10 DS1920, DS1820, DS18S20, DS18B20 Датчик температуры
0x12 DS2406, DS2407 1 кб EEPROM + двухканальный адресуемый ключ
0x14 DS1971, DS2430A 256 бит EEPROM и 64 бита PROM
0x1A DS1963L 4 кб NV RAM + счётчик циклов записи
0x1C DS28E04-100 4 кб EEPROM + двухканальный адресуемый ключ
0x1D DS2423 4 кб NV RAM + внешний счётчик
0x1F DS2409 Двухканальный адресуемый ключ с возможностью коммутации на возвратную шину
0x20 DS2450 Четырёхканальный АЦП
0x21 DS1921G, DS1921H, DS1921Z Термохронный датчик с функцией сбора данных
0x23 DS1973, DS2433 4 кб EEPROM
0x24 DS1904, DS2415 Часы реального времени
0x26 DS2438 Датчик температуры, АЦП
0x27 DS2417 Часы реального времени с прерыванием
0x29 DS2408 Двунаправленный 8-разрядный порт ввода/вывода
0x2C DS2890 Одноканальный цифровой потенциометр
0x2D DS1972, DS2431 1 кб EEPROM
0x30 DS2760 Датчик температуры, датчик тока, АЦП
0x37 DS1977 32 кб защищённой паролем EEPROM
0x3A DS2413 Двухканальный адресуемый коммутатор
0x41 DS1922L, DS1922T, DS1923, DS2422 Термохронные и гигрохронные датчики высокого разрешения с функцией сбора данных
0x42 DS28EA00 Цифровой термометр с программируемым разрешением, возможностью работать в режиме подключения к последовательному каналу и программируемыми портами ввода/вывода
0x43 DS28EC20 20 кб EEPROM

Данные передаются последовательно, бит за битом. Передачу каждого бита инициирует ведущее устройство. При записи ведущий опускает линию к нулю и удерживает её. Если время удерживания линии равно 1…15 мкс, значит записывается бит «1». Если время удерживания от 60 мкс и выше – записывается бит «0».

Чтение битов также инициируется мастером. В начале чтения каждого бита мастер устанавливает низкий уровень на шине. Если ведомое устройство хочет передать «0», оно удерживает шину в состоянии LOW на время от 60 до 120 мкс, а если хочет передать «1», то на время примерно 15 мкс. После этого ведомый отпускает линию, и за счёт подтягивающего резистора она возвращается в состояние HIGH.

Вот так, например, выглядит временная диаграмма команды поиска Search ROM (0xF0). Красным цветом на диаграмме отмечены команды записи битов. Обратите внимание на порядок следования битов при передаче по 1-Wire: старший бит справа, младший – слева.

Временная диаграмма отправки команды поиск (0xF0) ведомому iButton

Далее, если предшествующей командой подразумевается работа с ППЗУ (чтение и запись из перезаписываемой памяти ключа Dallas), то мастер передаёт команду работы с ППЗУ.

3) Команды работы с ППЗУ

Прежде чем рассматривать команды для работы с ППЗУ iButton, необходимо пару слов сказать о структуре памяти ключа. Память разделена на 4 равных участка: три из них предназначены для хранения трёх уникальных ключей, а четвёртый – для временного хранения данных. Этот временный буфер служит своеобразным черновиком, где данные готовятся для записи ключей.

Структура памяти ключа iButton

Для работы с ППЗУ существуют 6 команд:

Название Команда Назначение
Записать во временный буфер (Write Scratchpad) 0x96 Используется для записи данных во временный буфер (scratchpad).
Прочитать из временного буфера (Read Scratchpad) 0x69 Используется для чтения данных из временного буфера.
Копировать из временного буфера (Copy Scratchpad) 0x3C Используется для передачи данных, подготовленных во временном буфере, в выбранный ключ.
Записать пароль ключа (Write Password) 0x5A Используется для записи пароля и уникального идентификатора выбранного ключа (одного из трёх).
Записать ключ (Write SubKey) 0x99 Используется для непосредственной записи данных в выбранный ключ (минуя временный буфер).
Прочитать ключ (Read SubKey) 0x66 Используется для чтения данных выбранного ключа.

4) Передача данных

5 Возможные ошибки при компиляции скетча

1) Если при компиляции скетча возникнет ошибка WConstants.h: No such file or directory #include «WConstants.h», то, как вариант, следует в файле OneWire.cpp заменить первый блок после комментариев на следующий:

2) Если при компиляции появляется ошибка class OneWire has no member named read_bytes, то найдите и попробуйте использовать другую библиотеку для работы с интерфейсом OneWire.

Как сделать универсальный ключ для домофона своими руками?

Домофоны на подъездах домов стали привычным явлением.

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

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

Принцип действия универсального ключа

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

Коды могут быть заводскими, прописываемыми при изготовлении, и сервисными, которые используют сервисные центры по обслуживанию и компании установщики.

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

Технология срабатывания Touch Memory является энергозависимой, и для запуска нужно однопроводное соединение, возникающее в момент соприкосновения со считывателем, дающим питание. Потом запускается механизм обмена информацией с домофонным контроллером.

К микросхеме отмычки поступают импульсы высокой частоты, сгенерированные аппаратным блоком домофона. Если совпадают данные, и правильный шифр в идентификаторе записан, проход открывается.

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

Какое оборудование понадобится

Хотели бы многие знать: как сделать своими руками универсальный ключ для домофона? Для этого нужно владеть основами программирования и иметь знания в области электромеханики.

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

Дубликаторы простой конструкции рассчитаны на самые популярные виды идентификаторов, да и качество кодирования не всегда безупречно. Код оригинального ключа для дальнейшего изготовления нового они в любом случае считают.

А если знать марку и модель используемого домофона, то после нескольких попыток получится сделать собственную отмычку для домофона.

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

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

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

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

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

Какая нужна заготовка

Ключи для домофонов работают по контактному и бесконтактному принципу.

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

Сделать это можно на сайте производителя и на форумах в интернете. Важным является и тот факт, позволяет ли заготовка перезаписывать информацию.

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

Цена на заготовки отличается доступностью. Каждая модель болванки представлена в нескольких вариантах, отличающихся по качеству, функционалу, виду пластика и стоимости.

Самостоятельное изготовление ключа

Итак, как сделать ключ для домофона? Существует возможность перезаписать в чип индивидуальный код своими руками, при условии, что подходящая заготовка не прошла финализацию.

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

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

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

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

Устройство позволяет считать уже запрограммированный код идентификатора и занести в память болванки оригинальный шифр ключа. Информацию о совместимости домофонов и болванок для отмычек с дубликатором можно найти в свободном доступе.

Как выполнить программирование ключа для домофона

Для имитации и записи кодов ключей от домофона успешно используется Arduino, который подключается к магнитной болванке по простой схеме из резистора 2,2 кОм и двух проводов.

Ее несложно сделать своими руками. Для работы с протоколом потребуется скачать и распаковать архив с библиотеками. Подключение к ПК осуществляется через порт USB.

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

Загруженный скетч необходимо подкорректировать, чтобы можно было вносить новые данные. В массиве прописывается номер оригинального идентификатора. Для универсального идентификатора их вводится несколько, неограниченное количество.

Теперь к схеме нужно подключить болванку заготовки. Переписанный скетч загрузить в Ардуино и открыть монитор последовательного порта комбинацией клавиш Ctrl + Shift + M. Начнется процесс программирования, о результатах которого в открытом окне порта появится сообщение.

В процессе прошивки могут появляться сообщения об ошибках. Сбой в начале записи говорит о том, что заготовка оказалась не перезаписываемая и придется поискать другую. Ошибка на записи последующих байт указывает на нарушение соединения от таблетки к Ардуино.

Заключение

Стоит отметить, что универсальных ключей просто не существует, как и нет универсальных кодов для домофонных систем.

Да, одним ключом можно открывать устройства одного производителя на подъездах многоэтажек в своем районе и на другом конце города.

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

Видео: Как сделать универсальный ключ к домофону при помощи Arduino Nano