Поклонники продукции Microchip Technology Inc тусуются тут.
Ответить

Эмуляция клавиатуры PIC.

Пн май 21, 2012 16:45:04

Здравствуйте дорогие участники. Дайте пожалуйста совет.

Имеются: 2 компьютера

Цель: С одной клавиатуры управлять двумя компьютерами.

Реализация по моим представлением следующая: На первом компе драйвер, перехватывающий скан-коды в реальном времени и отправляющий скан-коды на PIC или AVR или что-то другое, что будет принимать скан-коды и передавать их дальше во второй комп, который будет думать, что принимает сигналы от клавиатуры.

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

Re: Эмуляция клавиатуры PIC.

Вт май 22, 2012 05:56:21

а "удаленный рабочий стол" тогда зачем? :)))
сцепи машины стандартной сетью и вперед...

Re: Эмуляция клавиатуры PIC.

Вт май 22, 2012 09:02:30

Не подходит. Т.к. важна работа вне ОС.

Идея возникла следующая: записывать скан-коды из главного компа в память, далее PIC парралельно в цикле считывает из этой памяти, отправляет во второй комп, затем очищает память.
Последний раз редактировалось Денис82 Вт май 22, 2012 09:51:15, всего редактировалось 1 раз.

Re: Эмуляция клавиатуры PIC.

Вт май 22, 2012 10:38:23

Денис82 писал(а):Идея возникла следующая: записывать скан-коды из главного компа в память

Записывать каким способом? Вне ОС? В какую "память" записывать?

Денис82 писал(а):далее PIC парралельно в цикле считывает из этой памяти,

Из какой памяти? Где эта память физически расположена?

Денис82 писал(а):отправляет во второй комп

По какому интерфейсу?

Re: Эмуляция клавиатуры PIC.

Вт май 22, 2012 15:30:50

[quote="Alkul"]**************

Записывать в регистры, посредством программатора USB в реальном времени. Регистры соединены с PIC естественно.

Re: Эмуляция клавиатуры PIC.

Вт май 22, 2012 20:30:16

Денис82, будете так цитировать, модератор Вас накажет за оверквотинг :wink:

Денис82 писал(а):Записывать в регистры, посредством программатора USB в реальном времени. Регистры соединены с PIC естественно.

Простите, но эта фраза совершенно ничего не проясняет. Более того, она выдает в Вас человека, очень слабо разбирающегося в предмете.
"Записи в регистры" - в какие регистры? В микросхемы серий ххххИРхх? В регистры микроконтроллера?
Буфер клавиатуры (он же кольцевой буфер) расположен в ОЗУ по адресу 0000h:041Eh для машин IBM PC/XT.
Как Вы собираетесь оттуда "записывать в регистры"? Вы хотите сделать свой контроллер DMA и напаять его на материнскую плату? :))
При чем тут программатор USB, который, кстати, "вне ОС" работать не будет?

Вашу задачу можно решить несколькими способами:
1. Сделать устройство на микроконтроллере, которое будет подключаться в разрыв шнура клавиатуры, принимать поступающие от клавиатуры скан-коды и транслировать их по двум параллельным каналам в оба компьютера. Подключаться это устройство должно в клавиатурные разъемы каждого из компьютеров.

2. На компьютере, к которому подключена управляющая клавиатура, написать программу-сниффер, которая будет перехватывать скан-коды, поступающие от клавиатуры, и по какому-либо из интерфейсов (RS-232, USB) передавать эти коды во второй компьютер. Но тут тоже без "железки", преобразующей интерфейсы, не обойтись.

3. Как Вам уже сказали выше - удаленный рабочий стол либо что-то вроде RAdmin.

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

Re: Эмуляция клавиатуры PIC.

Ср май 23, 2012 07:36:34

Alkul, второй вариант распишите пожалуйста подробнее.

Re: Эмуляция клавиатуры PIC.

Ср май 23, 2012 08:49:31

Денис82 писал(а):Alkul, второй вариант распишите пожалуйста подробнее.

а чего тут расписывать особо. Можно, наверное, обойтись и без самодельного "железа". Сделайте поиск по фразе "передача данных между компьютерами по USB",
вот в этой ссылке есть даже драйвер какой-то для передачи данных по USB (сам я его не проверял, так что на Ваш страх и риск).
Пишете программу-перехватчик скан-кодов (не спрашивайте как, я "компьютерным" программированием не занимаюсь). Отправляете эти скан-коды удаленному компьютеру. Там нужна программа, которая будет эмулировать клавиатуру и "подсовывать" полученные по USB скан-коды операционной системе.

Возможен другой вариант - сделать некую "железку", которая будет подключена к COM-порту либо к USB "ведущего" компьютера, программа-перехватчик скан-кодов отправляет этой "железке" перехваченные коды, после чего она формирует сигнал в том же формате, в котором его выдает реальная клавиатура, затем этот сигнал подается на клавиатурный разъем "ведомого" компьютера. Плюс данного способа в том, что на "ведомом" не требуется установка никакого ПО.

Re: Эмуляция клавиатуры PIC.

Ср май 23, 2012 11:54:43

Alkul писал(а):Возможен другой вариант - сделать некую "железку", которая будет подключена к COM-порту либо к USB "ведущего" компьютера, программа-перехватчик скан-кодов отправляет этой "железке" перехваченные коды, после чего она формирует сигнал в том же формате, в котором его выдает реальная клавиатура, затем этот сигнал подается на клавиатурный разъем "ведомого" компьютера. Плюс данного способа в том, что на "ведомом" не требуется установка никакого ПО.


Вот именно это меня и интересует, как сделать "железку"?

Re: Эмуляция клавиатуры PIC.

Ср май 23, 2012 12:02:00

Нешта я не разумею. Если с клавы одна и та же инфа 1:1 идет на оба компа, то почему бы не буферизировать выход PS/2 и не подать "копию" сигнала с выхода клавы прямо на второй комп ? А если первый комп что-то делает с принятой инфой и в модифицированном виде передает ее на второй, то без серьезной програамно-аппаратной обработки не обойтись.
А вообще у меня складывается впечатление, что мы присутствуем на первом акте детектива : "Дяденьки, я в технике не шарю совсем , но денег хочется, и пин-коды ваших кредиток очень хочууу!" . Аль я не прав ? Если нет, то пардон, но больно уж не технически стартертоп выглядит.

Re: Эмуляция клавиатуры PIC.

Ср май 23, 2012 14:16:26

Денис82 писал(а):то без серьезной програамно-аппаратной обработки не обойтись.


Вот именно это и интересует. Копия сигнала не подходит.

Денис82 писал(а):"Дяденьки, я в технике не шарю совсем , но денег хочется, и пин-коды ваших кредиток очень хочууу!"

Паять я умею, пинкоды кредиток бесполезны без остальных реквизитов.

Re: Эмуляция клавиатуры PIC.

Ср май 23, 2012 15:04:47

Денис82 писал(а):Вот именно это и интересует. Копия сигнала не подходит.

А из первых постов, в которых ставилась задача, это абсолютно не следует. Ничего не было сказано про модификацию кодов.

Re: Эмуляция клавиатуры PIC.

Ср май 23, 2012 18:11:27

Alkul писал(а):
Денис82 писал(а):Вот именно это и интересует. Копия сигнала не подходит.

А из первых постов, в которых ставилась задача, это абсолютно не следует. Ничего не было сказано про модификацию кодов.

Скан-коды модифицировать не нужно, нужно их принимать из USB первого компа и передавать дальше в USB второго, при этом "железо" должно эмулировать HID устройство, чтобы второй комп думал что это клавиатура.

Re: Эмуляция клавиатуры PIC.

Чт май 24, 2012 00:07:54

Денис82 писал(а):Скан-коды модифицировать не нужно, нужно их принимать из USB первого компа и передавать дальше в USB второго

Побей меня кошка лапой, если это - не копия, то - что же ?
А насчет кредиток ... жаль, я хотел в долю примазаться :)
Т.е. задача такова : принимаем коды с клавы ( обязательно USB, PS/2 не катит ? ), ничего с кодами не делаем и кидаем их неизменными второму компу, но чтоб он не подозревал, что это из компа, прикидываемся клавой ? Так какие проблемы ? Берем USB-клаву, потрошим ее, оставив только микросхему с выходом на USB, на клавиатурную матрицу вешаем МК, принимающий коды с первого компа, причем не обязательно по USB - хоть COM, хоть LPT, если они есть, да хоть выход звуковухи - что там свободно - и вуаля.

Re: Эмуляция клавиатуры PIC.

Чт май 24, 2012 07:10:58

Jack_A писал(а):Берем USB-клаву, потрошим ее, оставив только микросхему с выходом на USB, на клавиатурную матрицу вешаем МК, принимающий коды с первого компа, причем не обязательно по USB - хоть COM, хоть LPT, если они есть, да хоть выход звуковухи - что там свободно - и вуаля.

Этот вариант не оптимальный, т.к. МК можно сделать HID устройством и обойтись без микросхемы клавиатуры. Я ищу наиболее простые и оптимальные идеи реализации.

Re: Эмуляция клавиатуры PIC.

Чт май 24, 2012 10:42:17

Ну тады - успехов.
Но эта микросхема из клавы -- она и реализует собственно HID интерфейс. Вытащить из нее прогу, затолкать в другой МК ... Как говорил мент Дукалис, "пиво без водки - деньги на ветер" . При чем тут это - я сам толком не соображу, но с идеей целиком согласен.

Re: Эмуляция клавиатуры PIC.

Чт май 24, 2012 11:02:28

Я так понял, что документацию читать стало не модно. А ведь все придумано до вас.
http://www.atmel.com/Images/doc8446.pdf - вот аппнот, из которого элементарно просто сделать то, что Вы хотите.
Jack_A писал(а):Но эта микросхема из клавы -- она и реализует собственно HID интерфейс. Вытащить из нее прогу, затолкать в другой МК ...

Вытащить прогу из этого не выйдет, а лепить к ней рядом контроллер - колхоз

Re: Эмуляция клавиатуры PIC.

Чт май 24, 2012 12:27:39

coredumped писал(а):http://www.atmel.com/Images/doc8446.pdf - вот аппнот, из которого элементарно просто сделать то, что Вы хотите.


Замечательно. "Купите наше изделие Atmel AVR4904: ASF - USB Device HID" . А оно лучше чем "купите в комп. фирме USB клавиатуру"? Уверен, выйдет дешевле раза в 2.
Про то, что аппноут - для самостоятельного изготовления, я ни полслова не увидел.

Re: Эмуляция клавиатуры PIC.

Чт май 24, 2012 13:02:42

Jack_A писал(а):Про то, что аппноут - для самостоятельного изготовления, я ни полслова не увидел.

В примерах ASF от Atmel достаточно информации, чтоб собрать USB клавиатуру. Нужно только почитать, посмотреть примеры, и написать программку.
К тому же, для совсем ленивых http://www.lmgtfy.com/?q=avr%20usb%20hid%20keyboard

Re: Эмуляция клавиатуры PIC.

Чт май 24, 2012 21:10:32

http://radiokot.ru/circuit/digital/pcmod/23/
Ответить