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

Обновлено: 16.05.2024

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

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

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

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

Область применения

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

Использование универсального ключа

Использование универсального ключа

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

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

Конструкция и внутренние составляющие универсального ключа

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

В зависимости от того, какой тип ключа взять, память производится:

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

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

Принцип работы универсального ключа

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

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

«Важно отметить,

что такая схема характерна для отмычек старого образца.»

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

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

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

Заводские коды

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

Сервисные коды

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

Ключи вездеходы для домофонов популярных моделей

Ключи вездеходы для домофонов популярных моделей

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

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

Заключение

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

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

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

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

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

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

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

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

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

Электронная схема универсального ключа от домофонов

Электронная схема универсального ключа от домофонов

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

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

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

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

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

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

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

Эмулятор для домофонных ключей

Эмулятор для домофонных ключей

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

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

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

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

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

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

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

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

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

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

Виды заготовок которые пойдут на создание универсального ключа

Виды заготовок которые пойдут на создание универсального ключа

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Программирование ключа с помощью Arduino

Программирование ключа с помощью Arduino

Заключение

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

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

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

Домофонный мультиключ и всё про имитацию «таблеток»

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

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


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

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

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


На самом деле подобные ключи в корпусе MicroCAN бывают разных типов, хотя внешне и выглядят почти одинаково. Объединяет их только то, что ключ имеет два контакта — земля и данные, при этом используется паразитное питание, т.е. ключ питается непосредственно от линии данных. Для открытия двери используется серийный номер, который даётся на заводе. То есть это не ключ программируется на открытие домофона, а в память домофона заносится список ключей, которые могут его открывать. Рассмотрим их подробнее.

iButton

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


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


Скорее всего для многих это всё уже старо как мир, но всё-таки расскажу кратко принцип работы 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 Ом, если я не ошибаюсь, а следовательно и потребление тока. Можно сказать, что сигнал аналоговый, а это всё немного усложняет с аппаратной точки зрения. Хотя иногда может и упростить. Например, ключ можно прочитать, просто подключив его к микрофонному входу компьютера и записав аудиофайл.

image

И да, домофон после этого можно открыть самым обычным 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-ключ для домофонов

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




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

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

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

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

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

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

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

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

Не откладывая в долгий ящик - вот схема устройства: Простите за то, что «не по ГОСТ» — я в drawio рисую, ибо единственная бесплатная и удобная альтернатива Visio, а я сейчас только лицензионный софт использую. Но, полагаю, всё и так предельно понятно.


Как видно, 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 В.

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


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


Она представляет собой катушку и микросхему памяти с двумя контактными площадками по бокам. Выводы катушки припаяны как раз к этим площадкам. Всё это залито тонким слоем эластичного термополимера (по виду и свойствам похожего на застывший клей 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 января сего года, в перерыве между уроками, которые я веду в своём кружке. Собрана только с целью убедиться, что я никого не дезинформирую, и прошивка со схемой работают.

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

Заголовок получился слишком громким — и ключ не такой и универсальный, и домофон поддастся не любой. Ну да ладно.
Речь пойдет о домофонах, работающих с 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.


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


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

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

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

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


Спускаемся на улицу, пытаемся открыть соседний подъезд. Работает!

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

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

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

Читайте также: