Jump to content

    

Как сделать копию электронного ключа i-Button

вот эту хрень собрал. вааабще не пашет. домофон вапще никак не реагирует. У когонить это получалось?

Скорее всего питания не хватает!!! Запитай от внешнего, например от двух пальчиковых!!!

Я б чесно говоря поставил бы отдельно для питания литиевую батарейку!! Например CR2032. Ихмо

надежнее было бы!!!

Share this post


Link to post
Share on other sites
Ради хохмы - таблетка от домофона типа i-Button, на корпусе всего три цифры. В обе стороны звонится 200 Ом. Решили попробовать открыть дверь просто соответствующим резистором - получилось !!!

 

неправильный какой то буттон, на 1990 больше цифр

 

Обычно на таблетке что-то в таком стиле (48-битный код+КС (B9)+тип устройства (01))

B9 01

00000E3CB909

Share this post


Link to post
Share on other sites

а вот в том имитаторе надо вочдог включать? Просто в прошивке которая на сайте он включен, а мне чото кажеца что не нада его включать

Share this post


Link to post
Share on other sites

Возможно проблемы несовместимости с устройством считывания. Мы использовали две разные модели (на СОМ), из них нормально работала только одна (различались внутренней схемой, кнопки фирменные)

Share this post


Link to post
Share on other sites
вот эту хрень собрал. вааабще не пашет. домофон вапще никак не реагирует. У когонить это получалось?

Аналогично не работает. Собрал на 12C509. Причем когда тестирую на самодельном считывателе, то вижу что она отдает правильный код. Напруги должно хватать - поставил диод Шоттки. У меня такое подозрение что в некоторых считывателях специально ограниченны диапазоны времянок, чтобы обрубить иммитаторы.

Share this post


Link to post
Share on other sites

Кажется разобрался... Автор проги плохо пдфки изучал. Вот как у него реализовано ядро выдачи 8 байт номера "батона":

ask0
    btfsc GPIO,0
    goto ask0
;call rot
    rrf INDF,1
    btfss STATUS,C
    goto cout0
    goto cout1
cout0    call out0
    goto endout
cout1    call out1
endout
...
out0    bcf GPIO, 0    ;выдать 0 = 30мкс
    movlw 0xfe
    tris 6        ;portb0=0, output
...

написано ужас как коряво. Но дело не в этом. Иммитатор делает непонятные goto/call и не успевает сформировать 0 до момента считывания - и многие ридеры читают "1" вместо "0". По докам на DS1990A Tmsr=15uS и реально все "таблетки" формируют "0" еще в период формирования нуля мастером, а здесь "0" формируется через 12-14 циклов (мкс) после начала мастером таймслота. Плюс еще задержки на шине. А в реальных ридерах чьи прошивки я смотрел зачастую проверка шины происходит через 12-15 uS. Отсюда и ложное чтение "1".

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

Share this post


Link to post
Share on other sites

А Вы не могли бы поделиться вашей правильной прошивкой.

Я в программирование не силён. Буду очень благодарен!!!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this