Comment vérifier l'entrée USB?

8

J'ai le fil suivant comme indiqué ci-dessous, une extrémité a un connecteur USB mâle et l'autre extrémité a quatre fils. Je sais que lorsqu'il est connecté à un ordinateur portable, le ROUGE agit comme source de tension et le NOIR comme masse. Si je donne une entrée de données 2 bits à GREEN et YELLOW one, existe-t-il un logiciel ou une API pour (Python, C ou tout autre langage) pour connaître l'état de ces deux fils? Je veux vérifier si le VERT ou le JAUNE ont une tension ou non.

entrez la description de l'image ici

Veuillez me guider si je pose la mauvaise question.

Divanshu
la source

Réponses:

12

Non, vous ne pouvez pas détecter directement l'état du câble USB. L'USB est une interface beaucoup plus complexe que cela, ce n'est pas une comparaison avec les ports série et parallèle de style ancien qui pouvaient être utilisés pour les E / S directes avec un programme de pilote simple. Une négociation complexe est échangée avec le PC avant même que le premier octet de données / charges utiles «réelles» ne puisse être envoyé.

Peut-être que votre PC a un port parallèle qui peut être utilisé? Ou vous devez utiliser un convertisseur USB vers GPIO qui sont largement disponibles à des prix variables (à la fois extrêmement élevés et extrêmement bas).

jippie
la source
1
Exemple: sparkfun.com/products/718 Je n'ai aucune expérience avec ce module, mais il semble être à la hauteur. Il existe de nombreuses alternatives similaires si vous regardez un peu.
jippie
1
Juste un petit ajout: vous ne pouvez pas abuser d'un port USB comme celui-ci car la poignée de main se produit à un niveau bien inférieur à celui auquel vous pouvez accéder avec les langages de programmation normaux. Certaines parties de la prise de contact se produisent dans le matériel.
Alexander
1

Quel est votre but ultime? Pour respecter le protocole USB, vous pouvez utiliser un analyseur logique relativement peu coûteux ou relativement cher .

Si votre objectif est de capturer des octets sur votre ordinateur, vous pouvez obtenir un débogueur USB pour votre système d'exploitation (par exemple, OS X dispose d'un kit de débogage USB gratuit).

Si votre objectif est d'avoir un moyen facile de déterminer si vous mettez une tension sur une entrée, vous feriez mieux d'utiliser un USB -> GPIO, comme l'a suggéré jippie, ou vous pourriez emprunter la voie arduino (plus chère) et avoir beaucoup d'espace pour grandir si vous vouliez faire plus de choses avec les entrées avant l'analyse sur l'ordinateur.

Si vous voulez vraiment un moyen super simple d'obtenir une valeur de tension dans votre ordinateur sans acheter de nouveau matériel, la suggestion de jippie d'utiliser le port parallèle est une bonne solution, et vous pouvez également étudier l'utilisation de votre entrée microphone comme une solution construite en jerry.

Chris Gregg
la source