Для вентиляции        11.02.2019   

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

20 сентября 2014 в 13:12

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

  • DIY или Сделай сам

Заголовок получился слишком громким - и ключ не такой и универсальный, и домофон поддастся не любой. Ну да ладно.
Речь пойдет о домофонах, работающих с 1-wire таблетками DS1990, вот такими:

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

Зачем это нужно? Если отбросить заведомо нехорошие варианты, то самое простое - это перепрограммировать скопившиеся и ставшие ненужными клонированные таблетки от старого домофона, замененного на новый, от подъезда арендованной квартиры, где больше не живете, от работы, где больше не работаете, и т.п.


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

Немного теории.

Как известно, DS1990 характеризуется, в общем случае, одним параметром - собственным идентификационным номером. Он состоит из 8 байт и нанесен на поверхность таблетки. И он же выдаётся в ответ на запрос по 1-wire. На самом деле один из этих байт - это идентификатор типа устройства, ещё один - контрольная сумма, но для нас это всё не принципиально. В памяти домофона прописаны все известные ему ключи, изменять это множество может только компания, домофоном управляющая. Но кроме ключей, явно записанных в память, домофон иногда реагирует на так называемые мастер-ключи, единые для домофонов этого производителя, этой серии, этого установщика. Коды мастер-ключей стараются держать в секрете, но иногда они утекают. За пять минут гугления можно найти порядка 20 мастер-ключей от различных домофонов. У меня стоит «Визит», поэтому выбор пал на ключ 01:BE:40:11:5A:36:00:E1.

Болванки, на которые клонируются ключи, бывают разных типов. У нас в городе самые распространенные - это TM2004. По описанию они поддерживают финализацию, после которой теряют возможность перезаписи и функционируют как самые обычные DS1990. Но по каким-то причинам умельцы, делающие копии, финализацию выполняют не всегда. Возможно потому, что основная масса программаторов на рынке куплена давно и не имеет такой функции, возможно потому, что для финализации требуется повышенное (9В) напряжение. Не знаю. Но факт остаётся фактом, из 4-х ключей, на которых я экспериментировал, финализирован был только один. Остальные легко позволяли менять свой код на какой душе угодно.

Практика.

Собирать программатор будем на Arduino Uno, которая для подобных целей макетирования и сборки одноразовых поделок подходит идеально. Схема простейшая, 1-Wire на то и 1-Wire.

Время сборки устройства на бредборде не превышает пяти минут

Код скетча. Сам алгоритм записи взят тут - domofon-master2009.narod.ru/publ/rabota_s_kljuchom_tm_2004/1-1-0-5
Там, правда, написано, что можно записывать все 8 байт подряд, но у меня так не заработало. Поэтому каждый байт пишется отдельно, через свою команду 0x3C.

#include #define pin 10 byte key_to_write = { 0x01, 0xBE, 0x40, 0x11, 0x5A, 0x36, 0x00, 0xE1 }; OneWire ds(pin); // pin 10 is 1-Wire interface pin now void setup(void) { Serial.begin(9600); } void loop(void) { byte i; byte data; delay(1000); // 1 sec ds.reset(); delay(50); ds.write(0x33); // "READ" command ds.read_bytes(data, 8); Serial.print("KEY "); for(i = 0; i < 8; i++) { Serial.print(data[i], HEX); if (i != 7) Serial.print(":"); } // Check if FF:FF:FF:FF:FF:FF:FF:FF // If your button is really programmed with FF:FF:FF:FF:FF:FF:FF:FF, then remove this check if (data & data & data & data & data & data & data & data == 0xFF) { Serial.println("...nothing found!"); return; } return; // remove when ready to programm // Check if read key is equal to the one to be programmed for (i = 0; i < 8; i++) if (data[i] != key_to_write[i]) break; else if (i == 7) { Serial.println("...already programmed!"); return; } Serial.println(); Serial.print("Programming new key..."); for (uint8_t i = 0; i < 8; i++) { ds.reset(); data = 0x3C; // "WRITE" command data = i; // programming i-th byte data = 0; data = key_to_write[i]; ds.write_bytes(data, 4); Serial.print("."); uint8_t crc = ds.read(); if (OneWire::crc8(data, 4) != crc) { Serial.print("error!\r\n"); return; } else Serial.print("."); send_programming_impulse(); } Serial.println("done!"); } void send_programming_impulse() { pinMode(pin, OUTPUT); digitalWrite(pin, HIGH); delay(60); digitalWrite(pin, LOW); delay(5); digitalWrite(pin, HIGH); delay(50); }

После запуска программа раз в секунду опрашивает 1-Wire интерфейс и выдаёт на последовательнй порт считанный с него код. Если это FF:FF:FF:FF:FF:FF:FF:FF, то считаем, что ничего не подключено. В общем случае это, конечно, неверно, так как некоторые болванки, например, TM2004, позволяют записать 8 0xFF в идентификатор ключа, поэтому если ваша таблетка прошита таким кодом, то проверку нужно убрать.

Порядок работы: запускаем, подключаем ключ, чей код хотим узнать, и полученное значение хардкодим в массив key_to_write. Убираем помеченный коментарием return. Снова запускаем и подключаем болванку, она должна прошиться новым ключом. Естественно, что для записи уже известного кода (скажем, мастер-ключа), первый шаг выполнять не требуется.

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

Успешный лог записи выглядит как-то так:

KEY FF:FF:FF:FF:FF:FF:FF:FF...nothing found! KEY FF:FF:FF:FF:FF:FF:FF:FF...nothing found! KEY FF:FF:FF:FF:FF:FF:FF:FF...nothing found! KEY 1:98:2C:CD:C:0:0:EB Programming new key...................done! KEY 1:BE:40:11:5A:36:0:E1...already programmed!
Спускаемся на улицу, пытаемся открыть соседний подъезд. Работает!

Морально-этические вопросы.

А стоило ли такое выкладывать? Вдруг в мой подъезд сможет зайти бомж и станет там жить?

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

Поэтому и публикую без малейших сомнений. Пользуйтесь!

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

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

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

Хотя ничто не мешает вам записать в него универсальные коды открытия домофонов.

Типы домофонных ключей «таблеток»

iButton
Самый популярный тип домофонных ключей - это iButton, а именно DS1990A от компании Dallas, работает по протоколу 1-Wire. Протокол весьма хитрый, подразумевает двустороннее взаимодействие - на ключ можно отправлять различные команды, на которые он по-разному реагирует. Серийный номер имеет размер в шесть байт, что даёт 2 8*6 = 281474976710656 различных комбинаций и подразумевает, что все выпущенные ключи должны быть уникальны. Если вам повезло, и у вас оригинальный iButton, то этот номер в шестнадцатеричном виде должен быть выгравирован на нём лазером:

То есть теоретически чужой такой ключ можно подделать, если просто записать куда-то или сфотографировать эти цифы!

Для взаимодействия с iButton достаточно подключить его к микроконтроллеру и подтянуть линию данных к питанию (2.8-5 вольт) через резистор:

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

  • Reset - мастер прижимает линию к земле как минимум на 480 микросекунд, это говорит о начале передачи данных.
  • Presence - через некоторое время ключ отвечает импульсом около 120 микросекунд, что подтверждает его наличие на линии.
  • Команда - мастер посылает команду из восьми бит, при этом логическая единица - это 1-15 микросекунд, а ноль - 60-120.

Далее всё зависит от посланной команды. Обычно это 33h - "READ ROM ", чтение серийного номера, после которого мастер читает 64 бита (1 байт - тип устройства, 6 байт - сам номер, 1 байт - CRC). Чтение каждого бита инициализируется мастером, для этого он посылает импульс в 1-15 микросекунд. Если после этого линия прижата к земле со стороны ключа на 60-120 микросекунд, то прочитан ноль, иначе - единица.

  • Нужно всегда реагировать на reset , даже если он послан во время передачи данных. Импульс длиннее 480 микросекунд говорит о том, что надо начать всё сначала.
  • Момент прикладывания ключа с его точки зрения - это тоже reset , ведь до этого питания не было. Поэтому теоретически домофон может и не посылать reset , и следует периодически отвечать сигналом presence по своей инициативе.
  • Ключи могут реагировать и на другие команды: 0Fh как альтернатива 33h, SKIP ROM (CCh), MATCH ROM (55h) и самое хитрое, о чём я расскажу отдельно ниже, - SEARCH ROM (F0h). Некоторые домофоны могут послать самые разные комбинации таких команд, чтобы убедиться в том, что ключ настоящий.
  • Бывает и обратная ситуация - домофон посылает команду, на которую ключ реагировать не должен. Дело в том, что некоторые программируемые ключи на них всё-таки реагируют, и так происходит ещё одна проверка. Необходимо полностью игнорировать всё, что идёт за этими командами, пока не будет послан reset .
  • Для отсчёта времени лучше использовать асинхронный таймер в микроконтроллере, т.к. счёт идёт на микросекунды. Однако, установка кварца при этом будет излишней.

