Простий копіювальник домофонних ключів. Як зробити копію ключа домофону в домашніх умовах. Відео процесу зчитування та запису

Головна / Усунення несправностей

  • Стілус-насадка для носа – гаджет для тих, хто постійно мріяв мати зайвий палець на обличчі.


  • Titan Sphere - продукт компанії SGRL, що швидко розорилася, невдала спроба повідомити нове слово у сфері джойстиків.

  • Розтруби для очних крапель дозволяють правильно прицілитися в око, в той час, коли потрібно його чимось замовити.


  • Чи є насправді непотрібні органи? Навряд чи комусь захочеться розлучитися зі своїм апендиксом, доки він е...

  • «Мати всіх демонів», 1968 рік.


  • Майбутнє з інопланетянами – чому б і ні? Деякі впевнені, що інопланетяни вже серед нас...


23.05.2012

Розглянуто нескладний дієвий дублікатор домофонних електронних ключів робочою схемою. На відео показано перевірку та готове складання в роботі. У мережі багато хороших схем для даної функції, але, по-перше, вони складні, по-друге, не всі вони робітники.

Автор даного відео-уроку намагався зібрати дублікатор ключів на конструкторі Arduino, але невідомо чому у нього це не вийшло, не дивлячись на те, що в мережі є відео, де показаний робочий пристрій на Ардуіно.

Є у продажу заводські дублікатори, але вони вистачає дороги, і для тих, хто не збирається на цьому пристрої завжди працювати, не потрібно їх купувати. Так як не кожен день аматорам потрібно дублювати ключі для домофону. Вирішено було зробити простий дублікатор легко для розширення власного світогляду.

Безліч заготовок було придбано на АліЕкспрес, коштує вони недорого. Знайшлася нескладна схема для того, щоб дублікатора, яку можна зібрати майже за 5 хв.. Заготівлі куплені в цьому китайському магазині, Там є необхідний для роботи пристрою програматор.

обговорення та Схема на форумі цього дубліката тут. Основа або серце цього копіювальника - мікроконтролер.

Підійде 628, 648 або 88. Звичайно, якщо легко пристрій зберете, воно працювати не буде. Потрібно в цей мікроконтролер записати програму. Для цього буде потрібно програматор, що приєднується до комп'ютера для firmware.

У мережі можна знайти інструкції з користування програматором. Коштує він 10-15 доларів. Будь-який радіоаматор-початківець зможе прожити цей мікроконтролер і повторити цю схему дублікатора.

Як видно на схемі та фото, у схемі є 3 світлодіоди – червоний, жовтий та зелений.

Червоний світлодіод світиться тоді, коли є харчування у самій сукупності; жовтий світиться, коли він перебуває в режимі зчитування ключа. А зелений світиться, коли запис чи дублювання ключа пройшло успішно. Миготіння світлодіодів відбувається, у той час, коли заготівля одноразова неперезаписується.

Всі заготівлі, куплені на AliExpress, що перезаписуються.

Уся схема живиться напругою 5 Вольт. У цю конструкцію був поставлений 5 вольт стабілізатор, щоб при подачі напруги від 5 до 9 вольт, на виході у нього завжди було лише 5 вольт. Сам дублікатор ключів живиться напругою 5 Вольт.

Включимо і розглянемо, як цей пристрій працює. Включаємо блок живлення. Зайнялися всі світлодіоди, тобто пристрій завантажилося.

Прикладаємо копіюваний ключ, індикатор продемонстрував зчитування. Є кнопка для дублювання даного ключа. Прикладаємо чисту заготівлю, світлодіод продемонстрував, що трапилося дублювання. Для досвіду було скопійовано ключ на ліфт та перевірено.

Результат хороший, дублікатор, зібраний своїми руками, добре працює.

Друга частина

Випадкові записи:

Простий дублікатор домофонних ключів на arduino nano.

Всім доброї доби!
Хочу надати Вашій увазі дублікатор (копіювальник) ключів від домофону.
Копіювальник вміє зчитувати/записувати на брелок або карту.
Давно хотів випробувати недорогий пристрій копіювання ключів від домофона. І ось цей момент настав, тож приступимо.

Замовлення надійшло за 3 тижні.

Ключі від домофону. Невеликий лікнеп.

Ключі бувають:

  • Контактні. Офіційна назва Touch memory (скор. TM) або iButton
(тобто їх треба прикладати до зчитувача)
До них відносяться:

Dallas.

Найчастіше під TM мається на увазі ключ сімейства Dallas (наприклад, DS1990A). З цими ключами працює безліч пристроїв: Vizit, Eltis, Z-5R, С2000-2 та ін.

Cyfral.

Ці домофони працюють тільки з ключами DC2000А та Цифрал-КП1.

Metakom.

Під ці домофони розроблені ключі К1233КТ2. Ці ключі підходять і для багатьох інших контролерів.

резистивні.

Є екзотичні домофони, що працюють із резистивними ключами. Замість коду з них зчитується опір. Без сумніву, це контактні ключі, але я не назвав би їх Touch memory.
  • Безконтактні. Офіційна назва RFID.
(їх треба просто підносити до зчитувача на відстань 2-3 см).

Випускаються у формі карт, брелоків, браслетів та ін. Побутова назва «картки» та «крапельки» (брелоки). Ключі діють до 10-15 см називаються Proximity (ближньої дії), а діючі до 1 м - Vicinity (дальнобійні). У домофонах використовуються виключно ключі Proximity, і цей термін став мало не синонімом "безконтактного ключа".

У світі Proximity теж немає єдності форматів:

EM-Marin

найпопулярніший на сьогодні формат.

HID

аксакал серед безконтактних ключів.

MIFARE

Перспективний формат. Саме до нього належать безконтактні смарт-картки.

Цей пристрій призначений ВИКЛЮЧНО для копіювання безконтактних ключів із частотою 125KHz.
Жодні інші ключі скопіювати не вдасться.

Вміст посилки:






Комплект поставки:

- RFID 125KHz EM4100 ID Card Copier;
- перезаписувані брелоки 6шт;
- картки, що перезаписуються 6шт.;
- Інструкція (англо-китайська).
Батарейки ААА до комплекту не входять.

Зовнішній вигляд приладу:






Внутрішності приладу:










Прилад у включеному положенні:


(горить червоний вогник, отже прилад увімкнено)

Внутрішності ключа:


Інструкція:




  • Процес копіювання:
1. Вставляємо дві батареї ААА.
2. Включаємо тумблер, розташований праворуч (загоряється червоний індикатор з написом POWER і видається два короткі звукові сигнали).
3. Підносимо картку або брелок до лівої боковини на рівні напису POWER.
4. Натискаємо кнопку READ. У відповідь дублікатор пискне 2 рази і спалахує зелений світлодіод з написом «PASS»
5. Прибираємо картку або брелок, з якого вважали мітку.
6. Підносимо до копіювальника картку, що перезаписується, або брелок. Натискаємо кнопку "WRITE". На якийсь час загориться жовтий світлодіод з написом BUSY і знову і пролунає подвійний писк. Все новим брелоком або карткою можна скористатися.

Відео процесу зчитування та запису:

Підсумок.

Все чудово працює.Якщо треба зробити кілька копій ключів RFID 125KHz, сміливо можете купувати, тим більше, що в комплекті 6 брелоків і 6 карт, а середня ціна за одну копію 100 рублів, вигода очевидна. Якщо брелоки або картки закінчаться на просторах інтернету, можна купити в межах 20р.
Перед покупкою даного пристроюрекомендую дізнатися частоту та тип вашого ключа, інакше Ви викинете гроші на вітер.

Якщо огляд сподобався, або допоміг у виборі пристрою ставимо лайки, це найкраща Ваша нагорода моєї праці.
Усім дякую за увагу!

Товар наданий для написання огляду магазином. Огляд опубліковано відповідно до п.18 Правил сайту.

Планую купити +88 Додати в обране Огляд сподобався +44 +83

Майже кожен під'їзд сучасного багатоквартирного будинку обладнаний спеціалізованим домофонним пристроєм. Це дуже добре, адже безпека мешканців починається саме з під'їзду, проте біда в тому, що жителі періодично втрачають свої ключі, після чого не можуть потрапити назад до будинку. Саме для цього потрібний дублікатор домофонних ключів.

Які засади роботи обладнання?

Зараз виготовлення дублікатів ключів вважається досить вигідним бізнесом. Щоб зробити копію чіпів, що відповідають оригіналу, необхідно використовувати спеціалізоване обладнання.

Стандартний дублікатор ключів працює від звичайного комп'ютера. При цьому є USB-порт.

На фото- приклад копіювальника

Щоб швидше розібратися в принципах роботи копіювальника ключів домофону, необхідно дізнатися, що кожен чіп-таблетка містить індивідуальний код. Унікальне кодування записують у його пам'ять ще на заводі в процесі виробництва виробу, і шифр неможливо змінити.

Відомо, що копіювання ключів для певних домофонних пристроїв виглядає приблизно таким чином:

  • Спочатку майстер установки набирає на панелі виклику спеціалізований код, необхідний для входження в сервісне менюдомофона і щоб копіювати ключ, переводить всю систему в спеціальний режим зчитування чіпів;
  • Потім він підносить кожен ключ домофону із записаною необхідною інформацією до зчитувача;
  • Домофон сам записує коди, які перед цим зчитує із цих ключів домофона у власну пам'ять.

В результаті цих дій, коли ключ від домофона підноситиметься до пристрою, обладнання вважає його код, і якщо даний чіп вже був записаний у його пам'яті, тоді замок відкриється і можна вільно потрапити до під'їзду.

Знаючи порядок реєстрації кодів у домофонному пристрої, необхідно розібратися, як скопіювати сам код. Насамперед, потрібно до цього підготуватися: необхідно взяти кілька чистих болванок та ноутбук чи ПК.

Хоча, щоб виготовити дублікат ключа від домофону, можна скористатися іншим методом та використовувати спеціалізований дублікатор. Подібний пристрій може дублювати коди і працює від звичайної мережі або спеціальної батарейки «крона».


На фото показано використання копіювальника

У чому призначення дублікаторів?

Відомо, що копіювальник використовує для зчитування, а потім копіювання кодів робочі електронні чіпи на спеціалізовані сумісні заготовки. Можна виготовити будь-яку кількість таких дублікатів.

Останні моделі копіювальників дозволяють зробити магнітні ключі для домофону таких форматів:

  • Двоконтактні (що використовують протокол ТМ);
  • Безконтактні картки чи брелоки;
  • Малопоширені триконтактні чіпи.

Вони підтримують досить широкий спектр заготовок:

  • Двоконтактні заготівлі;
  • Універсальні;
  • Триконтактні квадратні;
  • Безконтактні RFID.

Запис ліченого коду може проводитися тільки на спеціалізовані заготовки, адже заводські ідентифікатори не призначені для запису нових кодів.

Основні можливості копіювальника

Можна виділити такі можливості пристрою:

  • Багато дублікаторів, пропонованих сучасним ринком, працюють від блоків живлення, які йдуть з ними в комплекті або від окремих елементів живлення;
  • Найбільш просунуті моделі можуть працювати з комп'ютером, і якщо встановити відповідне програмне забезпечення, можна буде вести потрібну базу даних, де буде докладно описана кожна копія ключа. Крім того, можливість прямого зв'язку з комп'ютером значно полегшує процес оновлення прошивки, сприяючи таким чином розширенню можливостей копіювальника;
  • Універсальні дублікатори, що є контактно-безконтактними, мають спеціалізований майданчик для зчитування або запису чипів контактного типу на своєму корпусі. Можна також зробити копію ключа безконтактного типу, використовуючи відповідну область;
  • Деякі моделі, що пропонуються сучасним ринком, надають можливість візуалізувати процес копіювання чіпа за допомогою спеціалізованих вбудованих дисплеїв;
  • Багато моделей мають незалежну пам'ять на обрану кількість кодів, завдяки чому можна організувати справжню базу даних, відновлюючи втрачені екземпляри навіть у разі відсутності оригіналу.

На відео показано роботу дублікатора ключів:

Дублікатори, які пропонує сучасний ринок, надають можливість кожному звичайному користувачевісамостійно скопіювати ключ у разі втрати, не прив'язуючись при цьому до компанії, що встановила домофонний пристрій.

Крім того, за допомогою даних пристроїв можна збільшити кількість використовуваних домофонних чипів.

Таким чином, кожна людина може зняти обмеження максимальної кількостічіпів для одного користувача або ж для всіх мешканців будинку.

Ринок постійно розширюється, тому затребуваність подібних пристроївзростає, а вартість дублювання ключів знижується, що дуже вигідно для звичайних користувачів.

Вихід з ладу ключа від - явище дуже рідкісне, якщо розглядати так звані таблетки, і дуже ймовірне, якщо йдеться про безконтактну систему RFID, побудовану на спрацьовуванні великої відстанікартки.

Якщо через якусь причину двері під'їзду, ворота приватного будинку або замок на роботі перестали деблокуватися, часто виникає питання: як перепрограмувати ключ від домофону? Цей процес для рядового користувача зовсім не означає складного втручання та участі у програмуванні особистого ідентифікаційного пристрою.

Особливості програмування домофонних ключів

Щоб зрозуміти, чому програмування індивідуальних ключів домофону включає тільки запис нового ідентифікатора і його прив'язки до абонента на встановленому в двері пристрої, варто особливо зупинитися на механіці роботи і внутрішній структурі звичних таблеток і карт.

Усі ключі збудовані на схемі одноразового пристрою. Якщо відбувається збій або фізичні порушення внутрішньої структури, особистий ідентифікатор просто викидається або знищується. Ні ремонту, ні перепрограмування без використання спеціальних промислових пристроїв не передбачено.

RFID

Невеликі брелочки, картки вже знайомі безлічі людей. Для спрацьовування такого ключика, його не потрібно притуляти до зчитувального майданчика. Достатньо лише піднести на певну відстань.

За дальністю спрацьовування ключі ранжуються:

  1. із зоною ідентифікації 100-150 мм, поширений формат, тип Proximity;
  2. із дальністю визначення до 1 м, тип Vicinity.

Незважаючи на такі відмінності в дальності, робота всіх ідентифікаторів відбувається за простою схемою.

Домофон, що використовує ключі даного класу, має блок випромінювання електромагнітного поля слабкої інтенсивності у зоні контактного майданчика. Усередині RFID карти або брелока розташована проста схема, вона включає індуктивний коливальний контур, мініатюрну передавальну антену та чіп, що формує сигнал.

При внесенні ключа в зону випромінювання виробляється енергія, відбувається активація внутрішньої електросхеми. Карта або брелок передають радіочастотний сигнал, домофон розпізнає ідентифікатор і розблокує двері, якщо він прописаний у пам'яті.

Простого способу, як перепрограмувати ключ від домофону класу RFID – просто не існує для більшості типів виробів. Ідентифікатор формується напиленим у заводських умовах чіпом, кількість унікальних комбінацій (карт та брелків) — величезна, зміни у коді не передбачаються.

Зіпсується ключ може як через механічні перегини, злами (в результаті відбувається пошкодження чіпа або передавальної сітки антени), так і через вплив сильного електромагнітного випромінювання, за силою порівнянного з мікрохвильовою піччю.

Touch-Memory

Touch-Memory – це знайомі більшості людей контактні таблетки. Усередині такого ключа розташований мікрочіп.

Однак передача ідентифікатора відбувається за одноканальною електричною схемою. У момент застосування ключа до контактного майданчика, в домофоні відбувайся замикання ланцюга зчитування даних.

Унікальний код, прошитий у таблетці – передається та перевіряється на відповідність одному із записаних у пам'яті пристрою. Якщо розпізнавання минуло — двері розблоковуються.

Зіпсувати Touch-Memory таблетку можна впливом сильної статичної напруги, додавши таблетку до наелектризованого одягу. Зробити це досить складно, оскільки імпульс має пройти між певними точками контактного майданчика, однак така причина поломок найпоширеніша.

Таблетка з чіпом дуже міцна, пошкодити її механічно складно, ключ, крім впливу статики, можна спалити в мікрохвильовій печі. Будь-яким іншим впливам, включаючи найпотужніші ніодимові магніти – Touch-Memory переносить без наслідків.

Спосіб, як програмувати ключі доступу домофона даного класу, полягає у використанні спеціального програматора. З його допомогою роблять клони пігулок, також універсальні відмички для серій домофонів.

Touch-Memory поділяються на класи. Вони залежать не від внутрішньої структури та принципів роботи, а від виробників, кожен із яких створює внутрішню схемуз певними характеристиками та методикою формування унікального коду.

Широко використовуються Touch-Memory наступних типів:

  • з маркуванням, що починається на DS (Dallas), використовуються у величезній кількості моделей Vizit, Eltis, С2000 та інших;
  • з маркуванням DC, а також Цифрал КП-1 – дані Touch-Memory призначені тільки для домофонів Cifral;
  • серії К, що широко використовується в системах контролю доступу Metacom та інших домофонах.

Аналогічно існують і класи, формати RFID, наприклад, найстаріший HID, популярний EM-Marin, а також використовується в картах Mifare, що спрацьовують з далекої відстані. Тому, перш ніж з'ясовувати, як запрограмувати особистий ключ від домофону від під'їзних дверей, спочатку потрібно придбати Touch-Memory або RFID сумісного формату.

Програмування ключа від домофону своїми руками

Методика, як закодувати персональний ключ від домофону від роботи, будинку або під'їзду друзів - полягає тільки в записі даних відповідного особистого ідентифікатора в пам'ять пристрою, що контролює двері. Щоб зробити це самостійно, необхідно отримати доступ до сервісних функцій із клавіатури передньої панелі.

Майстри, що встановлюють домофон - повинні проводити перепрограмування та змінювати заводські майстер коди та іншу службову інформацію пристрою.

Якщо це зроблено, методики, як прописати свій ключ до домофону за допомогою стандартних комбінацій доступу — не спрацюють. Однак величезна кількість пристроїв на двері відгукуються на заводські коди і дозволяють активувати сервісні функції.

Алгоритм дій

Найпростіший спосіб - дізнатися, як закодувати ключ від домофону від під'їзних дверей, в обслуговуючій компанії. Деякі з них надають такі дані.

Але є набір стандартних дій для домофонів найпоширеніших марок.

  1. Rainmann, Raikman — натискається виклик, вводиться 987654, після звукового сигналу- 123456. Якщо з'явилося запрошення Р на дисплеї - натискається 2, прикладається таблетка, натискається #,<номер квартиры>, #. Запис на згадку проводиться кнопкою *;
  2. - набирається #-999, після звуку-запрошення набирається код 1234 (у окремих серій - 6767, 0000, 12345, 9999, 3535). Після цього натискається 3, після паузи номер квартири, прикладається ключ, натискається #, *. Якщо заводський код (1234 та інші) не прийнятий, домофон видасть двотональний сигнал;
  3. , - Тримати кнопку виклик до реакції (звук, запрошення на дисплеї), ввести 1234, потім номер квартири, виклик. У відповідь на запрошення натиснути ключ, вийти з меню натисканням кнопки *.

У найсучасніших версіях домофону Cifral використовують досить складні кодові набори. Методика, як закодувати ключ від домофона від під'їзних дверей, має такий вигляд: виклик, 41, виклик, 14102, 70543.

Потім слід дочекатися появи на екрані запрошення, натиснути 5, ввести номер квартири, після напису на дисплеї Touch - додати ключ. Про запис у пам'ять свідчить звуковий сигнал.

Висновок

Записати в пам'ять домофону можна будь-який із придбаних ключів, які помилково називають болванками. Насправді - це працюючий механізм зі своїм унікальним кодом. Його потрібно лише зареєструвати на під'їзному пристрої.

Доступні різноманітні методики застосування ключів. Один і той же може використовуватися на кількох домофонах однієї марки, за умови, що здійснено реєстрацію на кожному. Головне, щоб Touch-Memory таблетка або RFID карта, брелок мали сумісні формат з пристроєм на двері.

Відео: Як зробити дублікат ключа від домофону

Кожен ключ для домофона має свій номер - саме цей номер служить ідентифікатором ключа. Саме за номером ключа домофон вирішує – свій чи чужий. Тому алгоритм копіювання такий: спочатку потрібно дізнатись номер дозволеного ключа, а потім привласнити цей номер іншому ключу - клону. Для домофону немає різниці, був доданий оригінальний ключ або його копія. Звіривши номер зі своєю базою даних дозволених номерів, він відчинить двері.

Ключі для домофону, які ми підключатимемо до Arduino (їх іноді називають iButtonабо Touch Memory), зчитуються та записуються по однопровідному інтерфейсу 1-wire. Тому схема підключення дуже проста. Нам потрібні лише пара проводів і резистор, що підтягує, номіналом 2,2 кОм. Схема з'єднань показана малюнку.

Зібрана схема може виглядати приблизно так:


2 Зчитування ідентифікатора ключа iButtonза допомогою Arduino

Для роботи з інтерфейсом 1-wire є готові бібліотеки для Ардуїно. Можна скористатися, наприклад, . Завантажуємо архів та розпаковуємо у папку /libraries/, розташовану в каталозі Arduino IDE. Тепер ми можемо дуже просто працювати з цим протоколом.

Завантажимо в Ардуїно стандартним способомцей скетч:

Скетч читання ключа iButton за допомогою Arduino(розгортається) #include OneWire iButton(10); // створюємо об'єкт 1-wire на 10 виводі void setup (void) ( Serial.begin(9600); ) void loop(void) ( delay(1000); // затримка 1 с byte addr; // масив для зберігання даних ключа if (!iButton.search(addr)) ( // якщо ключ не доданий Serial.println("No key connected..."); // повідомляємо про це return; // і перериваємо програму ) Serial.print("Key: "); for(int i=0; i)

Цей скетч показує номер ключа домофону, який підключений до схеми. Це те, що нам і потрібно зараз: ми маємо дізнатися номер ключа, копію якого хочемо зробити. Підключимо Ардуїно до комп'ютера. Запустимо монітор послідовного порту: Інструменти Монітор послідовного порту(або клавіші Ctrl+Shift+M).

Тепер підключимо ключ до схеми. Монітор порту покаже номер ключа. Запам'ятаємо цей номер.


А ось який обмін відбувається на однопровідній лінії під час читання ідентифікатора ключа (докладніше - далі):

На малюнку, звичайно, не видно всіх деталей реалізації. Тому наприкінці статті я прикладаю тимчасову діаграму у форматі *.logicdata, зняту за допомогою логічного аналізатора та програми Saleae Logic Analyzerі відкривається їй же. Програма безкоштовна та завантажується з офіційного сайту Saleae. Щоб відкрити файл *.logicdata, потрібно запустити програму, натиснути Ctrl+O або в меню Options(розташоване вгорі праворуч) вибрати пункт Open capture / setup.

3 Запис ідентифікатора ключа Dallasза допомогою Arduino

Тепер напишемо скетч для запису даних у пам'ять ключа iButton.

Скетч запису ключа iButton за допомогою Arduino(розгортається) #include // Підключаємо бібліотеку const int pin = 10; // Оголошуємо номер піна OneWire iButton (pin); // оголошуємо об'єкт OneWire на 10-му піні // номер ключа, який ми хочемо записати в iButton: byte key_to_write = (0x01, 0xF6, 0x75, 0xD7, 0x0F, 0x00, 0x00, 0x9A); void setup(void) ( Serial.begin(9600); pinMode(pin, OUTPUT); ) void loop(void) ( delay(1000); // затримка на 1 с iButton.reset(); // скидання пристрою 1-wire delay (50); iButton.write(0x33); // надсилаємо команду "читання" byte data; // масив зберігання даних ключа iButton.read_bytes(data, 8); // зчитуємо дані прикладеного ключа, 8х8=64 біта if (OneWire::crc8(data, 7) != data) ( // перевіряємо контрольну суму прикладеного ключа Serial.println("CRC error!"); // якщо CRC не вірна, повідомляємо про це return; // і перериваємо програму ) if (data & data & data & data & data & data & data == 0xFF) ( return; // якщо ключ не додається до зчитувача, перериваємо програму і чекаємо , поки буде доданий) Serial.print("Start programming..."); // початок процесу запису даних у ключ for (int i = 0; i) // Ініціалізація запису даних у ключ-таблетку iButton: void send_programming_impulse() ( digitalWrite(pin, HIGH); delay(60); digitalWrite(pin, LOW); delay(5); digitalWrite(pin, HIGH); delay(50); }

Не забудьте задати номер свого оригінального ключа у масиві key_to_write, Який ми дізналися раніше.

Завантажимо цей скетч до Arduino. Відкриємо монітор послідовного порту (Ctrl+Shift+M). Підключимо до схеми ключ, який буде клоном оригінального ключа. Про результат програмування монітор послідовного порту виведе відповідне повідомлення.

Якщо цей скетч не спрацював, спробуйте замінити код після Serial.print("Start programming...")і до кінця функції loop()на наступний:

Додатковий скетч запису ключа iButton за допомогою Arduino(розгортається) delay (200); iButton.skip(); iButton.reset(); iButton.write(0x33); // Читання поточного номера ключа Serial.print("ID before write:"); for (byte i=0; i<8; i++){ Serial.print(" "); Serial.print(iButton.read(), HEX); } Serial.print("\n"); iButton.skip(); iButton.reset(); iButton.write(0xD1); // команда разрешения записи digitalWrite(pin, LOW); pinMode(pin, OUTPUT); delayMicroseconds(60); pinMode(pin, INPUT); digitalWrite(pin, HIGH); delay(10); // выведем ключ, который собираемся записать: Serial.print("Writing iButton ID: "); for (byte i=0; i<8; i++) { Serial.print(key_to_write[i], HEX); Serial.print(" "); } Serial.print("\n"); iButton.skip(); iButton.reset(); iButton.write(0xD5); // команда записи for (byte i=0; i<8; i++) { writeByte(key_to_write[i]); Serial.print("*"); } Serial.print("\n"); iButton.reset(); iButton.write(0xD1); // команда выхода из режима записи digitalWrite(pin, LOW); pinMode(pin, OUTPUT); delayMicroseconds(10); pinMode(pin, INPUT); digitalWrite(pin, HIGH); delay(10); Serial.println("Success!"); delay(10000);

Тут функція writeByte()буде наступною:

int writeByte(byte data) ( int data_bit; for(data_bit=0; data_bit<8; data_bit++) { if (data & 1) { digitalWrite(pin, LOW); pinMode(pin, OUTPUT); delayMicroseconds(60); pinMode(pin, INPUT); digitalWrite(pin, HIGH); delay(10); } else { digitalWrite(pin, LOW); pinMode(pin, OUTPUT); pinMode(pin, INPUT); digitalWrite(pin, HIGH); delay(10); } data = data >> 1; ) return 0; )

Тимчасову діаграму роботи скетчу запису ідентифікатора ключа показувати безглуздо, т.к. вона довга і не поміститься малюнку. Проте файл *.logicdata для програми логічного аналізатора прикладаю наприкінці статті.

Ключі домофону бувають різних типів. Цей код підійде не для всіх ключів, а для RW1990 або RW1990.2. Програмування ключів інших типів може призвести до виходу з ладу!

За бажання можна переписати програму для ключа іншого типу. Для цього скористайтесь технічним описом Вашого типу ключа (datasheet) та змінити скетч відповідно до опису. Завантажити datasheet для ключів iButtonможна у додатку до статті.

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

4 Опис однопровідногоінтерфейсу 1-Wire

Давайте трохи глибше познайомимось із інтерфейсом One-wire. По організації він схожий на інтерфейс I2C: в ньому також має бути присутнім провідний пристрій (master), який ініціює обмін, а також один або кілька ведених пристроїв (slave). Усі пристрої підключені до однієї загальної шини. Пристрої iButton – завжди ведені. Як майстра найчастіше виступає мікроконтролер чи ПК. Швидкість передачі становить 16,3 кбіт/сек. Шина в стані очікування знаходиться у логічній "1" (HIGH). У цьому протоколі передбачено лише 5 типів сигналів:

  • імпульс скидання (master)
  • імпульс присутності (slave)
  • запис біта "0" (master)
  • запис біта "1" (master)
  • читання біта (master)
За винятком імпульсу присутності всі інші генерує майстер. Обмін завжди відбувається за схемою: 1) Ініціалізація 2) Команди роботи з ПЗУ 3) Команди роботи з ППЗУ 4) Передача даних.

1) Ініціалізація

Ініціалізація полягає в тому, що ведучий виставляє умову скидання RESET (на час від 480 мкс або більше опускає лінію в "0", а потім відпускає її, і за рахунок резистора, що підтягує, лінія піднімається в стан "1"), а ведений не пізніше ніж через 60 мкс після цього повинен підтвердити присутність, також опустивши лінію "0" на 60…240 мкс і потім звільнивши її:


2) Команди роботи з ПЗУ

Якщо після імпульсу ініціалізації не надійшов сигнал підтвердження, майстер повторює опитування шини. Якщо сигнал підтвердження прийшов, то майстер розуміє, що на шині є пристрій, який готовий до обміну, і надсилає йому одну з чотирьох 8-бітних команд роботи з ПЗУ:

(*) До речі, сімейств iButton пристроїв існує досить багато, деякі з них перераховані в таблиці нижче.

Коди сімейств пристроїв типу iButton(розгортається)
Код сімействаПристрої iButtonОпис
0x01DS1990A, DS1990R, DS2401, DS2411Унікальний серійний номер-ключ
0x02DS1991Мультиключ, 1152-бітна захищена EEPROM
0x04DS1994, DS24044 кб NV RAM + годинник, таймер та будильник
0x05DS2405Одиночний адресований ключ
0x06DS19934 кб NV RAM
0x08DS19921 кб NV RAM
0x09DS1982, DS25021 кб PROM
0x0ADS199516 кб NV RAM
0x0BDS1985, DS250516 кб EEPROM
0x0CDS199664 кб NV RAM
0x0FDS1986, DS250664 кб EEPROM
0x10DS1920, DS1820, DS18S20, DS18B20Датчик температури
0x12DS2406, DS24071 кб EEPROM + двоканальний адресований ключ
0x14DS1971, DS2430A256 біт EEPROM і 64 біт PROM
0x1ADS1963L4 кб NV RAM + лічильник циклів запису
0x1CDS28E04-1004 кб EEPROM + двоканальний адресований ключ
0x1DDS24234 кб NV RAM + зовнішній лічильник
0x1FDS2409Двоканальний ключ, що адресується, з можливістю комутації на поворотну шину
0x20DS2450Чотирьохканальний АЦП
0x21DS1921G, DS1921H, DS1921ZТермохронний датчик із функцією збору даних
0x23DS1973, DS24334 кб EEPROM
0x24DS1904, DS2415Годинник реального часу
0x26DS2438Датчик температури, АЦП
0x27DS2417Годинник реального часу з перериванням
0x29DS2408Двонаправлений 8-розрядний порт вводу/виводу
0x2CDS2890Одноканальний цифровий потенціометр
0x2DDS1972, DS24311 кб EEPROM
0x30DS2760Датчик температури, датчик струму, АЦП
0x37DS197732 кб захищеної паролем EEPROM
0x3ADS2413Двоканальний комутатор, що адресується.
0x41DS1922L, DS1922T, DS1923, DS2422Термохронні та гігрохронні датчики високої роздільної здатності з функцією збору даних
0x42DS28EA00Цифровий термометр із програмованою роздільною здатністю, можливістю працювати в режимі підключення до послідовного каналу та програмованими портами вводу/виводу
0x43DS28EC2020 кб EEPROM

Дані передаються послідовно, біт за бітом. Передачу кожного біта ініціює провідний пристрій. При записі ведучий опускає лінію до нуля та утримує її. Якщо час утримання лінії дорівнює 1...15 мкс, значить записується біт "1". Якщо час утримання від 60 мкс і вище – записується біт "0".

Читання бітів також ініціюється майстром. На початку читання кожного біта майстер встановлює низький рівень на шині. Якщо ведений пристрій хоче передати "0", він утримує шину в стані LOW на час від 60 до 120 мкс, а якщо хоче передати "1", то на час приблизно 15 мкс. Після цього ведений відпускає лінію, і за рахунок резистора, що підтягує, вона повертається в стан HIGH.

Так, наприклад, виглядає тимчасова діаграма команди пошуку Search ROM (0xF0). Червоний колір на діаграмі позначені команди запису бітів. Зверніть увагу на порядок проходження бітів при передачі по 1-Wire: старший біт праворуч, молодший - ліворуч.


3) Команди роботи з ППЗУ

Перш ніж розглядати команди для роботи з ППЗУ iButton, необхідно кілька слів сказати про структуру пам'яті ключа. Пам'ять розділена на 4 рівні ділянки: три з них призначені для зберігання трьох унікальних ключів, а четверта - для тимчасового зберігання даних. Цей тимчасовий буфер служить своєрідною чернеткою, де дані готуються для запису ключів.


Для роботи з ППЗУ існують 6 команд:

НазваКомандаПризначення
Записати до тимчасового буфера (Write Scratchpad)0x96Використовується для запису даних у часовий буфер (scratchpad).
Прочитати з тимчасового буфера (Read Scratchpad)0x69Використовується для читання даних із тимчасового буфера.
Копіювати з тимчасового буфера (Copy Scratchpad)0x3CВикористовується для передачі даних, підготовлених у тимчасовому буфері, у вибраний ключ.
Записати пароль ключа (Write Password)0x5AВикористовується для запису пароля та унікального ідентифікатора вибраного ключа (одного із трьох).
Записати ключ (Write SubKey)0x99Використовується для безпосереднього запису даних у вибраний ключ (минаючи тимчасовий буфер).
Прочитати ключ (Read SubKey)0x66Використовується для читання даних вибраного ключа.

4) Передача даних

Далі буде...

5 Можливі помилкипри компіляції скетчу

1) Якщо при компіляції скетчу виникне помилка WConstants.h: Немає такого файлу або directory #include "WConstants.h",те, як варіант, слід у файлі OneWire.cppзамінити перший блок після коментарів на наступний:

#include #include extern "C" (#include #include }

2) Якщо при компіляції з'являється помилка class OneWire has no member named read_bytes,то знайдіть та спробуйте використати іншу бібліотеку для роботи з інтерфейсом OneWire.

© 2022 androidas.ru - Все про Android