¿Cómo puedo verificar la entrada de USB?

8

Tengo el siguiente cable como se muestra a continuación, un extremo tiene un conector USB macho y el otro extremo tiene cuatro cables. Lo sé, cuando está conectado a la computadora portátil, el ROJO actúa como fuente de voltaje y NEGRO como tierra. Si le doy entrada de datos de 2 bits a uno VERDE y AMARILLO, ¿hay algún software o API para (Python, C o cualquier otro lenguaje) saber sobre el estado de esos dos cables? Quiero decir si VERDE o AMARILLO tienen voltaje o no.

ingrese la descripción de la imagen aquí

Por favor, guíame si estoy haciendo una pregunta incorrecta.

Divanshu
fuente

Respuestas:

12

No, no puede detectar el estado del cable USB directamente. USB es una interfaz mucho más compleja que eso, no es una comparación con los puertos seriales y paralelos de estilo antiguo que podrían usarse para E / S directa con un programa de controlador simple. Se intercambia un apretón de manos complejo con la PC incluso antes de que se pueda enviar el primer byte de datos / carga útil 'real'.

¿Quizás su PC tiene un puerto paralelo que se puede usar? O debe usar un convertidor de USB a GPIO que esté ampliamente disponible a precios variables (tanto extremadamente altos como extremadamente bajos).

jippie
fuente
1
Ejemplo: sparkfun.com/products/718 No tengo ninguna experiencia con este módulo, pero parece estar a la altura del trabajo. Hay muchas alternativas similares disponibles si nos fijamos un poco.
jippie
1
Solo una pequeña adición: no puede abusar de un puerto USB como este porque el protocolo de enlace ocurre a un nivel mucho más bajo que el que puede acceder con los lenguajes de programación normales. Partes del apretón de manos suceden en el hardware.
Alexander
1

¿Cuál es tu objetivo final? Si se trata de observar el protocolo USB, puede usar un analizador lógico relativamente barato o relativamente costoso .

Si su objetivo es capturar bytes en su computadora, puede obtener un depurador USB para su sistema operativo (por ejemplo, OS X tiene un kit de depuración USB gratuito).

Si su objetivo es tener una manera fácil de determinar si pone un voltaje en una entrada, sería mejor usar un USB -> GPIO, como sugirió jippie, o podría seguir la ruta arduino (más costosa) y tiene mucho espacio para crecer si desea hacer más cosas con las entradas antes del análisis en la computadora.

Si realmente desea una forma súper simple de obtener un valor de voltaje en su computadora sin comprar un nuevo hardware, la sugerencia de jippie de usar el puerto paralelo es buena , y también podría investigar el uso de la entrada de su micrófono como una solución rápida.

Chris Gregg
fuente