Клонирование брелков an-motors at-4

AN-MOTORS делает чуть более чем полностью низкопробные шлагбаумы, имеющие еще более низкопробные брелки AT-4. Шлагбаумы AN-MOTORS обладают уникальным алгоритмом, который они гордо называют динамическим. Сегодня мы научимся их открывать с помощью приемника-передатчика за 33 рубля.

AN-MOTORS AT-4 выглядит так:

at-4

1) Для начала найдем где-нибудь такие приемник и передатчик:

rt

Продаются почти везде, где продается ардуино, в Китае например на aliexpress или ebay, в России есть в каждом втором магазине.

2) Также нам понадобится ардуина. У меня Arduino Pro Micro — мелкая и с USB. А вообще подойдет любая.

3) Собираем все вместе:

scheme_an

Вот и вся аппаратная часть.

Немного теории о динамическом алгоритме AN MOTORS AT-4

В теорию можно не вникать и промотать сразу на скетч ардуино)) Хотя вникать-то особо не во что..)

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

anmotors_proto

Похож на keeloq. Этот keeloq хрен взломаешь напрямую. Преобразуем эту цифро-аналоговую ересь в буквы. Нажимаем 4 раза на кнопку открыть и наш чудо-брелок AT-4 выдаст такое в эфир:

at-4-an-motors-algoritm

Выясняется, что нифига не keeloq. AT-4 фигачит рандомные числа вместо шифрованной части. То есть это просто статический код с рандомными битами посередине. Прикольное решение =) А если это статический код, можно смело отправлять эти же числа в эфир, и все будет весело открываться и закрываться.

Попробуем сделать передатчик по схеме выше. Можно не заморачиваться с печатной платой, ведь AN-MOTORS не заморачивались с шифрованием 🙂 Собираем так:

an3

 

Аппаратная часть готова, приступаем к софту.

Программа для перехвата и отправки обратно кода AN MOTORS AT-4

Скетч для ардуино выглядит так:

Более продвинутая версия

Mr.4 сделал более продвинутую версию кода — открывает сразу три шлагбаума! Возможности:

  • Перехватывает шлагбаумы CAME, NICE, AM MOTORS
  • Индикация: Питание, Глушилка, Пойманный код, Отправка
  • Две кнопки: Глушилка и Отправка кодов/Выкл глушилки
  • Отображение сканера в терминале
  • Запоминает последний пойманный код в ОЗУ (после выключения стирается)

Для сборки понадобятся такие штуковины:

ask_palko

Заказать можно например тут https://www.aliexpress.com/item/433MHz-100-Meters-Wireless-Module-Kit-ASK-Transmitter-STX882-ASK-Receiver-SRX882-2Pcs-Copper-Spring-Antenna/32637181317.html

Сам скетч и дополнительная информация тут: Палкаподнималка 2.0

 

UPD: Если скетчи не компилируются, обновите Arduino IDE

← Previous post

Next post →

80 Comments

  1. ильшат

    Круто. Спасибо

  2. ильшат

    Доброго времени суток. Первый вопрос: Раз в последовательности есть значящие биты и мусор, можно ли присылать всегда статический код вместо рандомной части? Второй вопрос: если все таки рандомная часть обязательна, то через какое количество комбинаций она может повторяться? Третий вопрос: если на две кнопки китайского брелока записать два статических кода у которых мусорная часть будет отличаться, чередуя нажатия на кнопки можно будет имитировать этот протокол, ведь получится, что рандомная часть меняется? Четвертый вопрос: есть в наличие китайский брелок, можно ли в нее впихнуть эту разработку, если создать свою печатную плату? Спасибо за ответы

    • admin

      здравствуйте!

      1) можно
      2) как хотите, у меня всегда работало, можно слать одно и то же, можно через раз, там ребята из анмоторс реально не заморачивались, открывается всегда
      3) можно на 2 кнопки, но можно и на одну с одним статическим кодом))
      4) пришлите фотку брелка, наверняка можно куда-нить там подпаять ардуину. Но проще купить передатчик, он рублей 30 стоит

      • ильшат

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

        • admin

          Да, думаю сработает

          • ильшат

            Тот брелок, что на фото стоил мне 150 рублей на алиэкспресс. Не сталкивались с ним? Рассчитан на 433 мгу, но с оригинального брелока анмоторс ат_4 последовательность не записывает.

      • Максим

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

        • admin

          Здравствуйте. Сначала настраиваем прерывание на изменение входного сигнала с применика. grab вызывается как только произошло изменение 0 > 1 или 1 > 0.
          state = digitalRead(rxPin);
          if (state == HIGH)
          lolen = micros() - prevtime;
          else
          hilen = micros() - prevtime;
          prevtime = micros();

          Так мы считаем длительность пары импульсов — длинного и короткого. На выходе две переменных — lolen, hilen

          И дальше мы просто проверяем эту парочку на соответствие длительностям, которые должен выдавать брелок. если подходит и это либо 1 либо 0. если lolen примерно длинее в два раза чем hilen, то есть hilen где то 413 мкс, а lolen примерно 826, то это значит мы поймали бит 0. если наоборот, то 1.

          Вот эти биты мы записываем и считаем. Если подряд поймали 65 бит, то это точно нужный нам код — выводим его. А если встретились невалидные импульсы — обнуляем считанные биты, счетчик битов (bcounter) и начинаем заново. Ну примерно так

  3. GromOFF

    Спасибо за статью!
    Разбил скетч на две части (грабер и сам передатчик)
    Работает на ArduinoUNO
    Если кому интересно, могу поделится…

    • ильшат

      Можно взглянуть

    • Булат

      Скинете скетч пожалуйста, интересно. Bulny1312@mail.ru

    • Евгений

      подскажите в как вы граб используете терминал ардуинке на компе?

    • Юрий

      Здравствуйте . Можно взглянуть на ваш скейч ?
      promaster85@mail.ru

    • Александр

      Gromoff скинте мне пожалуйста тоже на buzin3000@gmail.com а то разобраться не могу как разделить их нормально.

    • Айдын

      Здравствуй скинь пожалуйста скеч w1989@mail.ru заранее спасибо…

    • Айдын

      Здравствуйте можете скинуть скеч? Заранее буду благодарен

  4. Ready

    To GromOFF:
    Если можно взглянуть на скетч для Uno — плз на ready63@mail.ru

  5. Павел

    Ребят, поделитесь скетчем ursul1186@gmail.com

    • Mr.4

      Если разобраться, то можно сделать 3 в 1 (для AN MOTORS, CAME, NICE) Сканер\Отправка + Глушилка + Брутилка (перебор).
      Пока с питание не могу придумать, а так всё работает.

      • admin

        Было б здорово если бы вы сделали и выложили скетч и схему!

      • alex

        Mr.4 ! Подскажите пожалуйста , кнопки глушилка и отправка подключаются к Pin 7,8 а вторые концы кнопок на Gnd ?

  6. Stress

    Не ясен алгоритм действий.
    Девайс слушает эфир и сам повторяет услышанное?

  7. Дмитрий

    Да, я бы тоже взглянул на скетч

  8. Mr.4

    Для девайса рекомендую, передатчик STX882 и приёмник SRX882. Работают просто охрененно.
    http://ru.aliexpress.com/item/433MHz-100-Meters-Wireless-Module-Kit-ASK-Transmitter-STX882-ASK-Receiver-SRX882-2Pcs-Copper-Spring-Antenna/32637181317.html

  9. Денис

    Кому интересно. Я скопировал с данного брелка код на другой на одну кнопку. гараж открывался один раз потом больше не работал пока их кто нибудь еще раз не откроет. скопировал заного на новый брелок два нажатия каждый на свою кнопку. И теперь гараж открывается либо 1ой либо 2ой кнопкой

  10. николай

    нет перехвата, посылки идут а перехвата нет

  11. николай

    всё, разобрался, не поменял параметр с 1 на 0, он же разный для плат, перехватывает и открывает на ура!!!! Спасибо автору!!!
    Теперь вот задача как сделать отправку через кнопку подключенную к ардуино

    • Евгений

      подскажите где вы эти команды вводите? я понимаю на терминале на компе?

  12. dreamwait

    повторил — чет нет приема 🙂
    прерывание правильное — залил в то же устройство код для САМЕ — все ок принимает.
    Отличие — приемопередатчик у меня совмещенный, на форуме есть схема и скетч для САМЕ — похоже даже автор тот же. Там все работает — значит устройство (железо) живое. Почему здесь не идет — не могу понять никак…

    • Jenik

      Привет!
      Можешь на почту скинуть код для CAME? Jenik_Sh@mail.ru
      Заранее спасибо.

    • dreamwait

      Все вышенаписанное мной неправда 🙂
      Все работает просто супер! Косяк был простой — брелки были только у очень маленького количества автовладельцев, остальные использовали план «Б» — звонили по мобильнику на номер, там проверялся номер звонившего на валидность — и открывался шлаг… тупо по проводам (есть такая возможность!). А я увидел — машинки катаются, шлаг открывается — а у меня приема нет! Значит автор накосячил 🙂 Когда разобрался — все заработало как часы… Добавил к исходному проекту дисплей Нокии 5110 и аккумулятор с 2 преобразователями — для зарядки и повышающий на 5 вольт — а то с ноутом сильно палевно было «грабить» . Все честно награбленное записал в attiny13 и запихнул в корпус от левого китайского брелка (выкинув его МК). Исходники брелка и фотки https://yadi.sk/d/yYyrZADnwTycs

      ну и на фрикерклубе есть. Автору огромное спасибо!

      • Solo59

        еще не могу переварить всего,что написал )) но постепенно втягиваюсь в тему )

  13. Mr.4

    Админ, могу выложить код, для 3х шлагбаумов с индикацией + глушилка. Как это сделать?

  14. dreamwait

    Тои синий подойдет.лько заметил — брелок-донор точно как у Ильшата — в начале фотки выложены…Их 2 модификации — с синим светодиодом (внутри 8 ногий МК, отлично копируют статику) и с красным (внутри 14 ногий МК и память 24с02, х.з. какой протокол — ничего не копируют — но стоят копейки). Как донор удобнее с красным — и места больше и дешевле.

  15. Mr.4

    Уважаемый админ, дошло ли до вас моё пись с кодом?

    • admin

      Да, добавил в статью! Спасибо!

  16. Александр

    Люди поделитесь отдельным скетчем на прием. buzin3000@gmail.com

  17. Solo59

    Добрый день, ребята. Наконец-то нашел именно то что искал! все очень доступно описано и показано.
    заказал детальки, жду пока придут, а пока буду вникать во все это дело….как именно программируется.
    а то шлакбаумами обложили везде, ужас.
    уверен, что у меня назреет несколько вопросов, можно задать их ? а то в этом деле не силен, совсем новичок (даже не любитель).

    • admin

      Добрый день, спрашивайте конечно 🙂

      • Solo59

        Admin, если я правильно понял, то мне еще плюс ко всему прочему потребуется сам программатор-микросхемка с помощью которой и заливается через прогу скетчи на адруино ?…. спасибо.

  18. Электрик

    Все работает, первый опыт у меня и сразу удачно) Правда пришлось не много повозиться, скопировал кусок перехваченного кода и вставил в скетч, все отлично заработало, думал сначала, что работает только с ноутом, подал питание с обычной зарядки для телефона и все отлично отработало, открылось и закрылось. С корпусом решил не париться, установлю в машину под панель куда нибудь и кину на кнопку питание +5 вольт… Автору огромное спасибо за труды и экономию наших кровных) пульт ориг стоит 1250р а ардуина и иже с ней 200р) еще раз спасибо)

    • Solo59

      Электрик, привет. а ты ардуино использовал как кодграббер или как алгоритмический вскрыватель, ну т.е. ждал пока он последовательно прерберет коды и откроет шлакбаум? и сколько по времени ждал ? спасибо.

      • Электрик

        Привет. Использовал как кодграббер, когда местные, ворота открывали приемник поймал пакеты. И отобразил в мониторе порта, я только скопировал их и вставил в скетч, заново его перезалил и Оп, все работает . Я только учусь, но вся логика понятна интуитивно, что бы НЕ заработало надо еще постараться…

        • Solo59

          я вот тоже начал только вникать ) значит у меня тоже должно получиться )
          вот жду детальки с китая. большое спасибо за ответ )

  19. pavel

    ошибка скетч не компилируется

    Arduino: 1.6.12 (Windows 8.1), Плата:"Arduino Nano, ATmega328"
    Изменены опции сборки, пересобираем все
    C:\Users\p\Documents\Arduino\libraries\palkapodnimalka\palkapodnimalka.ino: In function 'void setup()':
    palkapodnimalka:65: error: 'grab' was not declared in this scope
    C:\Users\p\Documents\Arduino\libraries\palkapodnimalka\palkapodnimalka.ino: In function 'void loop()':
    palkapodnimalka:88: error: 'anmcode' was not declared in this scope
    palkapodnimalka:89: error: 'ccode' was not declared in this scope
    palkapodnimalka:90: error: 'ncode' was not declared in this scope
    C:\Users\p\Documents\Arduino\libraries\palkapodnimalka\palkapodnimalka.ino: In function 'void anmcode()':
    palkapodnimalka:112: error: 'SendANMotors' was not declared in this scope
    C:\Users\p\Documents\Arduino\libraries\palkapodnimalka\palkapodnimalka.ino: In function 'void ccode()':
    palkapodnimalka:125: error: 'SendCame' was not declared in this scope
    C:\Users\p\Documents\Arduino\libraries\palkapodnimalka\palkapodnimalka.ino: In function 'void ncode()':
    palkapodnimalka:136: error: 'SendNice' was not declared in this scope
    C:\Users\p\Documents\Arduino\libraries\palkapodnimalka\palkapodnimalka.ino: In function 'void SendANMotors(long int, long int)':
    palkapodnimalka:159: error: 'SendBit' was not declared in this scope
    palkapodnimalka:163: error: 'SendBit' was not declared in this scope
    palkapodnimalka:166: error: 'SendBit' was not declared in this scope
    exit status 1
    'grab' was not declared in this scope

  20. pain

    вопрос по более продвинутой версии, нечего не видно в терминале? пробую брелком came, но терминал что то принимает так как строка сдвигается, схема рабочая, с другим скетчем брелок видит.

  21. pain

    сам себе отвечу, не та скорость порта стояла у меня.

  22. Mts3872

    Добрый день обновил до версии 1.6.12 но такиеже ошибки как писали выше, помогите пожалуста решить проблему

    • admin

      все же проверьте все еще раз, у меня нормально компилируется. Никаких дополнительных файлов скетчу не требуется. Если честно не знаю в чем может быть проблема. Можете сделать следующее: переместить папку со скетчем в другое место, удалить все файлы из временных каталогов C:\windows\temp и C:\Users\имя_пользователя\AppData\Local\Temp если это не поможет удалить и затем заново установить ардуино. Возможно у вас стоит две версии и они как то конфликтуют. Короче сделать все еще раз, все должно получится.

      • Mts3872

        Вы про палкуподнималку ? Я про неё имею виду попробую щас удалить все и поставить занаво

      • Mts3872

        Не помогло с палкойподнималкой так и ругается (( а ардуино ж для проверки не должен быть подключён помоги плиз очень нужно

  23. макс

    закинул скейтч в корень диска с заработал.

    щас разбираюсь с первым скейчем как включить сканирование а то посылает он код что изночально зашился при прошивке

  24. alex

    Доброго времени суток!
    Вопрос про палкуподнималку 2.0 ,данный скетч работает только со статическими кодами? с динамическим кодом будет работать?
    интересует nice с динамическим кодом.

  25. Alex

    приветствую участников!
    вопрос про палкуподнималку 2.0 -с динамическим кодом nice будет работать?

    • Mr.4

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

  26. Ильдар

    Добрый день. Как я понял то что в коде написано «// отправляем 12 начальных импульсов 0-1» тоже нужно вписывать? или это как цитаты для ознакомления?

    • admin

      Да, эт просто комментарий что делает программа чтобы потом вспомнить что я накодил тут. Или чтобы вам понятнее было что происходит)))

      • Ильдар

        Спасибо =)
        Процедуру ловли и приема с ноута проводить?
        И каждую строчку кода по отдельности вводить?
        (До этого на ардуин код для подсветки ТВ делал, там разом код грузил)

        • admin

          вы можете просто раскомментировать тот код, который вам нужен, и прошить все разом

          • Ильдар

            Хорошо, спасибо. Пока жду приемник-передатчик из китая)

        • alex

          Процедуру приема можно проводить через свой смартфон , для этого нужно добавить в схему блютуз модуль

  27. Несказучеус

    Друзья, а вот теперь совсем вопрос от чайника))) Хотя паять и программировать умею.

    Кто может рассказать:
    1. Какой брелок необходимо приобрести, какие распиновки понадабятся
    2. Какие еще радиоэлементы будут необходимы?
    3. Что необходимо сделать чтобы сделать штатную ломалку без использования нотебука, нажал на брелке, всё считалось, записал в ячейку. Потом проверил всё автономно.

    Буду рад консультациям, напишите на sympotyaga@yandex.ru
    Готов даже немного финансово поделиться, просто как и всех задолбали эти шлагбаумы, бесят!

  28. alex

    Mr.4 !
    Подскажите пожалуйста , кнопки глушилка и отправка подключаются к Pin 7,8 а вторые концы кнопок на Gnd ?

    • alex

      Все разобрался ,кнопки подключил к +5V и резистор 10 кОм, только после этого заработало как надо

  29. Ильдар

    Добрый день. Наконец получил приемник и передатчик (новые модели, что в описании). Но столкнулся с проблемой подключения, Arduino Nano не имеет некоторые контакты. Помогите с подключением. Куда вставлять VCC, DATA (из приемника и передатчика). Заранее большое человеческое спасибо Вам.

    • Ильдар

      Кто понимает все это, помогите пожалуйста. Я думаю с изменением некоторых контактов, поменяется и код программы.

    • alex

      VCC можно подключить на пин VIN или пин 5V , DATA подключаются исходя из скетча который будете использовать, в более продвинутой версии DATA приемника подключается на на пин D2 , DATA передатчика на пин D3

      • Ильдар

        Спасибо добрый человек.

  30. iiiam

    есть у кого отдельные скетчи на приём и передачу поделитесь пожалуйста
    iiiam@ya.ru

  31. Ильдар

    Всем привет. Собрал сей девайс. Опробовал ее. Ни ох, ни ах.
    Думаю все же нужно кнопки подключить на «Включение приёмника», «ОТПРАВКА», «ГЛУШИЛКА». Ноги цифровых вх/вых. подключить через кнопку с чем (землей, +5В)?
    У меня Ардуино Нано V3.0

  32. xaoc2000

    xaoc2000@mail.ru киньте схему пожайлуста

  33. Ильдар

    Разобрался с кнопками, на форуме андуин есть пост о подключении кнопки.
    Один конец кнопки к питанию +5В.
    Второй конец кнопки к резистору на 1кОм и к сигнальному кабелю.
    Ну и второй конец резистора на землю.

  34. Pavel

    Скиньте пожалуйста скетч для приема и для отправки сигнала для NICE FLO (статический). Использую Arduino Uno + передатчик и приемник(которые советовал MR.4) paulz2003@bk.

  35. Павел

    Поделитесь пожалуйста разделенным скетчем registratoff@gmail.com

  36. Александр

    Добрый день! Подскажите, что нужно вписать в код 2.0 для подключения bluetooth и вывода данных на терминал. И может есть люди которые смогут сюда добавить перебор кодов.

  37. Ivan.Hor

    киньте схему пожайлуста ivan.horban@gmail.com

  38. dreamwait

    Это я удачно зашел. Решил «слепить» статику и атмоторс, заодно и заменить дико глючный дисплей нокия5110 на цветной 1.44 128*128 — а тут уже и готово… Mr4 спасибо!

Добавить комментарий