Raspberry Pi — zarządzaj zasilaniem portu
Agencja internetowa » Wiadomości cyfrowe » Raspberry Pi — zarządzaj zasilaniem portu

Raspberry Pi — zarządzaj zasilaniem portu

Trzy lata temu nabyłem Raspberry Pi (pierwszy) model B, aby skonfigurować mały, domowy serwer NAS. Kupiłem wtedy dwa wspaniałe dyski twarde o pojemności 3 TB każdy, które włożyłem do pudełka, aby wykonać wspaniały RAID 1. Ta instalacja była dobra, ale wiązała się z bolesną niedogodnością… Moje dyski twarde nigdy się nie zepsuły! Zrozum, oni nigdy nie idą spać, nawet jeśli nie był używany przez kilka godzin.

W obliczu tego problemu na próżno szukałem rozwiązania, które pozwoliłoby mi samodzielnie sterować zasilaniem portów USB… Malina był prawie w stanie prototypu, a społeczność nie była tak duża jak dzisiaj.

Raspberry Pi 3, oto jesteś!

W ostatnich dniach chciałem zainwestować w mocniejszy model. Słysząc wiele dobrego o Modelu 2, miałem nadzieję, że ten problem z zarządzaniem energią USB zostanie rozwiązany, więc zdecydowałem się na zakup nowego modelu. Na szczęście Raspberry Pi 3 zostało wydane w tym samym czasie i nie zamówiłem ani jednego, ani dwóch.

Uśpione urządzenia USB

Po kilku testach zdałem sobie sprawę, że mój początkowy problem nie został rozwiązany dzięki nowej karcie. Więc spróbowałem bawić się jedzeniem i BINGO! Tym razem znalazłem coś do roboty.

Ręczne zarządzanie energią

Po pierwsze, oto bilet, który pozwolił mi zmienić zasilacz.

A oto projekt w C pozwalający wpływać na zasilanie portów USB.

Trochę linii poleceń

$ git klon https://github.com/codazoda/hub-ctrl.c.git $ cd hub-ctrl.c $ sudo apt install -y libusb-dev
$ gcc -o hub-ctrl hub-ctrl.c -lusb

Jesteśmy dobrzy. Projekt
Joela Dare'a
został skompilowany i jesteśmy teraz gotowi do włączania/wyłączania naszych urządzeń USB.

Schemat organizacyjny portów USB

Baw się portami

Należy pamiętać, że portu USB 1 nie można wyłączać pojedynczo.

Wyłączyć

  • Port USB 2
    1
    sudo ./hub-ctrl -h 0 -P 4 -p 0
  • Port USB 3
    1
    sudo ./hub-ctrl -h 0 -P 5 -p 0
  • Port USB 4
    1
    sudo ./hub-ctrl -h 0 -P 3 -p 0
  • Port Ethernetowy!
    1
    sudo ./hub-ctrl -h 0 -P 1 -p 0
  • Wszystkie 4 porty USB jednocześnie
    1
    sudo ./hub-ctrl -h 0 -P 2 -p 0

światło

  • Port USB 2
    1
    sudo ./hub-ctrl -h 0 -P 4 -p 1
  • Port USB 3
    1
    sudo ./hub-ctrl -h 0 -P 5 -p 1
  • Port USB 4
    1
    sudo ./hub-ctrl -h 0 -P 3 -p 1
  • Port Ethernetowy!
    1
    sudo ./hub-ctrl -h 0 -P 1 -p 1
  • Wszystkie 4 porty USB jednocześnie
    1
    sudo ./hub-ctrl -h 0 -P 2 -p 1

Wnioski

Ten krótki artykuł pokazuje rozwiązanie, którego od dawna szukałem. Mam nadzieję, że praca społeczności przepisana tutaj w języku angielskim będzie dla Ciebie przydatna.

★ ★ ★ ★ ★