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



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

Суть такова


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



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



Тоже ЦП100КМ, но другой (более поздней) модификации. Фото лучшего качества нет.



Метаком М10-ОК. Судя по всему, модель очень редкая, ни одной фотографии помимо этой не нашёл.


Метаком МК99. Существовали также модификации с ТМ-считывателем (у меня самого есть такой экземпляр).


Страж 2Д-01. Реликтовый экземпляр, один из первых домофонов на базе микроконтроллера, а не дискретной логики.


Импульс-ДС. Как и предыдущий экземпляр, выпущен заводом «Протон-Импульс».

Cyfral CCD 2094/O. Фото не нашлось, зато обнаружилось видео.


Помимо блоков вызова выпускались также и просто ключевые устройства. Как, например, Cyfral CD95/O. Увы, лучшего качества не нашлось.



Не остался в стороне даже челябинский «Факториал». Вот заброшенный блок вызова Факториал ДМ256-ОК. Судя по всему, выпускались они параллельно с магнитными.



Неизвестный блок вызова (второй оптический из известных мне в Челябинске), судя по названию, детище местного ПО «Полёт». Эта панель тоже не работает, рядом прикручен считыватель Matrix с контроллером Z-5R. Год выпуска неизвестен, ориентировочно, 1999.
Итак, как можно видеть, огромному количеству производителей довелось выпускать такие ключи. Популярность их пришлась на конец девяностых и начало двухтысячных, пока они не были вытеснены более надёжными Touch Memory.

Ключи


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



Заготовка из цинка. Такие ключи использовались в системах Факториал и некоторых Цифралах.



Металлический плоский ключ. Самый популярный вариант.

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

Обзор оборудования


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

Eltis ЦП105КМ




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



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



Снимем крышку. Плата залита лаком, на ней микросхемы дискретной логики и МК PIC16F84. Микросхемы памяти нет, всё хранится в EEPROM контролера.



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



Обратная сторона считывателя. Здесь расположены три фотодиода, работающих в фотогальваническом режиме. Сигнал с них поступает на вход счетверённого операционного усилителя К1401УД2Б.

Создаём ключ


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

Алгоритм считывания ключа получается следующий. В нормальном состоянии, когда в считывателе ничего нет, все три датчика видят свет. При вставке ключа он вначале перекрывает все три луча. Именно это и распознаётся контроллером как начало считывания. Далее МК ждёт, когда хотя бы один датчик снова будет открыт. Когда это происходит, значения считываются как первый ряд ключа. Далее снова ожидается, когда все датчики окажутся закрыты, а затем аналогичным образом считывается следующая тройка дырочек. Из этого следует, что в каждой тройке должно быть хотя бы одно отверстие и что расстояние между тройками не должно быть слишком маленьким, иначе МК пропустит момент перехода через тёмный участок. Также следует сделать отступ около пять миллиметров в передней части, чтобы момент вставки точно был определён.

Помня это всё, делаем аналог ключа. Получаем примерно следующее:



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



Записываем ключ


Пароля для входа в режим программирования на ЦП105КМ нет. Для входа туда надо закоротить «сервисный» контакт на клеммнике на землю.



Далее открываем мануал и согласно ему записываем ключ.



Выходим, вставляем, и оно таки работает! Можно пробовать дальше.

Eltis ЦП200КМ


А вот и другой девайс. Он куда более навороченный — цифровая адресация, дисплей, поддержка до 160 абонентов, индивидуальные коды.



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



Обратная сторона. Как водится, тут ничего примечательного.



Разбираем. Экземпляр в нерабочем состоянии: считыватель отсутствует, кнопки подглючивают. Блок основан на микроконтроллере PIC16F677, рядом с ним видна микросхема памяти. Все чипы намертво запаяны в плату и залиты лаком. За датчики отвечает не операционный усилитель, а компаратор К1401СА1, так что считыватель тут основан либо на фототранзисторах, либо на фотодиодах (но не в фотогальваническом, а фотодиодном режиме включения).



Обратная сторона платы. Подсветка клавиатуры осуществляется двумя лампочками накаливания, которые за долгие годы давно сдохли и уже не горят. Слева от них — датчик освещённости. Индикатор светодиодный, модели КИПЦ27А-5/8К.

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

Собираем считыватель


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



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



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



Прикручиваем пластмасску с датчиками на законное место и припаиваем провода. Распиновка тут такая (на плате есть нумерации контактов в виде обозначений К1… К5, шестой контакт не задействован):

  1. Земля
  2. Подсветка
  3. Первый датчик
  4. Второй датчик
  5. Третий датчик

Укладываем их, чтобы не мешали (заодно и поджал датчики), и всё, можно пробовать записывать ключ.
Здесь это делается так: жмём «вызов», удерживаем семь секунд, на экране появляется «P____», затем вводим код (по умолчанию 1998), жмякаем «1», вставляем ключ последовательно одной и другой стороной. При этом на экране будет появляться считанный паттерн ключа.



Тут выяснилось, что первый мой оптоключ не подошёл из-за того, что первая тройка дырочек была расположена слишком близко к краю. Пришлось сделать новый, из найденной на улице скидочной карты (к слову, этот паттерн был выбран неслучайно). И вот — оно таки работает!

БЭКУ


Помимо тех панелей мне досталось ещё и ключевое устройство (Eltis БЭКУ-КМ3).



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



Обратная сторона. Поверх этикетки приклеена ещё одна, зачем это сделано — мне неведомо.



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



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



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



С одной стороны у него три инфракрасных светодиода. Они тут отечественные, судя по виду, это АЛ156А.



С другой же стороны три фотодиода. Они тут так же работают в фотодиодном режиме.



Плата с фотодиодами снята. Видны три отверстия, через которые свет попадает на датчики.



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

Паттерны ключей




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



Но есть один нюанс: в комплекте со всеми БЭКУ шёл ключ с паттерном номер семнадцать. И, так как его обычно не перезаписывали, можно воспользоваться им. Накалываем этот паттерн, вставляем ключ… работает! Можно записать любой другой свой ключ.

Ещё немного про ЦП200


Помимо представленного ранее ЦП200КМ мне достался ещё один экземпляр.



Он сильно отличается от того. К слову, блестящим он был не с завода, краску отчистили до меня ввиду ужасного её состояния.



Обратная сторона. Вынесенный из-под крышки считыватель, какие-то адреса…



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



Обратная сторона. Всё те же отвратительные кнопки, всё тот же индикатор. Несколько дорожек съедены коррозией, так что их позже пришлось наращивать.



Считыватель здесь точно такой же, какой был в составе БЭКУ, однако схема включения тут совершенно иная: фотодиоды работают в фотогальваническом режиме. Сигнал с них поступает на вход операционного усилителя LM324N. Первый и третий датчики подключены ко входам компаратора К1401СА1, для второго же эта цепь собрана на базе четвёртого операционного усилителя из состава LM324N, так как оставшиеся два компаратора микросхемы К1401СА1 задействованы в цепи контроля состояния линии. Также особенностью этой панели является отсутствие кнопки выхода: вместо неё предполагается подключить ещё один считыватель. Таким образом, выход без ключа при такой схеме невозможен, что, например, в случае пожара может быть очень опасно.

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

Тема записи ключей хорошо раскрыта в этом видео:

Несмотря на отличие в модели, прошивка абсолютно идентична.

Cyfral CCD 2094/0


Этот блок достался мне практически в идеальном состоянии. Лишь вмятина на крышке и слой пыли говорили о том, что он долго был в эксплуатации (и стоял, судя по всему, где-то в тамбуре, а не на улице).



А вот и он. Эти блоки также существовали и в другом дизайне, на манер поздних CCD 2094/TC.



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



Снимем крышку. МК тоже AT89C51. Вообще, по схемотехнике аппарат похож на CCD 2094/TC тех же лет и плоские Eltis ЦП100КМ.



Схема устройства.



Наибольший интерес вызывает, конечно, сам считыватель. Инфракрасные светодиоды запитаны от питающего напряжения через резистор. Каждый фотодиод подключён к инвертирующему входу одного из операционных усилителей, их аноды соединены с землёй. На резисторах R4, R5, R6 выполнена обратная связь ОУ. Выход операционного усилителя поступает на компаратор. Как и в случае с ранним ЦП200КМ, один из компараторов реализован на базе четвёртого операционного усилителя чипа LM324N.



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



В качестве фотодиодов используются отечественные ФД-256.



Инфракрасные светодиоды. Они тут не менее реликтовые, АЛ115А.

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

Коды ключей




