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

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

Можно ли запрограммировать ключ на два домофона ()?

Ответ: Да, можно. Ключ можно прописать в любое количество с ним домофонов или контроллеров.

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

Откуда тогда сомнения? Многие наверняка сталкивались с тем, что ключ от одного домофона не подходит к другому домофону. Но это вовсе не из-за того, что ключ уже «занят». Просто ключ одного типа (например Cyfral) в принципе не совместим с другими домофонами (например, Eltis), даже если этот ключ ещё никуда не прописан.
Ещё один повод для сомнений - появление наряду с обычными ключами , т.н. «болванок». «Болванке» можно присвоить любой код самостоятельно. Но это не меняет сути - код болванки (который необходимо присвоить ей заранее) прописывается в память домофона точно так же, как код обычного ключа. Домофон не делает никаких записей в память болванки.

Могут ли размагнититься ключи от домофона?

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

Подробнее: Ключи доступа называют «магнитными ключами» или просто «магнитками» по недоразумению. Ничего магнитного ни в домофонных «таблетках», ни в карточках доступа, ни в брелоках нет. Соответственно, сами они не магнитят и обычных магнитов не боятся. Я пытался «размагнитить» мощным неодимовым магнитом карту формата EM-Marine и ключ touch memory Dallas, но и ключ и карта полностью сохранили работоспособность. Они даже не прилипали к магниту. Конечно, ключ, как и любое электронное устройство, можно вывести из строя мощным электромагнитным излучением, например в микроволновке. Примерно с тем же успехом можно бросить карту в Ородруин.

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

Ключи нередко выходят из строя. «Таблетки», например, погибают от статических разрядов. Если носить бесконтактную карту в заднем кармане, то регулярные приседания доведут карту до потресканного состояния и она перестанет работать. Чаще всего именно этот недуг и называют «размагничиванием». Когда вышедший из строя ключ приносят технику или администратору, он не «перемагничивает» его, а выдаёт новый.

Контактные ключи типа «таблетка» от частого использования утапливаются в держателе и перестают контактировать со считывателем. Тут тоже не может быть и речи о размагничивании. Просто продавите таблетку в обратном направлении ↓

Какие типы ключей бывают?

Контактные ключи. Официальное название Touch memory (сокр. TM) или iButton. Бытовое название: «таблетки». Код ключа TM передаётся по одной паре, этот протокол передачи называется «1-Wire». И о грустном - о несовместимости. Существует несколько форматов ключей TM:

  • Dallas. В большинстве случаев под TM подразумевается ключ семейства Dallas (например, DS1990A). С этими ключами работает множество устройств: , Eltis, С2000-2 и др.
  • Cyfral. Эти домофоны работают только с ключами DC2000А и Цифрал-КП1.
  • Metakom. Под эти домофоны разработаны ключи К1233КТ2. Эти ключи годятся и для многих других контроллеров.
  • Резистивные. Есть экзотические домофоны, работающие с резистивными ключами. Вместо кода с них считывается сопротивление. Без сомнения, это контактные ключи, но я бы не назвал их Touch memory.

Бесконтактные ключи. Официальное название RFID . Выпускаются в форме карт, брелоков, браслетов и пр. Бытовое название «карточки» и «капельки» (брелоки). Ключи действующие до 10-15 см называются Proximity (ближнего действия), а действующие до 1 м - Vicinity (дальнобойные). В домофонах используются исключительно ключи Proximity, и этот термин стал чуть ли не синонимом «бесконтактного ключа».

В мире Proximity тоже нет единства форматов:

  • EM-Marin - самый популярный на сегодня формат.
  • HID - аксакал среди бесконтактных ключей.
  • MIFARE - перспективный формат. Именно к нему относятся бесконтактные смарт-карты.

Магнитные карты. Экзотика. До сих пор магнитные банковские карты обеспечивают доступ в некоторые банки. Больше нигде замечены не были. магнитными ключами часто называют ключи TM и RFID.

Ферритовые ключи. По сути дела это магнитные ключи, применяемые в экзотических домофонах производства «Сейф-Сервис».

Оптические ключи. Реликт безвозвратно ушедший в прошлое. Применялись в отечественных домофонах на рубеже 1990-х. Оптический ключ представляет собой металлическую пластину с насверленными в ней в определённом порядке отверстиями. Для считывания ключ помещался в щель с фотоэлементами. Ни о какой авторизации речи быть не могло, контроллер лишь оценивал ключ по принципу «свой/чужой», совершенно не представляя, кто именно его предоставил - у жителей всего подъезда были абсолютно одинаковые ключи. Кроме того, такой домофон успешно открывался сплющенной беломориной.

О совместимости ключей и домофонов

1. С какими ключами будет работать домофон зависит от его считывателя - .
2. Кроме этого должен совпадать формат ключа, например, EM-marin или Mifare. Не всегда можно различить их по внешнему виду.
3. Современные домофоны «Визит» с бесконтактными считывателями поддерживают только фирменные визитовские бесконтактные ключи. Домофонам других производителей пофиг - они работают и с простыми и с визитовскими ключами.

Что такое клон? Что такое болванка или заготовка?

Ответ: Клон это копия другого ключа. Заготовка это пустой ключ (не содержит никакого кода) для создания клона. Пока заготовка пуста, её нельзя прописать в память контроллера.

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

Не следует путать болванку с обычным ключом, который ещё не прописан в контроллер.

Факты:

  • Заготовки могут быть записываемыми и перезаписываемыми в полной аналогии с дисками CD-R и CD-RW соответственно. Есть даже термин «финализация».
  • Если у вас есть множество клонов одного и того же ключа, то в память контроллера достаточно прописать любого из них. Все клоны и оригинал обретут одинаковые права доступа в этом контроллере, так как будут для него все на одно лицо. При отсутствии фильтра клонов.
  • В системах учёта рабочего времени все клоны будут регистрироваться под одной фамилией.
  • По ошибке болванкой нередко называют обычный ключ, который ещё не прописан в контроллер.
  • С клонированием ключей связана давняя война между производителями домофонов и производителями заготовок. Первые придумывают новые способы фильтрации и игнорирования клонов, вторые ищут способы обойти фильтрацию. Конца и краю этой войне не видно.

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

Что такое мастер-ключ? Где его взять? Чем мастер-ключ отличается от обычного ключа?

Ответ: Мастер-ключ сам не открывает дверь, но позволяет добавлять в контроллер открывающие ключи.

Подробнее: Не думайте, что это какой-то особенный формат ключа, который надо покупать отдельно. Просто контроллер вводится в специальный режим , берётся произвольный ключ из купленной охапки и записывается в память контроллера точно так же как и простые ключи, а потом на этот ключ вешается бирка «Мастер. Никому не давать!». Для контроллера разница между обычным ключом и мастером заключается лишь в том, что его коду в ячейке памяти присваивается статус «Мастер». Замечу, в сам ключ никакой электронной пометки «Мастер» не вносится. И мастером он будет только для этого контроллера. Для другого, незнакомого с этим ключом контроллера, наш мастер будет никем. Скажу больше: один и тот же ключ может быть для одного контроллера мастером, а для другого - простым открывающим ключом. Контроллеры даже знать не будут о такой двуличности этого ключа.
Разумеется, при эксплуатации нескольких контроллеров нет нужды создавать индивидуальный мастер-ключ для каждого контроллера. На несколько контроллеров можно сделать один единственный мастер-ключ.
Не следует путать мастер-ключ с «вездеходом» - простым открывающим ключом, прописанным во всех контроллерах данного объекта.

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

Что такое блокирующий ключ?

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

Подробнее: «Блокирующий ключ» - статус ключа предусмотренный в некоторых (не во всех!) контроллерах, например, в . Ключ записывается в контроллер как блокирующий, если контроллер находится в режиме добавления блок-ключей. Бывали случаи, когда блокирующий ключ создавался случайно (перед записью ключа контроллер по ошибке был введён не в тот режим) и выдавался одному из пользователей. Честные люди никак не могли понять, почему периодически пропадает доступ в ту или иную дверь. При этом счастливый обладатель такого ключа о проблеме - ни сном ни духом. Ему-то все двери открыты!

