Šodien mēs saliksim ierīci, kas atcerēsies mūsu paroles un, nospiežot pogu, automātiski ievadīs tos datorā. Šajā gadījumā paroles tiks aizsargātas. Šī pašdarinātā produkta autors ir Maikls (YouTube kanāls “Arturos TV”).
Šādas ierīces neatkarīgai ražošanai mums nepieciešami tikai 3 komponenti. Pirmkārt, šī, protams, ir platforma (lūdzu, nejaucieties ar arduino pro mini).
Šim arduino ir mikroelements ATmega32u4, kas nozīmē, ka tam ir iebūvēts USB, tas ir, dators šo arduino atpazīst kā peli vai tastatūru. Tieši ap šo īpašību tiks uzcelts šodienas projekts.
Arī šim arduino ir nedaudz nestandarta pinouts. Tomēr ar to mēs sastapsimies nedaudz vēlāk. Turklāt mums būs jāpārvietojas izvēlnē un pēc tam jāievada parole.
Īsi apskatīsim tā darba principu. Kodētājam ir 2 kontakti, kurus nosacīti sauc par a un b, atkarībā no tā, kurā virzienā kodētājs tiks pagriezts.
Piemēram, ja mēs to pagriežam pulksteņrādītāja virzienā, vispirms aizveras kontakts “a” un tikai pēc tam kontakts “b”. Balstoties uz to, programmā mēs varam saprast, ka kodētājs ir pagriezts pulksteņrādītāja virzienā. Ja tas griežas pretēji pulksteņrādītāja virzienam, vispirms tiks aizvērts kontakts “b” un tikai pēc tam kontakts “a”. Pēc katras revolūcijas ir jūtams arī neliels klikšķis. Uz šī pamata tiks balstīta parole, kas būs jāievada, lai piekļūtu mūsu ierīcei.
Ierīces izvēlne tiks parādīta pazīstamajā, protams, I2C autobusā.
Un ir neliela nianse. Arduino pro micro I2C kontakti neatrodas uz standarta portiem A5 un A4, bet uz 2. un 3. kontaktu, tāpēc šeit ir jāpievieno displejs.
Kopumā visas samontētās ierīces shēma izskatās šādi:
Protams, mēs drukāsim lietu uz 3D printera.
Šoreiz tas izrādījās ļoti labi, bet kādu iemeslu dēļ autors nolēma veikt dizainu, un tāpēc apakšējais vāks nebija ļoti skaists. Bet nekas nav jādara, bet ar lietas izmēriem un attālumu starp caurumiem šoreiz viss izvērtās ļoti labi. Visas detaļas iekrita vietā, un ar ļoti nelielām grūtībām izrādījās, ka pievelciet visas skrūves detaļu nostiprināšanai. Diemžēl karstā līme atkal bija iespējama, bet šajā projektā tas jau bija mazliet.
Protams, visinteresantākais šajā projektā bija programmaparatūras rakstīšana.
Mēs neiedziļināsimies tās detaļās, bet jums ir nepieciešams pastāstīt par dažām tā funkcijām. Pirmkārt, tā ir keyboard.h bibliotēkas izmantošana.
Šo bibliotēku izmanto tikai arduino leonardo un arduino pro mikroplates vai ar tām, kurās ir iebūvēti usb mikrokontrolleri. Ja jūs mēģināsit mirgot ar šo skici jebkuru citu arduino, kam nav tik iebūvēta usb, izstrādes vide zvērēs, tāpēc esiet piesardzīgs. Vēl viena interesanta bibliotēka ir EEPROM.h.
Tās autors izmanto, lai sarežģītu uzbrucējus, kuri uzlauž mūsu ierīci. Tomēr par to vēlāk. Šī līnija jums būs ļoti interesanta:
Šeit mēs iestatām piekļuves kodu mūsu ierīcei, lai to atbloķētu. Tomēr nedaudz vēlāk par drošību, bet tomēr atcerieties, ka šeit mums ir iespēja norādīt vai nu "0", vai "1". Šobrīd mēs esam uzstādījuši paroli "101".
Un arī ļoti svarīgs bloks, šajā vietā faktiski tiks glabātas paroles.
Lūdzu, ņemiet vērā, ka tas ir divdimensiju masīvs, un šeit paroļu skaits parasti nav ierobežots. Lai gan, stingri runājot, to ierobežo ierīces atmiņa, to var atstāt novārtā. Ir ļoti svarīgi ievērot ieraksta formātu. Pieņemsim, ka pirmais lauks ir tas, kas parādās ierīces izvēlnē. Tas ir, piemēram, "Admin".
Pēc tam, atdalot tos ar komatiem un pēdiņās, mums jāraksta sava parole, kuru mēs vēlamies, lai ierīce ievadītu datorā. Piemēram, ir sadaļa “Pārbaude” (par to tiks rakstīts uz mūsu ierīces ekrāna).
Un, ja mēs nospiedīsim pogu, šis teksts tiks ievadīts datorā:
Šīs ierīces skaistums ir tāds, ka, ja mikrokontrolleru mirgo ar kaut kādu skici, no turienes to iegūt nav iespējams. Ja jūs šeit reiz iestatījāt visas paroles un visus viņu vārdus un pēc tam izdzēsāt tos no šīs programmaparatūras, tad nevienam citam nebūs piekļuves jūsu parolēm, izņemot to, ka uzbrucējs sagraus šo ierīci un sapratīs, kā tā darbojas.
Šis ir diezgan garš programmaparatūra, un mēs neiedziļināsimies tā detaļās. Varat to lejupielādēt, izmantojot saiti aprakstā zem autora videoklipa (saite AVOTS raksta beigās).
Tātad, mēs esam pabeiguši ar programmaparatūru, tāpēc tagad redzēsim, kā šī ierīce darbojas. Mēs to savienojam ar datoru, tāpēc tas iegūst enerģiju.
Tagad mūsu uzdevums ir ievadīt paroli. Parole, kā jūs atceraties, ir nulle un viena, turklāt “1” ir viens kodētāja pagriešanas pulksteņa rādītāja virzienā, un “0” ir pagrieziens pretēji pulksteņa rādītāja virzienam. Tas ir, tā kā mēs esam uzstādījuši paroli 101, mums sviru jāpārvieto 1 reizi pa labi, 1 reizi pa kreisi un pēc tam atkal pa labi.
Tādējādi mēs ievadām paroli, noklikšķinot uz kodētāja un datorā varam piekļūt parolei.
Lūdzu, ņemiet vērā, ka mums ir tikai 3 mēģinājumi. Ja mēs tos visus iztērēsim, ierīce lūgs jums pagaidīt vienu minūti, pirms mēs varēsim mēģināt vēlreiz ievadīt paroli.
Īpaši gudriem, kas sapratīs, ka viņiem jāgaida minūte un jāatvieno ierīce no strāvas padeves, un pēc tam atkal jāpieslēdzas, ierīce viņiem pateiks, ka viņiem ir jāpārtrauc viņu mānītie triki un ka viņi par viņiem zina visu, jo laiks joprojām ir vajadzīgs gaidīšana tiek pastāvīgi ierakstīta nepastāvīgā atmiņā.
Nu, es ceru, ka jūs saprotat, kā šī ierīce darbojas. Paldies par uzmanību. Tiekamies drīz!
Video: