Eshik telefonining kalitini o'qish vositasi. Interkom kalitini takrorlovchi: bu nima va uni qanday qilish kerak? Dublikatlarni tayyorlash narxi

Hammaga xayrli kun!
Sizning e'tiboringizga interkom kalitlarining duplikatorini (nusxa ko'chiruvchisini) taklif qilmoqchiman.
Nusxa ko'chirish mashinasi kalit fob yoki kartani o'qishi / yozishi mumkin.
Men uzoq vaqtdan beri interkomdan kalitlarni nusxalash uchun arzon qurilmani sinab ko'rishni xohlardim. Va endi bu vaqt keldi, shuning uchun boshlaylik.

Buyurtma 3 hafta ichida keldi.

Interkom kalitlari. Kichik ta'lim dasturi.

Kalitlar:

  • Aloqa. Rasmiy nomi - Touch memory (qisqartirilgan TM) yoki iButton
(ya'ni ular o'quvchiga qo'llanilishi kerak)
Bularga quyidagilar kiradi:

Dallas.

Ko'p hollarda TM Dallas oilasining kalitiga ishora qiladi (masalan, DS1990A). Ko'pgina qurilmalar bu tugmalar bilan ishlaydi: Vizit, Eltis, Z-5R, S2000-2 va boshqalar.

Cyfral.

Bu interkomlar faqat DC2000A va Tsifral-KP1 kalitlari bilan ishlaydi.

Metakom.

Bu interkomlar uchun K1233KT2 kalitlari ishlab chiqilgan. Bu tugmalar boshqa ko'plab kontrollerlar uchun ham ishlaydi.

Qarshilik.

Rezistiv kalitlar bilan ishlaydigan ekzotik interkomlar mavjud. Kod o'rniga, ulardan qarshilik o'qiladi. Shubhasiz, bu kontakt kalitlari, lekin men ularni sensorli xotira deb atamagan bo'lardim.
  • Kontaktsiz. Rasmiy nomi - RFID.
(ularni o'quvchiga 2-3 sm masofada olib kelish kifoya).

Kartalar, kalit uzuklar, bilaguzuklar va boshqalar ko'rinishida ishlab chiqariladi. Umumiy nomi "kartalar" va "tomchilar" (kalit halqalar). 10-15 sm gacha ishlaydigan kalitlarga yaqinlik (qisqa masofali), 1 m gacha ishlaydiganlar-yaqinlik (uzoq masofali) deyiladi. Interkomlarda faqat yaqinlik tugmachalari ishlatiladi va bu atama "yaqinlik kaliti" bilan deyarli sinonimga aylandi.

Yaqinlik dunyosida formatlarning bir xilligi yo'q:

EM-Marin

Bugungi kunda eng mashhur format.

HID

kontaktsiz kalitlar orasidagi oqsoqol.

MIFARE

istiqbolli format. Kontaktsiz smart -kartalar unga tegishli.

Bu qurilma FAQAT 125 KHz chastotali kontaktsiz kalitlarni nusxalash uchun mo'ljallangan.
Boshqa kalitlarni nusxalash mumkin emas.

Paket tarkibi:






Yetkazib berish tarkibi:

- RFID 125 kHz EM4100 ID karta nusxa ko'chirish moslamasi;
- qayta yoziladigan kalit zanjirlar 6 dona;
- qayta yoziladigan kartalar 6 dona;
- ko'rsatma (ingliz-xitoy).
AAA batareyalari qo'shilmagan.

Qurilmaning tashqi ko'rinishi:






Qurilmaning ichki qismi:










Qurilma yoqilgan holatda:


(qizil chiroq yonadi, bu qurilma yoqilganligini bildiradi)

Ichki kalitlar:


Ko'rsatmalar:




  • Nusxalash jarayoni:
1. Ikkita AAA batareyasini joylashtiring.
2. O'ng tomonda joylashgan o'tish tugmachasini yoqing (POWER yozuvi bilan qizil ko'rsatkich yonadi va ikkita qisqa signal eshitiladi).
3. Biz kartani yoki kalit fobni chap yon devorga, POWER yozuvi darajasida olib kelamiz.
4. "READ" tugmasini bosing. Bunga javoban, dublikatchi 2 marta chinqiradi va "PASS" yozuvi bo'lgan yashil LED yonadi.
5. Yorliq o'qilgan kartani yoki kalit fobini olib tashlang.
6. Biz nusxa ko'chirish mashinasiga qayta yoziladigan kartani yoki kalit fobni olib kelamiz. "YOZISH" tugmasini bosing. Bir muncha vaqt BUSY yozuvi bor sariq LED yonib -o'chadi va ikkita signal eshitiladi. Yangi kalit fob yoki karta bilan hamma narsani ishlatish mumkin.

O'qish va yozish jarayonining videosi:

Pastki chiziq.

Hammasi ajoyib ishlaydi. Agar siz 125KHz chastotali RFID kalitlarining bir nechta nusxasini yasashingiz kerak bo'lsa, siz xavfsiz sotib olishingiz mumkin, ayniqsa, to'plamda 6 ta kalit va 6 ta karta mavjud va bitta nusxaning o'rtacha narxi 100 rublni tashkil qiladi, foyda aniq. Agar Internetda bezak yoki kartalar tugab qolsa, siz 20 rubl ichida sotib olishingiz mumkin.
Ushbu qurilmani sotib olishdan oldin men sizga kalitingizning chastotasi va turini bilib olishni maslahat beraman, aks holda pulingizni behuda sarflaysiz.

Agar sizga sharh yoqsa yoki qurilma tanlashda yordam bersangiz, bu bizga yoqadi, bu mening ishim uchun eng yaxshi mukofotingiz.
E'tiboringiz uchun barchangizga rahmat!

Mahsulot do'kon tomonidan sharh yozish uchun taqdim etilgan. Sharh Sayt qoidalarining 18 -bandiga muvofiq e'lon qilinadi.

Men +88 sotib olishni rejalashtirmoqdaman Sevimlilarga qo'shing Menga sharh yoqdi +44 +83

Hayrli kun! Qanday bo'lmasin, men interkom kalitining nusxasi uchun 150 rubl to'lashdan charchadim va Arduino -da oddiy, byudjetli iButton duplikatorini yig'ishga qaror qildim. Bunday tayyor qurilmalarning narxi "tishlaydi", garchi ularning funksionalligi kengroq bo'lsa-da, ular deyarli hamma narsani, jumladan simsiz kalitlarni nusxa ko'chiradi. Men faqat iButton tugmachasini "tugma" dan nusxalashim kerak. Qiziq? Men "kesishni" so'rayman!

Shunday qilib, boshlaylik! Boshlash uchun "texnik topshiriq", bu qurilma nima qila olishi kerak:
1) Kalitning mazmunini o'qing, menimcha, u erda nima ulangan.
2) Kalitlarni nusxalash, g'alati tuyuladi :)
3) "universal" kalitini yondiring. "Umumjahon" so'zi bilan biz o'z kalitlarimizni nazarda tutamiz, ular sukut bo'yicha yoziladi.

UPD. Juda muhim! Agar birinchi bayt bo'lsa, oila kodi bo'ladi 00 , masalan 00 : 12: 34: 56: AB: CD: EF: AA, keyin dasturiy ta'minotdan so'ng kalit "o'ladi", uni bu dasturchi o'qimaydi va ehtimol boshqalar. Do'st 16: AB: CD: EF: E0 orqali noto'g'ri aniqlangan nazorat yig'indisi tufayli empirik tarzda ochildi. E0... Tekshirish summasi noto'g'ri bo'lgani uchun, eshik telefoni uni o'qiyotganda bu ketma -ketlikni e'tiborsiz qoldiradi. Bu interkom qayta yoziladigan barcha kalitlarni buzdi, men nima bo'lganini va nima uchun kalitlardagi ma'lumotlar "o'z -o'zidan" o'zgarganini tushunib etdim. Natijada, bu interkom uchun dublikat olishning iloji bo'lmadi, men xizmat ko'rsatuvchi tashkilotga borib, 100 rubllik kalitga buyurtma berishga majbur bo'ldim. :)


Natijada, biz uy xo'jaligida kulgili pul evaziga foydali narsaga ega bo'lamiz, yozish uchun "blankalar" sotiladi, garchi siz ularni oflaynda har birini 30 rubldan, bozorda nusxa ko'chiruvchilardan 100 - 150 rublga topishingiz mumkin :).
UPD. Bu duplikator yordamida qanday turdagi kalitlarni yozish mumkinligi haqida o'qiymiz. Yordam uchun rahmat do'stim "y.
UPD. Agar kalit yozilmagan bo'lsa, o'rtoqqa ergashing. Men +197 sotib olishni rejalashtiryapman Sevimlilarga qo'shing Menga sharh yoqdi +95 +184

Tugmalar bilan ishlashda bevosita ishlatiladigan KeyCopy Pro interfeys elementlari Kalitlar bilan ishlash... Duplikator kompyuterga USB kabeli bilan ulangan bo'lishi kerak, shuningdek dasturda ulangan bo'lishi kerak.

O'qish kalitlari

Duplikator dastur rejimida bo'lishi kerak. Duplikatorni tugmachalarni bosib kalit o'qish rejimiga o'tkazing O'qish yoki Qayta o'rnatish.

Kalitni duplikator o'quvchisiga ulang. O'qishdan so'ng, duplikator ovozli signal chiqaradi va maydonda Kalit kod kalit kodi va uning formatini o'z ichiga olgan ma'lumotlar ko'rsatiladi.

Koptok korpusining orqa devorining o'rtasiga kontaktsiz proksi -kartalar va kalit foblar qo'llanilishi kerak.

Turli holatlarda, kalitlarni o'qiyotganda, quyidagilar ham bo'lishi mumkin:

  • Funktsiya yoqilganda dasturni yozish rejimiga o'tkazish O'qiganingizdan keyin yozing dastur sozlamalarida;
  • Funktsiya yoqilganda o'qish kalitini dasturlar bazasiga qo'shish Ma'lumotlar bazasiga o'qish kalitini qo'shing dastur sozlamalarida;
  • Key key maydonida quyidagi xabar paydo bo'ladi. CRC xatosi noto'g'ri nazorat summasi bo'lgan Dallas kalitini o'qiyotganda (masalan, FF kodli bo'sh blank);
  • Kalit kodi maydonida Dallas DS1992L, DS1993L, DS1996L tugmachalarini o'qiyotganda qo'shimcha xotira mavjudligi to'g'risidagi ma'lumotlar ko'rsatiladi;

Kalitlarni yozib olish

Agar variant tanlansa Kalitni o'qiyotganda, yozishga o'ting, dublikat avtomatik ravishda yozish rejimiga o'tadi, agar bo'lmasa, tugmani bosing Yozib olish... Yordam ma'lumotlari maydonida joriy tugmachani nusxalash uchun mos keladigan bo'sh tugmalar haqida ko'rsatma paydo bo'ladi va duplikatorda kalit kodi va turi ko'rsatiladi.

Yakunlashni, RFID parolini yoqing yoki kerak bo'lganda preform turini tanlang. Asl kalitlarning tegishli turlari uchun qo'llab -quvvatlanadigan bo'sh joylar jadvalda ko'rsatilgan:

Asl kalit Qo'llab -quvvatlanadigan ish qismlari Eslatma
Dallas DS1990
Dallas DS1992L, DS1993L, DS1996L - Asosiy xotira bilan ishlash
Cyfral KS-07, KS-07Ts, KS-7TM, TM-01, RW057
TM-01A, RW15 *
KS-3TM (analoglari: TM2004, RW2004), KS-4TM (analoglari: RW1990, RW1990.1, TM08, TM08v2, TM08Vi, TM08Vi2), RW1990.2, TM-01, TM08viF * Transkodlash bilan yozib olish
Metakom KS-07, KS-07Ts, KS-7TM, TM-01
TM-01A, RW15 * Elektr sozlamalari bilan
KS-3TM (analoglari: TM2004, RW2004), KS-4TM (analoglari: RW1990, RW1990.1, TM08, TM08v2, TM08Vi, TM08Vi2), RW1990.2, TM-01, TM08viF * Transkodlash bilan yozib olish
EM-dengiz piyodalari T5557 (analoglari: T5567, T5577), EM4305 * (analoglari: EM4205) Parolni kiritish mumkin
i57, i57v2 *
OTP * Bir martalik bo'sh
HID 44, 26, 34, 37 Parolni kiritish mumkin
Indala T5557 (analoglari: T5567, T5577) Parolni kiritish mumkin

* KeyCopy 4v2 uchun

Shundan so'ng, bo'sh kalitni o'quvchiga ulang. Agar yozib olish muvaffaqiyatli bo'lsa, duplikator ovozli signal chiqaradi va ishlatilgan bo'shliqning turi va yozilgan tugmalar soni mos yozuvlar ma'lumoti maydonida ko'rsatiladi.

Cyfral va Metakom tugmachalarini yozayotganda, duplikatorning "Bo'sh tanlash" tugmasi yoki "Yuqoriga" va "Pastga" tugmalari yordamida bo'sh joy turini tanlash kerak.

Agar rejimlarga rioya qilinmasa, ish qismlari ishdan chiqishi mumkin.

Bitta kalitdan bir nechta nusxa olish

Bir nechta nusxa ko'chirish uchun siz bitta kalitni nusxalashingiz kerak, so'ngra yozish rejimidan chiqmasdan, o'quvchiga boshqa bo'sh tugmachalarni qo'llang. Har bir ishlov beriladigan qismni yozib olgandan so'ng, duplikator ovozli signal chiqaradi va ishlatilgan ishlov beriladigan qismning turi va yozilgan tugmachalarning soni mos yozuvlar ma'lumoti maydonida ko'rsatiladi.

Bir nechta asosiy kalitlardan nusxa ko'chirish

