» » » Устройство автоматического ввода паролей в компьютер

Устройство автоматического ввода паролей в компьютер

Приветствую, Самоделкины!
Сегодня мы соберем устройство, которое будет помнить наши пароли и по нажатию на кнопку автоматически вводить их в компьютер. При этом, пароли будут надежно защищены. Автором данной самоделки является Михаил (YouTube канал «Arturos TV»).

Для самостоятельного изготовления такого устройства нам потребуется всего лишь 3 компонента. В первую очередь, это конечно же платформа Arduino Pro Micro (прошу не путать с arduino pro mini).

У этой ардуинки установлен микроконтроллер ATmega32u4, а это означает, что у него есть встроенный USB, то есть компьютер распознает эту arduino как мышь или клавиатуру. Именно вокруг этой особенности и будет построен сегодняшний проект.

Также у этой ардуины несколько нестандартная распиновка. Однако с этим мы столкнемся чуть позже. Кроме того, нам понадобится энкодер для навигации по меню и последующего ввода пароля.

Давайте вкратце разберемся с принципом его работы. У энкодера есть 2 контакта называемых условно, а и b, в зависимости от того, в какую сторону будет повёрнут энкодер.

Например, если мы будем вращать его по часовой стрелке, то сначала замкнется контакт «а» и только потом контакт «b». Исходя из этого, в программе мы можем понять, что энкодер был повернут по часовой стрелке. Если же он будет вращаться против часовой стрелки, то сначала будет замкнут контакт «b» и только потом контакт «а». После каждого оборота также ощущается небольшой щелчок. Именно на этом будет основан пароль, который будет необходимо ввести для того чтобы получить доступ к нашему устройству.

Меню устройства будем выводить на всем знакомый дисплей формата 1602, конечно же на шине I2C.


И тут есть небольшой нюанс. У arduino pro micro контакты I2C находятся не на стандартных портах А5 и А4, а на контактах 2 и 3, поэтому подключить дисплей нужно именно сюда.

Вообще, схема всего собранного устройство выглядит вот так:

Корпус конечно же напечатаем на 3d принтере.



В этот раз получилось очень неплохо, но автор зачем-то решил заняться дизайном, и поэтому нижняя крышка получилась не очень красивой. Но тут уже ничего не поделаешь, а вот с размерами корпуса и дистанцией между отверстиями в этот раз все получилось очень даже хорошо. Все детали встали на свое место, и с совсем небольшим трудом получилось закрутить все саморезы чтобы закрепить части. К сожалению, без горячего клея опять же не обошлось, но в этом проекте его уже совсем чуть-чуть.





Конечно же самым интересным в этом проекте было написание прошивки.

Глубоко в ее подробности мы вдаваться не будем, однако необходимо рассказать вам о некоторых ее особенностях. В первую очередь, это использование библиотеки keyboard.h.

Эта библиотека используется только с платами arduino leonardo и arduino pro micro или с теми у которых есть встроенные usb микроконтроллеры. Если вы будете пытаться прошить этим скетчем любую другую arduino, у которой нет такой встроенной usb, то среда разработки будет ругаться, так что осторожно. Еще интересна библиотека EEPROM.h.

Ее автор использует для того, чтобы осложнить злоумышленникам взлом нашего устройства. Однако об этом потом. Для вас будет очень интересна вот эта строчка:

Здесь мы задаем код доступа к нашему устройству чтобы его разблокировать. Однако о безопасности немного потом, но все же запомните, что здесь у нас есть возможность указать либо «0», либо «1». В данный момент у нас установлен пароль «101».
И еще тоже очень важный блок, это собственно то, где будут храниться пароли.

Обратите внимание, что это двумерный массив, причем количество паролей здесь в общем то не ограничено. Хотя, строго говоря ограничено памятью устройства, но этим можно пренебречь. Здесь очень важно соблюсти формат записи. Допустим, первое поле — это будет то, что отобразится в меню на устройстве. То есть, например, «Admin».

Далее через запятую и в кавычках мы должны написать наш пароль, который мы хотим, чтобы устройство ввело в компьютер. Например, есть раздел «Test» (это будет написано на экране нашего устройства).

И если мы нажмём кнопку, то вот этот текст будет введен в компьютер:

Прелесть этого устройства заключается в том, что если микроконтроллер прошит каким-то скетчем, достать его оттуда невозможно. Если вы один раз задали здесь все пароли и все их названия, а потом стерли их из этой прошивки, то больше к вашим паролям доступ не будет иметь никто, разве, что злоумышленник взломает это устройство и поймет как оно работает.
Далее следует довольно длиная прошивка и в ее подробности мы вдаваться не будем. Скачать ее можно будет по ссылке в описании под видеороликом автора (ссылка ИСТОЧНИК в конце статьи).
Итак, с прошивкой закончили, так что теперь давайте посмотрим как же это устройство работает. Подключаем его к компьютеру, таким образом оно получает питание.


Теперь наша задача ввести пароль. Пароль, как вы помните, это нули и единицы, причем «1» это один щелчок вращения энкодера по часовой стрелке, а «0» - это вращение против часовой стрелки. То есть, так как у нас установлен пароль 101, нам нужно 1 раз прокрутить рычажок вправо, 1 раз налево, а потом опять вправо.


Таким образом мы потом введем пароль нажатием на энкодер и сможем получить доступ к вводу пароля в компьютер.

При этом обратите внимание, что у нас есть всего лишь 3 попытки. Если мы все их истратим, то устройство попросит подождать одну минуту, прежде чем мы сможем еще раз попробовать ввести пароль.



А для особо умных, которые поймут, что им нужно ждать минуту и отсоединят устройство от питания, а потом снова подсоединят, устройство им скажет, что они должны прекратить свои коварные проделки и что оно все про них знает, так как время, которое еще необходимо прождать постоянно записывается в энергонезависимую память.

Ну что ж, надеюсь вы поняли как работает это устройство. Благодарю за внимание. До новых встреч!

Видео:

Источник
Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.

Настольный счетчик подписчиков на NodeMcu своими руками

8.8
Идея
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
6.1
Описание
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
6.3
Исполнение
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
Итоговая оценка: 7.04 из 10 (голосов: 8 / История оценок)
Чтобы написать комментарий необходимо войти на сайт через соц. сети (или зарегистрироваться):
Обычная регистрация
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
2 комментария
  1. Korolev
    Давно пользуюсь генератором паролей KeePass Password Safe, очень удобная программка, генерит случайные комбинации до 20 символов, включая спец символы и арабо-японо-китайские иероглифы, русифицирована! Позволяет сортировать, систематизировать, и т.д., и т.п.. Храню на флэшке, периодически копирую на резервную.
  2. Иван_Похмельев
    После каждого оборота также ощущается небольшой щелчок.
    Странный какой-то энкодер. Обычно на один оборот приходится гораздо больше щелчков.

    И вопрос: чтобы поменять пароль или добавить новый, надо перепрошивать приблуду?

Добрый день, Гость!


Зарегистрируйтесь

Или войдите на сайт, если уже зарегистрированы...

Войти

А затем...

Добавьте самоделку

Или...

Добавьте тему

Онлайн чат

Опрос
Сколько по времени, чаще всего, Вы делаете самоделку?

Последние комментарии

Подхожу к замку - не могу открыть, достаю из широких штанин ножовку по металлу+надфили и ву-а-ля, замок открыт! Вот думаю, не добавить ли в набор постоянно носимых в кармане инструментов ещё и...
Автор просто идиот или читателей считает идиотами?...
Промолчу про пару медь - алюминий, но сдаётся мне, алкаши быстро уволокут! Я бы поигрался с корпусом из большой пластиковой бутыли. Вопрос в другом, для кого подсветка?...
а у меня замок клинит, только закрывается и не открывается в машине, так я его постоянно через форточку открываю За это время тоже никто ниче не спросил и даже не посмотрел. Захочешь угнать -...
Все комментарии