Про SEARCH ROM (F0h) - это команда поиска всех 1-Wire устройств на шине. Дело в том, что теоретически можно подключить параллельно много ключей и получить список всех серийных номеров. В реальности для iButton такое не используется, ведь к домофону всегда прикладывается один ключ. Однако, некоторые домофоны посылают эту команду, ожидая найти один единственный серийный номер. Алгоритм весьма интересный. Каждое из устройств на шине одновременно посылает бит своего серийного номера, при чём два раза (т.е. мастер должен прочитать два бита). Сначала обычным образом, а затем инвертированным. Что же получается в итоге? Если у устройства в серийном номере стоит единица, то посылается «10». Если ноль, то «01». И всё отлично, пока у всех устройств эти биты совпадают. А если нет… Выше я написал, что при чтении наличие длинного сигнала - это 0, а отсутствие - это 1, т.е. 0 является доминантным. Таким образом, при возникновении конфликтов читаются два нуля. После получения «10», «01» или «00» мастер должен послать в линию только что прочитанный бит. В случае с «00» он таким образом выбирает, с какой группой устройств работать далее. В результате после N итераций получается бинарное дерево из N серийных номеров.
Ответить на такую команду получается несколько сложнее, чем на обычный READ ROM . Нужно посылать каждый бит дважды - обычный и инвертированный, а затем проверять - совпадает ли с ним полученный от мастера ответ, и если не совпадает, то игнорировать дальнейшие команды.

Cyfral
Ключ «Цифрал DC-2000А» - это отечественная разработка. Взаимодействовать с ними гораздо проще, т.к. они весьма глупые - не принимают никакие команды. Достаточно просто подать на ключ питание, и он сразу начнёт бесконечно посылать код, изменяя своё сопротивление. Если дать ему 5 вольт, подключив через резистор в 1 кОм, то на осциллографе можно увидеть примерно такую картину:

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

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

Кодирование немного странное. Ключ циклически посылает девять нибблов (четыре бита), меняя своё сопротивление. Если оно сохраняется низким около 50 микросекунд, то это логический ноль, а если 100 микросекунд - это единица. Но данные кодируется не логическими нулями и единицами, а положением единиц среди нулей! То есть ключ при посылке кода может выдать только одну из четырёх комбинаций: «1000», «0100», «0010» и «0001». Однако, используется ещё и комбинация «0111» как стартовая последовательность. В итоге данные от ключа могут выглядеть как-то так: «0111 1000 0100 0010 0001 1000 0100 0010 0001 », где «0111» указывает на начало. Никакой контрольной суммы нет - код просто читается несколько раз для уверенности.

Итого восемь последовательностей, в которых возможны четыре комбинации. Не сложно посчитать, что это даёт нам 65536 вариантов ключей. Не так уж и много, они явно часто повторяются. Теоретически если в подъезде 50 квартир, каждой из которых выдано три ключа, можно подобрать один из них перебрав всего 436 комбинаций. Но я таким не занимался.

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

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

Метаком
Ещё одна отечественная разработка - домофоны Метаком и ключи К1233КТ2. Как и Cyfral он просто бесконечно посылает код, меняя своё сопротивление/потребляемый ток. К счастью в Интернете доступна официальная документация:

Это всё, что нужно знать для работы с этим ключом. Он посылает четыре байта данных, но в каждом из них один бит уходит на проверку чётности. Итого выходит 28 полезных бит, а 2 28 = 268435456 комбинаций.

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

Универсальные коды ключей

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

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

Звучит как полнейший бред. Каким надо быть программистом, чтобы допустить такой баг? Но… это действительно часто работает. Да, в свежих прошивках это обычно исправлено, но многие домофоны стоят без изменений годами. Невероятно, но факт.

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

Создание мультиключа

Перейдём уже к практике! Да, я пытался совместить в одном устройстве и имитацию ключей, и их считывание (кроме Метаком), и синхронизацию с компьютером по USB. Вот схема того, что получилось (кликабельно):

Компоненты и их предназначение:

  • IC1 - микроконтроллер ATMEGA8/ATMEGA8A/ATMEGA8L;
  • U1 - USB-контроллер FT232RL, нужен для подключения устройства к компьютеру;
  • CON1 - miniUSB разъём;
  • BT1 - батарейки, дающие 3-5 вольт;
  • D1 и D2 - диоды (желательно шоттки), которые изолируют питание от батареи от питания от USB;
  • P1 - «таблетка» iButton, используется для подключения к домофонам;
  • P2 - контакты считывателя ключей, используются для подключения к ключам;
  • R1 - резистор, подтягивающий линию 1-wire к VCC;
  • R2 - токопонижающий резистор для управления транзистором Q2;
  • R3 - резистор, ещё сильнее подтягивающий линию к VCC для считывания ключей Cyfral;
  • R4 - токопонижающий резистор, используется для открытия Q1 и определения подключения к USB;
  • R5 - подтягивает базу Q1 к земле, чтобы закрывать его, когда нет подключения к USB;
  • R6 - токопонижающий резистор для светодиодов, достаточно одного, т.к. одновременно они не горят;
  • R7 и R8 - делитель напряжения для одного из входов компаратора, чтобы считывать ключи Cyfral;
  • Q1 - транзистор для определения подключения к USB;
  • Q2 - транзистор для включения земли на считывателе и эмуляторе, чтобы не сажать батарейки, случайно замкнув контакты в кармане;
  • C1 , C2 и C3 - конденсаторы для фильтрации питания;
  • SW1 - единственная кнопка для управления устройством;
  • LEDS - семь светодиодов в форме восьмёрочки для отображения номера ключа.

Печатная плата (кликабельно):

Это было ещё время до покупки 3D принтера, когда я проектировал устройства под корпуса, а не корпуса под устройства. Ко мне в руки попал очень приятный экземпляр в виде брелка и с кнопкой. Просто идеально, оставалось только проделать отверстия под USB и светодиоды. Увы, я до сих пор не могу найти в продаже точно такой же корпус. В итоге получилось как-то так:

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

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

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

При подключении по USB устройство видится как виртуальный COM-порт. Для простоты работы был написан клиент под Windows:

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

Исходники прошивки есть тут.

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

Если по какой-то причине дверь подъезда, ворота частного дома или замок на работе перестали деблокироваться, часто возникает вопрос: как перепрограммировать ключ от домофона? Этот процесс для рядового пользователя совсем не означает сложного вмешательства и участия в программировании личного идентификационного устройства.

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

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

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

RFID

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

По дальности срабатывания ключи ранжируются:

  1. с зоной идентификации в 100-150 мм, распространенный формат, тип Proximity;
  2. с дальностью определения до 1 м, тип Vicinity.

Не смотря на такие отличия в дальности, работа всех идентификаторов проходит по простой схеме.

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

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

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

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

Touch-Memory

Touch-Memory - это знакомые большинству людей контактные таблетки. Внутри такого ключа также расположен микрочип.

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

Уникальный код, прошитый в таблетке — передается и проверяется на соответствие одному из записанных в памяти устройства. Если опознавание прошло — дверь разблокируется.

Испортить Touch-Memory таблетку можно воздействием сильного статического напряжения, приложив таблетку к наэлектризованной одежде. Сделать это достаточно сложно, поскольку импульс должен пройти между определенными точками контактной площадки, однако такая причина поломок — самая распространенная.

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

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

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

Широко используются Touch-Memory следующих типов:

  • с маркировкой, начинающейся на DS (Dallas), применяются в огромном числе моделей Vizit, Eltis, С2000 и других;
  • с маркировкой DC, а также Цифрал КП-1 — данные Touch-Memory предназначены только для домофонов Cifral;
  • серии К, широко используемый в системах контроля доступа Metacom и других домофонах.

Аналогично существуют и классы, форматы RFID, к примеру, самый старый HID, популярный EM-Marin, а также используемый в срабатывающих с дальнего расстояния картах Mifare. Поэтому, прежде чем выяснять, как запрограммировать личный ключ от домофона от подъездной двери — сначала нужно приобрести Touch-Memory или RFID совместимого формата.

Программирование ключа от домофона своими руками

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

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

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

Алгоритм действий

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

Но есть набор стандартных действий для домофонов распространенных марок.

  1. Rainmann, Raikman — нажимается вызов, вводится 987654, после звукового сигнала — 123456. Если появилось приглашение Р на дисплее — нажимается 2, прикладывается таблетка, нажимается #, <номер квартиры>, #. Запись в память производится кнопкой *;
  2. — набирается #-999, после звука-приглашения набирается код 1234 (у отдельных серий — 6767, 0000, 12345, 9999, 3535). После этого нажимается 3, после паузы — номер квартиры, прикладывается ключ, нажимается #,*. Если заводской код (1234 и другие) — не принят, домофон издаст двухтональный сигнал;
  3. , — держать кнопку вызов до реакции (звук, приглашение на дисплее), ввести 1234, затем номер квартиры, вызов. В ответ на приглашение прислонить ключ, выйти из меню нажатием кнопки *.

В самых современных версиях домофона Cifral используется достаточно сложные кодовые наборы. Методика, как закодировать ключ от домофона от подъездной двери, выглядит так: вызов, 41, вызов, 14102, 70543.

Затем следует дождаться появления на экране приглашения, нажать 5, ввести номер квартиры, после надписи на дисплее Touch — приложить ключ. О записи в память свидетельствует звуковой сигнал.

Заключение

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

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

Видео: Как сделать дубликат ключа от домофона

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

Вот такая таблетка представляет из себя микросхему DS1990A фирмы MAXIM. Устройство позволяет считывать в память и эмулировать до 10 таких ключей.


Ключ общается с домофоном по двухпроводной шине 1-wire, по ней же получает питание.


Схема устройства для эмуляции ключей очень проста. Основа - микроконтроллер ATTiny2313, для индикации я использовал одноразрядный семисегментный индикатор, который отображает режим работы номер ячейки. С3 - переключает режимы, С2 - номер ячейки. Для индикации режима записи использовал , на фото для настройки пока стоит обычный диод. Всё устройство замены ключей для домофонов потребляет ток всего 10 мА.

Тактируется от встроенного генератора с частотой 8 МГц, при прошивке необходимо включить BOD (запрограммировать фьюзы BODLEVEL0, BODLEVEL1 стереть BODLEVEL2), иначе при выключении питания попортится EEPROM данных.


Работа с ключом для домофона:

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

Эмуляция ключа. Для эмуляции ключа выбираем на индикаторе номер ячейки, а затем тыкаем контакты в дмомфон

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

Принцип работы ключа домофона в подробностях

Принцип работы ключа домофона следующий. Постоянно запоминающее устройство представляет собой энергонезависимую память TouchMemory определенной марки, которая «обменивается» информацией с домофоном при помощи так называемой шины One-Wire. При этом, особенности данной шины таковы, что она позволяет не только общаться с несколькими устройствами, но и передавать питание для них при помощи одного единственного «провода». Для этого в ключе домофона встроен конденсатор (емкостью около 60 пкф), который и обеспечивает кратковременное питание постоянно запоминающего устройства в момент его «общения» с основным блоком домофона. С этой целью основное устройство генерирует сигнал логической единицы не реже, чем каждые 120 мкс, для обеспечения оптимального заряда конденсатора и питания микросхемы памяти ключа.

Принцип работы шины One-Wire

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

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

Механизм передачи логического «нуля» и «единицы»

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

Взаимодействие ключа и домофона

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

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

Ответы на ваши вопросы!

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

Заключение

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