Как я могу отключить питание от USB-портов Pi?

10

У меня есть простое устройство, подключенное к Raspberry Pi, маленькому USB-вентилятору. Проблема в том, что у вентилятора нет переключателя вкл / выкл, поэтому я должен отключать вентилятор каждый раз, когда хочу, чтобы он остановился.

У меня вопрос: можно ли как-нибудь отключить питание от USB-портов Pi?

opc0de
источник
Вы имеете в виду исходящее питание, вы хотите иметь возможность выключать вентилятор, но не пи, или входное питание, при котором источник питания вентилятора отключает питание пи, даже если собственный источник питания пи был отключен?
Рене Вулферинк
Я хочу выключить вентилятор, пи должен работать нормально.
opc0de

Ответы:

4

Нет, мощность USB напрямую связана с мощностью RPi.

Вы можете прервать подачу питания на вентилятор с помощью транзистора или реле, но вам придется перерезать красный провод.

Джон Ла Рой
источник
1
Хороший ответ, gnibbler, и вполне правильный из того, что я прочитал на форумах raspberrypi.org. Я могу добавить, что я пытался сделать это на других машинах (ARM и x86), и это редко возможно - только некоторые контроллеры USB позволяют программно управлять питанием. stackoverflow.com/questions/4702216/… stackoverflow.com/questions/1163824/… Так что я не удивлен, что это невозможно с минимальным USB в Pi.
Тай Вииникка
Часто вы можете переключать питание в портах USB-концентратора. Можно попробовать с вентилятором на концентраторе на пи, затем включить / выключить питание на этом порту концентратора. Может потребоваться внешний концентратор с питанием, зависит от того, насколько густой у вас воздух и насколько сильно должен работать вентилятор.
Lornix
3
Этот ответ неверен. Возможно управлять питанием USB для моделей Raspberry Pi B, 2B, 3B - посмотрите мой ответ, как именно это сделать.
MVP
@mvp, я могу также сказать, что ваш ответ абсолютно неверен для всех малиновых PI, которые существовали, когда задавался вопрос. Я не буду менять этот ответ, поскольку он по-прежнему актуален для миллионов оригинальных малиновых PI. Человеку с ПИ, изготовленным после 2014 года, легко увидеть ваш ответ.
Джон Ла Рой
11

Вы можете использовать мой инструмент uhubctl , он поддерживает модели Raspberry Pi моделей B +, 2B, 3B, 3B + и 4B - эти модели имеют аппаратную возможность выключать и включать питание USB.

Используйте это так:

Отключите питание всех портов USB (необходимо использовать порт 2):

sudo uhubctl -p 2 -a 0

Включите питание всех портов USB (необходимо использовать порт 2):

sudo uhubctl -p 2 -a 1

Отключите питание для Wi-Fi + Ethernet (необходимо использовать порт 1):

sudo uhubctl -p 1 -a 0

Обратите внимание, что Raspberry Pi 4 сильно отличается от предыдущих моделей, поскольку у него есть чип USB3. Он не поддерживает отключение питания по Wi-Fi + Ethernet, а для USB вам нужно будет использовать что-то подобное для отключения (необходимо использовать порт 4):

sudo uhubctl -l 2 -p 4 -a 0

Если ваш Raspberry Pi не поддерживает переключение питания USB, вы можете подключить внешний USB-концентратор, который поддерживает (см. Список совместимых моделей ), и управлять питанием этого внешнего концентратора с помощью uhubctl.

MVP
источник
Ваш инструмент отключается после перезагрузки?
dstonek
@dstonek, очевидно нет. но вы можете вызвать его в /etc/rc.local для отключения питания при загрузке
mvp
4

Вы можете использовать один USB-вентилятор с переключателем «вкл / выкл» .

введите описание изображения здесь

Дэвид
источник
6
вау никогда не думал об этом !!
opc0de
Я не очень понимаю, почему ваш комментарий такой грубый? Ты никогда не говорил, что думал о переключателе! Я пытался помочь вам (справка: это не то, что вы просили). Но, я понимаю ваше разочарование, см. Мое редактирование. Похоже, что вопрос уже был задан и дан ответ.
Дэвид
2
Не беспокойся об этом Дэвид - Может быть, это не был ответ для ОП - Но кому-то еще может понравиться это из-за других обстоятельств. Ваш ответ хороший. +1 - Не уверен, почему вы получили отрицательный голос - ОП сказал, что у него нет переключателя вкл. / Выкл., И вы показали ему, где можно купить его с вкл / выкл :) -1 здесь не нужен и немного груб. да: P
Петр Кула
1
Дэвид, на самом деле тебе не стоит беспокоиться, но твой ответ просто не отвечает на вопрос: как отключить питание, поступающее от USB-портов pi. Так что это не очень хороший ответ. Я удивлен, что вы вообще получили какие-либо голоса.
Яап Верстег
1
Это не ответило на вопрос.
Доктор Маккей
0

Это также работает для меня на Raspberry Pi 3. Он был скопирован отсюда .

   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

Это создаст исполняемый файл с именем hub-ctrl. Затем вы можете запустить его, чтобы сделать следующее:

  • Отключите питание всех портов USB

    sudo ./hub-ctrl -h 0 -P 2 -p 0
    
  • Включите все порты USB

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

Перейдите по ссылке, чтобы также включить / выключить порт Ethernet.

psiphi75
источник