Ну и напоследок разберёмся с тем, как хранятся ключи в памяти. Я ожидал, что ключ будет храниться в виде двух-трёх байт, но нет: для хранения паттерна ключа в памяти отведено аж пять байт. Старшие три бита символизируют состояние трёх датчиков, младшие всегда нулевые.
То есть, например, ключ как на фото будет иметь код E0 80 40 20 80. Получается, что минимальный код ключа — 20 20 20 20 20 (верхний ряд дырочек), а максимальный — E0 E0 E0 E0 E0 (пробиты все дырочки). При этом, как и на перфоленте, дырка означает единицу, а не ноль, так как по сути записывается наличие или отсутствие сигнала с датчика. Такое решение занимает больше места в памяти, но сильно облегчает работу разработчику, так как легче считывать ключ (едва датчик что-то увидел, считываем из памяти очередной байт и сверяем его с тем, что пришло), а также проверять значения на корректность (байты должны быть ненулевыми). При этом пустые ячейки забиты как 0xFF, что отличается от 0xE0, так что открыть домофон, потыкав в считыватель сплющенной беломориной, не удастся (но, тем не менее, на совсем древних домофонах такая уязвимость была и основана она была на том, что домофон, видя, что датчики то видят свет все сразу, то нет, считал, что вставлен ключ со всеми отверстиями).

Пароли


Я не нашёл никаких сведений насчёт паролей в старых Элтисах, поэтому решил упомянуть и это.
Микросхемы памяти на этих домофонах запаяны, так что для считывания необходимо либо выпаять их, либо подпаяться к линиям данных.



Если на раннем ЦП200 придётся паять провода к выводам микросхемы памяти, то в поздних всё сделано весьма удобно — на плате имеется разъём для подключения программатора. Распиновка его следующая:

  1. Не используется
  2. Ключ
  3. SDA
  4. SCL
  5. 5 В
  6. Не используется
  7. Земля

Подключаем любой программатор. умеющий внутрисхемное программирование. Подойдёт даже CH341A с софтом NeoProgrammer, далее с подключенным к компьютеру программатором выставляем адрес 0xA2, подаём питание на панель и считываем дамп.
В ранних прошивках сервисный пароль лежит по смещению 100h и занимает четыре байта, по одному на каждую цифру, далее идёт байт 92h, а затем системный пароль в таком же формате. В поздних он представляет собой целое число в формате Big-Endian, записанное по смещению 2.
На Cyfral CCD 2094/0 пароль считывается аналогично поздним моделям: это HEX-код двух байт по смещению 1 для сервисного и то же самое по смещению 3 для системного.

Делаем ридер паролей ещё лучше


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



И вот — теперь каждый, кому попадётся такая панель, сможет без труда узнать пароль.

Вот как-то так


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

Ссылки




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



Комментарии (10)


  1. Radisto
    13.05.2023 09:51
    +5

    Как и ранее - здо́рово. Хаброво и гиково. Спасибо


  1. madcatdev
    13.05.2023 09:51
    +3

    Отличная статья! С беломорины посмеялся.

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


    1. csharpreader
      13.05.2023 09:51
      +2

      Так называемый «вездеход», да.


    1. MaFrance351 Автор
      13.05.2023 09:51
      +4

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


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


  1. nikhotmsk
    13.05.2023 09:51
    +3

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

    Hidden text

    Фестиваль самодельной электроники и компьютерного искусства Undefined. Ленинградская область, 26-27 августа.


    1. MaFrance351 Автор
      13.05.2023 09:51
      +3

      Эхх, да мне туда совсем не по пути...


  1. remzalp
    13.05.2023 09:51
    +1

    Есть и вполне современные замки, которые все еще продаются: https://vls.com.ua/prod&serv.htm


  1. dlinyj
    13.05.2023 09:51
    +2

    Спасибо, статья очень крутая!!!


  1. G_SKULL
    13.05.2023 09:51

    В начале 2000х в РБ, пападались домофон с маркировкой "Лёс". Там то же был оптический ключь, который в поперечном разрезе представлял собой усеченный 3х угольник, из алюминиевого сплава. Верхняя грань толщиной миллиметров около 3х, нижняя около 5. Чем обеспечивалось однообразно втыкание ключа. Количество отверстий не помню. А вот, то что ключь сделанный по оюразу и подобию из тонкого пластика не хотел работать, в отличае, от ключа сделанного из пластика сильно толще. Не знаю почему, но предполагаю, что светодиоды просвечивали, через тонкий молочно-белый пластик и ключь считывался не верно (но это не точно)


    1. MaFrance351 Автор
      13.05.2023 09:51

      Всё так.
      Хотя Белоруссия мне больше запомнилась устройствами "Пиррс" с резистивными ключами (и позже с ключами на базе RC-цепочки).