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

Фармакологическое действие Цифрана

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

Цифран активен в отношении целого ряда аэробных грамотрицательных бактерий, среди которых Enterobacter spp, Escherichia coli, Citrobacter spp, Shigella Spp, Morganella morganii, Moraxella spp, Salmonella spp и другие. Также отмечена активность Цифрана в отношении аэробных грамположительных бактерий: Listeria monocytogenes, Staphylococcus aureus, Streptococcus pneumoniae и ряда других, включая штаммы, которые продуцируют пенициллиназу. Наконец, препарат активен в отношении внутриклеточных бактерий: Brucella spp, Chlamydia trachomatis, Legionella spp, Mycoplasma hominis.

Однако инструкция к Цифрану отмечает устойчивость анаэробных бактерий к лекарству.

Постантибиотический эффект после приема препарата длится до 6 ч, что позволяет предотвратить дальнейший рост бактерий.

Кроме того, лечение Цифраном не нарушает естественную микрофлору влагалища и кишечника.

Показания к применению Цифрана

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

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

Инструкция к Цифрану описывает эффективность в/в введения препарата при профилактике послеоперационных инфекций.

Инструкция по применению Цифрана

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

Детям после 12 лет Цифран показан в количестве 5-10 мг/кг массы тела в сутки. При этом дозировку делят на два приема. Таблетки предпочтительно принимать перед едой.

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

При септицемии и бактериемии вводят до 400 мг препарата каждые 12 ч.

В случае выраженных нарушений почек суточную дозу уменьшают в 2 раза.

Продолжительность в/в применения Цифрана массой 200 мг равняется 60 мин.

В некоторых случаях после курса в/в введения Цифрана следует перейти на пероральный прием препарата.

Длительность лечения Цифраном и аналогами препарата определяется врачом на основании индивидуальных показателей пациента. Рекомендовано проводить лечение не менее 5-7 дней при острых инфекционных заболеваниях, после исчезновения клинических симптомов инфекции курс лечения продлевают еще на 3 дня.

Глазные капли рекомендуется закапывать по 1-2 капли в нижний конъюнктивальный мешок больного глаза через каждые 4 ч при заболеваниях легкой и средней ст. тяжести. В случае тяжелого течения заболевания показания к Цифрану таковы: каждый час по 2 капли до момента, когда наступит улучшение. После этого дозу препарата снижают.

Виды ключей для домофонов

Существует несколько семейств домофонных ключей.

1. «Таблетки». Официально стандарт называется Touch memory (ТМ) или iButton, это контактные ключи в корпусе MicroCAN. В «таблетках» используется протокол 1-Wire, но форматы бывают разные.

В РФ это в основном ключи модели Dallas, с которыми работают домофоны Vizit, Eltis, Z-5R, С2000-2 и т.д., Cyfral (ключи DC2000А и Цифрал-КП1 и др.), «Метаком».

Довольно редко встречаются резистивные «таблетки» – у них считывается сопротивление.

2. «Капельки». RFID-метки в пластиковом корпусе круглой, овальной или каплеобразной формы. Иногда их выпускают в виде браслетов или карт.

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

В РФ чаще всего используют Proximity-ключи EM-Marin, но встречаются также и более старые HID-метки или более новые MiFare, как в картах метро.

3. Оптические. Настоящие динозавры. Где-то в провинциях ещё сохранились. Такой ключ – это металлическая пластина, в которой в определенном порядке насверлены отверстия.

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

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

Как домофон определяет, подходит ли ключ?

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

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

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

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

Вот так переустановят домофон у вас в подъезде, а ключи менять не придётся. Хотя, конечно, установщик домофона вполне может попытаться заработать на этом.

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

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

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

Бывает, носишь «таблетку» или «капельку» в кармане, а она через какое-то время бац! – и перестала работать. И такая ерунда каждый месяц. Что-то здесь не так. «Наверное, размагнитилось», – самое популярное объяснение.

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

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

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

Теоретически, ключи можно «убить» электромагнитным излучением или сильным электрическим импульсом.

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

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

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

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

После установки домофона у специалиста остается особый ключ. На нем даже может быть написано что-то вроде: «Мастер-ключ. Никому не давать».

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

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

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

Здесь всё зависит не от ключа, а от того, какие записи есть в памяти домофона.

А что будет, если мастер-ключ потеряется?

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

Интереснее иметь универсальный ключ, или «вездеход». Его код прописан во всех домофонах подъездов одного дома или двора.

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

Также некоторые RFID-ключи нового формата, к примеру, RF3.1, позволяют записать коды до 8 домофонов.

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

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

Можно ли обмануть домофон?

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

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

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

Часто можно услышать, что домофон можно вывести из строя электрошокером. Да, тонкая электроника серьёзный заряд действительно не перенесет. У механического удара на 10-15 см ниже панели домофона те же последствия. Но это порча имущества и статья УК РФ.

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

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

Что насчет кодов доступа домофонов?

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

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

Это вовсе не те цифры, которые записываются на ваш ключ. К примеру, длина простого ключа для «таблеток» DS1990A от компании Dallas составляет 6 байт, это 281474976710656 разных комбинаций. Вы вряд ли запомните комбинацию такой длины, но можете считать её на самом брелоке. Ключ в 16-ричном формате, как правило, гравируется лазером на поверхности.

P.S. Раньше существовал банальный до ужаса лайфхак: ключи с кодом 00 00 00 или FF FF FF могли открыть все двери. Именно такие значения записывались в свободные ячейки домофона и участвовали в сравнении при проверке ключа. Но эту дыру уже давно закрыли.

Рейтинг поста:

(4.63 из 5, оценили: 193) 🤓 Хочешь больше? Подпишись на наш Telegram. … и не забывай читать наш Facebook и Twitter 🍒iPhones.ru Актуально для России.

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

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

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

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

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


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

iButton

Самый популярный тип домофонных ключей — это iButton, а именно DS1990A от компании Dallas, работает по протоколу 1-Wire. Протокол весьма хитрый, подразумевает двустороннее взаимодействие — на ключ можно отправлять различные команды, на которые он по-разному реагирует. Серийный номер имеет размер в шесть байт, что даёт 28*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 полезных бит, а 228 = 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:

Он позволяет считывать ключи из устройства, при этом автоматически заносит их в базу данных. Само собой, ключи можно и записывать.
Исходники прошивки есть тут: github.com/ClusterM/ibutton
Исходники клиента тут: github.com/ClusterM/ibutton_client

Заключение

Очень удобно в одном устройстве иметь ключи от дома, родственников, работы и подъездов друзей. Особенно актуально для тех, кто не провёл в квартиру домофонную трубку. Но создавать мультиключ было не столько полезно, сколько интересно. Это отличная практика для изучения микроконтроллеров. Да, именно с этого я в своё время начинал. Помимо этого каждый новый не открывающийся подъезд вызывал целую бурю интереса. Бегать по городу и решать логические задачи, чтобы открыть какую-то дверь — это как видеоигра в реальной жизни! Чертовски увлекательно. Не хватает только схваток с гопниками и бабулек у подъездов в виде боссов ;)