Задать вопрос
xAlex007
@xAlex007

USB Host устройство эмулятор принтера?

Имеется USB Host устройство — принтер, надо смастерить такое промежуточное устройство (вход USB — B1, выход USB — A1 ), которое анализирует поток данных идущих к хосту и совершает какое-то действие (добавляет в эти данные информацию, удаляет и т.п)

Помогите определиться с железяками, которые надо выбрать — MCHPFSUSB Library Help (гугл выдает ссылку эту библиотеку), т.е. можно остановиться на Microchip.… Или может есть что-то другое, микроконтроллер на базе Linux, Raspberry Pi
  • Вопрос задан
  • 5855 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 4
xAlex007
@xAlex007 Автор вопроса
Эмулятор — обязательно внешний, т.е. между PC и принтером, чтобы не было зависимости вообще от PC, интересуют только данные, которые передает спуллер через USB порт. на основании этих данных, будет добалены макросы, включения каких-либо внешних мезханизмов, но это в будущем :)
Ответ написан
@KoteSoft
Если задача — только анализировать передаваемые данные, то для начала можно ограничится цифровым осциллографом. А вообще существует куча микроконтроллеров с поддержкой USB. Проблема может быть в том, что требуются и master, и slave, что на одном контроллере может быть труднореализуемо. Вторая проблема — скорость передачи, для поддержки USB2.0 нужен контроллер, работающий на высокой тактовой частоте. Еще одна трабла в том, что на физическом уровне сложно что-то эмулировать, если это простая ретрансляция команд — задача достаточно простая, то их изменение уже напряжно, особенно, если неизвестен протокол обмена.
Ответ написан
Комментировать
svd71
@svd71
USB-Host эмулятор принтера — не указан какой именно принтер. В этом большая разница того, что вы хотите.
Я речь веду о том, что у каждого принтера свои протоколы обмена данными через USB интерфейс. Вы можете просто скопировать все репорты USB усторойства в свой микроконтроллер, обеспечив на выходе идентичный сигнал. Но он, опять же, будет эмулировать конкретную реализацию конкретного принтера. И будет требовать использования конкретных драверов заданной модели.
По этому приципу работают сетевые принтеры и шаринги в мультимедиацентрах с поддержкой принтеров. то есть для доступа открывается виртуальный порт или TCP-порт, который принимает уже обработанные на клиентской машине дравером данные и просто копирует их в реальносуществующий порт.
Ответ написан
xAlex007
@xAlex007 Автор вопроса
ну если у каждого принтера свои протоколы обмена данными, тогда это слишком сложно, т.е. сделать универсальный гейт, вряд ли получится. Буду тогда думать в направлении Print API — Windows, Linux., как поток печати на определенный принтер постранично приостановить, доработать, среагировать и дальше отослать.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы