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