Mundarija:

Cryptap: ritmga asoslangan eshik qulfi: 5 qadam
Cryptap: ritmga asoslangan eshik qulfi: 5 qadam

Video: Cryptap: ritmga asoslangan eshik qulfi: 5 qadam

Video: Cryptap: ritmga asoslangan eshik qulfi: 5 qadam
Video: KİTOBNİ QANDAY O'QİSH KERAK ? 2024, Iyul
Anonim
Cryptap: ritmga asoslangan eshik qulfi
Cryptap: ritmga asoslangan eshik qulfi
Cryptap: ritmga asoslangan eshik qulfi
Cryptap: ritmga asoslangan eshik qulfi
Cryptap: ritmga asoslangan eshik qulfi
Cryptap: ritmga asoslangan eshik qulfi

Hackaday.com saytida ko'rgan bir nechta eshik qulfini ochish mexanizmlaridan ilhomlanib, men o'zim yaratishga qaror qildim. Bu ikkita tugmachali interfeysga ega; biri parolni yuborishni boshlash va tugatish, ikkinchisi - bu sizning parolingiz bo'lgan ritmga tegish. Vaziyat nuri ham mavjud. Men buni so'nggi bir necha oy mobaynida tozalagan qismlarim yordamida juda arzon qura oldim. Men to'lashim kerak bo'lgan yagona narsa - bu mikrokontrolderning o'zi, bu 21 dollar (https://www.pjrc.com/teensy/) va men ilgari olgan rasmga osilgan sim edi.

Yulduzli urushlar mavzusini yoki xonamga kirishni xohlash juda qiziq. Endi, men o'zimni yana xonamdan qulflashdan xavotir olmasligim kerak! Bundan tashqari, u o'zini yaxshi va jirkanch his qiladi.

1 -qadam: ehtiyot qismlar va asboblar

Qismlar va asboblar
Qismlar va asboblar
Qismlar va asboblar
Qismlar va asboblar

Men Teensy -ni tanladim, chunki bu mening birinchi mikrokontrollerim, va menda hali dasturchi yo'q. Teensy faqat A-miniB USB kabeli va Mac/Windows/Linux bilan mos keladigan bepul dasturiy ta'minotni talab qiladi. Bundan tashqari, hex faylni yuklash juda oson; faqat kompilyatsiya qiling va Teensy tugmachasini bosing.

Menga bu loyihaning narxi 21 dollar, bundan tashqari rasm osilgan sim edi. Ko'chadagi qismlar qahva perkolyatoridan (o'rni, LED, kondansatör) va yo'riqchidan (LED, modulli raz'em, quvvat rozetkasi, kondansatkichlar) kelgan. Bepul namunalar 7805 5 voltli regulyator, tugma va kalit edi. Men, shuningdek, EE laboratoriyasidagi "singan qismlar" qutisidan juda ko'p narsalarni topdim: banan ulagichlari va kabel, sim, sn754410 drayveri, to'rt pinli bosh va rezistorlar. Menda quvvat manbai bo'lgan qo'shimcha noutbuk zaryadlagichi va yorig'i uzilgan Apple modem kabeli bor edi. Boshqa uskunalar: devor plitasi. Men oddiy yopishtiruvchi tabancadan, lehimlantiruvchi temirdan, igna pichog'idan va matkapdan foydalandim. Men ishlatgan eng g'ayrioddiy narsa bu uzun, egiluvchan tortish vositasi edi.

2-qadam: Oldindan mavjud bo'lgan apparat

Oldindan mavjud bo'lgan uskunalar
Oldindan mavjud bo'lgan uskunalar
Oldindan mavjud bo'lgan uskunalar
Oldindan mavjud bo'lgan uskunalar
Oldindan mavjud bo'lgan uskunalar
Oldindan mavjud bo'lgan uskunalar
Oldindan mavjud bo'lgan uskunalar
Oldindan mavjud bo'lgan uskunalar

Men juda omadli edim, u erda juda ko'p narsa o'rnatilgan. Mening xonamga ADA kirishi mumkin, va u erda turli quvurlar, elektr qutilar va elektr eshik eshiklari o'rnatilgan. Qiziqish tufayli eshik zarbasini olib tashlaganimda, u ulanmaganligini ko'rdim. Eshik zarbasidan mening xonam ichidagi bo'sh devor plastinkasiga qadar quvur bor edi, va u erdan boshqa devorning bo'sh devor plastinkasiga.