Bir nechta asl tugmachalardan nusxa ko'chirish uchun, keyingi asl kalitni nusxalashdan oldin, duplikatorni tugmani bosib kalitlarni o'qish rejimiga o'tkazing. Qayta o'rnatish(yoki O'qish) yoki tugma Orqaga dublikat ustida.

Yakunlash va RFID parol vazifalari

Yakunlash funktsiyasi ish qismini qayta yozish imkoniyatini blokirovka qilish uchun mo'ljallangan. Ba'zi hollarda, kalitni yakunlash interkomlarga o'rnatilgan filtrlarni o'tkazishga imkon beradi.

Parolni yozish funktsiyasi ushbu qurilmadagi kalitni qayta -qayta yozish imkonini beradi, boshqa birliklar esa uni tugallangan deb qabul qiladi. Har bir qurilma uchun parol o'ziga xosdir. Agar kerak bo'lsa, parolni qurilma sozlamalarida o'zgartirish mumkin: "Sozlamalar" - "Himoyalangan bo'lim" - "RFID paroli" yoki dasturning "Sozlamalar" ko'rinishida.

Yakunlash funktsiyasini (Dallas, EM-Marine, HID, Indala formatlari) yoki parolni (EM-Marine, HID, Indala formatlari) yoqish uchun tugmani bosing. Yozib olish funktsiyalari yoki tugmalar Yuqoriga yoki Pastga dublikat ustida. Kalitni o'qib bo'lgach, yakunlash va parol funktsiyalari o'chiriladi.

Parolni T5 ish qismidan olib tashlash uchun, ish qismiga parolsiz har qanday kodni yozing.

Ish qismlarini qayta yozish

Ba'zi hollarda, ish qismlariga yozilgan kod bilan qayta yozish mumkin:

  • Kodni asl kalit yoki OTP bo'sh joyiga qayta yozib bo'lmaydi;
  • KS-3TM, TM08viF, T5557, EM4305, i57v2 bo'sh joylari, agar ular yakunlanmagan bo'lsa, ustiga yozilishi mumkin;
  • Bo'sh joylar KS-4TM, RW1990.2, KS-07, KS-07Ts, RW057, RW15, TM-01A, TM-01C har doim ustidan yozilishi mumkin;
  • KS-7TM ish qismini har doim yozib qo'yish mumkin, lekin uni qayta yozishda muvaffaqiyatli yozish signali paydo bo'lgunga qadar uni kontaktorga 15 ... 20 soniya ushlab turish kerak;
  • TM-01 ish qismi Cyfral va Metakom rejimlarida yozish paytida har doim yakunlanadi. TM-01C va TM-01A blankalarini duplikatorning asosiy menyusidagi "O'chirish" funktsiyasi yordamida qayta yozish yoki tiklash mumkin;
  • Belgilangan parolga ega T5557 va EM4305 ish qismlari, agar qurilma paroli ishlov beriladigan qismga o'rnatilgan parolga mos kelsa, ustiga yozilishi mumkin.

Ish qismlarining elektr parametrlarini o'rnatish

RW15 va TM-01A ishlov beriladigan qismlari Cyfral va Metakom rejimlarida o'z elektr parametrlarini o'zgartirish imkoniyatiga ega: ishlov beriladigan qism sarflaydigan oqim darajasi va kod chiqarish tezligi. Ushbu parametrlarni o'zgartirish sizga ma'lum bir kalitga mos keladigan ishlov beriladigan qismning xususiyatlarini berishga imkon beradi. Elektr xususiyatlarini sozlash interkom filtrlarini chetlab o'tish zarur bo'lganda amalga oshiriladi, bu har bir holatda individualdir.

RW15 va TM-01A blankalarining elektr parametrlari kalit kod yozuvi bilan bir vaqtda o'rnatiladi. Parametr qiymatlari duplikator menyusida "Sozlamalar" - "Options TM -01", "Options RW15" yoki "Sozlamalar" - "Bo'sh variantlar" yorlig'ida o'zgartirilishi mumkin.

RW15 ishlov beriladigan qism sozlamalariga quyidagilar kiradi: "Yuklanish" (yuk qarshiligini yuklash joriy darajani oshiradi) va "Tezlik" (kalit kodini berish tezligi, 4 qiymat).

TM-01A ish qismi sozlamalariga quyidagilar kiradi: "Yuklanish" (joriy darajadagi sozlash, 3 qiymat) va "Kod davri" (kod davrining uzunligi, 7 qiymat).

Interkom uchun har bir kalit o'z raqamiga ega - bu raqam identifikator vazifasini bajaradi. Bu interkomni o'zingiz yoki boshqa birovning telefon raqami hal qiladi. Shuning uchun nusxa ko'chirish algoritmi quyidagicha: avval siz ruxsat berilgan kalitning raqamini bilib olishingiz kerak, so'ngra bu raqamni boshqa kalitga - klonga belgilashingiz kerak. Interkom uchun asl kalit yoki uning nusxasi biriktirilganmi farqi yo'q. Raqamli ma'lumotlar bazasi bilan raqamni tekshirgandan so'ng, u eshikni ochadi.

Biz Arduino -ga ulanadigan interkom kalitlari (ularni ba'zan shunday deyishadi iButton yoki Xotiraga teging) o'qiladi va yoziladi bitta simli interfeysda 1 simli... Shuning uchun, ulanish sxemasi juda oddiy. Bizga faqat bir juft sim va 2.2K tortish qarshiligi kerak. Ulanish diagrammasi rasmda ko'rsatilgan.

Yig'ilgan diagramma shunga o'xshash bo'lishi mumkin:


2 IButton kalit identifikatorini o'qish arduino yordamida

1 simli interfeys bilan ishlash uchun Arduino uchun tayyor kutubxonalar mavjud. Siz, masalan, bulardan foydalanishingiz mumkin. Arxivni yuklab oling va uni papkaga joylashtiring / kutubxonalar / Arduino IDE katalogida joylashgan. Endi biz bu protokol bilan oson ishlay olamiz.

Ushbu eskizni standart tarzda Arduino -ga yuklang:

IButton tugmachasini Arduino yordamida o'qish eskizi(ochiladi) #qo'shing OneWire iButton (10); // 10-pinli 1 simli ob'ektni yarating bo'sh o'rnatish (bekor) ( Serial.begin (9600); void loop (void) (bo'sh) kechikish (1000); // kechikish 1 sek bayt addr; // kalit ma'lumotlarini saqlash uchun qator, agar! (! dasturni uzish) Serial.print ("Kalit:"); uchun (int i = 0; i)

Ushbu eskiz sxemaga ulangan interkomning kalit raqamini ko'rsatadi. Bu bizga hozir kerak: biz nusxa ko'chirmoqchi bo'lgan kalitning sonini bilishimiz kerak. Arduino -ni kompyuteringizga ulang. Keling, ketma -ket port monitorini ishga tushiramiz: Seriya port monitor vositalari(yoki klaviatura yorliqlari Ctrl + Shift + M).

Endi kalitni sxemaga ulaymiz. Port monitorida kalit raqami ko'rsatiladi. Keling, bu raqamni eslaylik.


Kalit identifikatorini o'qishda bitta simli liniyada qanday almashinuv amalga oshiriladi (batafsilroq - quyida):

Albatta, rasmda barcha tafsilotlar ko'rsatilmagan. Shuning uchun, maqolaning oxirida mantiq analizatori va dastur yordamida olingan * .logicdata formatidagi vaqt jadvalini biriktiraman. Saleae mantiqiy analizatori va unga oshkor qildi. Dastur bepul va uni Saleae rasmiy veb -saytidan yuklab olish mumkin. * .Logicdata faylini ochish uchun dasturni ishga tushirish kerak, Ctrl + O kombinatsiyasini yoki menyuda Variantlar(yuqori o'ngda joylashgan) elementni tanlang Rasmga tushirish / sozlashni ochish.

3 Dallas kalit identifikatori yozuvi arduino yordamida

Endi iButton kalit xotirasiga ma'lumotlarni yozish uchun eskiz yozamiz.

Arduino yordamida IButton kalit yozish eskizi(ochiladi) #qo'shing // kutubxonani ulang const int pin = 10; // pin raqamini e'lon qiling OneWire iButton (pin); // OneBire ob'ektini iButton -ga yozmoqchi bo'lgan 10 -pinli // kalit raqamida e'lon qiling: bayt key_to_write = (0x01, 0xF6, 0x75, 0xD7, 0x0F, 0x00, 0x00, 0x9A); bo'sh o'rnatish (bekor) ( Serial.begin (9600); pin rejimi (pin, OUTPUT); void loop (void) (bo'sh) kechikish (1000); // 1 soniya kechikish iButton.reset (); // qurilmani qayta o'rnatish 1-simli kechikish (50); iButton.write (0x33); // "o'qish" buyrug'i bayt ma'lumotlarini yuborish; // iButton.read_bytes kalit ma'lumotlarini saqlash uchun massiv (ma'lumotlar, 8); // biriktirilgan kalit ma'lumotlarini o'qing, 8x8 = 64 bit, agar (OneWire :: crc8 (ma'lumotlar, 7)! = ma'lumotlar) (// biriktirilgan kalit Serial.println ("CRC xatosi!") nazorat summasini tekshiring); agar CRC to'g'ri bo'lmasa, biz uni qaytarish haqida xabar beramiz; // va dasturni to'xtatamiz) if (ma'lumotlar va ma'lumotlar va ma'lumotlar va ma'lumotlar va ma'lumotlar va ma'lumotlar va ma'lumotlar va ma'lumotlar == 0xFF) (qaytish; // agar kalit bo'lmasa o'quvchiga biriktirilgan, dasturni to'xtatib turing va ilova qilingancha kuting) Serial.print ("Dasturlashni boshlash ..."); // kalit uchun ma'lumotlarni yozish jarayonini boshlang (int i = 0; i) // iButton tabletka kalitiga ma'lumotlarni yozishni boshlash: void send_programming_impulse () ( digitalWrite (pin, HIGH); kechikish (60); digitalWrite (pin, LOW); kechikish (5); digitalWrite (pin, HIGH); kechikish (50); }

Asl kalit raqamini qatorga qo'yishni unutmang key_to_write biz ilgari bilib olganmiz.

Ushbu eskizni Arduino -ga yuklang. Keling, ketma -ket port monitorini ochamiz (Ctrl + Shift + M). Keling, kalitni kontaktlarning zanglashiga ulaylik, bu asl kalitning klonidir. Ketma -ket port monitorida dasturlash natijasi to'g'risida xabar paydo bo'ladi.

Agar bu eskiz ishlamasa, keyin kodni almashtirishga harakat qiling Serial.print ("Dasturlashni boshlash ...") funktsiyaning oxirigacha pastadir () keyingisiga:

IButton kalitini Arduino yordamida yozishning qo'shimcha eskizi(ochiladi) kechiktirish (200); iButton.skip (); iButton.reset (); iButton.write (0x33); // joriy kalit raqamini o'qish Serial.print ("ID yozishdan oldin:"); uchun (bayt 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);

Bu erda funktsiya writeByte () quyidagicha bo'ladi:

int writeByte (bayt ma'lumotlari) ( int data_bit; uchun (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; ) 0 qaytarish; )

Kalit identifikatorining yozuv eskizining ishlash vaqtini ko'rsatishning ma'nosi yo'q, chunki u uzun va rasmga mos kelmaydi. Biroq, men maqolaning oxirida mantiq analizator dasturi uchun * .logicdata faylini biriktiraman.

Interkom kalitlari har xil. Bu kod hamma kalitlarga mos kelmaydi, faqat RW1990 yoki RW1990 uchun. Boshqa turdagi kalitlarni dasturlash kalitlarning ishdan chiqishiga olib kelishi mumkin!

Agar xohlasangiz, dasturni boshqa turdagi kalitlarga qayta yozishingiz mumkin. Buning uchun kalit turining texnik tavsifidan foydalaning (ma'lumotlar sahifasi) va eskizni tavsifga muvofiq o'zgartiring. IButton tugmachalari uchun ma'lumotlar jadvalini yuklab oling maqolaning ilovasida topish mumkin.

Aytgancha, ba'zi zamonaviy interkomlar nafaqat kalit identifikatorini, balki asl kalitda yozilgan boshqa ma'lumotlarni ham o'qiydi. Shuning uchun faqat raqamni nusxalash orqali klon yaratish ishlamaydi. Siz asosiy ma'lumotlarni to'liq nusxalashingiz kerak.

4 Yagona simlarning tavsifi 1-simli interfeys

Keling, bitta simli interfeysni chuqurroq ko'rib chiqaylik. Tashkilot nuqtai nazaridan u I2C interfeysiga o'xshaydi: u, shuningdek, almashinuvni boshlaydigan asosiy qurilmani (master), shuningdek, bir yoki bir nechta qul qurilmalarni (qullarni) o'z ichiga olishi kerak. Barcha qurilmalar bitta umumiy avtobusga ulangan. IButtonlar har doim qul. Ko'pincha mikrokontroller yoki kompyuter usta vazifasini bajaradi. Ma'lumot uzatish tezligi 16,3 kbit / s. Avtobus "1" (YUQORI) mantig'ida bo'sh holatda. Ushbu protokol faqat 5 turdagi signallarni beradi:

  • pulsni tiklash (master)
  • yurak urishi (qul)
  • bitni yozing "0" (usta)
  • bitni yozing "1" (usta)
  • bitni o'qing (usta)
Yurish pulsidan tashqari, qolgan hamma narsani usta yaratadi. Ayirboshlash har doim quyidagi sxema bo'yicha amalga oshiriladi: 1) Boshlash 2) ROM bilan ishlash buyruqlari 3) EPROM bilan ishlash buyruqlari 4) Ma'lumot uzatish.

1) ishga tushirish

Boshlanish, usta RESET holatini o'rnatadi (480 miks yoki undan ko'p vaqt davomida, chiziqni "0" ga tushiradi, so'ng uni qo'yib yuboradi va tortish qarshiligi tufayli chiziq ". 1 "holati) va qul 60 mkdan kechiktirmay, uning mavjudligini tasdiqlashi kerak, shuningdek, chiziqni" 0 "ga 60 ... 240 mksga tushiradi va keyin qo'yib yuboradi:


2) ROM bilan ishlash buyruqlari

Agar ishga tushirish pulsidan keyin tasdiqlash signali olinmasa, master avtobus so'rovini takrorlaydi. Agar tasdiqlash signali kelsa, usta avtobusda almashishga tayyor qurilma borligini tushunadi va ROM bilan ishlash uchun to'rtta 8-bitli buyruqlardan birini yuboradi:

(*) Aytgancha, iButton qurilmalari oilalari juda ko'p, ularning ba'zilari quyidagi jadvalda keltirilgan.

IButton qurilmasining oilaviy kodlari(ochiladi)
Oila kodiIButton qurilmalariTavsif
0x01DS1990A, DS1990R, DS2401, DS2411Noyob seriya raqami kaliti
0x02DS1991Ko'p kalitli, 1152 bitli himoyalangan EEPROM
0x04DS1994, DS24044KB NV RAM + soat, taymer va budilnik
0x05DS2405Yagona manzilli kalit
0x06DS19934 KB NV tezkor xotira
0x08DS19921 KB NV tezkor xotira
0x09DS1982, DS25021 kb PROM
0x0ADS199516 kb NV tezkor xotira
0x0BDS1985, DS250516 kB EEPROM
0x0CDS199664 kb NV tezkor xotira
0x0FDS1986, DS250664 kb EEPROM
0x10DS1920, DS1820, DS18S20, DS18B20harorat sensori
0x12DS2406, DS24071 kB EEPROM + ikki kanalli manzilli kalit
0x14DS1971, DS2430A256 bitli EEPROM va 64 bitli PROM
0x1ADS1963L4 KB NV RAM + yozish tsikli hisoblagichi
0x1CDS28E04-1004 KB EEPROM + ikki kanalli manzilli kalit
0x1DDS24234 kb NV RAM + tashqi hisoblagich
0x1FDS2409Qaytish avtobusiga o'tish qobiliyatiga ega ikkita kanalli manzil
0x20DS2450To'rt kanalli ADC
0x21DS1921G, DS1921H, DS1921ZMa'lumot yig'ish funktsiyasiga ega termoxron sensori
0x23DS1973, DS24334 KB EEPROM
0x24DS1904, DS2415Haqiqiy vaqt soati
0x26DS2438Harorat sensori, ADC
0x27DS2417To'xtash bilan real vaqt soati
0x29DS2408Ikki tomonlama 8-bitli kirish-chiqish porti
0x2CDS2890Bir kanalli raqamli potentsiometr
0x2DDS1972, DS24311 kB EEPROM
0x30DS2760Harorat sensori, oqim sensori, ADC
0x37DS197732KB parol bilan himoyalangan EEPROM
0x3ADS2413Dual Link manzilli kalit
0x41DS1922L, DS1922T, DS1923, DS2422Ma'lumot yig'ish funktsiyasiga ega yuqori aniqlikdagi termoxron va gigrokron sensorlar
0x42DS28EA00Dasturlashtiriladigan piksellar soniga, ketma -ket rejimga va dasturlashtiriladigan kirish -chiqish portlariga ega raqamli termometr
0x43DS28EC2020 kB EEPROM

Ma'lumotlar ketma -ket, asta -sekin uzatiladi. Har bir bitning uzatilishi usta tomonidan boshlanadi. Yozayotganda, ko'rsatuvchi chiziqni nolga tushiradi va ushlab turadi. Agar chiziqni ushlab turish vaqti 1 ... 15 mikron bo'lsa, bit "1" yoziladi. Agar ushlab turish vaqti 60 ms yoki undan ko'p bo'lsa, bit "0" yoziladi.

Bitlarni o'qish ham usta tomonidan boshlanadi. Har bir bitni o'qish boshida usta avtobusni pastga qo'yadi. Agar qul qurilmasi "0" ni uzatishni xohlasa, u avtobusni LOW holatida 60 dan 120 miksgacha ushlab turadi, va agar u "1" ni uzatmoqchi bo'lsa, u holda taxminan 15 mks. Shundan so'ng, qul chiziqni qo'yib yuboradi va tortishish qarshiligi tufayli u yuqori holatga qaytadi.

Masalan, Search ROM (0xF0) buyrug'ining vaqt diagrammasi shunday ko'rinadi. Bit yozish buyruqlari diagrammada qizil rang bilan belgilanadi. 1-simli uzatishda bitlarning tartibiga e'tibor bering: eng muhim bit o'ngda, eng kam bit chapda.


3) EPROM bilan ishlash buyruqlari

IButton EPROM bilan ishlash buyruqlarini ko'rib chiqishdan oldin, kalitning xotira tuzilishi haqida bir necha so'z aytish kerak. Xotira 4 ta teng bo'limga bo'lingan: ulardan uchtasi uchta noyob kalitni saqlash uchun mo'ljallangan, to'rtinchisi ma'lumotlarni vaqtincha saqlash uchun. Bu vaqtinchalik bufer kalitlarni yozish uchun ma'lumotlar tayyorlanadigan o'ziga xos qoralama vazifasini bajaradi.


EPROM bilan ishlash uchun 6 ta buyruq mavjud:

IsmBuyruqUchrashuv
Vaqtinchalik buferga yozish (Scratchpad yozish)0x96Ma'lumotni vaqtinchalik buferga yozish uchun ishlatiladi (scratchpad).
Vaqtinchalik buferdan o'qish (Scratchpad -ni o'qish)0x69Vaqtinchalik buferdan ma'lumotlarni o'qish uchun ishlatiladi.
Vaqtinchalik buferdan nusxa ko'chirish (Scratchpad -dan nusxa ko'chirish)0x3CVaqtinchalik buferda tayyorlangan ma'lumotlarni tanlangan kalitga o'tkazish uchun ishlatiladi.
Kalit parolni yozing0x5ATanlangan kalitning parolini va yagona identifikatorini yozish uchun ishlatiladi (uchtadan bittasi).
SubKey yozing0x99Ma'lumotni to'g'ridan -to'g'ri tanlangan kalitga yozish uchun ishlatiladi (vaqtinchalik buferni chetlab o'tib).
SubKey -ni o'qing0x66Tanlangan kalit ma'lumotlarini o'qish uchun ishlatiladi.

4) ma'lumotlarni uzatish

Davomi bor...

5 Mumkin bo'lgan xatolar eskizni tuzishda

1) Agar eskizni tuzishda xatolik yuz bersa WConstants.h: "WConstants.h" ni o'z ichiga olgan bunday fayl yoki katalog yo'q, keyin, variant sifatida, u faylda quyidagicha OneWire.cpp Izohlardan keyin birinchi blokni quyidagilar bilan almashtiring:

#qo'shing #qo'shing tashqi "C" (#qo'shing #qo'shing }

2) Agar kompilyatsiya qilishda xatolik yuz bersa OneWire sinfida read_bytes ismli a'zo yo'q, keyin OneWire interfeysi bilan ishlash uchun boshqa kutubxonani topib ko'ring.

Hamma biladiki, har qanday mexanizm vaqt o'tishi bilan yomonlashadi va uni o'zgartirish kerak, ayniqsa, tez -tez jismoniy zo'riqishlarga duch keladigan elementlar uchun.

Elektronika bu ma'noda ishonchli va agar u elektr bilan yaxshi himoyalangan bo'lsa, u uzoq vaqt xizmat qilishi mumkin.

Mexanik qulfning kalitlarini yo'qotish ko'pincha ikkinchisini almashtirish bilan bog'liq. Elektron chipni yo'qotib, uning nusxasini olish kifoya.

Duplikator qanday ishlaydi va ishlaydi

Kalit duplikatorlarning qanday modellari va turlari

Tabiatda topilgan interkom kalitlarining barcha duplikatorlarini uch xil turga bo'lish mumkin:

  1. Kontaktsiz tmd tugmachalarini miltillash uchun dasturchilar;
  2. Kontakt interkom kalitlari nusxalarini yaratish uchun duplikatorlar;
  3. Interkom chiplarining har qanday turini qaytarishga qodir universal nusxa ko'chirish vositasi.

Ushbu turdagi qurilmalarning har biri o'z modifikatsiyasiga ega.

Duplikatorlar-kontaktsiz

Ular orasida qurilmalarning uchta modifikatsiyasi mavjud.

Birinchi modifikatsiyaga EM-Marin, HID va Indala radiochastotalarini identifikatsiya qilish standartini (tmd dublikatlari) ishlab chiqaruvchi dasturchilar kiradi, ikkinchisi-Mifare standartini qo'llab-quvvatlaydi, uchinchi duplikator modifikatsiyasi TECH-KOM yoki TKRF standarti kalitlari bilan ishlaydi.

Kontakt tipidagi qurilmalar

Qurilmalar ikki turda taqdim etiladi. Birinchi tur dallas kontaktli tugmachalari bilan ishlashga mo'ljallangan, ikkinchi turdagi dasturchilar ham shu turdagi kalitlarni takrorlaydi.

Dallas chipi o'n oltilik kodga ega va raqamli protokol tipidagi katta hajmli kod bilan tikilgan.

Umumjahon kalit dasturlash qurilmalari

Interkom kalitlarining universal duplikatorlari, har qanday raqamli chip nusxasini yaratish imkoniyatiga ega bo'lishdan tashqari, bir qator qo'shimcha funktsiyalarga ega:

  • Qayta tiklash qobiliyati;
  • Xotira bazasining mavjudligi;
  • Kodlarni yaratish.

Birinchi funktsiyani hisobga olgan holda, shuni aytish kerakki, asl kodlashli kalitlarning yangi modifikatsiyalari chiqarilganda, bu chiplar uchun dasturiy qurilma bazasi yonib -o'chib turadi va u ularning nusxalarini yaratadi.

Ikkinchi funktsiya asl nusxasiz kalitlarning klonlarini yaratishga imkon beradi. Ya'ni, birinchi marta yonib -o'chgandan so'ng, chip kodi qurilma bazasiga yoziladi va kerak bo'lganda takrorlanadi.

Uchinchi funktsiya, kalitlarni asl kodlari bilan o'chirish imkonini beradi, masalan, kompaniya xodimlari uchun, ularning har birida qulfga shaxsiy kirish kodi bo'lishi kerak. Keyin ma'lum bir shaxs tomonidan ma'lum bir ob'ektga tashriflar sonini kuzatishingiz mumkin.

O'z qo'lingiz bilan interkom kalitlarini ko'paytirish uchun nima kerak

O'z qo'lingiz bilan kalit nusxa ko'chirish mashinasini yaratishda siz "arduino" modulini asos qilib olishingiz mumkin.

Qurilmani ishlab chiqarish uchun zarur bo'lgan elementlar bazasi:

  1. "Arduino Nano" tipidagi mikrokontroller qurilmaning asosiy "miyasi" bo'lib, u erda axborot qayta ishlanadi va ma'lumotlar yoziladi;
  2. RFID RC522 taxtasi, u modul kodlarini o'qiydi va ma'lumotlarni mikrokontrollerga yo'naltiradi;
  3. Piezoelektrik turdagi buzzer;
  4. Monitor uchun ikkita LED elementi;
  5. 330 Ohmli ikkita rezistor;
  6. 4X4 klaviatura bloki;
  7. LCD displeyni "arduino" formatiga mos keladigan konvertor vazifasini bajaruvchi I2C tipidagi (LCM1602) suyuq kristalli displey uchun adapter;
  8. LCD16X2BL tipidagi suyuq kristalli ekran.

Suyuq kristalli ekran adapterning kontakt guruhiga o'n oltita pin yordamida ulanadi. Kontaktlar ikkala modulda ham raqamlangan.

Keyinchalik, quvvat simlari displey adapteriga rf ID RC522 modulidan ulanadi: qizil - VCC (+) kontaktga va qora - GND (umumiy) kontaktga. Tekshirish simlari SDA va SCL pinlariga lehimlanadi. LED elementlari oqim cheklovli rezistorlar bilan bog'langan.

Kalitni o'chirish printsipi

Eshik telefoni chiplari, planshetlar shaklida va yuzasi eshik telefonining kontaktiga qo'llanilishi kerak, uning ichida magnit elementlar mavjud emas.

Qurilmaning sxemasi doimiy xotira (boshqacha aytganda, ROM) dan foydalanishga asoslangan.

Bunday xotiraga raqamli noyob kodning belgilar ketma -ketligi yoziladi.

Bunday kalitlarni qayta yozish tamoyili shundan iboratki, tmd duplikatori kodni o'qiydi va uni toza chip platformasida qayta yaratadi.

RFID tizimi kontaktni emas, balki ma'lum radiochastotani ishlatadigan kodni uzatishga asoslangan.

Kalit zanjirga tebranuvchi zanjir kiritilgan. Agar u hayajonlansa, xotiradan olingan ma'lumotlar o'quvchiga fazo orqali uzatiladi.

Bunday hayajonli signal interkom yoki duplikator antennasidan keladigan signal bo'ladi. Qolganlari uchun, kodni xotiraga qanday ko'chirish, uni keyingi takrorlash printsipi aloqa qurilmasining ishlash tamoyilidan farq qilmaydi.

Faqatgina farq shundaki, dasturchilar faqat xotiraga yozishi va ma'lum turdagi raqamli signalni o'ynata oladi. Istisno - har qanday turdagi raqamli ma'lumotlar bilan ishlash uchun yonib turadigan universal qurilmalar.

Xulosa

O'z qo'lingiz bilan interkom uchun chiplar yasash nafaqat shaxsiy kalitlarni yo'qotish muammosini hal qilish, balki o'z biznesingizni shu asosda qurish imkoniyatidir.

Boshlash uchun siz eng mashhur "blanklar" uchun interkom kalitlari uchun oddiy nusxa ko'chirish mashinasini yasashingiz mumkin.

Eng muhimi shundaki, bunday daromad katta boshlang'ich sarmoyalarni talab qilmaydi va xizmatlar har doim talabga ega bo'ladi, ayniqsa katta shaharlarda.

Video: eshik eshigining kalitlarini ko'paytirish vositasi