Tänään kokoamme laitteen, joka muistaa salasanamme ja syöttää ne automaattisesti tietokoneeseen painamalla painiketta. Tässä tapauksessa salasanat ovat suojattuja. Tämän kotitekoisen tuotteen kirjoittaja on Michael (YouTube-kanava "Arturos TV").
Tällaisen laitteen itsenäiseksi valmistamiseksi tarvitsemme vain 3 komponenttia. Ensinnäkin tämä on tietysti alusta (älä sekoita Työläs pro mini).
Tässä arduinossa on ATmega32u4-mikrokontrolleri, mikä tarkoittaa, että siinä on sisäänrakennettu USB, eli tietokone tunnistaa tämän arduinon hiirellä tai näppäimistöllä. Tämän ominaisuuden ympärille rakennetaan tämän päivän projekti.
Lisäksi tällä arduinolla on hiukan epästandardi uraa. Koemme tämän kuitenkin vähän myöhemmin. Lisäksi meidän on siirryttävä valikkoon ja syötettävä sitten salasana.
Tarkastellaan lyhyesti sen työn periaatetta. Kooderissa on 2 kosketinta, joita kutsutaan ehdollisesti, a ja b, riippuen siitä, mihin suuntaan kooderi käännetään.
Esimerkiksi, jos kiertämme sitä myötäpäivään, kosketin “a” sulkeutuu ensin ja vasta sitten kosketukseen “b”. Tämän perusteella voimme ohjelmassa ymmärtää, että kooderi on käännetty myötäpäivään. Jos se pyörii vastapäivään, kontakti “b” suljetaan ensin ja vasta sitten “a”. Jokaisen vallankumouksen jälkeen on myös havaittavissa pieni napsahdus. Tähän salasana perustuu, joka on annettava, jotta pääsemme laitteeseemme.
Laitevalikko näkyy tutussa, tietysti I2C-väylässä.
Ja siinä on pieni vivahdus. Arduino pro micro -sovelluksessa I2C-koskettimet eivät ole vakioporteissa A5 ja A4, vaan koskettimissa 2 ja 3, joten näyttö on kytkettävä tähän.
Yleensä koko koottu laitteen kaavio näyttää tältä:
Tietysti tulostamme tapauksen 3D-tulostimella.
Tällä kertaa se osoittautui erittäin hyväksi, mutta kirjoittaja päätti jostain syystä suunnitella suunnittelun, ja siksi pohjakansi ei ollut kovin kaunis. Mutta mitään ei tehdä, mutta kotelon mitoilla ja reikien välisellä etäisyydellä tällä kertaa kaikki osoittautui erittäin hyväksi. Kaikki yksityiskohdat putosivat paikoilleen ja hyvin pienin vaikeuksin osoittautui kiristävän kaikki ruuvit osien kiinnittämiseksi. Valitettavasti kuuma liima oli jälleen mahdollista, mutta tässä projektissa se oli jo vähän.
Tietenkin mielenkiintoisin asia tässä projektissa oli laiteohjelmiston kirjoittaminen.
Emme syventy sen yksityiskohtiin, mutta on välttämätöntä kertoa sinulle joistakin sen ominaisuuksista. Ensinnäkin tämä on keyboard.h-kirjaston käyttö.
Tätä kirjastoa käytetään vain arduino leonardo ja arduino pro-mikrolevyjen kanssa tai sellaisten kanssa, joissa on sisäänrakennetut usb-mikro-ohjaimet. Jos yrität välähtää tämän luonnoksen kanssa mitä tahansa muuta arduinoa, jolla ei ole sellaista sisäänrakennettua usb-verkkoa, kehitysympäristö vannoo, joten ole varovainen. Toinen mielenkiintoinen kirjasto on EEPROM.h.
Sen kirjoittaja käyttää monimutkaistakseen hyökkääjiä, jotka hakkeroivat laitteitamme. Lisää siitä myöhemmin. Tämä rivi on sinulle erittäin mielenkiintoinen:
Tässä asetamme laitteen pääsykoodin lukituksen avaamiseksi. Hieman myöhemmin tietoturvasta, mutta muista kuitenkin, että täällä meillä on mahdollisuus määrittää joko "0" tai "1". Tällä hetkellä olemme asettaneet salasanan "101".
Ja myös erittäin tärkeä lohko, tässä oikeasti salasanat tallennetaan.
Huomaa, että tämä on kaksiulotteinen taulukko ja salasanojen lukumäärä täällä on yleensä rajaton. Laitteen muisti rajoittaa sitä tiukasti, mutta tämän voi unohtaa. On erittäin tärkeää noudattaa tallennusmuotoa. Oletetaan, että ensimmäinen kenttä on se, mikä näkyy laitteen valikossa. Se on esimerkiksi "Järjestelmänvalvoja".
Sitten, pilkuilla erotettuna ja lainausmerkeissä, meidän on kirjoitettava salasanamme, jonka haluamme laitteen tulevan tietokoneeseen. Esimerkiksi on ”Testi” -osa (tämä kirjoitetaan laitteen näytölle).
Ja jos painamme painiketta, tämä teksti syötetään tietokoneeseen:
Tämän laitteen kauneus on, että jos mikrokontrolleri vilkkuu jollain luonnoksella, sitä on mahdotonta saada sieltä. Jos olet asettanut kaikki salasanat ja niiden nimet täällä ja poistanut ne sitten tästä laiteohjelmistosta, niin kukaan muu ei pääse salasanoihisi, paitsi että hyökkääjä murtaa tämän laitteen ja ymmärtää sen toiminnan.
Tätä seuraa melko pitkä firmware, emmekä syventy sen yksityiskohtiin. Voit ladata sen tekijän videossa olevan kuvauksen linkistä (SOURCE-linkki artikkelin lopussa).
Joten olemme valmiit ohjelmiston kanssa, joten katsotaan nyt, kuinka tämä laite toimii. Yhdistämme sen tietokoneeseen, joten se saa virtaa.
Nyt meidän tehtävämme on kirjoittaa salasana. Salasana, kuten muistat, on nolla ja yksi, lisäksi “1” on yksi napsautus enkooderin pyörimissuunnassa myötäpäivään ja “0” on kierto vastapäivään. Toisin sanoen, koska olemme asettaneet salasanan 101, meidän on vieritettävä vipua 1 kertaa oikealle, 1 kertaa vasemmalle ja sitten uudelleen oikealle.
Annamme sitten salasanan napsauttamalla kooderia ja pääsemme salasanaan tietokoneessa.
Huomaa, että meillä on vain 3 yritystä. Jos vietämme ne kaikki, laite pyytää sinua odottamaan minuutin ennen kuin voimme yrittää kirjoittaa uudestaan salasanan.
Ja niille, jotka ovat erityisen älykkäitä, jotka ymmärtävät, että heidän on odotettava minuutti ja irrotettava laite virtalähteestä ja kytkettävä sitten uudelleen, laite sanoo, että heidän on lopetettava salaperäiset temppunsa ja että he tietävät kaiken heistä, koska aikaa tarvitaan vielä odotus on jatkuvasti tallennettu haihtumattomaan muistiin.
Toivottavasti ymmärrät tämän laitteen toiminnan. Kiitos huomiosta. Nähdään pian!
videot: