Bagaimana saya bisa memotong daya yang keluar dari port USB Pi?


10

Saya memiliki perangkat sederhana yang terhubung ke Raspberry Pi, kipas USB kecil. Masalahnya adalah kipas tidak memiliki sakelar hidup / mati jadi saya harus mencabut kipas setiap kali saya ingin berhenti.

Pertanyaan saya adalah: apakah ada cara saya dapat memotong daya yang datang dari port USB Pi?


Apakah maksud Anda daya keluar, Anda ingin dapat mematikan kipas tetapi bukan pi, atau daya masuk, di mana catu daya kipas mendukung pi, meskipun catu daya pi sendiri telah diputuskan?
René Wolferink

Saya ingin mematikan kipas yang harus dijalankan pi secara normal.
opc0de

Jawaban:


4

Tidak, daya usb terpasang langsung ke daya RPi.

Anda dapat mengganggu daya kipas dengan transistor atau relay, tetapi Anda harus memotong kabel merah.


1
Jawaban bagus, gnibbler, dan cukup benar dari apa yang saya baca di forum raspberrypi.org. Saya dapat menambahkan bahwa saya sudah mencoba melakukan ini pada komputer lain (ARM dan x86) dan jarang mungkin - hanya beberapa pengontrol USB yang memungkinkan kontrol daya perangkat lunak. stackoverflow.com/questions/4702216/... stackoverflow.com/questions/1163824/... Jadi saya tidak terkejut ini tidak mungkin dengan USB minimal di Pi.
Tai Viinikka

Seringkali Anda dapat mengaktifkan daya di port hub usb. Mungkin coba dengan fan on hub on pi, lalu nyalakan / matikan port hub itu. Mungkin perlu hub bertenaga eksternal, tergantung pada seberapa tebal udara Anda dan seberapa keras kipas harus bekerja.
lornix

3
Jawaban ini salah. Adalah mungkin untuk mengontrol daya USB untuk model Raspberry Pi B, 2B, 3B - lihat jawaban saya bagaimana tepatnya melakukannya.
mvp

@ mvp, saya juga bisa mengatakan bahwa jawaban Anda benar-benar salah untuk semua raspberry PI yang ada saat pertanyaan diajukan. Saya tidak akan mengubah jawaban ini karena masih berlaku untuk jutaan PI raspberry asli. Sangat mudah bagi seseorang dengan PI yang diproduksi setelah 2014 untuk melihat jawaban Anda juga ada di sini.
John La Rooy

11

Anda dapat menggunakan alat saya uhubctl , mendukung Raspberry Pi model B +, 2B, 3B + 3B + dan 4B - model ini memiliki kemampuan perangkat keras untuk mematikan dan menghidupkan daya USB.

Gunakan seperti ini:

Matikan daya ke semua port USB (harus menggunakan port 2):

sudo uhubctl -p 2 -a 0

Nyalakan daya ke semua port USB (harus menggunakan port 2):

sudo uhubctl -p 2 -a 1

Matikan daya ke Wifi + Ethernet (harus menggunakan port 1):

sudo uhubctl -p 1 -a 0

Perhatikan bahwa Raspberry Pi 4 sangat berbeda dari model sebelumnya karena memiliki chip USB3. Itu tidak mendukung mematikan daya ke Wifi + Ethernet, dan untuk USB Anda harus menggunakan sesuatu seperti itu untuk mematikan (harus menggunakan port 4):

sudo uhubctl -l 2 -p 4 -a 0

Jika Raspberry Pi Anda tidak mendukung switching daya USB, Anda dapat menghubungkan hub USB eksternal yang berfungsi (lihat daftar model yang kompatibel ), dan mengontrol daya pada hub eksternal yang menggunakan uhubctl.


Apakah alat Anda tetap mati setelah reboot?
dstonek

@ dokek, jelas tidak. tetapi Anda dapat menjalankannya di /etc/rc.local untuk menonaktifkan daya saat boot
mvp

4

6
wow tidak pernah memikirkan itu !!
opc0de

Saya tidak begitu mengerti mengapa komentar Anda begitu kasar? Anda tidak pernah mengatakan Anda berpikir tentang peralihan! Saya mencoba membantu Anda (tolong: Bukankah itu yang Anda minta). Tapi, saya mengerti Anda frustrasi, lihat edit saya. Tampaknya pertanyaan sudah ditanyakan dan dijawab.
David

2
Jangan khawatir tentang hal itu David - Mungkin itu bukan jawaban untuk OP - Tapi orang lain mungkin menyukainya untuk keadaan lain. Jawabanmu bagus. +1 - Tidak yakin mengapa Anda diturunkan - OP mengatakan dia tidak memiliki sakelar on.off dan Anda menunjukkan kepadanya di mana untuk membeli satu dengan on / off :) -1 tidak diperlukan di sini dan agak kasar. ya: P
Piotr Kula

1
David, memang Anda tidak perlu khawatir, tetapi jawaban Anda tidak menjawab pertanyaan, yaitu bagaimana cara memotong daya yang datang dari port usb pi. Jadi itu bukan jawaban yang bagus. Saya terkejut Anda mendapatkan suara sama sekali.
Jaap Versteegh

1
Ini tidak menjawab pertanyaan.
Dr. McKay

0

Ini juga berfungsi untuk saya di Raspberry Pi 3. Itu disalin dari sini .

   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

Ini akan membuat nama yang dapat dieksekusi hub-ctrl. Anda kemudian dapat menjalankannya untuk melakukan hal berikut:

  • Matikan daya ke semua port USB

    sudo ./hub-ctrl -h 0 -P 2 -p 0
    
  • Nyalakan daya ke semua port USB

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

Ikuti tautan untuk juga mengaktifkan / menonaktifkan port Ethernet.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.