Товары из Китая

Делаем программируемую клавиатуру без паяльника и ардуино.


Делаем программируемую клавиатуру без паяльника и ардуино.

Хочу поделиться способом получения программируемой клавиатуры без необходимости пайки и программирования.

Интересно? Вам под кат!

История

Во время моей работы мне приходилось прошивать очень много BIOS и IPMI в материнские платы серверов.

Существовали ограничения, которые не давали сделать процедуру никаким другим способом кроме как скачав пакет обновления вручную с HTTP сервера на целевую машину и запустив его на выполнение. Процедура требовала ввода команд и URL только с клавиатуры и её нельзя было автоматизировать. И я нашел решение этого вопроса.

Это сканер штрихкодов!

Сканер штрихкодов, это USB клавиатура, которая при чтении штрих-кода эмулирует нажатия клавиш, и это мне и было нужно.

Сканеры штрих-кодов бывают проводными, и беспроводными.

Бывают 1D — для чтения линейных штрихкодов, например Code 39 или Code 128 и 2D, которые кроме 1D кодов умеют распознавать и Data Matrix или QR-коды.

Для решения моей задачи я использовал уже имеющийся в машинном зале сканер Symbol LS2208, однако читатель может приобрести безымянный, но при этом такой же эффективный сканер отсюда.

Что дальше?

Подключаете сканер к компьютеру, и генерируете необходимый код. Это может быть команда, это может быть сложнейший пароль, это даже может быть штрихкод вида «логин, клавиша TAB пароль и кнопка Enter», это может быть доменное имя компьютера, к которому вы хотите подключиться удаленно через RDP но не хотите набирать его вручную каждый раз.

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

Пример

Code 128, как яркий пример 1D кода, который умеет кодировать большие и маленькие буквы:

Делаем программируемую клавиатуру без паяльника и ардуино.

Всем добра!


СМОТРИ ТАКЖЕ

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *