Возникла необходимость переключать клавиатуру с мышкой между компьютером и СмартТВ на Андроиде. Мне не было необходимости переключать видеовыход с компьютера, а также требовалось переключать получатель сигналов по команде с клавиатуры, а такая возможность отсутствует в дешевых моделях KVM для USB клавиатур, имеющихся в продаже. Поэтому пришлось разработать такое устройство самому. Цена вопроса около 250 рублей, причем больше половины стоит корпус.Для анализа нажатий клавиш был был взят за основу алгоритм, описанный в статье USB Keylogger на AVR. Программа была переписана для микроконтроллера ATTiny 45, чтобы упростить схему и использовать дешевый микроконтроллер (также можно использовать и ATTiny 25, ATTiny 85). Принципиальная схема создана в программе SPlan 7.0 печатная плата в Sprint-Layout 5.0.
Номиналы деталей указаны на принципиальной схеме. USB разъемы: розетки тип В — 2 шт. и тип А — 1 шт. Микроконтроллер использовался в корпусе SOIC для поверхностного монтажа, поэтому он паяется на плату со стороны дорожек. Рядом с микроконтроллером имеются посадочные места для штырьков для подключения программатора, чтобы запрограммировать его уже после установки на плату. Для платы я использовал односторонний фольгированный текстолит, а вместо дорожек второго слоя используются проволочные перемычки. Корпус G431 90х50х24 мм от фирмы GAINTA.
Переключение между каналами осуществляется двойным нажатием правой или левой клавиши Ctrl. Фююзы для ATTiny45 LOW FUSE BYTE: 0xCE, HIGH FUSE BYTE: 0xDF.
Готовое устройство представлено на фото. К нему подключены два кабеля со штекерами А-В, идущие к компьютеру и телевизору и USB приемник от беспроводного комплекта Клавиатура+Мышь.
Предупреждение: устройство не будет работать если попытаться подключить раздельные мышь и клавиатуру через USB хаб, т.к. я использовал комбинированный комплект с одним приемником, то этот вариант меня устроил. А выяснять, как меняется сигнал от клавиатуры, проходя через хаб, и переделывать модуль захвата USB сигнала, написанный на ассемблере, мне было лень :(. Кстати, также не будут работать клавиатуры у которых на корпусе есть USB разъемы для подключения дополнительных устройств, т.к. по сути они подключаются к компьютеру через встроенный в них хаб.
Предупреждение 2: Устройство работает только с клавиатурами работающими по протоколу USB 1.1 Low Speed. К сожалению оно не работает если клавиатура использует USB 1.1 High Speed.
PS. Если добавить к схеме дополнительные мультиплексоры, то можно сделать полноценный KVM с переключением видео сигнала VGA или HDMI.
[Ссылки]
Добавить комментарий
Для отправки комментария вам необходимо авторизоваться.