Считыватель touch memory не работает

Содержание
  1. Устройство контактного считывателя (Touch Memory)
  2. Не стабильно работает.
  3. Сообщений 1 страница 5 из 5
  4. Поделиться12012-04-08 22:18:52
  5. Контроллер не видит ключи.
  6. Сообщений 1 страница 10 из 10
  7. Поделиться12013-02-12 21:39:54
  8. Поделиться22013-02-13 09:07:15
  9. Поделиться32013-02-13 21:15:13
  10. Поделиться42013-02-13 22:47:23
  11. Поделиться52013-03-08 04:50:55
  12. Поделиться62013-03-08 21:38:13
  13. Инсталляция, монтаж » Считыватели для ключей Touch Memory
  14. Нахлобучиваем домофонные ключи iButton с помощью Flipper Zero
  15. Что такое iButton
  16. Считыватель
  17. Как устроен iButton во Flipper Zero
  18. Режим считывателя
  19. Режим эмуляции iButton
  20. iButton через внешний GPIO
  21. Протокол 1-Wire
  22. Формат данных в ключе Dallas
  23. Ошибки чтения
  24. Ввод ID вручную
  25. Запись ключей 1-Wire Dallas
  26. Русские народные ключи Cyfral, Metakom
  27. Cyfral
  28. Metakom
  29. Смотрим на 1-Wire через осциллограф
  30. Стандартные команды 1-wire ключей Dallas
  31. Бонус про домофонные ключи
  32. Почему старые домофоны это плохо?
  33. Как почтальоны разносят по подъездам рекламу?
  34. Что такое мастер ключ?
  35. Играясь заблокировали домофон?
  36. Какие болванки нам известны

Устройство контактного считывателя (Touch Memory)

Проверка работоспособности считывателя ТМ.

Контактный считыватель устроен предельно просто — металлический корпус и круглая контактная площадка, отделённая изоляционной прокладкой.
Провод «Земля» припаян прямо к корпусу, а провод TM — к круглой площадке.
Вместо пайки возможно крепление под винт или под гайку. Распространённая неисправность — самопроизвольное отвинчивание гайки крепления центрального контакта.
В некоторых моделях считывателя есть светодиод для индикации или подсветки.

На схемах в статье «Подключение считывателей TM» указано напряжение, на которое рассчитан индикатор или подсветка. В большинстве случаев индикатор рассчитан на 3…5 вольт. Чтобы «переделать» индикатор на 12 вольт, нужно включить в разрыв одного из проводов индикации резистор номиналом 1 кОм. В моделях с подсветкой на 12 вольт именно так и сделано.

▼ Между контактной площадкой и корпусом подключенного считывателя должно быть 4…5 вольт, поступающие с контроллера. Плюс на центральном контакте.

Читайте также:  Как настроить киберпанк 2077 чтобы не лагал

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

▼ Полярность светодиода выясняем мультиметром на пределе 200Ω или 2000Ω. Прикладываем щупы к контактам светодиода. Если индикатор не светится, меняем щупы местами. Если светится, смотрим, к какому проводу приложен красный щуп — это плюсовой контакт.

Источник

Не стабильно работает.

Сообщений 1 страница 5 из 5

Поделиться12012-04-08 22:18:52

  • Автор: vitiv
  • Администратор
  • Откуда: Санкт-Петербург
  • Зарегистрирован : 2007-08-05
  • Приглашений: 0
  • Сообщений: 313
  • Уважение: [+0/-0]
  • Позитив: [+0/-0]
  • Пол: Мужской
  • Провел на форуме:
    5 дней 0 часов
  • Последний визит:
    2021-10-03 17:40:55

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

Считыватель- глючит (то читает, то нет), маленькая дальность.
Сначала проверем правильность подключения, при подключении по dallas touch memory часто забывают соединить DATA1 c землей (общим проводом). Для проводки желательно использовать витую пару. По возможности не используйте импульсные блоки питания. Если считыватель CPZ-2L(В) не реагирует на карты (хотя и не обязан, он заточен под работу с брелками), достаточно проложить миллиметровую прокладку (не металл) между дверью и считывателем и все заработает. Исправный считыватель должен реагировать на карту с раcтояния не менее минимального указанного в инструкции. Попробуйте отсоединить считыватель, подключите к нему только питание, если дальность не улучшилась, то он неисправен.

Источник

Контроллер не видит ключи.

Сообщений 1 страница 10 из 10

Поделиться12013-02-12 21:39:54

  • Автор: lexa74
  • Новичок
  • Зарегистрирован : 2013-02-12
  • Приглашений: 0
  • Сообщений: 2
  • Уважение: [+0/-0]
  • Позитив: [+0/-0]
  • Провел на форуме:
    1 час 3 минуты
  • Последний визит:
    2013-02-13 21:33:50

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

Поделиться22013-02-13 09:07:15

  • Автор: vitiv
  • Администратор
  • Откуда: Санкт-Петербург
  • Зарегистрирован : 2007-08-05
  • Приглашений: 0
  • Сообщений: 313
  • Уважение: [+0/-0]
  • Позитив: [+0/-0]
  • Пол: Мужской
  • Провел на форуме:
    5 дней 0 часов
  • Последний визит:
    2021-10-03 17:40:55

Какой контроллер? Какие считыватели (или вы так называете контакторы)? Если проблема с контроллером, то почему меняли считыватели (помогло)? То что сейчас не работает, оно когда нибудь работало? Если я все понял правильно, то очень похоже на наводки, хотя при таком небольшом расстоянии. Может не правильно подключаете витую пару?
подключение
Часто плохое считывание именно из-за импульсных блоков питания.

Поделиться32013-02-13 21:15:13

  • Автор: lexa74
  • Новичок
  • Зарегистрирован : 2013-02-12
  • Приглашений: 0
  • Сообщений: 2
  • Уважение: [+0/-0]
  • Позитив: [+0/-0]
  • Провел на форуме:
    1 час 3 минуты
  • Последний визит:
    2013-02-13 21:33:50

Контроллер Z5R ,считыватель железный,блок питания импульсный.Заменили блок питания,заменили провод (UTP-5),все проблемы пропали.

Поделиться42013-02-13 22:47:23

  • Автор: vitiv
  • Администратор
  • Откуда: Санкт-Петербург
  • Зарегистрирован : 2007-08-05
  • Приглашений: 0
  • Сообщений: 313
  • Уважение: [+0/-0]
  • Позитив: [+0/-0]
  • Пол: Мужской
  • Провел на форуме:
    5 дней 0 часов
  • Последний визит:
    2021-10-03 17:40:55

Поделиться52013-03-08 04:50:55

  • Автор: Den81
  • Новичок
  • Зарегистрирован : 2013-03-08
  • Приглашений: 0
  • Сообщений: 3
  • Уважение: [+0/-0]
  • Позитив: [+0/-0]
  • Провел на форуме:
    20 минут
  • Последний визит:
    2013-03-10 11:24:29

Доброго времени суток! У меня похожая проблема, на ту которая описана выше, считыватель не хочет считывать ключи, не получается ни мастер ключ записать в память, ни обычные ключи. При поднесении ключа к считывателю, вообще ничего не происходит. Думал сначала, что считыватель неработает, купили новый, ситуация без изменений, заменили провод на витую пару, результата ноль. Поскажите, в чем еще может быть проблема.
Установленное оборудование:
Контроллер — Z5R
Считыватель — CPZ-2L
Блок питания — СКАТ 1200А
Кабель между контроллером и считывателем — витая пара 1,5-2 метра.
Буду благодарен любой помощи!

Поделиться62013-03-08 21:38:13

  • Автор: vitiv
  • Администратор
  • Откуда: Санкт-Петербург
  • Зарегистрирован : 2007-08-05
  • Приглашений: 0
  • Сообщений: 313
  • Уважение: [+0/-0]
  • Позитив: [+0/-0]
  • Пол: Мужской
  • Провел на форуме:
    5 дней 0 часов
  • Последний визит:
    2021-10-03 17:40:55

Подключать нужно в режиме эмуляции. В этом случае с CPZ-2L есть стандартная ошибка, забывают посадить DATA0 на землю. Т.е. нужно синий и черный провод скрутить вместе и кинуть на GND. Что у вас за ключи? Брелки, карты? Это безконтактный считыватель для чтения брелков фомата Е-Марине. Считыватель при подносе брелка мигает светодиодом? Проверьте, не получиться, пишите, будем думать дальше.

Источник

Инсталляция, монтаж » Считыватели для ключей Touch Memory

Всем привет.
есть смонтированная ОС,ПС. на одной КДЛке (пожарные и охранные датчики на одной КДЛ).
все работает, пожарка, охранка, постановка снятие и тд и тп.
НО , часть охранных датчиков на первом этаже часть на цокольном, постановка 1го этажа проходит по прокси картам на первом этаже(тут все норм), а постановка цокольного этажа проходит с Touch Memory.
Так вот суть вопроса в том, как заставить считыватель индицировать постановку своей группы разделов на охрану. Первое касание (идентификация ключа) проходит с индикацией светодиод моргает пару раз, второе касание (уже постановка/снятие) без индикации И самое главное — при постановке соответствующего раздела светодиод не светится сигнализируя о том что объект под охраной.

считватель простой, без доп питания, 1 двухцветный светодиод, тут паспорт и сам ТМ на фото https://cloud.mail.ru/public/JjWd/uWbLZsVsR

4 года 11 месяцев назад

Коржученко Михаил Сергеевич

– Тремасов Константин Александрович 4 года 11 месяцев назад

– Коржученко Михаил Сергеевич 4 года 11 месяцев назад

– Тремасов Константин Александрович 4 года 11 месяцев назад

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

– Коржученко Михаил Сергеевич 4 года 11 месяцев назад

– Тремасов Константин Александрович 4 года 11 месяцев назад

совсем недавно имел дело со считывателями, подключал и настраивал впервые, поэтому много намучался и перепробовал кучу вариантов.
смотрите:
в uprog’е есть вкладка уровни доступа, в ней можно сделать следующие:
1. сделать чтобы и с карты и с ключа снималось абсолютно все (для этого необходимо выставить один уровень доступа для всех шс/извещателей, и потом на вкладке ключи каждому ключу задать уровень доступа, который был задан на вкладке «уровень доступа»)
получится следующие: у всех карт и ключей один уровень доступа, уровень доступа позволяет управлять всеми шс/извещателями. и при снятии с ключа/карты снимется все и на оборот.
2. можно сделать чтобы с карты снималось определенное количество шс/извещателей, а с тм другое
делается аналогично пункту 1, только:
для шс/извещателей которые должны сниматься с карты задать один уровень доступа, а для тех что с тм задать другой. далее во вкладке ключи задать тм один уровень доступа, а картам другой.

а теперь по подсветке.
что было у меня (может быть натолкнет на идею)
у меня тоже простой считыватель, пара проводов на шс и пара проводов на подсветку.
с шс то понятно D0 и GND
с подсветкой намучался. изначально подключил к U+ и LEDG, на объектах где ТМ не сильно удалена от КДЛ подсветка работала как надо (по умолчанию горела, при первом поднесении ключа начинала моргать, после второго загоралась)
как только я дошел до объекта, где тм удалена на 100+метров от КДЛ начались проблемы.
при поднесении ключа не происходило считывание и не менялась индикация ТМ.
Проверил питание на выходе D0 и GND прибора, было 2,3В, на удаленном ТМ было 2,1В вроде бы разница не большая. тк было прокинуто одной четверкой с сечением 0,5 я ради интереса прокинул еще четверку дабы увеличить сечение, толку это не дало..
в паспорте к кдл была схема на этот случай, просто сделать перемычки с РИП в клеммы КДЛ, отвечающие за подсветку. глупость, но попробовал. результата ноль.
итог, плюнул, посадил индикацию на 12 вольт и оставил как подсветку, при этом шс удален на 100+ метров и все работает)

– Иванов Иван Дмитриевич 4 года 11 месяцев назад

Источник

Нахлобучиваем домофонные ключи iButton с помощью Flipper Zero

Flipper Zero — проект карманного мультитула для хакеров в формфакторе тамагочи, который мы разрабатываем. Предыдущие посты [1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14]

iButton — это общее название для формата электронного ключа в форм-факторе металлической “таблетки”. Еще его называют Dallas Touch Memory. Часто его ошибочно называют “магнитным” ключом, но это неправильно, ничего магнитного в нем нет. Внутри iButton полноценный микрочип, работающий по цифровому протоколу.

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

Что такое iButton

Название iButton — это продукт фирмы Dallas Semiconductor, в 1991 году выпустившей на рынок ключ под торговой маркой Touch Memory, потом замененной на iButton.


Схематическое устройство ключа iButton: в центре корпуса контакт плюс, потом пластиковая изоляция, и внешняя часть корпуса это минус

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

Внутреннее устройство iButton: внутри металлической оболочки находится микрочип

Считыватель

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

Касание контактов iButton ключа с домофонным считывателем

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

Как устроен iButton во Flipper Zero

Разработка контактной площадки iButton во Flipper Zero — это огромная боль. Дело в том, что не существует готовых контактных площадок для одновременного чтения и эмуляции. Если бы мы просто взяли существующие модули, из флиппера бы торчала огромная металлическая кнопка, и рядом такая же огромная площадка для считывания. Это бы многократно увеличило размер устройства.

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


Прототипы конструкций контактной площадки iButton во Flipper Zero, которые мы печатали на 3D-принтере в процессе разработки

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

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

Финальная конструкция получилась компромиссной: 100% ключей считывается успешно, примерно 80% считывателей успешно работают с эмуляцией. В оставшихся 20% считывателей приходится корячиться, чтобы контакт достал до нужных стенок. Для этих редких случаев можно использовать внешние контакты GPIO, на которые выведены контакты ibutton: подключиться макетными проводами и ткнуть их в считыватель.

Режим считывателя

В режиме считывателя флиппер ожидает поднесения ключа, при этом готов прожевать сразу три типа ключей: Dallas, Cyfral, Metakom. Флиппер сам определит тип ключа при чтении. Название протокола ключа отобразится на экране над ID номером.

Чтение ключа ibutton формата Dallas. Прочитанный ключ сохраняется на SD-карту.

Для считывания ключа необходимо зайти в меню iButton —> Read и приложить читаемый ключ к контактной площадке. Считанный ключ можно сразу эмулировать, записать на болванку, либо сохранить на SD-карту. Хоть контактная площадка находится на задней стороне от экрана, можно быстро наловчиться читать ключи не разворачивая флиппер, просто на ощупь.

В режиме чтения iButton используются два правых контакта Flipper Zero

Режим эмуляции iButton

В режиме эмуляции ключа, Флиппер сам выступает ключом и программно эмулирует iButton из памяти. ID ключа для эмуляции во Flipper Zero можно добавить двумя способами:

  • Считать существующий ключ — сохранить ID ключа на SD-карту и выбирать нужный ключ в любой момент
  • Вручную ввести ID ключа — даже если в руках нет нужного ключа, но его ID известен, его можно ввести вручную. Так, например, можно сфотографировать ID ключа и отправить его другу с флиппером, без необходимости передавать физический ключ

Для запуска эмуляции ключа нужно зайти в меню iButton —> Saved, выбрать нужный ключ и запустить Emulate. На экране появится надпись с ID ключа, который эмулируется. После этого можно подносить Флиппер к считывателю. Важно помнить, что в этом режиме используются другие пины на контактной площадке Флиппера.

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

В режиме эмуляции ключа iButton Флиппер нужно подносить к домофону как ключ. При этом нужно убедиться, что оба контакта коснулись контактной площадки считывателя.

iButton через внешний GPIO

Контакт iButton на нижней крышке также выведен на гребенку GPIO. Это можно использовать для подключения к нестандартным считывателям, ключам, любым устройствам работающим по протоколу 1-Wire вроде датчиков. Мы используем эти контакты для анализа сигналов через осциллограф. При этом, этот контакт не совсем честный GPIO, потому что имеет подтяжку к 5V.


Контакты iButton соединены с гребенкой GPIO. Порт iButton работает в режиме open-drain и подтянут к напряжению 5 В через резистор 1 кОм.

Протокол 1-Wire


В протоколе 1-Wire всегда есть главное устройство Master и ведомые Slave

Ключи Dallas обмениваются данными по протоколу 1-wire. Всего один контакт на передачу данных(!!) в обе стороны, от мастера к слейву и наоборот. Протокол 1-wire работает по модели Master-Slave. В этой топологии устройство Master всегда инициирует общение, а Slave следует его указаниям.

При контакте ключа (Slave) с домофоном (Master) чип внутри ключа включается, получив питание от домофона и происходит инициализация ключа, после чего домофон запрашивает ID ключа. Далее мы разберем подробно этот процесс.

Флиппер умеет работать в режимах Master и Slave. В режиме чтения ключа Флиппер выступает в роли считывателя, то есть работает как Master. А в режиме эмуляции ключа, флиппер прикидывается ключом, то есть работает в режиме Slave.


При чтении ключа Флиппер выступает мастером, а при эмуляции с домофоном работает как slave

Формат данных в ключе Dallas

Домофон считывает из iButton 8 байт (64 бита) информации, чтобы решить, открывать дверь или нет.

Структура данных этих 8 байт следующая:

  • 1 байт — код семейства (Family Code), для iButton он всегда равен 0x01
  • 6 байт — серийный номер ключа
  • 1 байт — контрольная сумма СRC

Код семейства у ключей Dallas всегда 0x01. Если у вас этот код отличается, то скорее всего, это не ключ от домофона.

Серийный номер в некоторых случаях выгравирован на ключе, но может:

  • Не содержать все 8 байт
  • Иметь последовательность символов задом-наперед
  • Иметь начало в непонятном месте


На оригинальном ключе iButton выгравирован ID, но его формат записи немного отличается от представления во Флиппере: сперва идет family code, потом инвертированный серийный номер, потом контрольная сумма

На картинке выше показан неочевидный пример гравировки ID на оригинальном ключе iButton. В нем читать байты нужно справа налево, контрольная сумма написана слева, а family code справа.

Ошибки чтения

При некорректном чтении ключа Flipper Zero сообщает об ошибках. Возможные ошибки:

  • Некорректная контрольная сумма — ошибка в CRC
  • Неправильный код семейства — когда family code отличается от 0x01, Флиппер ругается что это не ключ iButton.


Возможные ошибки при чтении ключей Dallas: неправильный байт CRC — CRC ERROR; байт Family-code не равен 0x01 — THIS IS NOT A KEY.

Ввод ID вручную

Если ID ключа известен, его можно ввести во Флиппер вручную. Это удобно когда самого физического ключа нет, например можно передать нужные байты просто в чате или скинув другу фото. На видео показан пример создания нового ключа Cyfral из 2 байт. Новый сгенерированный ключ сохраняется на SD-карту.

Создание нового ключа с помощью ручного ввода айдишника

При создании ключа нужно выбрать его тип: Dallas, Cyfral или Metakom. От этого будет зависеть длина ID и протокол, используемый при эмуляции. После ввода ID Флиппер предложит ввести имя нового ключа, либо использовать сгенерированное.

Запись ключей 1-Wire Dallas

Существуют ключи Dallas, которые можно записать и которые нельзя. Популярные перезаписываемые iButton болванки: RW1990, TM2004, TM01C. Процесс записи имеет свои нюансы, разберем их.

Запись болванки может требовать повышенного напряжения — например, для записи менее популярной RW2000 требуется напряжение 8 В (правда это Cyfral, но смысл понятен).

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

Существуют болванки, которые могут подходить ко всем типам ключей: Dallas/Cyfral/Metakom. Флиппер умеет записывать основные популярные болванки.

Запись ключа Dallas на болванку RW1990 с помощью Flipper Zero

Чтобы записать ключ на болванку, нужно выбрать желаемый ключ из меню iButton —> Saved —> Имя_ключа и выбрать пункт Write. Далее прислонить перезаписываемый ключ к контактной площадке. После записи на болванку, флиппер проверяет корректность записи и показывает сообщение об успешной записи ID.

Русские народные ключи Cyfral, Metakom

Протоколы Metakom и Cyfral — отечественные разработки, распространенные только в СНГ. В отличие от ключей Dallas, они работают не по напряжению, а по току. Это менее распространенные и более дорогие ключи. Они очень чувствительны к параметрам ключа (частота, сила тока, амплитуда сигнала и пр.), из-за чего изготовление дубликатов бывает капризным процессом.

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

Cyfral

Логические уровни в Cyfral, так же как и в Dallas имеют временные ограничения: если сопротивление остается низким около 50 мкс — это логический “0”, если 100 мкс — это логическая “1”.

Формат передаваемых данных специфичен.

Cyfral циклично отправляет 9 нибблов (1 ниббл = 4 бита): 1 стартовый и 8 ID. Ниббл может иметь всего 4 значения для ID и одно значение для стартового слова. Все остальные записи — некошерные.


В итоге ID записывается в 2 байта (Всего 8 нибблов ID. 4 ниббла = 16 состояний = 1 байт информации).

Бывает, что домофоны Cyfral занимаются проверкой ключа, подавая некорректные данные.
У Cyfral нет никаких контрольных сумм. Хочешь убедиться в целостности ID — прочитай ключ еще раз, а хочешь пять. Так как сигнал аналоговый, то чтение сигнала требует наличия АЦП или компаратора. Проще всего использовать компаратор, выход которого является низким или высоким уровнем напряжения.

С эмулированием ключа на практике проблем не возникает. Замыкания на землю (отсутствия сопротивления) вполне достаточно, чтобы ключ выдал логический «0».

Metakom

Ключ Metakom посылает 4 байта, где каждый байт заканчивается битом четности.
Metakom имеет 3 примитива передачи:

Структура посылки выглядит так:

  • Синхронизирующий бит
  • 4 байта информации, где каждый байт содержит:
    • 1 бит четности
    • 7 бит данных

На практике, эти домофоны в 99% случаев открываются с помощью универсального ключа, который легко гуглится.

Смотрим на 1-Wire через осциллограф

Захват сигнала осциллографом в момент чтения ключа Dallas

Линия передачи устроена по принципу «монтажного И» и может иметь одно из двух состояний: логический “0” и логическая “1”.
Устройства (ключи и домофон) имеют внутренние транзисторы, которые в нужное время подтягивают линию к нулю. Вся линия передачи переходит в состояние логического “0”, если любое из устройств перевело ее в нуль, т.е. если домофон перетянул линию в нуль — ключ об этом узнает, и наоборот.

С помощью перетяжек напряжения и удержания уровней 1-wire имеет 4 примитива для работы на шине:

  • импульс сброса (RESET)
  • импульс присутствия (PRESENCE)
  • отправка бита 0
  • отправка бита 1 и она же по совместительству чтение бита


Чтение ключа Dallas на Flipper. Состоит из команд Search ROM и Read ROM. Каждая команда имеет Reset sequence.

Чтение ключа на Flipper Zero устроено так: командой поиска проверяется наличие ключа, а затем происходит чтение ID. Это сделано, чтобы избежать случайных совпадений с другими ключами Cyfral/Metakom, тайминги которых могут случайно совпасть с требуемыми.

На осциллограмме виден длинный сигнал из 2 команд, где каждая состоит из:

  • Инициализации команды:
    • Импульс сброса
    • Импульс присутствия

  • Передачи команды для Slave
  • Ответа Slave на принятую команду

Разберем более детально каждый из пунктов.


Reset sequence — инициализация команды. Состоит из Импульса Сброса и Импульса Присутствия. Импульс Сброса — уровень опускает Master. Импульс Присутствия — уровень опускает Slave.

Инициализация (reset sequence) состоит из двух импульсов:

  1. Импульс Сброса (Reset pulse)
  2. Импульса Присутствия (Presence pulse)

Для Импульса Сброса — линию к земле подтягивает Master (домофон).
Для Импульса Присутствия — линию к земле подтягивает Slave (ключ).

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


Команда чтения ID с ответом. Тайм-слот бита информации состоит из 2 участков: синхронизации и значения бита. В КОМАНДАХ за уровни напряжения на обоих участках отвечает Master. В ОТВЕТЕ на команду чтения за синхронизацию отвечает Master, за значение бита отвечает Slave.

После инициализации команды происходит обмен информацией:

  • отправка команды для Slave
  • ответ Slave на команду

Обмен информацией ведется тайм-слотами: один тайм-слот для обмена одним битом информации. Данные передаются бит за битом, начиная с младшего бита младшего байта.
Синхронизация Master и Slave происходит в одно действие: Master (домофон) подтягивает линию к низкому уровню. Далее через конкретное время, Master или Slave измеряет напряжение на линии и записывает бит информации (Master — при чтении ключа, Slave — при записи ключа). Правила выдержки временных интервалов для команд чтения и записи одинаковы. Каждый тайм-слот синхронизируется независимо, поэтому передача информации может приостанавливаться, не вызывая ошибок.

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

Стандартные команды 1-wire ключей Dallas

Для iButton характерны команды размером 1 байт (8 бит).
Зачастую домофон использует команды поиска и чтения ID (Search ROM и Read ROM).

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

Стандартные команды iButton для Regular режима следующие:

Бонус про домофонные ключи

Почему старые домофоны это плохо?

Некоторые старинные домофоны с ключами Dallas имеют в памяти базу ID ключей, заполненную не полностью. Незаполненные поля имеют некоторое значение, иногда соответствующее всем нулям (0x00) или всем единицам (0xFF). Для проверки домофона на дремучесть создаются два ключа: один со всеми нулями, другой со всеми единицами.
Эти ключи содержат неправильный код семейства (не 0x01) и неправильный CRC (вообще не контрольная сумма). — Да, бывают и такие исключения.

Как почтальоны разносят по подъездам рекламу?

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

Что такое мастер ключ?

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

Играясь заблокировали домофон?

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

Какие болванки нам известны

В ходе работы с iButton мы зафиксировали некоторые известные нам “болванки” ключей. Вот они, на здоровье!

Источник

Оцените статью