Eshik zarbasi 24V@3A ishlashi kerakligini aytadi, lekin men o'zimni 19V, 7.9A quvvat manbai bilan ta'minlay oldim. Eshik zarbasi qutblangan, shuning uchun qutbni to'g'riligingizga ishonch hosil qiling!

3 -qadam: davralar

Davralar
Davralar
Davralar
Davralar
Davralar
Davralar
Davralar
Davralar

Eshik zarbasini nazorat qilish uchun men kofe perkolyatorida topilgan o'rni ishlatardim. Bu o'rni uni boshqarishi uchun 5V dan ortiq TTL kerak edi, shuning uchun sn754410 TTLni 19V ga tarjima qilish uchun ishlatilgan, bu esa o'rni boshqargan. Sn754410 chindan ham to'rtburchaklar yarim haydovchi, shuning uchun men chipning 3/4 qismini behuda sarfladim, lekin menda hech qanday kuch-tranzistorlar yo'q edi, shuning uchun men foydalanganman.

Sn754410 chipida ikkita VCC pin bor, biri 5V uchun, ikkinchisi siz istagan kuchlanish uchun, bu men uchun 19V edi. Bu chindan ham ajoyib chip. Siz buni to'g'ridan-to'g'ri dvigatellar va o'rni haydash uchun ishlatishingiz mumkin, chunki u har chorakda 1A ni o'zgartirishi mumkin va o'rnatilgan himoya diodlari mavjud. Ma'lumotlar varag'ini ko'rib chiqing. Men o'z davrimda sn754410 -ni to'g'ridan -to'g'ri Teensy -ning chiqish piniga uladim. Tugmalar faol-past sifatida ulanadi, bu mikrokontroller uchun juda keng tarqalgan. Ular to'g'ridan -to'g'ri Teensy bilan bog'langan, ya'ni men dasturiy ta'minotni o'chirishim kerak. Vaziyat nuri Teensy -ga 1K ohmli rezistor orqali ulanadi; alohida hech narsa. O'chirish kondansatörlersiz ishladi, lekin men ularni baribir qo'ydim. 19V va 5V kuchlanishli relslarda erga himoya qopqoqlari o'rnatilgan. Teensy -ni dasturlashda 5V USB -dan kelgan, lekin u o'z -o'zidan ishlayotganda, quvvat noutbukning quvvat g'ishtidan keladi. Men 7805 regulyatorini 19V ga to'g'ridan -to'g'ri ulaganimda, u haqiqatan ham qizib ketdi, shuning uchun men regulyatorga kirish voltaji va tokini cheklash uchun rezistorlar tarmog'ini qo'ydim. Bu klimj edi, lekin hozir hamma narsa boshqariladigan haroratda.

4 -qadam: uni bir -biriga ulash

Uni birgalikda ulash
Uni birgalikda ulash
Uni birgalikda ulash
Uni birgalikda ulash

Teensyda hech qanday muammo yo'q edi. U pinlar bilan ta'minlangan, shuning uchun siz uni to'g'ridan -to'g'ri non paneliga ulashingiz mumkin.