Зачем это вообще? Например, директор хочет уединиться с секретаршей в своём кабинете. Приложил блок-ключ, прошёл в кабинет и уверен, что никто уже не побеспокоит.

Универсальный ключ - правда или обман?

Ответ: Правда. Универсальный (в определённых пределах!) ключ можно создать.

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

Что такое модуль памяти Memory iButton?

Ответ: Это ключ модели DS1996(L) для копирования и переноса всех ключей из одного контроллера в другой. Типа флешки, только выглядит он в точности как контактный ключ DS1990A.

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

Где конкретно хранятся прописанные в домофоне ключи?

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

  • Контроллеры, как отдельные устройства: , Gate, С2000-2, С2000-4, Хотелось бы узнать Ваше мнение и рекомендации.
    Спасибо

    Ответить

      Возможно эти ключи были клонами. Если в домофон установили антиклон, то ключи-клоны вполне закономерно перестали работать.
      Обратитесь к организации, обслуживающей домофон. Будьте готовы к тому, что они решат, что вы просто хотите бесплатно добавить в домофон посторонний ключ. К сожалению, иногда так действительно хитрят.
      Единственная рекомендация по хранению контактных ключей — берегите их от статического электричества

      Ответить

  • Добрый день.
    Ключ «таблетка» пролежал на полке серванта 2 месяца и перестал работать (открывать/закрывать замок).
    Подскажите, можно ли восстановить его работоспособность?
    Спасибо

    Ответить

    1. Странный случай. Какая-то реакция на ключ есть? Может быть он удалён из памяти контроллера. Если ключ не загрязнён, и никакой реакции на него нет, то ключ вышел из строя безвозвратно.

      Ответить

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

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

Touch memory

Touch memory – энергонезависимый идентификатор в составе которого имеется запоминающее устройство, часы реального времени и аккумуляторная батарея. Считывание или запись информации производится простым касанием к корпусу устройства. Существует множество разновидностей Touch memory. Различаются не только , но и модели по объему памяти. Совместимость с установленным оборудованием необходимо учитывать при покупке заготовок для записи кодов.

Модели Touch memory

  1. Модель «Dallas» — наиболее распространенная модель. На пластмассовом держателе может быть нанесена эмблеме или надпись компании производителя домофонного оборудования: Sean, Eltis, Vizit или эмблема Dallas. Для копирования кода используют заготовки ТМ2004.

    Некоторые домофонных систем Vizit не поддерживают работу с заготовками ТМ2004, в этом случае можно воспользоваться более дорогой универсальной моделью ТМ08.

  2. Модель «Метаком». Отечественного производства, являются полным аналогом модели «Dallas». Полностью совпадают по электрическим характеристикам. Должны иметь маркировку, как на пластике держателе, так и на самом металлическом корпусе устройства – надпись Метаком или МТ. Подходят заготовки ТМ2004 и ТМ08.
  3. Модель «Cyfral». Имеют аналогичную надпись на держателе. Для старых моделей подходят заготовки ТМ2004, для новых ТМ7. Резисторная модель «Цифрал». Устаревшее оборудование, которое довольно редко встречается. Такие устройства не имеют чипа с записанным кодом. Они используют резистор с номиналом соответствующим конкретному домофону. Отличить такое устройство можно по углублению, расположенному в центральной части корпуса. Копирование производится путем припаивания к любой из заготовок Touch memory соответствующего резистора. Его емкость определяется омметром по исправному ключу.

Бесконтактный RFID

В последнее время широкое распространение получают системы бесконтактного считывания, где используются ключи RFID или карты типа проксимити. Внешне они напоминают обычный пластиковый брелок или банковскую карту. Устройства не имеют собственного источника питания. Передача кода на устройство приема осуществляется после получения радиосигнала, энергия волнового излучения и выступает в качестве энергоснабжения. Поэтому активация происходит только на расстоянии 10-15 см от замка. В остальном устройство и действие метки не отличается от аналогичного Touch memory.

Сами ключи имеют вид брелоков размерами не более пятирублевой монеты и толщиной 5 мм. Бесконтактные карты имеют формат аналогичный банковской и несколько большую толщину – до 3 мм. Взаимозаменяемость карт и брелоков, несмотря на одинаковую технологию функционирования, не всегда осуществима, так как возможно нарушение интенсивности передаваемого сигнала. На данный момент для копирования RFID ключей различных производителей подходит практически любая заготовка: HID Prox II, EM-Marin, Indala и т.п.

Запись на заготовку

на носители осуществляется при помощи специальных устройств, программаторов. К примеру, устройство Keymaster PRO 4 RF, является универсальным программатором, как для стандарта Touch memory, так и для бесконтактных, радиочастотных RFID устройств. Позволяет копировать ключи на заготовки:
  • RW/ТМ 2004;
  • КС 1, 3;
  • ТМ – 01, 07, 08;
  • RW 1990, 2007, 125RF.

Поддерживает стандарты наиболее распространенных производителей:

Для Touch memory:

  • Cyfral;
    • Dallas;
  • Для RFID:
    • HID Prox II;
    • EM-Marin;
    • Indala и некоторые другие.

Запись заготовки производится в одно касание. Алгоритм копирования ключа следующий:

  1. К считывателю подносится ключ, который необходимо скопировать.
  2. Устройство самостоятельно определяет тип, производителя и модель рекомендуемой заготовки.
  3. К считывателю подносится заготовка. И нажимается кнопка на запись.
  4. Производится запись в память ключа.

Кроме того, устройство может производить запись без ключа исходника, если известен код, записанный в память. Дубликатор подключается к ПК через USB порт и имеет собственное ПО, которое сохраняет в памяти 500 последних записей, и ведет распределение записей Touch memory и RFID. Такое не по карману большинству простых пользователей, но существуют и более простые модели с ограниченным функционалом:

  • KeyMaster 3;
  • KeyMaster 3 RF – поддерживает бесконтактные метки;
  • TMD-5 RFID;
  • TM-Pro.

Программирование домофонов

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

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

Производитель Raimann

  • Для входа в настройки — нажимается кнопка считывателя;
  • Пароль входа от 9 до 4, после (подождать 10-15 сек) набрать от 1 до 6;
  • На мониторе появляется символ «Р»;
  • Пункты меню от 2 до 8. Пункт, отвечающий за введение новых ключей №2.

Производитель VIZIT

  • Вход в настройки – на клавиатуре набирается #99;
  • После звукового сигнала, вводится пароль 1234, затем снова сигнал;
  • Программирование и прописывание новых ключей – пункт №3;
  • Вводится номер квартиры, прикладывается ключ и нажимается #;
  • Затем нажимается * для перехода в рабочий режим.

Если кнопок * и # на клавиатуре нет то они заменяются кнопками С и К, соответственно.

Производитель Eltis

  • Для входа в меню нажимается кнопка В, держится нажатой 7 сек.;
  • Системный пароль 1234;
  • После того как на экране загрузится меню, выбираем пункт «Key master»;
  • Набираем номер квартиры и нажимаем на кнопку В;
  • После появления на экране команды LF нужно прислонить ключ к считывателю;
  • Запись закончена если на экране появится надпись ADD (если до этого ключей для данной квартиры в памяти не имелось) или номер квартиры.

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

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

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


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

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

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

Скетч чтения ключа iButton с помощью Arduino (разворачивается) #include OneWire iButton(10); // создаём объект 1-wire на 10 выводе void setup (void) { Serial.begin(9600); } void loop(void) { delay(1000); // задержка 1 сек byte addr; // массив для хранения данных ключа if (!iButton.search(addr)) { // если ключ не приложен Serial.println("No key connected..."); // сообщаем об этом return; // и прерываем программу } Serial.print("Key: "); for(int i=0; i }

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

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


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

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

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

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

Скетч записи ключа iButton с помощью Arduino (разворачивается) #include // подключаем библиотеку const int pin = 10; // объявляем номер пина OneWire iButton(pin); // объявляем объект OneWire на 10-ом пине // номер ключа, который мы хотим записать в iButton: byte key_to_write = { 0x01, 0xF6, 0x75, 0xD7, 0x0F, 0x00, 0x00, 0x9A }; void setup(void) { Serial.begin(9600); pinMode(pin, OUTPUT); } void loop(void) { delay(1000); // задержка на 1 сек iButton.reset(); // сброс устройства 1-wire delay(50); iButton.write(0x33); // отправляем команду "чтение" byte data; // массив для хранения данных ключа iButton.read_bytes(data, 8); // считываем данные приложенного ключа, 8х8=64 бита if (OneWire::crc8(data, 7) != data) { // проверяем контрольную сумму приложенного ключа Serial.println("CRC error!"); // если CRC не верна, сообщаем об этом return; // и прерываем программу } if (data & data & data & data & data & data & data & data == 0xFF) { return; // если ключ не приложен к считывателю, прерываем программу и ждём, пока будет приложен } Serial.print("Start programming..."); // начало процесса записи данных в ключ for (int i = 0; i } // Инициализация записи данных в ключ-таблетку iButton: void send_programming_impulse() { digitalWrite(pin, HIGH); delay(60); digitalWrite(pin, LOW); delay(5); digitalWrite(pin, HIGH); delay(50); }

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

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

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

Дополнительный скетч записи ключа iButton с помощью Arduino (разворачивается) delay (200); iButton.skip(); iButton.reset(); iButton.write(0x33); // чтение текущего номера ключа Serial.print("ID before write:"); for (byte i=0; i<8; i++){ Serial.print(" "); Serial.print(iButton.read(), HEX); } Serial.print("\n"); iButton.skip(); iButton.reset(); iButton.write(0xD1); // команда разрешения записи digitalWrite(pin, LOW); pinMode(pin, OUTPUT); delayMicroseconds(60); pinMode(pin, INPUT); digitalWrite(pin, HIGH); delay(10); // выведем ключ, который собираемся записать: Serial.print("Writing iButton ID: "); for (byte i=0; i<8; i++) { Serial.print(key_to_write[i], HEX); Serial.print(" "); } Serial.print("\n"); iButton.skip(); iButton.reset(); iButton.write(0xD5); // команда записи for (byte i=0; i<8; i++) { writeByte(key_to_write[i]); Serial.print("*"); } Serial.print("\n"); iButton.reset(); iButton.write(0xD1); // команда выхода из режима записи digitalWrite(pin, LOW); pinMode(pin, OUTPUT); delayMicroseconds(10); pinMode(pin, INPUT); digitalWrite(pin, HIGH); delay(10); Serial.println("Success!"); delay(10000);

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

int writeByte(byte data) { int data_bit; for(data_bit=0; data_bit<8; data_bit++) { if (data & 1) { digitalWrite(pin, LOW); pinMode(pin, OUTPUT); delayMicroseconds(60); pinMode(pin, INPUT); digitalWrite(pin, HIGH); delay(10); } else { digitalWrite(pin, LOW); pinMode(pin, OUTPUT); pinMode(pin, INPUT); digitalWrite(pin, HIGH); delay(10); } data = data >> 1; } return 0; }

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

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

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

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

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

Давайте чуть глубже познакомимся с интерфейсом One-wire. По организации он похож на интерфейс I2C: в нём также должно присутствовать ведущее устройство (master), которое инициирует обмен, а также одно или несколько ведомых устройств (slave). Все устройства подключены к одной общей шине. Устройства iButton - всегда ведомые. В качестве мастера чаще всего выступает микроконтроллер или ПК. Скорость передачи данных составляет 16,3 кбит/сек. Шина в состоянии ожидания находится в логической "1" (HIGH). В данном протоколе предусмотрены всего 5 типов сигналов:

  • импульс сброса (master)
  • импульс присутствия (slave)
  • запись бита "0" (master)
  • запись бита "1" (master)
  • чтение бита (master)
