¿Cómo puedo cortar la energía que sale de los puertos USB del Pi?

10

Tengo un dispositivo simple conectado a la Raspberry Pi, un pequeño ventilador USB. El problema es que el ventilador no tiene un interruptor de encendido / apagado, por lo que debo desconectar el ventilador cada vez que quiero que se detenga.

Mi pregunta es: ¿hay alguna forma de cortar la energía proveniente de los puertos USB de Pi?

opc0de
fuente
¿Te refieres a la potencia de salida, quieres poder apagar el ventilador pero no la pi, o la energía entrante, en la que la fuente de alimentación del ventilador está haciendo retroceder a la pi, a pesar de que la propia fuente de alimentación del pi se ha desconectado?
René Wolferink
Quiero apagar el ventilador, el pi debe funcionar normalmente.
opc0de

Respuestas:

4

No, el poder del usb está conectado directamente al poder del RPi.

Puede interrumpir la alimentación del ventilador con un transistor o un relé, pero tendrá que cortar el cable rojo.

John La Rooy
fuente
1
Buena respuesta, gnibbler, y bastante correcta de lo que leí en los foros de raspberrypi.org. Puedo agregar que he intentado hacer esto en otras máquinas (ARM y x86) y rara vez es posible: solo algunos controladores USB permiten el control de energía del software. stackoverflow.com/questions/4702216/… stackoverflow.com/questions/1163824/… Así que no me sorprende que esto no sea posible con el mínimo USB en el Pi.
Tai Viinikka
A menudo puede alternar la alimentación en los puertos de un concentrador usb. Podría intentar con el ventilador en el concentrador en pi, luego encender / apagar en ese puerto del concentrador. Es posible que necesite un concentrador alimentado externo, depende de qué tan grueso sea su aire y qué tan duro tenga que funcionar el ventilador.
lornix
3
Esta respuesta es incorrecta. Es posible controlar la alimentación USB para los modelos B, 2B, 3B de Raspberry Pi; vea mi respuesta sobre cómo hacerlo exactamente.
mvp
@mvp, puedo decir igualmente que su respuesta es exactamente incorrecta para todos los IP de frambuesa que existían cuando se hizo la pregunta. No cambiaré esta respuesta, ya que sigue siendo cierto para millones de los IP de frambuesa originales. Es fácil para alguien con un PI fabricado después de 2014 ver que su respuesta también está aquí.
John La Rooy
11

Puede usar mi herramienta uhubctl , es compatible con los modelos B +, 2B, 3B, 3B + y 4B de Raspberry Pi: estos modelos tienen capacidad de hardware para apagar y encender el USB.

Úselo así:

Apague todos los puertos USB (debe usar el puerto 2):

sudo uhubctl -p 2 -a 0

Encienda la alimentación de todos los puertos USB (debe usar el puerto 2):

sudo uhubctl -p 2 -a 1

Apague la alimentación de Wifi + Ethernet (debe usar el puerto 1):

sudo uhubctl -p 1 -a 0

Tenga en cuenta que Raspberry Pi 4 es muy diferente de los modelos anteriores, ya que tiene un chip USB3. No admite el apagado de Wifi + Ethernet, y para USB necesitará usar algo así para apagar (debe usar el puerto 4):

sudo uhubctl -l 2 -p 4 -a 0

Si su Raspberry Pi no admite la conmutación de alimentación USB, puede conectar un concentrador USB externo que sí lo haga (consulte la lista de modelos compatibles ) y controlar la alimentación de ese concentrador externo utilizando uhubctl.

mvp
fuente
¿Su herramienta se apaga después de reiniciar?
dstonek
@dstonek, obviamente no. pero puede invocarlo en /etc/rc.local para desactivar la alimentación en el arranque
mvp
4

Puede usar un ventilador usb con el interruptor "on / off" .

ingrese la descripción de la imagen aquí

David
fuente
66
wow nunca pensé en eso !!
opc0de
Realmente no entiendo por qué tu comentario es tan grosero? ¡Nunca dijiste que pensabas en el cambio! Traté de ayudarte (ayuda: ¿no es eso lo que pediste?). Pero, entiendo tu frustración, mira mi edición. Parece que la pregunta ya ha sido formulada y respondida.
David
2
No te preocupes por eso, David. Quizás no fue la respuesta para el OP. Pero a alguien más podría gustarle por otra circunstancia. Tu respuesta es buena. +1 - No estoy seguro de por qué te votaron negativamente- El OP dijo que no tiene un interruptor de encendido y apagado y le mostraste dónde comprar uno con un encendido / apagado :) -1 no era necesario aquí y era un poco grosero. sí: P
Piotr Kula
1
David, de hecho no deberías preocuparte, pero tu respuesta simplemente no responde a la pregunta, que es cómo cortar la energía proveniente de los puertos usb del pi. Entonces no es una buena respuesta. Me sorprende que hayas recibido votos.
Jaap Versteegh
1
Esto no respondió la pregunta.
Dr. McKay
0

Esto también funciona para mí en Raspberry Pi 3. Fue copiado de aquí .

   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

Esto creará un ejecutable llamado hub-ctrl. Luego puede ejecutarlo para hacer lo siguiente:

  • Apague todos los puertos USB

    sudo ./hub-ctrl -h 0 -P 2 -p 0
    
  • Encienda la alimentación de todos los puertos USB

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

Siga el enlace para activar / desactivar también el puerto Ethernet.

psiphi75
fuente