![]() |
![]() |
||||||||||||||||||||||||||||||||||||||||||||||||
Эмулятор домофонных ключей
Автор: GoldenAndy Если долго смотреть на дверь с домофоном - она откроется. Так сложилось, что в моем подъезде появился домофон. Вещь хорошая. Удобная. Создающая иллюзию безопасности. Препятствующая (иногда) проникновению бомжей и асоциальных элементов. Что, в общем, не мешает рекламщикам распихивать свой спам по ящикам, пользуясь мантрой "Откройте, это сантехник....". О плюсах и минусах домофона можно спорить долго. Но факт - на ключах появилась еще одна синенькая висюлька бесконтактной таблетки. Всё было бы хорошо, но через некоторое время было принято решение вход во двор дома закрыть воротами. И проход во двор возможен только через 2 калитки - одна с улицы, вторая из соседнего двора. При этом никто не озаботился тем, что бы прописать в замок на воротах ключи от подъездных домофонов. Просто выдали всем еще ключей-брелков. Мне перепал еще и ключик от второй калитки (Ибо мы ходим в соседний двор кормить местных котов). В результате на ключах появилось 2 дополнительные висюльки, аналогичные первой. Одна синяя, как и от подъезда, вторая желтая. Надписи маркером с брелков стирались. Приклеенные скотчем этикеточки отклеивались. Брелоки мешались. Вообщем одни неудобства. Хорошо хоть, что все ключи оказались одного стандарта - EMMarine EM-4100. В результате, после поиска в сети и чтения теории была нарисована тестовая схема, намотана катушка колебательного контура - и начались эксперименты. Сначала это были попытки чтения наличествующих ключиков. Потом дошло дело и до попыток скормить прочитанный из ключа код домофону. И если чтение получилось далеко не с первого раза, то эмуляция ключика сработала с первого раза, легко и непринужденно. Домофон проглотил посылку от эмулятора, как котик рыбку. Данные исследования привели к появлению на свет нижеописанного устройства. Эмулятор домофонных ключей Внимание! Описанные в данной статье устройства не предназначены для взлома домофонных и иных замков, систем контроля доступа, несанкционированного прохода в зоны с ограниченным доступом и т.д.! Устройства позволяют всего лишь заменить имеющиеся в наличии горсти ключей одним мультиключом, эмулирующим данные ключи. Версия 1 - эмулятор бесконтактных ключей стандарта EM-Marine 125 кГц. Первая версия - функционально законченный проект, он далее не развивается, поскольку все поставленные для этой версии цели достигнуты. Да-да, дорогой читатель, существует еще и вторая версия, с большим числом вкусностей, о ней будет ниже, после подробного описания первой версии. Для чтения и эмуляции бесконтактного ключа нужен колебательный контур, настроенный на резонансную частоту ключа - 125 кГц. Сказано - сделано. При помощи RLC-метра был подобран конденсатор 4,7 нФ. При помощи онлайн-калькулятора была рассчитана необходимая индуктивность катушки для частоты 125 кГц при емкости 4700 пФ - 344.9 мкГн. Теперь нужно намотать такую катушку. В качестве оправки был применен одноразовый медицинский шприц на 20 кубов, обернутый полоской бумаги. Начальный диаметр для намотки был 22.7 мм. Катушка моталась проводом 0.08 мм с какого то старого трансформатора. Число витков было рассчитано на основе геометрических данных катушки и требуемой индуктивности другим онлайн-калькулятором - получилось 88 витков, ушло чуть более 6 метров провода. Теперь можно приступить и к схеме эмулятора ключей. Как это работает? Командует всей этой кухней народный микроконтроллер ATMEGA8A. Эмуляция ключа - тут всё просто: транзистор Q2 периодически шунтирует колебательный контур в соответствии с кодом сохраненного ключа по соответствующему алгоритму. При поднесении катушки контура к считывателю замка мозг считывателя начинает думать, что ему подсунули реальный ключ - и открывает (или не открывает) дверь. Чтение ключа. Тут всё гораздо интересней. На базу транзистора Q3 с частотой 125 кГц приходят короткие импульсы, которые "накачивают" энергию в катушку контура. L1R13C5 - это фильтр, ограничивающий проникновение помех в цепи питания. После каждого импульса накачки выбросы самоиндукции с контура детектируются диодом D6 и фильтруются цепочкой R14C6. Питание эмулятора ключей производится от малогабаритного литиевого аккумулятора. В схеме предусмотрена возможность подключения эмулятора к ПК, для чтения/записи ключей в базу на ПК. Так же реализовано обновление прошивки с ПК (при помощи бутлоадера). Индикация. Осуществляется при помощи 9 светодиодов, 7 из которых образуют знакосинтезирующий семисегментный дисплей. Эти 7 диодов можно заменить малогабаритным семисегментным индикатором с общим катодом (при соответствующем изменении конфигурации печатной платы). Управление. Осуществляется одной кнопкой. Поскольку эмулятор - вещь достаточно простая, получилось возможным всё управление свести на одну кнопку. Итак. В дежурном режиме контроллер находится в спящем режиме, все транзисторы закрыты, все потребители отключены. В режиме эмуляции на дисплее отображается номер слота с эмулируемым на данный момент ключом. Короткие нажатия на кнопку перебирают по кругу слоты с сохраненными ключами. При пониженном напряжении питания (менее 3.2 вольта) начинает мигать красный светодиод. Если же в режиме эмуляции кнопку нажать и держать порядка двух секунд - отобразится символ "А" и эмулятор перейдет в режим администрирования ключей. В этом режиме кнопкой циклически перебираются все слоты. Если в слоте сохранен ключ - дополнительно светится зеленый светодиод. Если же слот пустой - номер слота мигает. Длинное нажатие кнопки на пустом слоте включает режим чтения ключей, длинное нажатие на слоте с сохраненным ключом - предлагает удалить ключ. Более подробно управление ключом и всеми режимами описано в инструкции пользователя. Ну и печатная плата - куда ж без неё. Плата разработана с учетом возможности ручного изготовления по ЛУТ-технологии. Готовый файл печатки для ЛУТ Эмулятор первой версии умеет:
Прошивка и фьюзы. Фьюзы для МК: Прошивка для эмулятора первой версии: Прошивка Эмулятор собран в готовом корпусе с толкателем кнопки. В верхней части корпуса было прорезано окно и закрыто дымчатым стеклом, а вся верхняя часть корпуса накрыта самоклеящейся пленкой. Это призвано обеспечить хоть какую то брызгозащиту. Соответственно, при желании иметь эмулятор с перспективой обновления прошивки без разборки корпуса - в МК нужно зашить загрузчик и следующие фьюзы Кому ближе числа: Lo: 0xA4, Hi: 0xD2 Загрузчик для эмулятора первой версии: Загрузчик.
Эмулятор в процессе изготовления и первичного написания: Готовый эмулятор В дальнейшем, для намотки катушек было сделано следующее приспособление. После намотки необходимого числа витков оправка разбирается, катушка аккуратно снимается с пластмассовой шайбы и пропитывается лаком PLASTIL-71.
Версия 2 - эмулятор бесконтактных ключей стандарта EM-Marine 125 кГц и контактных ключей стандарта TouchMemory (iButton), Cyfral, Metakom. Версия 2 - логическое продолжение эмулятора первой версии. Контроллер заменен на аналогичный, но с большим объемом памяти - ATMEGA328P. Схема и принципы работы с беспроводными ключами остались без изменений. Добавился интерфейс чтения/эмуляции контактных ключей. Работа с контактными ключами подсмотрена у ClusterM, что то взято почти без изменений, что то переосмыслено и сделано по своему. Эмулятор второй версии умеет:
Для ключей Metakom поддерживается только эмуляция (у меня, как и у Кластера, нет такого ключа в наличии. Да и домофонов в округе нет таких. Посему - эмуляция по алгоритму, описанному в документации - см. статью Кластера.) Схема. Немножко про схему. Беспроводная часть работает аналогично первой версии эмулятора и практически ничем от нее не отличается. Работа с контактными ключами. Q6R24 - подтяжка 1Wire-линии к питанию при чтении Dallas-овских ключей TouchMemory. Q4R21 - усиленная подтяжка линии для чтения ключей Cyfral. R13R14 - делитель для компаратора уровней, отдаваемого ключом. Q5 - Прижатие линии к земле в режиме эмуляции TouchMemory. R27,R18 - Эмуляция двух уровней сопротивления Cyfral/Metakom. Добавлено 2 светодиода для индикации единицы в разряде десятков для индикации номеров слотов от 0 до 19. Так же в дополнение к зеленому добавлен синий светодиод - для индикации типа выбранного ключа. Зеленый контактный, синий - бесконтактный ключ. 2 варианта печатной платы под два корпуса:
Печатные платы разрабатывались с учетом заказа их на производстве. С такими платами и работать приятней, да и сплошные плюсы от заводских плат - тонкие дороги, закрытые маской переходные, красивая шелкография.... Есть и минусы - 10 плат 5$, доставка 7-9$, да и ждать иногда долго. Мне два комплекта плат обошлось в 19$. Зато приехали супер-быстро. 12 дней от момента выдачи трек-номера на фабрике. Герберы раз и два Управление. Эмулятор полностью управляется одной кнопкой, но для удобства использования введена поддержка второй кнопки. Прошивка и фьюзы. Вторая версия эмулятора точно так же поддерживает режим загрузчика и обновление прошивки через программу на ПК. Соответственно, тоже есть 2 набора фьюзов - для обычной прошивки (без поддержки обновления через ПК) и для работы с загрузчиком. Фьюзы для обычной прошивки: Кому ближче числа: Lo: 0xE2, Hi: 0xD5, Ext: 0xFD Прошивка для эмулятора второй версии: Прошивка Фьюзы для эмулятора с загрузчиком: Кому ближе числа: Lo: 0xE2, Hi: 0xD4, Ext: 0xFD Загрузчик для эмулятора второй версии: Загрузчик Подключение к ПК так же реализовано через пружинные латунные контакты, запресованные в отверстия в корпусе напротив контактных площадок печатной платы.
Подключение к ПК Связь с ПК реализуется через любой переходник USB-UART. Эмулятор подключается следующим образом:
Программа для ПК Тут всё просто. Эмулятор подключить, программу запустить, нажать кнопку "Подключение". Программа Intercom MultiKey manager.
Файлы: Все вопросы в Форум.
|
|
||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
![]() |


![]() |
![]() |
|||
|
||||
![]() |
![]() |