Эмуляция клавиатуры PIC.
Эмуляция клавиатуры PIC.
Здравствуйте дорогие участники. Дайте пожалуйста совет.
Имеются: 2 компьютера
Цель: С одной клавиатуры управлять двумя компьютерами.
Реализация по моим представлением следующая: На первом компе драйвер, перехватывающий скан-коды в реальном времени и отправляющий скан-коды на PIC или AVR или что-то другое, что будет принимать скан-коды и передавать их дальше во второй комп, который будет думать, что принимает сигналы от клавиатуры.
Что можете посоветовать из железа для реализации идеи? Приоритет - простота реализации. Сейчас продается много наборов типа DIY, видел видео, там сначала заливают прошивку, потом устройство эмулирует нажатия клавиш, мне же нужно чтобы в реалтайме передавало из одного ПК в другой.
Имеются: 2 компьютера
Цель: С одной клавиатуры управлять двумя компьютерами.
Реализация по моим представлением следующая: На первом компе драйвер, перехватывающий скан-коды в реальном времени и отправляющий скан-коды на PIC или AVR или что-то другое, что будет принимать скан-коды и передавать их дальше во второй комп, который будет думать, что принимает сигналы от клавиатуры.
Что можете посоветовать из железа для реализации идеи? Приоритет - простота реализации. Сейчас продается много наборов типа DIY, видел видео, там сначала заливают прошивку, потом устройство эмулирует нажатия клавиш, мне же нужно чтобы в реалтайме передавало из одного ПК в другой.
- Реклама
Re: Эмуляция клавиатуры PIC.
а "удаленный рабочий стол" тогда зачем? 
сцепи машины стандартной сетью и вперед...
сцепи машины стандартной сетью и вперед...
Re: Эмуляция клавиатуры PIC.
Не подходит. Т.к. важна работа вне ОС.
Идея возникла следующая: записывать скан-коды из главного компа в память, далее PIC парралельно в цикле считывает из этой памяти, отправляет во второй комп, затем очищает память.
Идея возникла следующая: записывать скан-коды из главного компа в память, далее PIC парралельно в цикле считывает из этой памяти, отправляет во второй комп, затем очищает память.
Последний раз редактировалось Денис82 Вт май 22, 2012 09:51:15, всего редактировалось 1 раз.
-
Alkul
- Держит паяльник хвостом
- Сообщения: 933
- Зарегистрирован: Ср апр 13, 2011 11:09:20
- Откуда: Екатеринбург
Re: Эмуляция клавиатуры PIC.
Записывать каким способом? Вне ОС? В какую "память" записывать?Денис82 писал(а):Идея возникла следующая: записывать скан-коды из главного компа в память
Из какой памяти? Где эта память физически расположена?Денис82 писал(а): далее PIC парралельно в цикле считывает из этой памяти,
По какому интерфейсу?Денис82 писал(а):отправляет во второй комп
Re: Эмуляция клавиатуры PIC.
[quote="Alkul"]**************
Записывать в регистры, посредством программатора USB в реальном времени. Регистры соединены с PIC естественно.
Записывать в регистры, посредством программатора USB в реальном времени. Регистры соединены с PIC естественно.
- Реклама
-
Alkul
- Держит паяльник хвостом
- Сообщения: 933
- Зарегистрирован: Ср апр 13, 2011 11:09:20
- Откуда: Екатеринбург
Re: Эмуляция клавиатуры PIC.
Денис82, будете так цитировать, модератор Вас накажет за оверквотинг
"Записи в регистры" - в какие регистры? В микросхемы серий ххххИРхх? В регистры микроконтроллера?
Буфер клавиатуры (он же кольцевой буфер) расположен в ОЗУ по адресу 0000h:041Eh для машин IBM PC/XT.
Как Вы собираетесь оттуда "записывать в регистры"? Вы хотите сделать свой контроллер DMA и напаять его на материнскую плату?
При чем тут программатор USB, который, кстати, "вне ОС" работать не будет?
Вашу задачу можно решить несколькими способами:
1. Сделать устройство на микроконтроллере, которое будет подключаться в разрыв шнура клавиатуры, принимать поступающие от клавиатуры скан-коды и транслировать их по двум параллельным каналам в оба компьютера. Подключаться это устройство должно в клавиатурные разъемы каждого из компьютеров.
2. На компьютере, к которому подключена управляющая клавиатура, написать программу-сниффер, которая будет перехватывать скан-коды, поступающие от клавиатуры, и по какому-либо из интерфейсов (RS-232, USB) передавать эти коды во второй компьютер. Но тут тоже без "железки", преобразующей интерфейсы, не обойтись.
3. Как Вам уже сказали выше - удаленный рабочий стол либо что-то вроде RAdmin.
Но помните, что "независимо от ОС" работает только первый из предложенных способов, когда вся работа выполняется вне компьютера. Все остальные способы, основанные на работе какого-либо драйвера внутри одного их компьютеров, не могут быть "независимыми от ОС". Ни одна программа на современных компах не может выполняться независимо от ОС.
Простите, но эта фраза совершенно ничего не проясняет. Более того, она выдает в Вас человека, очень слабо разбирающегося в предмете.Денис82 писал(а): Записывать в регистры, посредством программатора USB в реальном времени. Регистры соединены с PIC естественно.
"Записи в регистры" - в какие регистры? В микросхемы серий ххххИРхх? В регистры микроконтроллера?
Буфер клавиатуры (он же кольцевой буфер) расположен в ОЗУ по адресу 0000h:041Eh для машин IBM PC/XT.
Как Вы собираетесь оттуда "записывать в регистры"? Вы хотите сделать свой контроллер DMA и напаять его на материнскую плату?
При чем тут программатор USB, который, кстати, "вне ОС" работать не будет?
Вашу задачу можно решить несколькими способами:
1. Сделать устройство на микроконтроллере, которое будет подключаться в разрыв шнура клавиатуры, принимать поступающие от клавиатуры скан-коды и транслировать их по двум параллельным каналам в оба компьютера. Подключаться это устройство должно в клавиатурные разъемы каждого из компьютеров.
2. На компьютере, к которому подключена управляющая клавиатура, написать программу-сниффер, которая будет перехватывать скан-коды, поступающие от клавиатуры, и по какому-либо из интерфейсов (RS-232, USB) передавать эти коды во второй компьютер. Но тут тоже без "железки", преобразующей интерфейсы, не обойтись.
3. Как Вам уже сказали выше - удаленный рабочий стол либо что-то вроде RAdmin.
Но помните, что "независимо от ОС" работает только первый из предложенных способов, когда вся работа выполняется вне компьютера. Все остальные способы, основанные на работе какого-либо драйвера внутри одного их компьютеров, не могут быть "независимыми от ОС". Ни одна программа на современных компах не может выполняться независимо от ОС.
Re: Эмуляция клавиатуры PIC.
Alkul, второй вариант распишите пожалуйста подробнее.
-
Alkul
- Держит паяльник хвостом
- Сообщения: 933
- Зарегистрирован: Ср апр 13, 2011 11:09:20
- Откуда: Екатеринбург
Re: Эмуляция клавиатуры PIC.
а чего тут расписывать особо. Можно, наверное, обойтись и без самодельного "железа". Сделайте поиск по фразе "передача данных между компьютерами по USB",Денис82 писал(а):Alkul, второй вариант распишите пожалуйста подробнее.
вот в этой ссылке есть даже драйвер какой-то для передачи данных по USB (сам я его не проверял, так что на Ваш страх и риск).
Пишете программу-перехватчик скан-кодов (не спрашивайте как, я "компьютерным" программированием не занимаюсь). Отправляете эти скан-коды удаленному компьютеру. Там нужна программа, которая будет эмулировать клавиатуру и "подсовывать" полученные по USB скан-коды операционной системе.
Возможен другой вариант - сделать некую "железку", которая будет подключена к COM-порту либо к USB "ведущего" компьютера, программа-перехватчик скан-кодов отправляет этой "железке" перехваченные коды, после чего она формирует сигнал в том же формате, в котором его выдает реальная клавиатура, затем этот сигнал подается на клавиатурный разъем "ведомого" компьютера. Плюс данного способа в том, что на "ведомом" не требуется установка никакого ПО.
Re: Эмуляция клавиатуры PIC.
Вот именно это меня и интересует, как сделать "железку"?Alkul писал(а): Возможен другой вариант - сделать некую "железку", которая будет подключена к COM-порту либо к USB "ведущего" компьютера, программа-перехватчик скан-кодов отправляет этой "железке" перехваченные коды, после чего она формирует сигнал в том же формате, в котором его выдает реальная клавиатура, затем этот сигнал подается на клавиатурный разъем "ведомого" компьютера. Плюс данного способа в том, что на "ведомом" не требуется установка никакого ПО.
Re: Эмуляция клавиатуры PIC.
Нешта я не разумею. Если с клавы одна и та же инфа 1:1 идет на оба компа, то почему бы не буферизировать выход PS/2 и не подать "копию" сигнала с выхода клавы прямо на второй комп ? А если первый комп что-то делает с принятой инфой и в модифицированном виде передает ее на второй, то без серьезной програамно-аппаратной обработки не обойтись.
А вообще у меня складывается впечатление, что мы присутствуем на первом акте детектива : "Дяденьки, я в технике не шарю совсем , но денег хочется, и пин-коды ваших кредиток очень хочууу!" . Аль я не прав ? Если нет, то пардон, но больно уж не технически стартертоп выглядит.
А вообще у меня складывается впечатление, что мы присутствуем на первом акте детектива : "Дяденьки, я в технике не шарю совсем , но денег хочется, и пин-коды ваших кредиток очень хочууу!" . Аль я не прав ? Если нет, то пардон, но больно уж не технически стартертоп выглядит.
Re: Эмуляция клавиатуры PIC.
Вот именно это и интересует. Копия сигнала не подходит.Денис82 писал(а):то без серьезной програамно-аппаратной обработки не обойтись.
Паять я умею, пинкоды кредиток бесполезны без остальных реквизитов.Денис82 писал(а):"Дяденьки, я в технике не шарю совсем , но денег хочется, и пин-коды ваших кредиток очень хочууу!"
-
Alkul
- Держит паяльник хвостом
- Сообщения: 933
- Зарегистрирован: Ср апр 13, 2011 11:09:20
- Откуда: Екатеринбург
Re: Эмуляция клавиатуры PIC.
А из первых постов, в которых ставилась задача, это абсолютно не следует. Ничего не было сказано про модификацию кодов.Денис82 писал(а):Вот именно это и интересует. Копия сигнала не подходит.
Re: Эмуляция клавиатуры PIC.
Скан-коды модифицировать не нужно, нужно их принимать из USB первого компа и передавать дальше в USB второго, при этом "железо" должно эмулировать HID устройство, чтобы второй комп думал что это клавиатура.Alkul писал(а):А из первых постов, в которых ставилась задача, это абсолютно не следует. Ничего не было сказано про модификацию кодов.Денис82 писал(а):Вот именно это и интересует. Копия сигнала не подходит.
Re: Эмуляция клавиатуры PIC.
Побей меня кошка лапой, если это - не копия, то - что же ?Денис82 писал(а): Скан-коды модифицировать не нужно, нужно их принимать из USB первого компа и передавать дальше в USB второго
А насчет кредиток ... жаль, я хотел в долю примазаться
Т.е. задача такова : принимаем коды с клавы ( обязательно USB, PS/2 не катит ? ), ничего с кодами не делаем и кидаем их неизменными второму компу, но чтоб он не подозревал, что это из компа, прикидываемся клавой ? Так какие проблемы ? Берем USB-клаву, потрошим ее, оставив только микросхему с выходом на USB, на клавиатурную матрицу вешаем МК, принимающий коды с первого компа, причем не обязательно по USB - хоть COM, хоть LPT, если они есть, да хоть выход звуковухи - что там свободно - и вуаля.
Re: Эмуляция клавиатуры PIC.
Этот вариант не оптимальный, т.к. МК можно сделать HID устройством и обойтись без микросхемы клавиатуры. Я ищу наиболее простые и оптимальные идеи реализации.Jack_A писал(а):Берем USB-клаву, потрошим ее, оставив только микросхему с выходом на USB, на клавиатурную матрицу вешаем МК, принимающий коды с первого компа, причем не обязательно по USB - хоть COM, хоть LPT, если они есть, да хоть выход звуковухи - что там свободно - и вуаля.
Re: Эмуляция клавиатуры PIC.
Ну тады - успехов.
Но эта микросхема из клавы -- она и реализует собственно HID интерфейс. Вытащить из нее прогу, затолкать в другой МК ... Как говорил мент Дукалис, "пиво без водки - деньги на ветер" . При чем тут это - я сам толком не соображу, но с идеей целиком согласен.
Но эта микросхема из клавы -- она и реализует собственно HID интерфейс. Вытащить из нее прогу, затолкать в другой МК ... Как говорил мент Дукалис, "пиво без водки - деньги на ветер" . При чем тут это - я сам толком не соображу, но с идеей целиком согласен.
- coredumped
- Опытный кот
- Сообщения: 838
- Зарегистрирован: Вт апр 12, 2011 18:38:19
- Откуда: с Земли
Re: Эмуляция клавиатуры PIC.
Я так понял, что документацию читать стало не модно. А ведь все придумано до вас.
http://www.atmel.com/Images/doc8446.pdf - вот аппнот, из которого элементарно просто сделать то, что Вы хотите.
http://www.atmel.com/Images/doc8446.pdf - вот аппнот, из которого элементарно просто сделать то, что Вы хотите.
Вытащить прогу из этого не выйдет, а лепить к ней рядом контроллер - колхозJack_A писал(а):Но эта микросхема из клавы -- она и реализует собственно HID интерфейс. Вытащить из нее прогу, затолкать в другой МК ...
Все будет только лучше, в крайнем случае - хуже.
Re: Эмуляция клавиатуры PIC.
Замечательно. "Купите наше изделие Atmel AVR4904: ASF - USB Device HID" . А оно лучше чем "купите в комп. фирме USB клавиатуру"? Уверен, выйдет дешевле раза в 2.coredumped писал(а): http://www.atmel.com/Images/doc8446.pdf - вот аппнот, из которого элементарно просто сделать то, что Вы хотите.
Про то, что аппноут - для самостоятельного изготовления, я ни полслова не увидел.
- coredumped
- Опытный кот
- Сообщения: 838
- Зарегистрирован: Вт апр 12, 2011 18:38:19
- Откуда: с Земли
Re: Эмуляция клавиатуры PIC.
В примерах ASF от Atmel достаточно информации, чтоб собрать USB клавиатуру. Нужно только почитать, посмотреть примеры, и написать программку.Jack_A писал(а):Про то, что аппноут - для самостоятельного изготовления, я ни полслова не увидел.
К тому же, для совсем ленивых http://www.lmgtfy.com/?q=avr%20usb%20hid%20keyboard
Все будет только лучше, в крайнем случае - хуже.