Men laboratoriya singan qismlari qutisidan qizil (+) va qora (-) banan kabellari bilan eshikka o'tadigan simlarni rangli kod bilan belgilashga qaror qildim. Ularning simlaridan bir nechta vilkalar uzilgan, shuning uchun men lehim joyini ochish uchun plastmassani olib tashladim. Menga laboratoriya bananlari bir -biriga qanday ulanishi juda yoqadi. Men xonaning tashqarisidagi tugmalar va holat chiroqini Teensy -ga ulash uchun Apple telefon kabelidan foydalandim. Bir tomoni singanligi uchun, men bu uchini kesib tashladim va to'rtta pinli boshga lehimlab, uni issiq elim bilan yopdim. Bu mening taxtamga yaxshi yopishdi. Men vilkasini qoldirgan tomonim yo'riqchidan ajratilgan modulli uyaga kirdi. Barcha to'rtta sim ishlatilgan (GND, holat nuri, ishga tushirish/to'xtatish tugmasi, kod tugmasi). Agar siz sezmagan bo'lsangiz, menga vilkalar va ulagichlar yoqadi. Quvvat g'ishtlari men yo'riqchidan siljigan quvvat manbaiga ulangan. Devor quvurlari orqali simlarni o'tkazish juda qiyin emas edi, chunki moslashuvchan tutqich. Bu haqiqatan ham mening kunimni qutqardi.

5 -qadam: kod

Kod
Kod
Kod
Kod

Men o'z kodimni izohlashga harakat qildim. Shuni yodda tutingki, bu 1.0 dasturiy ta'minoti, ya'ni bu xatosiz emas. ## OPERATION ## 1. Ishga tushirish/to'xtatish tugmasini bosib, kod kiritishni boshlashga tayyorligingizni bildiring. Holat nuri asta -sekin miltillay boshlaydi. 2. Kod tugmachasidagi kodingizni bosing. Vaziyat nuri 120 BPMda yonadi, shuning uchun agar xohlasangiz, uni metronom sifatida ishlatishingiz mumkin. Shu bilan birga, kriptop dasturi puls uzunligini bir -biriga mutanosib ravishda o'lchaydi, shuning uchun siz o'zingizning tempingizdan ham foydalanishingiz mumkin. Faqat etarlicha aniq ekanligingizga ishonch hosil qiling! 3. Kod kiritish tugallangach, yana ishga tushirish/to'xtatish tugmasini bosing. Keyin dastur sizni kiritishga ruxsat beradimi yoki yo'qligini hal qiladi. Odamlar vaqtni aniq biladiganlar emas (sizniki emas), men bardoshlik nisbatini +/- 30%qilib qo'ydim. Bu shuni anglatadiki, zarba uzunligi bu miqdorga to'g'ri kelmasligi mumkin va bu hali ham davom etadi. Bu juda o'xshash qo'shiqlar o'rtasidagi farqni aytish uchun etarli. Ikki va uch uzunlikdagi zarbalar orasida erishish qiyin bo'lgan bir-biriga to'g'ri kelmaydigan narsa bor, lekin kodni buzish hali ham qiyin. Eshik qulfini ochish uchun zarbalar bir-biriga to'g'ri nisbatda bo'lishi kerak (+/- bardoshlik nisbati) va zarbalar soni to'g'ri bo'lishi kerak. Agar noto'g'ri parol kiritilsa, foydalanuvchi bir necha soniya kutadi va foydalanuvchi kiritgan ma'lumotlarga e'tibor bermaydi. Bundan tashqari, u holat nuri tez yonadi. Agar to'g'ri kod kiritilsa, holat nuri doimiy ravishda yonadi va eshik 8 soniya davomida qulfdan chiqariladi. ## FOYDALANISHNI KONFIGURASIYASI ## Kalit quyidagi qatorda saqlanadi: #define keylength 5 const int key = {2, 1, 3, 3, 3}; // "Tug'ilgan kuning bilan tabriklayman" massivida urishlar orasidagi vaqt saqlanadi. Agar sizning parolingizda "Tug'ilgan kuning bilan" kabi OLTI eslatma bo'lsa, qatorda Besh element bo'lishi kerak. Agar sizning parolingiz chindan ham uzun bo'lsa va sizda 16 dan ortiq zarba bo'lsa, (albatta, qiyin, men tavsiya qilmayman), siz ushbu satrda ko'rsatilgan sonni ko'paytirishingiz kerak: #deCineLineCodeLength 16 ## KOD QALGAN # # Men uzilishlarga qiziqardim, shuning uchun tugmalarim uzilishlarni ishga tushirdi. Bu uzilishlarni ishlatishni osonlashtirish uchun men uzilishlar ishlovchilarini ba'zi funktsiyalar ko'rsatgichlarini tekshirishga majbur qildim. Agar ko'rsatgich NULLga o'rnatilmagan bo'lsa, u ko'rsatadigan funksiya chaqiriladi. Ular cryptap.c ichidagi har xil "rejimlarni sozlash" funktsiyalari bilan o'rnatiladi. Men kiruvchi impulslarning maksimal sonini belgilab, buferning to'lib ketishiga yo'l qo'ymaslikka harakat qildim. Agar impulslarning maksimal soni kiritilsa, dastur darhol parolni tahlil qilishni boshlaydi va eshik qulfini ochish to'g'risida qaror qabul qiladi. Umid qilamanki, koddagi sharhlarim yordam beradi. ## BUGS ## Men USB disk raskadrovka kodini olib tashlamoqchi bo'ldim, lekin agar shunday qilsam, kod ishlamaydi. Shunday qilib, men usb_init () va turli print () so'zlarini qoldirdim. Agar kimdir ularni o'chirib tashlasa va hali ham dastur ishlay olsa, men bundan xursand bo'lardim. Agar ular nima uchun bu men uchun ishlamaganligini tushuntirib bersalar ham yaxshi. Dasturlashtirilgandan so'ng, Teensy ba'zida kod kiritishni qabul qilmaydi. Buni hal qilish uchun kontaktlarning zanglashiga olib boring.

Tavsiya: