Como posso verificar a entrada do USB?

8

Eu tenho o seguinte fio, como mostrado abaixo, uma extremidade possui um conector USB macho e a outra extremidade possui quatro fios. Eu sei que, quando conectado ao laptop, o RED atua como fonte de tensão e o BLACK como terra. Se eu der entrada de dados de 2 bits para VERDE e AMARELO, existe algum software ou API para (Python, C ou qualquer outra linguagem) saber sobre o estado desses dois fios? Quero verificar se um verde ou amarelo tem uma tensão ou não.

insira a descrição da imagem aqui

Por favor, me guie se eu estiver fazendo a pergunta errada.

Divanshu
fonte

Respostas:

12

Não, você não pode detectar diretamente o estado do fio USB. O USB é uma interface muito mais complexa do que isso; não é uma comparação com as portas seriais e paralelas de estilo antigo que poderiam ser usadas para E / S direta com um simples programa de driver. Um handshake complexo é trocado com o PC antes mesmo do envio do primeiro byte de carga / dados 'reais'.

Talvez o seu PC tenha uma porta paralela que possa ser usada? Ou você deve usar um conversor USB para GPIO, amplamente disponível a preços variados (extremamente altos e extremamente baixos).

jippie
fonte
1
Exemplo: sparkfun.com/products/718 Não tenho experiência com este módulo, mas parece que está pronto para o trabalho. Existem muitas alternativas semelhantes disponíveis se você procurar um pouco.
jippie
1
Apenas uma pequena adição: você não pode abusar de uma porta USB como esta porque o aperto de mão ocorre em um nível muito mais baixo do que o que você pode acessar com linguagens de programação normais. Partes do aperto de mão acontecem no hardware.
Alexander
1

Qual é o seu objetivo final? Se for para observar o protocolo USB, você pode usar um analisador lógico relativamente barato ou relativamente caro .

Se seu objetivo é capturar bytes no seu computador, você pode obter um depurador USB para o seu sistema operacional (por exemplo, o OS X possui um kit de depuração USB gratuito).

Se seu objetivo é ter uma maneira fácil de determinar se você coloca uma tensão em uma entrada, é melhor usar um USB -> GPIO, como sugeriu jippie, ou pode seguir a rota (mais cara) do arduino e tenha muito espaço para crescer se você quiser fazer mais coisas com as entradas antes da análise no computador.

Se você realmente deseja uma maneira super simples de obter um valor de tensão em seu computador sem comprar um novo hardware, a sugestão da jippie de usar a porta paralela é boa e você também pode investigar o uso da entrada do microfone como uma solução jerry-built.

Chris Gregg
fonte