Работа с iButton

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
Ответить
igrik.mariupol
Сообщения: 1
Зарегистрирован: 10 окт 2015, 00:21

Работа с iButton

Сообщение igrik.mariupol » 10 окт 2015, 00:25

Уважаемые разработчики, возник интерес попробовать использовать данное устройство в качестве устройства авторизации. Подскажите, пожалуйста возможно ли передать код считанного ключа iButton на сервер? Если возможно то каким образом реализовать это в прошивке? В программировании к сожалению не силен.
Заранее благодарен.

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Работа с iButton

Сообщение Andrey_B » 10 окт 2015, 00:46

Если под "устройством" понимается MegaD-328, например, с исполнительным модулем MegaD-14-IN, то это именно то, что оно делает - передает код считанного ключа на сервер.

Evgeny_nd
Сообщения: 136
Зарегистрирован: 07 ноя 2015, 06:59
Откуда: г. Красноярск

Re: Работа с iButton

Сообщение Evgeny_nd » 17 июл 2018, 15:08

По поводу работы iButton. У меня стоял контроллер Quest и считыватель Matrix II EH.
Длина провода (витая пара) со всеми загибами, около 20 метров. В описанной связке все работало стабильно и достаточно длительное время.
Сейчас заменил контроллер на Мега 2561, и по протоколу iButton карты перестали считываться, факт считывания происходит, но код карты считывается с ошибками (каждый раз разнный). Если длину провода уменьшить, то карты считываются отлично.
На этом же проводе по протоколу Wiegand W26, карты считываются (в связке Мега и Матрикс).
Может ли быть такое что алгоритм обработки ошибок у меги не совсем корректный?

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Работа с iButton

Сообщение Andrey_B » 17 июл 2018, 21:08

Алгоритм обработки ошибок тут не при чем. Дело в другом.
Чтобы обеспечить максимальную гибкость и универсальность, на "цифровых" портах установлена пассивная подтяжка в виде резистора 4.7кОм. Этот номинал выбран не с потолка - таковы рекомендации производителей.
К сожалению пассивная подтяжка не может обеспечить стабильную работу цифровой шины во всех ситуациях. Так, для 1-wire подтяжка 4.7кОм нормально работает на длинах до 15-20 метров.
Если расстояние больше, необходимо уменьшить номинал подтяжка. Самый простой вариант - установить внешний подтягивающий резистор примерно такого же номинала. Тогда все будет работать стабильно.
Конечно, это не очень удобно и технологично. Многие пользователи сталкивались с подобными ситуациями. Поэтому в новом модуле MegaD-14-IOR, который заменит прежний MegaD-14-IN, на каждый порт был установлен специальный подстроечный резистор для регулировки номинала подтяжки. Теперь, если шина на большом расстоянии работает нестабильно, достаточно взять отвертку и подрегулировать величину подтяжки.

Evgeny_nd
Сообщения: 136
Зарегистрирован: 07 ноя 2015, 06:59
Откуда: г. Красноярск

Re: Работа с iButton

Сообщение Evgeny_nd » 18 июл 2018, 04:18

Андрей, я правильно понимаю, что нужно взять резистор 4.7 кОм и подключить его между левой и правой клеммами порта 14-IN либо Мега 2561 (XT2) к которому подключен iButton?
И попутно пару вопросов, а в самом контроллере 2561 на колодке внизу, такая же обвязка портов? Я подключал iButton на эти порты, работает также с ошибками, а W26 там заработал (и есть рекомендации подключать на эти порты в т.ч.). И может ли теоретически помочь замена контроллера Matrix, на обычный врезной (как рассматривался в статье на сайте), ну например он более "мощный" или алгоритм отправки другой?

alexsis_76

Re: Работа с iButton

Сообщение alexsis_76 » 18 июл 2018, 05:36

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

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Работа с iButton

Сообщение Andrey_B » 18 июл 2018, 09:48

Evgeny_nd писал(а):
18 июл 2018, 04:18
Андрей, я правильно понимаю, что нужно взять резистор 4.7 кОм и подключить его между левой и правой клеммами порта 14-IN либо Мега 2561 (XT2) к которому подключен iButton?
И попутно пару вопросов, а в самом контроллере 2561 на колодке внизу, такая же обвязка портов? Я подключал iButton на эти порты, работает также с ошибками, а W26 там заработал (и есть рекомендации подключать на эти порты в т.ч.). И может ли теоретически помочь замена контроллера Matrix, на обычный врезной (как рассматривался в статье на сайте), ну например он более "мощный" или алгоритм отправки другой?
Дополнительный резистор подтяжки подключается между клеммой порта и питанием +3.3В.
Для двух одинаковых резисторов общее сопротивление будет равно половине одного резистора. 4.7кОм / 2 = 2.35кОм. Вполне нормально для линии 20 метров.
Обвязка портов клеммы XT2 контроллера точно такая же - пассивная подтяжка 4.7кОм.
Wiegand в силу особенностей работы более дальнобойный интерфейс. Но занимает два порта, а не один, и крайне желательно подключать считыватель к портам с функцией прерывания.
Если не хочется навешивать дополнительный резистор, можно использовать Wiegand. Очень многие считыватели умеют работать как с iButton, так и с Wiegand. Вопрос только подключения.
Теоретически считыватели не могут быть более мощными или менее мощными. Алгоритм вроде бы тоже должен быть стандартным, но по части iButton могут быть исключения, так как считыватель лишь эмулирует DS1990A, не являясь им. А потому все зависит от конкретной программной реализации протокола в считывателе. С этой точки зрения замена считывателя может на что-то повлиять, но я не тестировал, какие считыватели работают лучше или хуже. В вашем же случае есть очевидная причина - длина линии.
alexsis_76 писал(а):
18 июл 2018, 05:36
на выходе у вас не должно быть ошибочных данных,они отсекаются при проверке crc,видимо здесь его нет,если это так то это серьезный недостаток.
Контроль CRC8 при работе со считывателями iB в контроллере MegaD-2561 есть.

Evgeny_nd
Сообщения: 136
Зарегистрирован: 07 ноя 2015, 06:59
Откуда: г. Красноярск

Re: Работа с iButton

Сообщение Evgeny_nd » 18 июл 2018, 12:30

Спасибо, для начала "воткну" резистор 4.7 кОм, это и есть и недолго. Отпишу по результату.

Evgeny_nd
Сообщения: 136
Зарегистрирован: 07 ноя 2015, 06:59
Откуда: г. Красноярск

Re: Работа с iButton

Сообщение Evgeny_nd » 20 июл 2018, 08:34

У меня все заработало, правда с резистором 470 Ом.

Ответить