За исключением импульса присутствия все остальные генерирует мастер. Обмен всегда происходит по схеме: 1) Инициализация 2) Команды работы с ПЗУ 3) Команды работы с ППЗУ 4) Передача данных.

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

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


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

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

(*) Кстати, семейств устройств 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: старший бит справа, младший - слева.


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

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


Для работы с ППЗУ существуют 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 заменить первый блок после комментариев на следующий:

#include #include extern "C" { #include #include }

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

Рассмотрен простой эффективный дубликатор домофонных электронных ключей с рабочей схемой. На видео продемонстрирована готовая сборка и проверка в работе.

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

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

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

Множество заготовок были куплены на АлиЭкспресс, стоит они недорого. Была найдена простая схема такого дубликатора, которую можно собрать буквально за 5 минут. Заготовки приобретены в этом китайском магазине , там же есть нужный для работы устройства программатор.

Основа или сердце данного копировщика – микроконтроллер.

Подойдет 628, 648 или 88. Естественно, если просто устройство соберете, оно работать не будет. Необходимо в этот микроконтроллер записать программу. Для этого потребуется программатор, который подсоединяется к компьютеру для прошивки. В Интернете можно найти инструкции по пользованию программатором. Стоит он 10-15 долларов. Любой начинающий радиолюбитель сможет прожить этот микроконтроллер а также повторить эту схему дубликатора.

Как видно на схеме и фото, в схеме есть 3 светодиода – красный, желтый и зеленый.

Красный светодиод светится тогда, когда есть питание в самой системе; желтый светится, когда он находится в режиме считывания ключа. А зеленый светится, когда запись или дублирование ключа прошло успешно. Мигание светодиодов происходит, когда заготовка одноразовая неперезаписываемая. Все заготовки, приобретенные на AliExpress перезаписываемые.

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

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

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

Вторая часть (видео запускается).

Схема и обсуждение на форуме этого дубликата .

Добрый день! Как-то надоело платить по 150 рублей за копию ключа от домофона и решил собрать простой, бюджетный дубликатор iButton на Arduino. Цены на подобные готовые устройства «кусаются», хотя и функционал у них шире, копируют практически всё, включая беспроводные ключи. Мне достаточно простого копирования ключа iButton а-ля «кнопка». Интересно? Прошу под «cut»!

Итак, приступим! Для начала «техзадание», что должно уметь это устройство :
1) Читать содержимое ключа, интересно же что там зашито.
2) Копировать ключи, как это ни странно звучит:)
3) Прошивать «универсальный» ключ. Под словом «универсальный» будем понимать какой-либо свой ключ, который будет записываться по-умолчанию.

UPD. Очень важно! Если первый байт, family code, будет 00 , например 00 :12:34:56:AB:CD:EF:AA , то после прошивки ключ «умрёт», читаться он уже этим программатором, а возможно и другими, не будет. Выявлено опытным путём, спасибо товарищу 16 :AB:CD:EF:E0 с естественно неверной контрольной суммой E0 . Так как контрольная сумма неверная, то домофон игнорирует эту последовательность при считывании. Этот домофон загубил все перезаписываемые ключи, пока я разбирался в чём дело и почему «сами по себе» меняются данные в ключах. В итоге дубликат к этому домофону сделать не удалось, пришлось идти в обслуживающую организацию и заказывать ключик за 100 рублей. :)


В итоге получаем полезную в хозяйстве штуку за смешные деньги, «болванки» для записи продают , хотя у нас в оффлайне можно найти по 30 рублей за штуку, у копировальщиков на рынке по 100 - 150 рублей:).
UPD. О том какие типы ключей можно записать этим дубликатором читаем . Спасибо за помощь товарищу "у.
UPD. Если ключ не пишется следуем товарища . Планирую купить +197 Добавить в избранное Обзор понравился +95 +184