Danas ćemo sastaviti uređaj koji će pamtiti naše lozinke i pritiskom na gumb automatski ih unesemo u računalo. U ovom slučaju lozinke će biti zaštićene. Autor ovog domaćeg proizvoda je Michael (YouTube kanal "Arturos TV").
Za neovisnu proizvodnju takvog uređaja potrebna su nam samo 3 komponente. Prije svega, ovo je naravno platforma (molim vas ne brkajte se s) Arduino pro mini).
Ovaj arduino ima mikrokontroler ATmega32u4, što znači da ima ugrađeni USB, odnosno da računalo prepoznaje taj arduino kao miš ili tipkovnicu. Upravo oko ove karakteristike gradit će se današnji projekt.
Također, ovaj arduino ima pomalo nestandardni pinout. Međutim, s tim ćemo se susresti nešto kasnije. Pored toga, morat ćemo se kretati po izborniku, a zatim unijeti lozinku.
Ukratko se pozabavimo principom njegova rada. Koder ima 2 kontakta koja se uvjetno zovu, a i b, ovisno o smjeru koji će se koder okrenuti.
Na primjer, ako ga zakrenemo u smjeru kazaljke na satu, tada se kontakt "a" prvo zatvara i tek tada kontaktira "b". Na temelju toga u programu možemo shvatiti da je davač okrenut u smjeru kazaljke na satu. Ako se okreće u smjeru suprotnom od kazaljke na satu, tada će kontakt "b" prvo biti zatvoren, a tek potom kontaktirajte "a". Nakon svake revolucije osjeća se i lagani klik. Na tome će se temeljiti lozinka koju će trebati unijeti da bi stekli pristup našem uređaju.
Izbornik uređaja prikazat će se na poznatom, naravno na I2C sabirnici.
I tu je mala nijansa. U arduino pro microu, I2C kontakti nisu na standardnim priključcima A5 i A4, već na kontaktima 2 i 3, tako da ovdje morate spojiti zaslon.
Općenito, dijagram cijelog sastavljenog uređaja izgleda ovako:
Naravno, ispisat ćemo slučaj na 3d pisaču.
Ovaj se put pokazalo vrlo dobro, ali iz nekog razloga autor se odlučio baviti dizajnom, pa stoga donji poklopac nije bio baš lijep. Ali ništa se ne može učiniti, ali s dimenzijama kućišta i razmakom između rupa ovoga puta sve se pokazalo vrlo dobro. Svi su detalji sjeli na svoje mjesto, a uz vrlo malo poteškoća ispostavilo se da stegnite sve vijke da popravite dijelove. Nažalost, vruće ljepilo je opet bilo moguće, ali u ovom projektu to je već bilo pomalo.
Naravno, najzanimljivija stvar ovog projekta bilo je pisanje firmwarea.
Nećemo duboko ulaziti u njegove detalje, ali potrebno je ispričati vam neke njegove karakteristike. Prije svega, to je uporaba tipkovnice.h knjižnice.
Ova se knjižnica koristi samo s arduino leonardo i arduino pro mikro pločama ili s onima koji imaju ugrađene usb mikrokontrolere. Ako pokušate izbrisati s ovom skicom bilo koji drugi arduino koji nema takav ugrađeni usb, razvojno će se okruženje zakleti, zato budite oprezni. Još jedna zanimljiva knjižnica je EEPROM.h.
Njegov autor koristi kako bi zakomplicirao napadače koji haraju naš uređaj. Međutim, o tome više kasnije. Ova linija bit će vam vrlo zanimljiva:
Ovdje smo postavili pristupni kôd za naš uređaj da ga otključa. Međutim, nešto kasnije o sigurnosti, ali ipak zapamtite da ovdje imamo priliku odrediti ili "0" ili "1". Trenutno smo postavili lozinku "101".
I također vrlo važan blok, to je zapravo mjesto gdje će se pohraniti lozinke.
Imajte na umu da je to dvodimenzionalni niz, a ovdje je broj zaporki neograničen. Iako je, strogo gledajući, ograničena memorija uređaja, to se može zanemariti. Vrlo je važno pridržavati se formata snimanja. Pretpostavimo da je prvo polje ono što se prikazuje u izborniku na uređaju. To je, na primjer, "Admin".
Zatim, odvojeni zarezima i navodnicima, moramo napisati svoju lozinku kojom želimo da uređaj unese u računalo. Na primjer, postoji odjeljak "Test" (to će biti napisano na zaslonu našeg uređaja).
A ako pritisnemo gumb, tada će se ovaj tekst unijeti u računalo:
Ljepota ovog uređaja je u tome što je, ako je mikrokontroler napuhan nekom vrstom skice, nemoguće ga dobiti odatle. Ako jednom ovdje postavite sve lozinke i sva njihova imena, a zatim ih izbrišete iz ovog firmvera, nitko više neće imati pristup vašim lozinkama, osim što će napadač razbiti ovaj uređaj i shvatiti kako to funkcionira.
Slijedi prilično dugačak firmware i nećemo ulaziti u njegove detalje. Možete ga preuzeti vezom u opisu ispod videozapisa autora (veza IZVOR na kraju članka).
Dakle, gotovi smo s firmwareom, pa sada da vidimo kako ovaj uređaj funkcionira. Povezujemo ga s računalom pa dobiva snagu.
Naš zadatak je unos lozinke. Lozinka je, kao što se sjećate, nule i one, štoviše, "1" je jedan klik okretaja davača u smjeru kazaljke na satu, a "0" je rotacija u smjeru suprotnom od kazaljke na satu. To jest, s obzirom da smo postavili lozinku 101, ručicu moramo pomicati 1 put udesno, 1 put lijevo, a zatim ponovo desno.
Dakle, tada unosimo lozinku klikom na koder i možemo pristupiti lozinci u računalu.
Napominjemo da imamo samo 3 pokušaja. Ako ih potrošimo sve, uređaj će tražiti da pričekate jednu minutu prije nego što pokušamo ponovo unijeti zaporku.
A za one koji su posebno pametni, koji će shvatiti da trebaju pričekati minutu i isključiti uređaj iz napajanja, a zatim se ponovo povezati, uređaj će im reći da moraju prestati svoje podmukle trikove i da znaju sve o njima, jer je vrijeme još potrebno čekanje se stalno bilježi u nehlapljivoj memoriji.
Pa, nadam se da ste shvatili kako ovaj uređaj funkcionira. Hvala na pažnji. Vidimo se uskoro!
video: