Программирование и изготовление ключей для домофона. Ключ от всех дверей. Эмулятор ключей от домофона Универсальный ключ для домофона своими руками


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

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

Начать нужно с того, что ключи от домофонов бывают нескольких видов. Это может быть как контактная «таблетка» (обычно электронный носитель крепится на специальный держатель), так и бесконтактные брелоки, карты или же магнитные ключи, а также двухконтактные ключи, которые встречаются действительно редко. Каждый из таких ключей заключает в себе некий код, который вносится туда во время изготовления.


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

Возможно ли изготовить самостоятельно?

Универсальный ключ для домофона самостоятельно сделать довольно сложно просто потому, что полностью универсальных ключей не существует. Есть из этого правила и некоторые исключения. Действительно, один магнитный ключ для домофона (например, от "Факториала") может подходить ко всем подъездам дома или же совпадать с каким-либо из домов на другом конце города.

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

Что такое заготовка ключа для домофона?

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

Что такое дубликатор ключей для домофона?

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

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

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

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

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

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

Делаем устройство своими руками

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

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

Что такое эмулятор?

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

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

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

Мифы о домофонах

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

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

Итак, мы выяснили, как сделать универсальные ключи для домофонов своими руками.


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

Защита современного дома

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

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

У различного оборудования есть комбинации, не существует какого-либо общего кода. Разберем популярные марки защитного общеподъездного замка:

  • Vizit (Визит);
  • Metacom (Метаком);
  • Cyfral (Цифрал);
  • Forward (Форвард);
  • Eltis (Элтис);
  • Factorial (Факториал);
  • Marshal (Маршал);
  • Lascomex (Ласкомекс).

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

Важно ! После ввода «универсальной отмычки», на какое-то время электронный входной замок перестанет корректно функционировать.

Как открыть домофон Vizit (Визит) без ключа

Vizit (Визит) выпускает разнообразные модификации оборудования, рассчитанного на много и мало квартир. Первые используют на 200 квартир, вторые для частного владения, например, особняков или дачных участков.

Все модели идут с обычной прошивкой, поэтому до смены кода, открывается она общим набором цифр. Есть несколько методов открытия:

  • *#423;
  • 12#345;
  • 67#890;
  • *#4230.

Если на оборудовании нет кнопок «*» и «#», набираете «С» и «К».

Помимо набора цифр, есть смысл воспользоваться особенностями меню оборудования, набрав #999. Когда услышите два прерывистых сигнала, вводите 1234, если не проходит, то пытаетесь набрать: 0000, 9999, 3535, 12345 или 6767. Правильность ввода подтвердит открытие «многоэтажки».

И последний способ:

  • Наживаете на «2» и ожидаете немного.
  • Потом, на «#» и также немного подождать.
  • Вводите «3535» и подъезд откроется.

Для выхода из меню оборудования, необходимо наддать «*».

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

Как открыть домофон Vizit (видео)

Как открыть домофон Metacom (Метаком) без ключа

Metacom (Метаком) выпускает цифровые модификации, где есть панель и процессор, с вмонтированным блоком питания. Одно устройство способно запоминать до 508 идентификаторов. Помимо открытия индивидуальным ключом, также есть «универсальные цифровые отмычки».

Первый вариант открытия:

  • нажмите «В»;
  • введите номер первой кв. в подъезде (обычно нумерация есть над дверным полотном);
  • опять «В», появится «код»;
  • наберите цифровой ключ 5702.

Если данные действия не дали желаемого результата, вот еще несколько вариантов:

  • 65535 В 1234 В 8.
  • 1234 В 6 В 4568.
  • В 27 В 5702 (для модели МК-20 М/Т).
  • В 1 В 4526 внести пустой идентификатор к считывателю в память оборудования.

На видео ниже показаны варианты, как попасть в подъезд.

Как открыть домофон Cyfral (Цифрал) без ключа

Для устройств Cyfral (Цифрал) нет единой системы безключевого открытия.

Всего способов существует не так много:

  • Где есть квартиры с № на 100 (200, 300 и так далее) применим код: В – номер кв., заканчивающийся на 00 – В – 2323, 7272 или 7273.
  • Если есть маркировка «М», то наберите следующее: В – 41 – В – 1410. Есть модели, где достаточно ввести 07054.
  • С обозначением «CCD» - 2094.1М попробуйте В – 0000. Если после комбинации дверь не открылась, а появилась надпись «ON», нажмите на «2». При появлении надписи «OFF» вводить стандартные коды нет смысла, так как они были сменены монтажниками.
  • С обозначением CCD – 2094М, необходимо набрать 0000 – В. Затем, появится надпись «cod», где надо нажать на цифры 123456 – В или 456999 – В. Можно применить другой вариант: 123400 – В, после появления «F0» добавить 601.

Вот видео с открытием модели 2094.

Как открыть домофон Forward (Форвард) без ключа

Электронные замки от Forward (Форвард) можно нередко встретить в наших домах, поэтому общие коды могут пригодиться. Вот несколько последовательностей:

  • К – 557798 – К (К – это ключ, может быть в виде изображения);
  • 2427101;
  • 123*2427101;
  • К – 1234.

Воспользуйтесь меню и добавьте ключ. Нажимайте последовательно на 77395201*0*, прикладываете тот ключ, который есть, и дважды на «#».

Вот видеоматериал по теме:

Как открыть домофон Eltis (Элтис) без ключа

Для устройств Eltis (Элтис) есть несложные комбинации цифр и кнопок:

  • В – 100 – В – 7273;
  • В – 100 – В – 2323.

Для некоторых модификаций применимы коды домофонов Cyfral (Цифрал), приведенные выше.

Вот перечень вариантов открытия в видеоматериале:

Как открыть домофон Factorial (Факториал) без ключа: коды для открытия

Существует немного вариантов последовательности цифр для оборудования Factorial (Факториал). Попробуйте набрать 000000 или в порядке возрастания цифры от одного до шести. Бывают ситуации, что открытие невыполнимо, так как требуется сменить шифр.

Можете набрать 5, на экране увидите «180180», нажимаете на вызов – 4 – вызов.

Ниже приложена видеоинструкция:

Как открыть домофон Marshal (Маршал) без ключа

Довольно популярна в России марка Marshal (Маршал), рассчитанная на большое количество помещений.

Существуют несложные комбинации, но «чудесное» проникновение в подъезд происходит не каждый раз. Вначале вводится номер последней кв. в подъезде + 1. Например, последняя 60, значит, набираете 61. Затем два варианта: К – 5555 или К – 1958.

Как открыть домофон Lascomex (Ласкомекс) без ключа

Последняя фирма в списке – Lascomex (Ласкомекс). Эти устройства нередки на дверных полотнах многоэтажек в России. У оборудования есть уникальная черта – при установке задается четырехзначный код. Запишите его и вводите: В – № кВ. – цифры для подъезда.

Второй вариант:

  • Поочередно нажимайте кнопу «0» и К четыре раза подряд.
  • Нажмите на 6 четыре раза.
  • Появится «Р», введите 8.
  • Через 60 секунд сможете войти.

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

В заключение

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

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


Возможно Вам также будет интересно:

Видеодомофоны для частного дома: нюансы и подводные камни Видеоглазок для входной двери – безопасность собственности Видеодомофон для квартиры с подключением к подъездному домофону – узнайте кто пришел

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

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

Принцип работы ключа

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

Где изготовить ключ для домофона

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


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

– разыскать установщика домофона и изготовить новый ключ;

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

Внимание: есть ряд фирм, которые могут сделать дубликат ключа от домофона в отсутствие мастер-ключа. Достаточно предоставить им любой функционирующий индивидуальный ключ от подъезда (например, соседский). Но при этом вы получаете не свой уникальный ключ, а дубликат соседского.

Программатор ключей домофона

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

Программирование ключей домофона:

1. Подключить устройство к сети 220 вольт через адаптер. Загорится сначала надпись Error, потом Read, и аппарат сообщит о готовности звуковым сигналом.

2. Приложить оригинал к гнезду считывателя. По окончании процесса появится надпись Write.

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

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

Где купить и цена

Сейчас в сети программаторы распространены достаточно широко. Самый дешевый программатор ключей домофона стоит три-четыре тысячи рублей.

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


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

Пара слов о принципе работы…
Бытует мнение, что в таблетках от домофона находится магнит, и он открывает дверь. Нет, это не так. Таблетка представляет собой ПЗУ, с жёстко зашитым в ней ключом. Называется это ПЗУ — Touch Memory, марки DS1990A. DS1990A — это и есть марка домофонных ключей. Общается с домофоном по шине one-wire (однопроводной интерфейс). Эта шина разработана фирмой Dallas и позволяет общаться двум устройствам всего по одному проводу. Если устройство пассивное (как в нашем случае), то оно ещё и передаёт ему питание по этому проводу. Надо ещё заметить, что необходим ещё общий провод (чтобы цепь замыкалась), но, как правило, все земли устройств подключённых к этой шине соединены воедино. В ключе находится конденсатор на 60 пикофарад, который обеспечивает кратковременное питание ключа на момент ответа. Но ведущее устройство должно постоянно (не реже чем в раз 120 микросекунд) генерировать сигнал единицы, для зарядки этого конденсатора, чтобы ПЗУ в таблетке продолжало питаться.

Внутреннее устройство таблетки

Организация шины One-wire
Шина One-wire работает следующим образом. Есть ведущее устройство Мастер, и ведомое устройство, в нашем случае пассивный ключик. Основные сигналы генерирует мастер, сигналы логической единицы и нуля. Ведомое устройство может только принудительно генерировать сигналы нуля (т.е. просто просаживать шину на землю через транзистор). Упрощённая схема ведущего и ведомого устройства показана на картинках.

Схема мастера

Если взглянуть на схему, нетрудно заметить, что по умолчанию у мастера стоит всегда +5 вольт, а ля логическая единица. Для передачи логического нуля мастер через транзистор замыкает шину на землю, а для передачи единицы — просто размыкает. Это сделано для того, чтобы обеспечить питание ведомого устройства. Ведомое устройство сделано аналогично, только оно не генерирует +5 вольт. Оно может только просаживать шину на землю, тем самым, передавая логический ноль. Логическая единица передаётся просто «молчанием» устройства.

Протокол работы
Сразу можно однозначно заметить, что парадом правит только Мастер, сам ключик DS1990A либо удерживает землю (мастер её сам выставляет шину в ноль), либо просто отмалчивается, в случае, если он хочет передать единицу, то он просто молчит. Смотрим рисунок.

Пример чтения домофоном ключа.

После генерации ключом импульса PREFERENCE, мастер девайс выжидает некоторое время и выдаёт команду на чтение ПЗУ, обычно это код семейства, в нашем случае 33H. Обрати внимание, как сделана передача нуля и единицы. В любом случае импульс «роняется» на землю, но если передаётся единица, то он быстро восстанавливается (около 1 микросекунды), если же должен быть ноль, то импульс некоторое время «висит» на земле, затем возвращается опять в единицу. Возвращение в единицу нужно для того, чтобы пассивное устройство постоянно пополняло энергию конденсатора, и на ней было питание. Далее домофон выдерживает некоторое время и начинает генерировать импульсы приёма информации, всего 64 импульса (т.е. принимает 64 бита инфы). Ключ лишь должен правильно сопоставить длительности. Если он хочет вывести ноль, то он удерживает шину некоторое время в нуле, если же нет, то просто молчит. Всё остальное за него делает домофон.

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


Схема дампа ключа.

В младшем байте содержится код семейства. Для DS1990A он всегда будет равен 01h. В шести последующих байтах содержится серийный номер ключа. То самое сокровенное, что идентифицирует ключик. Последний байт называется CRC, это контроль чётности, обеспечивающий подлинность переданных данных. Он вычисляется из семи предыдущих байт. К слову заметить, что это не единственный стандарт. Существуют перезаписываемые ПЗУ, на которых можно носить информацию, также есть ключи шифрования. Но всё многообразие таблеток Dallas просто нереально рассмотреть в рамках одной статьи, о них можно почитать на диске.

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

Морда ключа

Нас интересует из всей этой информации следующее:

CC = CRC — это байт контроля чётности 7-й байт в прошивке
SSSSSSSSSSSS = двенадцать ниблов //нибл = 1/2 байта// серийного номера, т.е. самого ключа в хекс кодах.
FF = код семейства, в нашем случае равен 01h — нулевой байт нашего ключа.

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

Эмулятор.
Вот и дошли мы до самого вкусного — эмулятора ключей от домофона. Сначала я нашёл на каком-то сайте готовый эмулятор, зашил его в свой АТ89С51 и он не заработал (что не удивительно). Но это не спортивно юзать чужие прошивки и отлавливать чужие, специально оставленные, баги в коде. По сему я начал делать свои эмуляторы и писать под них свои программы. В общем, я попробовал сделать эмулятор на 6 различных микроконтроллерах, разных архитектур, принадлежащих двум семействам AVR и i8051, все производства Atmel. Заработал не на всех, и программ было написано уйма. По началу ставились вообще наполеоновские задачи сделать универсальный эмулятор с возможностью подборки ключа, но потом я оставил эту затею в силу её геморойности и бессмысленности, пусть ей займутся другие люди, кого заинтересует данная статья. Но себестоимость эмулятора, не считая затраченных трудов меньше 70-80 ре, можно даже уложиться в 30 ре, если делать, например на ATtiny12.

Принцип действия эмулятора.
Мы достаточно подробно рассмотрели принцип работы домофона, и соответственно не составит большой проблемы описать алгоритм программы эмулятора DS1990A. Смотрим внимательно диаграмму, и думаем, что надо сделать. А делать надо следующее. Висящая в воздухе нога микроконтроллера (пока не присоединена к земле, импульс ресета) будет считаться контроллером логической единицей. Значится так, мы после подачи питания на котроллер должны ждать того пока наша ножка не уйдёт на землю, а ля в ноль. Как мы услышали ноль, радуемся, ждём некоторое время и переводим порт из режима чтения в режим записи. Затем роняем шину в ноль, и держим её некоторое время — генерим импульс PRESENCE (длительности импульсов смотри в даташите). Дальше снова переводим шину в режим чтения, и ждём что же нам скажет мастер — домофон. Он нам скажет команду чтения, состоящую из 8-ми бит. Декодировать её не будем, т.к. в 99,999% случаев он нам скажет команду дать свой дамп, а ля 33H, просто отсчитываем 8-мь импульсов и не паримся. Дальше ждём. И начинается самое сложное и интересное — надо быстро смотреть, что нам говорит домофон и отвечать ему тоже быстро. Нам нужно побитно выдать серийный номер, состоящий из 8-ми байт, о которых я говорил выше. Я это делал следующим образом (не важно, какой микроконтроллер, принцип везде один будет), загружал байт в какой-нибудь свободный регистр, и сдвигал его вправо, и смотрел бит переноса. Как только домофон роняет шину в ноль, то если у меня флаг переноса установлен в еденицу, то я просто отмалчиваюсь на этот импульс, и жду генерации следующего импульса чтения бита от мастера. Если же у меня во флаге переноса находиться ноль, то после того как домофон уронит шину на ноль, я перевожу порт микроконтроллера в режим вывода и принудительно удерживаю шину в нуле некоторое время, потом отпускаю и обратно перевожу порт контроллера в режим чтения. По длительности импульса в земле устройство мастер понимает, передана была ли ему единица или нуль. В принципе всё, дальше домофон должен радостно запипикать и открыть дверь.

Практика.

Плата тестер. Видня надпись dallas.

После небольшого гемороя и войны с отладчиком получился код. Вот пример кода вывода данных домофону на AT89C2051. (Вообще AT89C2051 это хоть и популярный, но устаревший контроллер. Один из первых которые я программировал. Периферии минимум, памяти тоже всего ничего. Шьется только высоковольтным программатором. Хотя есть его новая замена AT89S2051 его уже можно прошить внутрисхемно через какой нибудь AVR ISP, а может и через AVRDUDE — не проверял. Самое любопытное в том, что он совместим по ногам с ATTiny2313 так что код можно портировать и на Тиньку. прим. DI HALT)

DI HALT:
Этот адов код мы писали в с Длиным в далеком 2006 у него в квартире. Уржались до икоты над своими тупняками. Я тогда еще впервые пощупал AVR. Сидел фигачил на совершенно незнакомом мне ассемблере процедуры чтения из EEPROM, Длиный же ковырял демоплатку для своего будущего эмулятора. Особо запомнился мой прикол с вачдогом, когда у меня МК сбрасывался во время записи в ЕЕПРОМ и выпиливание микросхемы i2c памяти из платы с помощью отрезного круга. Эх… ничо, сгоняю в Москву мы снова отожгем!

;======================================== ; Выдача в линию серийника; in: R0- адресс где лежит серийник с типом таблетки и CRC8 ; USES: A,B,R0,R1,R2 ;======================================================== DEMUL_SendSer: mov R2,#8 SS3: mov ACC,@R0 mov R1,#8 SS2: JB TouchFuck,$ ;ожидаем, когда шину уронят в ноль 1->0 RRC A ;C:=A.0; shift A; mov TouchFuck,C ;TouchFuck:=C; MOV B,#9 DJNZ B,$ ;Delay 20 us setb TouchFuck JNB TouchFuck,$ ;цикл пока 0 DJNZ R1,SS2 inc R0 DJNZ R2,SS3 ret ;=======================================================

Результаты.
В результате я получил множество эмуляторов. Правда, некоторые ещё из них надо доводить до ума. Хотя несколько 100% рабочие. Примеры эмуляторов ты можешь поглядеть на фотках.



Фотографии эмуляторов

Наиболее интересна проверка CRC, которая осуществляется домофоном. Тебе понадобится это, если ты захочешь поставить Dallas замок например на свой комп. Пример рассчёта CRC на A89C2051 (хотя данный код будет работать на всех микроконтрерах семейства i8051.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 DO_CRC: PUSH ACC ;save accumulator PUSH B ;save the B register PUSH ACC ;save bits to be shifted MOV B,#8 ;set shift = 8 bits ; CRC_LOOP: XRL A,CRC ;calculate CRC RRC A ;move it to the carry MOV A,CRC ;get the last CRC value JNC ZERO ;skip if data = 0 XRL A,#18H ;update the CRC value ; ZERO: RRC A ;position the new CRC MOV CRC,A ;store the new CRC POP ACC ;get the remaining bits RR A ;position the next bit PUSH ACC ;save the remaining bits DJNZ B,CRC_LOOP ;repeat for eight bits POP ACC ;clean up the stack POP B ;restore the B register POP ACC ;restore the accumulator RET

DO_CRC: PUSH ACC ;save accumulator PUSH B ;save the B register PUSH ACC ;save bits to be shifted MOV B,#8 ;set shift = 8 bits ; CRC_LOOP: XRL A,CRC ;calculate CRC RRC A ;move it to the carry MOV A,CRC ;get the last CRC value JNC ZERO ;skip if data = 0 XRL A,#18H ;update the CRC value ; ZERO: RRC A ;position the new CRC MOV CRC,A ;store the new CRC POP ACC ;get the remaining bits RR A ;position the next bit PUSH ACC ;save the remaining bits DJNZ B,CRC_LOOP ;repeat for eight bits POP ACC ;clean up the stack POP B ;restore the B register POP ACC ;restore the accumulator RET

Заключение.
Как видишь домофоные ключи устроенны не так просто, как кажется. Однако, съэмулировать их доступно каждому кто владеет программированием и паяльником.

DI HALT:
Дела давно минувших дней, преданья старины глубокой… Длиный — WDR! (понятно будет только посвященным;)))))

Доредакционная версия статьи из журнала Хакер







2024 © cveti-usadba.ru.