Как программировать китайский брелок
Обучаемый 433МГц пультик для клонирования статичного кода.
Эта статья является небольшим логическим продолжением статьи «Кодграббер статичного кода».
На пробу были приобретены «обучаемые брелки для копирования», чтобы посмотреть как это сделано.
Стоимость примерно 120 и 140 рублей за штуку.
Заявлено, что эти брелки позволяют записать посылку из существующего устройства и воспроизвести по нажатию кнопки. Ограничены протоколом посылок SC2262 и подобных.
Далее мы посмотрим что у них там внутри и попробуем настроить под себя.
Первым сюрпризом было то, что в одном из брелков используется элемент А27, который тоньше А23. Пришлось дозаказывать ещё и батарейки.
Пробуем обучить.
Перед обучением стираем все запомненные ранее коды, для этого одновременно нажимаем две верхние кнопки и удерживаем какое-то время.
Светодиод загорится, потом заморгает.
Для обучения нажимаем и удерживаем обучаемую кнопку. Вплотную подносим копируемого и включаем на передачу.
Светодиод заморгает, значит сигнал пойман и записан.
После этого обученная кнопка при нажатии и удержании будет выдавать в эфир запомненный код.
Перезаписать отдельную кнопку нельзя. Сначала стираем всё, затем программируем каждую кнопку.
Всё работает как и описано, но возникают трудности с копированием слабых сигналов.
Чувствительность приёмника в копировщике «никакая», подносить приходится антенна к антенне.
К тому же, хочется записывать коды просто «из головы», не копировать, а самостоятельно составлять и воспроизводить.
Немного реверс-инжиниринга.
Внутри пультика видим различную мелкую рассыпуху, четырнадцатиногую микросхему без маркировки и EEPROM с I2C интерфейсом AT24C02.
Вполне очевидно, что все данные хранятся внутри внешней EEPROM, осталось только понять что и как там хранится.
Впоследствии оказалось, что при внешней схожести микросхем основного контроллера в брелках, они всё-таки разные. Используют разные адреса, по разному запоминают данные.
Начнём с брелка с антеннкой.
Подключаем логический анализатор «USBEE» к пинам SDA и SCL микросхемы EEPROM.
Стираем, обучаем, воспроизводим и при этом смотрим, какие адреса и данные EEPROM используются.
В процессе выяснилась непонятная особенность работы логического анализатора.
Это недорогая китайская поделка на CY7C68013, которая может притворяться и USBEE и Logic-U.
Оказалось Logic-U почему-то не распознаёт часть посылки.
На картинках видно, что не рашифровывается считываемый байт.
Logic-U
USBEE
Разбираться я не стал, воспользовался USBEE софтом, хотя Logic-U удобнее.
После некоторых экспериментов с клонированием различных пультиков получаем:
базовый адрес в EEPROM для каждой кнопки:
Верхняя правая: 0x06
Нижняя правая: 0x10
Верхняя левая: 0x1A
Нижняя левая: 0x24
данные для каждой из четырёх кнопок
base_addr+0x00 — признак что кнопка запрограммирована (0 — запрограммирована)
base_addr+0x01 — записывается 0, при чтении не используется
base_addr+0x02 — тайминг 1t, ориентировочно 340 ед/мс (для расчёта значения необходимо время 1t в мс умножить на 340)
base_addr+0x03 — младшие 8 бит кода (0 — короткий импульс, 1 — длинный имульс)
base_addr+0x04 — средние 8 бит кода (0 — короткий импульс, 1 — длинный имульс)
base_addr+0x05 — старшие 8 бит кода (0 — короткий импульс, 1 — длинный имульс)
base_addr+0x06 — записывается 0, чтается при воспроизведении
base_addr+0x07 — записывается 0x18, может быть количество байт в посылке
base_addr+0x08 — тайминг 1t, дублируется base_addr+0x02
Формируем свою посылку.
Теперь попробуем заставить брелок воспроизводить любой код в формате SC2262 и подобных.
Например, для управления радиоуправляемой розеткой из статьи на хабре “«Заводим» радиоуправляемые розетки без пульта”.
Переключателем розетка может быть настроена на один из восьми каналов.
Запрограммируем наш пультик так, чтобы управлять на четвёртом и пятом каналах.
4 канал, код включения «000100001000»
в формате HS2272
«0» — соответствует «короткий + короткий импульс»
«1» — соответствует «длинный + длинный импульс»
«F» — соответствует «короткий + длинный импульс»
в формате обучаемого брелка каждый импульс кодируется одним битом
0 — короткий импульс
1 — длинный имульс
значит «000100001000» преобразуется в 000000110000000011000000 = 0x0300C0 (в память оно ляжет младшим байтом вперёд).
Аналогично:
4 канал, код выключения «000100000000» преобразуется в 0x030000
5 канал, код включения «011000001000» преобразуется в 0x3С00С0
5 канал, код выключения «011000000000» преобразуется в 0x3С0000
Настройка таймингов.
Вскроем наш приёмник сигналов, и посмотрим какой резистор Rosc установлен у микросхемы HS2272.
По цветовой маркировке получается 390К, тестер показывает 394К.
По графику из pdf пытаемся прикинуть частоту OSC, но в разных pdf по разному рисуют графики зависимости.
Поэтому, напрямую осциллографом смотрим частоту на OSC2 ножке микросхемы.
У меня получилась частота около 70 КГц.
В pdf написано что при приёме в импульс должно помещаться от 2,5 до 8 клоков OSC.
Расчётное значение 1t получается 0,114 мс, но с таким таймингом приёма нет.
На практике получилось, что работает с таймингами 1t = 0,150-0,350 мс. Всё что быстрее или медленнее не принимается.
Почему так — не понимаю, если больше поэкспериментировать с разными приёмниками, то может чего и прояснилось бы.
Выберем значение «с потолка» 0,25 мс * 340 = 85 (0x55).
Запрограммируем любым доступным I2C программатором (CH341 например), подключившись к SDA, SCL, GND, VCC ножкам EEPROM.
левая верхняя кнопка — включение канала 4
с адреса 0x1A запишем данные 0x00 0x00 0x55 0xC0 0x00 0x03 0x00 0x18 0x55
левая нижняя кнопка — выключение канала 4
с адреса 0x24 запишем данные 0x00 0x00 0x55 0x00 0x00 0x03 0x00 0x18 0x55
правая верхняя кнопка — включение канала 5
с адреса 0x06 запишем данные 0x00 0x00 0x55 0xC0 0x00 0x3C 0x00 0x18 0x55
правая нижняя кнопка — выключение канала 5
с адреса 0x10 запишем данные 0x00 0x00 0x55 0x00 0x00 0x3C 0x00 0x18 0x55
Перед заливкой данных через программатор, необходимо нажать и удерживать любую кнопку на пультике, иначе линии SDA и SCL притянуты к земле.
Проверяем, работает.
Дополнительно можно защитить от стирания, подняв 7 ножку EEPROM и посадив её на 8 ногу.
Второй брелок, без антенны с А27 батарейкой имеет другую «карту памяти».
Базовый адрес:
Нижняя правая: 0x0A
Нижняя левая: 0x14
Верхняя правая: 0x1E
Верхняя левая: 0x28
Данные:
base_addr+0x00 — признак что кнопка запрограммирована (см. примечание *)
base_addr+0x01 — младшие 8 бит кода (0 — короткий импульс, 1 — длинный имульс)
base_addr+0x02 — средние 8 бит кода (0 — короткий импульс, 1 — длинный имульс)
base_addr+0x03 — старшие 8 бит кода (0 — короткий импульс, 1 — длинный имульс)
base_addr+0x04 — тайминг 1t
*примечание — если у предыдущего брелка признак запрограммированности кнопки — значение 0 по соответствующему адресу (остальные значения воспринимаются как «кнопка не запрограммирована»), то здесь для каждой кнопки индивидуальные значения.
При стирании:
по адресу 0x0A пишется значение 0x30,
по адресу 0x14 пишется 0x3A,
по адресу 0x1E пишется 0x44,
по адресу 0x28 пишется 0x4E.
При запоминании:
по адресу 0x0A пишется значение 0x0A,
по адресу 0x14 пишется 0x14,
по адресу 0x1E пишется 0x1E,
по адресу 0x28 пишется 0x28.
Кроме того, при стирании по адресу 0x6E пишется 0x6E, при запоминании любой кнопки туда пишется 0x00.
Дополнительную сложность представляет то, что контроллер после окончания обмена с EEPROM не освобождает линию SCL, и мне не удалось записать EEPROM программатором не выпаивая микросхему.
Тайминги у контроллеров также отличаются. В первом брелке мы записывали 0x55, во втором оно сохраняется как 0x43.
P.S.
Хорошо бы сравнить дальнобойность этих брелков с какими-нибудь другими, необучаемыми.
Да и живучесть батарейки также может отличаться, потребление в режиме сна разное.
Но, мне кажется, что эти параметры будут примерно одинаковые.
Схему срисовывать не стал.
Вот фотографии с двух сторон, все дорожки навиду.
- 433,
- статичный код
- +8
- 13 июля 2015, 00:16
- r_o_m_k_a
Комментарии ( 13 )
В процессе выяснилась непонятная особенность работы логического анализатора.
Это недорогая китайская поделка на CY7C68013, которая может притворяться и USBEE и Logic-U.
Оказалось Logic-U почему-то не распознаёт часть посылки. Полагаю, это косяк софта, а не особенность анализатора.
то здесь для каждой кнопки индивидуальные значения. Любопытно выглядят — на адреса похожи. А по адресам 30/3А/44/4Е какие-то данные есть?
Схему с брелков не снимал? Любопытно взглянуть на реализацию RF-части.
- Vga
- 13 июля 2015, 01:20
- ↓
Полный дамп памяти у второго брелка не считывал.
Надо EEPROM выпаивать. Несложно вроде. Но «зачем»?
Схему, опять же, не снимал.
Мне не к чему, в RF я слабо разбираюсь, повторять самостоятельно не планирую.
Универсальный пульт для ворот, шлагбаума Aliexpress AVIDSEN 100951/AVIDSEN 100955/AVIDSEN 100550/100400 High quality 433.92Mhz copy Garage door flap door Barrier remote control – отзыв
Пульт для ворот и шлагбаума с АлиЭкспресс *** Подробно о качестве *** Как запрограммировать пульт – пошаговое описание *** Много фото
— Привет, друзяшки! —
Сегодня хочу рассказать Вам о не совсем обычной покупке с АлиЭкспресс – пульте управления для автоматических ворот парковки и шлагбаума.
В моем доме территория закрыта забором и въезд осуществляется только через шлагбаум. А на подземный паркинг мы также въезжаем через пару автоматических ворот. В связи с этим пульт дистанционного управления – вещь, буквально, необходимая для быстрого доступа во двор.
Однажды наш пульт вышел из строя и стали узнавать – где можно приобрести новый на замену. Цены в нашем городе (Екатеринбург) не радовали: 1200-1500 рублей.
На АлиЭкспресс нашли абсолютно такие же пульты за. 350 рублей!
Сначала мы заказали 1 на пробу, потом еще 3 (по одному мне и мужу и 2 запасных для гостей).
Стоимость: 350-360 рублей, в зависимости от курса.
Ссылка:
Виды пультов:
Размер:
Пультик небольшой- легко помещается в руке.
Доставка: порядка 2 недель до УРФО. Отправление с трек-номером.
— Пульт на шлагбаум и ворота. Подробная информация —
Пульты приходят в простеньких почтовых конвертах со слоем воздушно-пузырьковой пленки внутри.
Все 4 пульта пришли целыми.
Матовый металлический слой защищен пленкой.
На самом пульте есть петелька, куда карабин можно прицепить.
С обратной стороны пульт выглядит так:
Замечу, что пульт не стоит оставлять зимой в машине на долгое время. Батарейка замерзает и он перестает работать, пока не отогреется. Поэтому всегда ношу брелок в кармане куртки или в сумочке.
Все пульты к нам пришли рабочие, с батарейками или программированием проблем не возникло.
— Как запрограммировать брелок – пульт от ворот и шлагбаума. Пошаговое описание —
Как настроить универсальный пульт?
Тут все просто – действуем по методу дубликации.
Сначала нужно очистить память кнопок нового пульта.
После скопировать сигналы с предыдущего пульта. Он обязательно должен быть в рабочем состоянии, поэтому если ваш пульт сломался, попросите на время у соседей. Тем более весь процесс кодирования занимает не более 5 минут.
Эта операция обязательна как для программирования нового пульта, так и для перекодирования того, которым пользовались ранее.
Зажимаем кнопки А и В.
Ждем, пока светодиод С мигнет пару раз.
Не отпуская кнопку А, нажимаем на кнопку В 3 раза. Светодиод С либо загорится постоянным светом либо быстро замигает (в зависимости от типа брелка).
Отпускаем обе кнопки.
Память пульта очищена и готова к записи новых данных.
Подносим пульт, с которого будем копировать сигнал, к новому и зажимаем 1 кнопку, с которой хотим передать коды. После зажимаем кнопку на новом пульте (любую из 4, какая будет удобна при использовании для вас). Смотрим – светодиод С мигнет 2 раза – сигнал получен (кнопки продолжаем держать зажатыми). Ждем, пока светодиод С не загорится постоянно или мигнет многократно (сигнал записан на новом пульте).
Повторяем действия с кодированием остальных кнопок, таким образом программируя весь пульт.
Проверяем результаты программирования опытным путем – подходим к шлагбауму, воротам, ролл-ставням и открываем/закрываем с помощью нового пульта.
Если все работает – значит программирование пульта прошло успешно!
Бывает, что брелок плохо “очищается” с первого раза или не все кнопки на пульте программируются. Так у нас произошло с одним из брелков с АлиЭкспресс – смогли запрограммировать только 2 кнопки из 4. Для таких пультов стоит повторить операции очистки памяти и программирования несколько раз.
Я рекомендую универсальный пульт для ворот и шлагбаумов с АлиЭкспресс!
В следующий раз расскажу вот о таком необычном девайсе для программирования брелков-таблеток:
Девайсы для автомобиля, которыми пользуемся сейчас (проверены временем):
Четырехканальный программируемый радиобрелок 433 МГц
- Цена: $9.98 за пару
- Перейти в магазин
Все началось с того, что я захотел ходить на работу как белый человек. Иными словами, не через калитку для всех, а через автомобильные ворота с автоматикой Nice. Понимаю, абсурдно, но вот уж как есть.
Отчасти поэтому, отчасти от нечего делать, пошел на Aliexpress искать решение своей проблемы. А именно — обучаемого пульта, чтобы скопировать один из работающих брелков, и горя не знать.
В общем, это у меня так и не получилось, но зато брелки пригодились для управления светом дома.
Если честно, это уже второй комплект брелков. Первый оказался совершенно бесполезным, потому что я допустил стратегический просчет. Я не очень хорошо разбираюсь во всякой там воротно-гаражно-шлагбаумной автоматике, поэтому сначала попер напролом. И заказал обычные брелки с фиксированным жестко зашитым кодом.
Почему? Эти брелки — программируемые и жестко прошитые — выглядят одинаково, и я подумал, что китайцы, вероятно, сами не знают, что продают. Но когда получил заказ, то понял — знают.
Помимо того, что первые брелки оказались необучаемыми, их код нельзя было прописать в контроллере Nice FLO X1R. В общем, так у меня оказалась пара симпатичных брелков для ношения ключей.
Во второй раз я оказался умнее, и купил именно что обучаемые брелки. Пришли в спартанском виде: маленький желтый конвертик, в котором два брелка в индивидуальных целлофановых пакетиках.
Качество изготовления, по-моему, очень хорошее. Брелки довольно увесистые (26 г), из гладкого пластика (АБС, наверное) с металлической вставой и металлическим карабином для ключа или кольца с ключами. Серебристая окантовка — пластик. Еще плюс — сдвижная шторка, которая защищает кнопки от случайного нажатия. Дома, разумеется, не нужно, но для уличного применения — самое то.
Разбираются элементарно. Выкручиваем три самореза, разнимаем половинки корпуса, вынимаем серебристую окантовку, которая по совместительству фиксирует плату.
Батарейка уже внутри, что само по себе приятно.
Чип (PIC 12F629), передатчик (AUKR433A) и качество монтажа:
Печально, но что касается ворот Nice, результат оказался тем же, что и с предыдущими брелками. То есть, обучаться коду имеющегося брелка новый брелок отказался наотрез.
Вместе с тем я был уверен, что брелок рабочий: попробовал обучить его командам предыдущих брелков с фиксированным зашитым кодом. И все получилось на раз два.
Потом я внимательно почитал описание Nice, полное описание брелка на сайте у китайцев и все понял. В Nice используется так называемый rolling code, а купленный мной брелок его не понимает. Вот и вся загадка. К слову сказать, когда я это выяснил, то поискал подходящие брелки на Aliexpress — они есть.
В общем, я, конечно, огорчился, а потом вспомнил, что у меня дома сразу два вида дистанционно управляемого освещения, причем с пультами на той же частоте — 433 МГц.
Первое — это какие-то обычные китайские радиорозетки, купленные по случаю в Леруа Мерлен. Полагаю, что остальные подобные розетки — суть то же самое.
Вот такой у них пульт, внутри чип SC2262):
Так что бодро потащил брелки домой и стал экспериментировать. Сначала ничего не получилось ни с тем, ни с другим управлением. А потом я опять прочитал инструкцию: программирование работает на минимальном расстоянии.
Сама же процедура элементарна:
1) Одновременно нажимаем и держим две верхние кнопки, пока светодиод брелка не начнет мигать с небольшим интервалом
2) Теперь одновременно нажимаем кнопку обучаемого брелка и кнопку пульта-донора, и держим, пока светодиод брелка не начнет светиться (или мигать с высокой частотой)
3) Повторяем п. 2, пока у брелка не кончатся кнопки
Так что в итоге подвигал пульты друг относительно друга, чтобы найти где там у них антенны. С пультами розеток все сложилось как нельзя лучше: сложил «спинами», понажимал кнопочки, и получил копию пульта в брелке.
На видео мои мучения выглядят вот так:
А вот с пультом выключателей не сложилось. Возможно, там тоже какая-то несовместимая технология кодирования.
Впрочем, даже это меня вполне устраивает. Теперь в квартире будет в два раза больше пультов )
И вот тому подтверждение:
Вот еще что: с практической точки зрения брелки, по-моему, не отличаются. И в пределах квартиры работают точно так же, как и «родные». Т.е. на расстоянии 5-6 метров «пробивают» одну стенку и включают/выключают розетку.
Подводим итог: относительно недорогие программируемые пульты для любой техники с фиксированным кодом. Освещение, сигнализации, ворота, самоделки.
1) Хорошее качество изготовлени
2) 4 канала
3) Простое и надежное обучение
4) Уже с батарейкой
1) Специфический уличный дизайн
2) Не понимает rolling code
ps. да, в теории я знаю, что канонично писать «брелоки» и т.п. Простите!
Как запрограммировать пульт от ворот, настройка и кодировка брелоков
Строитель 4 разряда
Универсальные пульты от ворот позволяют одновременно управлять несколькими устройствами. Современные фирмы-производители предлагают один прибор, к которому подключают множество брелоков. Но иногда устройства теряются или ломаются, и их необходимо заменить новыми. Поэтому владельцам необходимо знать, как запрограммировать пульт от ворот.
Запрограмиировать пульт можно самому
Особенности пультов
Сначала пульт нужно прописать на плате управления в приёмнике. Нет универсального алгоритма программирования устройства, так как кодировка у разных компаний отличается. Наиболее известные фирмы-производители пультов для ворот:
- Professional;
- FAAC;
- Doorhan;
- Nice;
- Came.
У компаний FAAC, Nice и Came есть одна особенность: в приёмник можно прописать только один пульт, а от него надо скопировать необходимое количество разных брелоков. Если попытаться внести ещё одно устройство, то первое и все подключённые к нему приборы перестанут работать. В случае потери старого пульта он удаляется автоматически при записи нового. Главное достоинство устройств этих компаний — отсутствие необходимости открывать крышку электропривода при настройке.
Но такие пульты очень уязвимы — вору достаточно подержать его в руках десять секунд для того, чтобы раздать сигнал на свой прибор.
Сотрудники могут передавать друг другу устройства для копирования, их появится больше, чем было выдано. Если был ограничен доступ на стоянку автомобилей, то в таком случае мест будет не хватать из-за лёгкости доступа к приборам.
Фирмы Doorhan и Professional выпускают системы, в которых в один приёмник можно прошить каждый пульт индивидуально. Среди недостатков выделяют необходимость каждый раз перед программированием открывать крышку привода, а также ограничение по количеству подключаемых пультов — до 128 штук. Устройство не позволяет клонировать приборы.
Программирование прибора Professional
Чтобы запрограммировать пульт от шлагбаума и ворот компании Professional, необходимо на блоке управления приёмником нажать кнопку «Learn» и подержать её в течение одной секунды. После этого загорится светодиод с соответствующей надписью. Теперь нужно на брелоке нажать такую же кнопку и дождаться, пока на блоке привода замигает и погаснет светодиод. Это будет означать то, что устройство сохранено в памяти приёмника.
В этом видео вы узнаете, как программировать пульт:
Для подключения дополнительных пультов операцию повторяют. Память у приёмника ограниченная: модели могут запоминать от 25 до 128 устройств. Если необходимо удалить все данные, то кнопку зажимают на восемь секунд. После того как она погаснет, все устройства будут удалены. Затем можно заниматься перепрограммированием привода.
Компания Came
Программирование пульта Came происходит по подобной схеме. Сначала нужно нажать и держать кнопку Prog на приёмнике. Как только начнёт мигать светодиод, второй рукой нужно нажать соответствующий выступ на брелоке. Если диод загорается ровным светом, то обе кнопки нужно отпустить. Пульт будет записан в привод.
Записать второй брелок по этой же инструкции не получится, так как таким образом можно только перекодировать приёмник. То есть, из памяти сотрётся первый прибор, а новый запишется на его место. Вместо этого, необходимо провести процедуру по копированию. На новом устройстве нужно нажать и задержать обе кнопки, начнёт мигать светодиод. Затем их отпускают и нажимают ту, которая позволяет запрограммировать приёмник, лампочка должна гореть ровно.
Через десять секунд к брелоку подносят первый пульт, который уже был подключён к приводу. Его располагают сзади подключаемого прибора, нажимают на нём рабочую кнопку. Диод должен мигнуть три раза и потухнуть. Так проходит программирование брелока Came.
Изделие фирмы FAAC
В приёмнике для того, чтобы настроить пульт компании FAAC, нужно нажать одновременно две кнопки P1 и P 2. Их отпускают в момент, когда на брелоке замигает светодиод. Затем нужно зажать кнопку на плате привода до тех пор, пока не замигает индикатор. Пока горит диод, необходимо на пульте управления надавить кнопку, которая должна быть запрограммирована на створки ворот. Код сохраняется примерно в течение двух секунд, после этого можно отпускать все кнопки.
Перепрограммировать пульт от ворот нужно по-другому, так как повторение прошлой инструкции сотрёт первый брелок и запишет новый. Для записи нескольких пультов нужно придерживаться определённого алгоритма:
- на записанном в привод брелоке зажимают кнопки P1 и P 2, дожидаются мигания индикатора;
- новый прибор располагают напротив первого;
- на уже запрограммированном приборе зажимают кнопку, с которой будет переписан сигнал;
- нужно дождаться двойного мигания пультового светодиода.
Так можно записать неограниченное количество брелоков с одинаковым кодом.
Брелок Nice
Запрограммировать китайский пульт для ворот Nice необходимо с помощью двух переключателей на самом брелоке и радиоканале. На приёмнике без задержки нажимают клавишу, на брелоке кнопку нужно подержать 4 секунды и дождаться тройного мигания индикатора. Так прибор запишется, и пока он будет находиться в режиме программирования, можно записать ещё несколько.
После истечения десяти секунд приёмник запомнит все брелоки и кнопки на них. Можно запрограммировать пульт дистанционно. Для этого нужно нажать клавишу на новом брелоке, задержать на пять секунд и отпустить. На уже записанном клавишу зажимают трижды, затем один раз — на втором приборе. Для удаления его из памяти приёмника необходимо надавить на клавишу, подождать сигналов светодиода. Индикатор должен загореться один раз, погаснуть и замигать три раза. Затем наступает небольшая пауза, и лампочка промигает пять раз.
Пульты для программирования ворот разные, отличаются они и процедурой подключения. Записывать, перекодировать и удалять брелоки нужно соответственно инструкциям каждого производителя.