Como cortar energia saindo das portas USB do Pi?


10

Eu tenho um dispositivo simples conectado ao Raspberry Pi, um pequeno ventilador USB. O problema é que o ventilador não possui um botão liga / desliga, portanto, devo desconectá-lo toda vez que quiser que ele pare.

Minha pergunta é: existe alguma maneira de cortar a energia proveniente das portas USB do Pi?


Você quer dizer energia de saída, deseja poder desligar o ventilador, mas não o pi, ou a energia de entrada, em que a fonte de alimentação do ventilador está com potência de volta ao pi, mesmo que a fonte de alimentação do pi tenha sido desconectada?
René Wolferink

Quero desligar o ventilador, o pi deve funcionar normalmente.
opc0de 12/03/2013

Respostas:


4

Não, a energia USB é conectada diretamente à energia RPi.

Você pode interromper a energia do ventilador com um transistor ou um relé, mas precisará cortar o fio vermelho.


11
Boa resposta, gnibbler e bastante correta do que li nos fóruns raspberrypi.org. Posso acrescentar que tentei fazer isso em outras máquinas (ARM e x86) e isso raramente é possível - apenas alguns controladores USB permitem o controle de energia do software. stackoverflow.com/questions/4702216/… stackoverflow.com/questions/1163824/… Portanto, não estou surpreso que isso não seja possível com o mínimo de USB no Pi.
Tai Viinikka

Muitas vezes, você pode alternar a energia nas portas de um hub USB. Pode tentar com o ventilador no hub em pi e ligar / desligar a alimentação nessa porta do hub. Pode precisar de um hub com alimentação externa, depende da espessura do seu ar e da força do ventilador.
Lornix # 03/13

3
Esta resposta está errada. É possível controlar a energia USB para os modelos B, 2B, 3B do Raspberry Pi - veja minha resposta exatamente como fazer isso.
Mvp

@ MVP, posso igualmente dizer que sua resposta está exatamente errada para todos os PI framboesa que existiam quando a pergunta foi feita. Não vou mudar essa resposta, pois ainda é verdade para milhões dos PIs de framboesa originais. É fácil para alguém com um PI fabricado após 2014 ver sua resposta aqui também.
John La Rooy

11

Você pode usar minha ferramenta uhubctl , ela suporta os modelos Raspberry Pi B +, 2B, 3B, 3B + e 4B - esses modelos possuem capacidade de hardware para desligar e ligar a energia USB.

Use-o assim:

Desligue a energia de todas as portas USB (deve usar a porta 2):

sudo uhubctl -p 2 -a 0

Ligue a energia de todas as portas USB (deve usar a porta 2):

sudo uhubctl -p 2 -a 1

Desligue a energia do Wifi + Ethernet (deve usar a porta 1):

sudo uhubctl -p 1 -a 0

Observe que o Raspberry Pi 4 é muito diferente dos modelos anteriores, pois possui chip USB3. Ele não suporta desligar a energia do Wifi + Ethernet e, para USB, você precisará usar algo assim para desligar (deve usar a porta 4):

sudo uhubctl -l 2 -p 4 -a 0

Se o seu Raspberry Pi não suportar comutação de energia USB, você poderá conectar um hub USB externo (consulte a lista de modelos compatíveis ) e controlar a energia nesse hub externo usando uhubctl.


Sua ferramenta mantém a energia desligada após a reinicialização?
dstonek 12/02

@dstonek, obviamente não. mas você pode invocá-lo em /etc/rc.local para desativar a energia na inicialização
mvp

4

6
uau nunca pensei nisso !!
Opc0de 13/03

Eu realmente não entendo por que seu comentário é tão rude? Você nunca disse que pensou no interruptor! Tentei ajudá-lo (ajuda: não foi isso que você pediu). Mas entendo sua frustração, veja minha edição. Parece que a pergunta já foi feita e respondida.
David

2
Não se preocupe com isso David - Talvez não tenha sido a resposta para o OP - Mas alguém pode gostar disso por outra circunstância. Sua resposta é boa. +1 - Não sei por que você foi prejudicado - O OP disse que ele não tem um botão liga.off e você mostrou a ele onde comprar um com um liga / desliga :) -1 não era necessário aqui e um pouco rude. sim: P
Piotr Kula

11
David, na verdade você não deve se preocupar, mas sua resposta simplesmente não responde à pergunta, que é como cortar a energia proveniente das portas USB do pi. Portanto, não é uma boa resposta. Estou surpreso que você tenha conseguido votos positivos.
Jaap Versteegh

11
Isso não respondeu à pergunta.
Dr. McKay

0

Isso também funciona para mim no Raspberry Pi 3. Foi copiado daqui .

   sudo apt-get update
   sudo apt-get install libusb-dev
   git clone https://github.com/codazoda/hub-ctrl.c
   cd hub-ctrl.c
   gcc -o hub-ctrl hub-ctrl.c -lusb

Isso criará um executável chamado hub-ctrl. Você pode executá-lo da seguinte maneira:

  • Desligue a energia de todas as portas USB

    sudo ./hub-ctrl -h 0 -P 2 -p 0
    
  • Ligue a energia de todas as portas USB

    sudo ./hub-ctrl -h 0 -P 2 -p 1 
    

Siga o link para também ligar / desligar a porta Ethernet.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.