I dag vil vi sette sammen en enhet som vil huske passordene våre, og ved å trykke på knappen, vil du automatisk legge dem inn i datamaskinen. I dette tilfellet vil passord beskyttes. Forfatteren av dette hjemmelagde produktet er Michael (YouTube-kanalen "Arturos TV").
For uavhengig produksjon av en slik enhet trenger vi bare tre komponenter. Først av alt, dette er selvfølgelig en plattform (vennligst ikke forveksle med arduino pro mini).
Denne arduino har en ATmega32u4 mikrokontroller, som betyr at den har en innebygd USB, det vil si at datamaskinen gjenkjenner denne arduino som en mus eller tastatur. Det er rundt denne funksjonen at dagens prosjekt skal bygges.
Dessuten har denne arduino en noe ikke-standard pinout. Vi vil imidlertid møte dette litt senere. I tillegg må vi navigere i menyen og deretter angi passordet.
La oss kort behandle prinsippet om dets arbeid. Koderen har 2 kontakter kalt betinget, a og b, avhengig av hvilken retning koderen vil bli dreid.
Hvis vi for eksempel roterer det med klokken, lukkes først "a" og først deretter "b". Basert på dette kan vi i programmet forstå at koderen har blitt dreid med urviseren. Hvis den roterer mot klokken, blir kontakten “b” lukket først, og først deretter “a”. Etter hver revolusjon merkes også et lite klikk. Det er på dette grunnlaget passordet vil være basert, som må legges inn for å få tilgang til enheten vår.
Enhetsmenyen vises på den kjente, selvfølgelig på I2C-bussen.
Og det er en liten nyanse. I arduino pro micro er I2C-kontakter ikke på standardportene A5 og A4, men på kontakter 2 og 3, så du må koble skjermen til her.
Generelt ser diagrammet over hele den sammensatte enheten slik ut:
Selvfølgelig vil vi trykke saken på en 3D-skriver.
Denne gangen viste det seg veldig bra, men av en eller annen grunn bestemte forfatteren seg for å gjøre designet, og derfor var ikke bunndekselet veldig vakkert. Men det er ingenting å gjøre, men med dimensjonene på saken og avstanden mellom hullene denne gangen viste det seg veldig bra. Alle detaljene falt på plass, og med veldig lite vanskeligheter viste det seg å stramme alle skruene for å fikse delene. Dessverre var varmt lim igjen mulig, men i dette prosjektet var det allerede litt.
Det mest interessante med dette prosjektet var selvfølgelig å skrive firmware.
Vi vil ikke gå inn i detaljene, men det er nødvendig å fortelle deg om noen av funksjonene. Først av alt er dette bruken av keyboard.h-biblioteket.
Dette biblioteket brukes bare med arduino leonardo og arduino pro-mikrokort eller med de som har innebygde usb-mikrokontrollere. Hvis du prøver å blinke med denne skissen hvilken som helst annen arduino som ikke har en slik innebygd usb, vil utviklingsmiljøet banne, så vær forsiktig. Et annet interessant bibliotek er EEPROM.h.
Forfatteren bruker det for å komplisere angripere som hacker enheten vår. Mer om det senere. Denne linjen vil være veldig interessant for deg:
Her setter vi tilgangskoden for enheten vår for å låse den opp. Litt senere om sikkerhet, men husk likevel at her har vi muligheten til å spesifisere enten "0" eller "1". For øyeblikket har vi satt passordet "101".
Og også en veldig viktig blokk, det er faktisk her passord vil bli lagret.
Vær oppmerksom på at dette er en todimensjonal matrise, og antall passord her er generelt ubegrenset. Selv om det strengt tatt er begrenset av enhetens minne, kan dette forsømmes. Det er veldig viktig å overholde innspillingsformatet. Anta at det første feltet er det som vises i menyen på enheten. Det er for eksempel "Administrator".
Så, atskilt med kommaer og anførselstegn, må vi skrive passordet vårt, som vi vil at enheten skal inn i datamaskinen. For eksempel er det en "Test" -del (dette vil bli skrevet på skjermen på enheten vår).
Hvis vi trykker på knappen, vil denne teksten legges inn i datamaskinen:
Det fine med denne enheten er at hvis mikrokontrolleren er blinket med en slags skisse, er det umulig å få den derfra. Hvis du en gang har angitt alle passordene og alle navnene her, og deretter slettet dem fra denne firmware, vil ingen andre ha tilgang til passordene dine, bortsett fra at en angriper vil sprekke denne enheten og forstå hvordan den fungerer.
Følgende er en ganske lang firmware, og vi vil ikke gå nærmere inn på det. Du kan laste ned den ved koblingen i beskrivelsen under forfatterens video (SOURCE-lenken på slutten av artikkelen).
Så, vi er ferdige med fastvaren, så la oss se hvordan denne enheten fungerer. Vi kobler den til datamaskinen, så den får strøm.
Nå er oppgaven vår å oppgi passordet. Passordet er, som du husker, nuller og en, og “1” er ett klikk på koderen rotasjon med klokken, og “0” er rotasjon mot klokken. Det vil si at siden vi har angitt passord 101, må vi rulle spaken 1 gang til høyre, 1 gang til venstre og deretter igjen til høyre.
Dermed skriver vi inn passordet ved å klikke på koderen og få tilgang til passordet på datamaskinen.
Vær oppmerksom på at vi bare har tre forsøk. Hvis vi bruker dem alle, vil enheten be deg om å vente ett minutt før vi kan prøve igjen å oppgi passordet.
Og for de som er spesielt smarte, som vil forstå at de trenger å vente et øyeblikk og koble enheten fra strømforsyningen, og deretter koble seg til igjen, vil enheten fortelle dem at de må stoppe de lumske triksene deres, og at de vet alt om dem, siden tid fortsatt er nødvendig wait registreres konstant i ikke-flyktig minne.
Vel, jeg håper du forstår hvordan denne enheten fungerer. Takk for oppmerksomheten. Vi ses snart!
videoer: