Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Удаленная работа
Помощь проекту

USB генератор пароля в виде флешки

Данное устройство, выполненное в виде USB флешки, предназначено для генерирования и ввода символьного пароля в персональный компьютер при подключении его в разъем USB. Другими словами, это своего рода электронный ключ, при подключении которого в разъем USB персонального компьютера, например при входе в Windows, автоматически вводится сохраненный пароль. Устройство по команде пользователя может сгенерировать произвольный пароль и сохранить его в энергонезависимой памяти.

Устройство очень простое и выполнено на микроконтроллере Atmel AVR ATtiny85, который, с помощью программного кода, эмулирует USB HID клавиатуру. Сгенерированный самим микроконтроллером и сохраненный в EEPROM микроконтроллера пароль передается при подключении устройства в USB разъем. Новый пароль генерируется после 4-х кратного нажатия на кнопку Caps Lock на штатной клавиатуре: 4 нажатия для запуска режима генерации и затем, одно нажатие клавишы Caps Lock для генерирования каждого символа пароля (длина пароля по умолчанию 10 символов).

 

Помимо микроконтроллера в схеме используется несколько пассивных компонентов, которые обязательны при реализации USB коммуникации на микроконтроллере. Корпус устройства позаимствован от неисправного флеш-накопителя емкостью 512 МБайт. Коннектор USB был взят от обычного USB кабеля, он и остальные компоненты монтируются на макетную плату соответствующего размера.

Программа микроконтроллера

Программное обеспечение для микроконтроллера написано с использованием библиотеки V-USB для AVR микроконтроллеров. Исходные коды, схема и make-файл можно скачать по этой ссылке.

Устройство определяется компьютером как USB HID клавиатура. Для обеспечения коммуникации с устройством оно выполнено в виде Boot-совместимой клавиатуры, которая может получать статус светодиодов (в частности, для нашего случая Caps Lock) изменяемого компьютером. Описание HID позаимствовано с проекта карточки USB Business card (Frank Zhao). Также благодаря этому проекту был изучен и применен код для отправки статуса светодиодов в USB HID устройство (коротко, компьютер посылает 1 байтное сообщение – битовую маску состояния светодиодов).

Основные параметры, определяющие функционирование устройства, которые вы найдете в тексте исходного кода программы микроконтроллера (файл usbsconfig.h и HID-дискриптор):

  • PASS_LENGTH – длина генерируемого пароля, определяется в начале программы;
  • SEND_ENTER – значение может быть 1 или 0, определяет будет ли отправлена нашим устройством команда Enter после ввода сохраненного пароля;
  • measuring_message и finish_message – содержат сообщения, которые будут отображаться при генерации/сохранении нового пароля;
  • buildReport() – функция, вызываемая в основном цикле программы, для отправки символов пароля на ПК один за одним – функция преобразует символы в буфере messageBuffer в USB команды «на лету»;
  • usbFunctionWrite() – функция осуществляет прием байта состояния светодиодов от ПК, она вызывает функцию caps_toggle() каждый раз при изменении статуса светодиода;
  • generate_character() – функция используетсядля генерирования произвольного символа, и на данный момент используются буквы, дефис и символ подчеркивания;
  • caps_toggle() – функция ведет подсчет нажатий кнопки Caps Lock (по изменению состояния светодиода Caps Lock) и осуществляет генерацию/сохранение пароля.

В разделе загрузок для пользователей доступен исходный код с подробными комментариями, принципиальная схема и make-файл для компиляции. Следует учитывать, что необходимо произвести настройку Fuse-битов микроконтроллера: CKSEL=0001, SUT=10 (младший байт E1) и установить BOD на уровень 2.7 В (старший байт DD). 


C этой схемой также часто просматривают:

Генератор видеосигнала на микроконтроллере PIC16F84
Генератор телевизионных сигналов на простых микросхемах
ПРОСТОЙ ГЕНЕРАТОР СИГНАЛОВ НЧ И ВЧ
ГЕНЕРАТОР ИМПУЛЬСОВ НА PIC-КОНТРОЛЛЕРЕ
Широкодиапазонный функциональный генератор
Управление термопечатью кассового аппарата «Меркурий 130К»
Плавное чередование яркости свечения светодиодов (лент)
Вольтметр до 30 вольт на MSP430
Змейка и Тетрис на микроконтроллере PIC16F688

Главные категории

Arduino


Аудио


В Вашу мастерскую


Видео


Для автомобиля


Для дома и быта


Для начинающих


Зарядные устройства


Измерительные приборы


Источники питания


Компьютер


Медицина и здоровье


Микроконтроллеры


Музыкантам


Опасные, но интересные конструкции


Охранные устройства


Программаторы


Радио и связь


Радиоуправление моделями


Световые эффекты


Связь по проводам и не только...


Телевидение


Телефония


Узлы цифровой электроники


Фототехника


Шпионская техника



Реклама на KAZUS.RU




Последние поступления

Самодельная USB-гарнитура

Защита от помех устройства, питаемого от разъёма USB

Простое управление куллером компьютера

Переходник для подключения к USB-порту устройства с большим потребляемым током

1-wire шлюз для компьютера (через com-порт) на ATTiny2313

SPI шлюз для компьютера (через com-порт) на ATTiny2313

I2C шлюз для компьютера (через com-порт) на ATTiny2313

Стрелочный индикатор загрузки ЦП и оперативной памяти ПК

Sim Card Reader SOLO GWR

Sim-Reader v.3



© 2003—2017 «KAZUS.RU - Электронный портал»