Днес ще сглобим устройство, което ще запомни паролите ни и чрез натискане на бутон автоматично ще ги въведе в компютъра. В този случай паролите ще бъдат защитени. Автор на този домашен продукт е Майкъл (YouTube канал "Arturos TV").
За независимото производство на такова устройство се нуждаем само от 3 компонента. На първо място, това разбира се е платформа (моля, не се бъркайте с Ардуино pro mini).
Това ардуино има микроконтролер ATmega32u4, което означава, че има вграден USB, тоест компютърът разпознава този ардуино като мишка или клавиатура. Именно около тази функция ще бъде изграден днешният проект.
Също така, това ардуино има някак нестандартно пино. С това обаче ще се натъкнем малко по-късно. Освен това ще трябва да навигираме в менюто и след това да въведем паролата.
Нека разгледаме накратко принципа на неговата работа. Енкодерът има 2 контакта, наречени условно, a и b, в зависимост от това в коя посока ще бъде обърнат енкодера.
Например, ако го завъртим по посока на часовниковата стрелка, след това контактът „a“ се затваря първо и едва след това се свързваме с „b“. Въз основа на това в програмата можем да разберем, че енкодерът е завъртян по посока на часовниковата стрелка. Ако се върти обратно на часовниковата стрелка, тогава контактът "b" първо ще бъде затворен и едва след това се свържете с "a". След всяка революция се усеща и леко щракване. На това ще се основава паролата, която ще трябва да бъде въведена, за да получите достъп до нашето устройство.
Менюто на устройството ще се показва на познатата, разбира се на I2C шината.
И има лек нюанс. В arduino pro micro контактите на I2C не са на стандартни портове A5 и A4, а на контакти 2 и 3, така че тук трябва да свържете дисплея.
По принцип схемата на цялото сглобено устройство изглежда така:
Разбира се, ще отпечатаме калъфа на 3d принтер.
Този път се оказа много добре, но по някаква причина авторът реши да направи дизайна и затова долната корица не беше много красива. Но няма какво да се направи, но с размерите на кутията и разстоянието между дупките този път всичко се оказа много добре. Всички детайли станаха на мястото си и с много малка трудност се оказа затягане на всички винтове за фиксиране на частите. За съжаление горещо лепило отново беше възможно, но в този проект вече беше малко.
Разбира се, най-интересното в този проект беше писането на фърмуера.
Няма да навлизаме задълбочено в неговите подробности, но е необходимо да ви разкажем за някои от неговите характеристики. На първо място, това е използването на library.h библиотека.
Тази библиотека се използва само с arduino leonardo и arduino pro micro табла или с тези, които имат вградени usb микроконтролери. Ако се опитате да прокарате с тази скица всеки друг ардуино, който няма такъв вграден usb, средата за разработка ще се закълне, така че бъдете внимателни. Друга интересна библиотека е EEPROM.h.
Авторът му използва, за да усложни нападателите, които хакнаха нашето устройство. Въпреки това, повече за това по-късно. Този ред ще бъде много интересен за вас:
Тук задаваме кода за достъп на нашето устройство, за да го отключим. Въпреки това, малко по-късно за сигурността, но все пак не забравяйте, че тук имаме възможност да посочим или "0", или "1". В момента сме задали паролата "101".
И също така много важен блок, това всъщност ще се съхраняват паролите.
Моля, обърнете внимание, че това е двуизмерен масив и броят на паролите тук обикновено е неограничен. Въпреки че, строго погледнато, той е ограничен от паметта на устройството, това може да се пренебрегне. Много е важно да се съобразите с формата на записа. Да предположим, че първото поле е това, което се появява в менюто на устройството. Това е например „Админ“.
След това, разделени със запетаи и кавички, трябва да напишем нашата парола, която искаме устройството да въведе в компютъра. Например има раздел "Тест" (това ще бъде написано на екрана на нашето устройство).
И ако натиснем бутона, този текст ще бъде въведен в компютъра:
Красотата на това устройство е, че ако микроконтролерът бъде проблясък с някаква скица, е невъзможно да го вземете от там. Ако веднъж зададете всички пароли и всичките им имена тук и след това ги изтриете от този фърмуер, тогава никой друг няма да има достъп до вашите пароли, с изключение на това, че нападателят ще пробие това устройство и ще разбере как работи.
Следното е доста дълъг фърмуер и няма да навлизаме в неговите подробности. Можете да го изтеглите чрез връзката в описанието под видеото на автора (връзката ИЗТОЧНИК в края на статията).
Така че, ние сме готови с фърмуера, така че сега да видим как работи това устройство. Свързваме го с компютъра, така че той получава захранване.
Сега нашата задача е да въведем паролата. Паролата, както си спомняте, е нули и такива, освен това „1“ е едно щракване на въртенето на енкодера по посока на часовниковата стрелка, а „0“ е въртене обратно на часовниковата стрелка. Тоест, тъй като сме задали парола 101, трябва да превъртаме лоста 1 път надясно, 1 път наляво и след това отново надясно.
По този начин ние въвеждаме паролата, като кликваме върху енкодера и можем да получим достъп до паролата в компютъра.
Моля, обърнете внимание, че имаме само 3 опита. Ако ги изразходваме всички, устройството ще ви помоли да изчакате една минута, преди да можем да опитаме отново да въведем паролата.
И за тези, които са особено умни, които ще разберат, че трябва да изчакат малко и да изключат устройството от захранването и след това да се свържат отново, устройството ще им каже, че трябва да спрат коварните си трикове и че знаят всичко за тях, тъй като времето все още е необходимо чакането постоянно се записва в енергонезависима памет.
Е, надявам се да разберете как работи това устройство. Благодаря за вниманието. Ще се видим скоро!
видео: