USB OTG: ¿Es posible realizar la emulación del dispositivo esclavo en el maestro con controladores reconocidos?

-1

No estoy exactamente seguro de si esto debería estar bajo un tema de StackExchange por completo (¿quizás la programación?), si lo está, muévalo y disculpe las molestias.

Estoy planeando construir un dispositivo usando una placa Raspberry Pi A o Radxa con el objetivo de emular un dispositivo esclavo (teclado y mouse unificados) a través de comandos enviados por la placa (¿posiblemente por un dispositivo esclavo a la placa? o un protocolo de red). Como entiendo por las especificaciones de las dos tarjetas, hay puertos USB OTG que permiten actuar como dispositivo esclavo, sin embargo, por lo que sé, USB OTG solo permite un conjunto fijo de funciones como dispositivo esclavo. ¿Es posible crear el puerto USB específico en el que deseo realizar la emulación solo del esclavo si se considera que es un puerto OTG? Además, ¿cómo manejo el reconocimiento del conductor en este caso? ¿Dónde está el firmware incorporado para USB OTG?

    
pregunta Bryan C

1 respuesta

1

Ok, entonces necesitas un dispositivo con al menos 2 puertos USB. Uno de estos debe ser un puerto esclavo que se conectará a una PC host y el otro puerto debe ser un host al que se conectará un teclado / mouse / lo que sea. Su dispositivo luego enumerará y manejará los dispositivos esclavos en su puerto host, procesará cualquier información y / o eventos de estos dispositivos, y luego enviará estos datos fuera de su puerto esclavo hasta la PC host. Entonces, para responder a tu pregunta simplemente: sí, esto es posible.

Pero, no creo que sea posible con ninguno de los tableros que estás viendo. La mitad sería bastante sencilla. Estas tarjetas estarían muy contentas al usar uno de sus puertos USB para hablar con su (s) dispositivo (s) de teclado / mouse. El problema surge cuando desea utilizarlos para emular un tipo particular de dispositivo esclavo en su PC host. Este tipo de tarjetas normalmente están configuradas para proporcionar una selección muy limitada de perfiles USB para elegir cuando se conectan a una PC (como un dispositivo de almacenamiento masivo, emulación de puerto serie, cámara o posiblemente algún tipo de interfaz de depuración) y usted Me resulta bastante difícil cambiar esto para que se parezca a otra cosa: en su caso, un dispositivo HID como un teclado y / o mouse. No estoy diciendo que sea imposible, pero no sé lo suficiente sobre estos paneles y no es obvio por sus simples descripciones generales que apoyan esto.

Este es el tipo de aplicación en la que probablemente necesitará trabajar en un nivel inferior, más directamente con el firmware en un microcontrolador o microprocesador adecuado.

Si intentara sacar algo como esto, me sentiría inclinado a instalar un par de microcontroladores uno detrás del otro. Uno de ellos es el host USB OTG para su teclado / mouse, el otro actúa como un dispositivo compuesto de teclado / mouse para su PC host, y están conectados entre sí mediante SPI.

    
respondido por el brhans

Lea otras preguntas en las etiquetas