Mam projekt, który będzie wymagał użycia Raspberry Pi w środowisku o niskim poborze mocy, ale wymaga również połączenia 3G. Nie wykonałem jeszcze żadnych testów, ale zakładam (i poprawię, jeśli się mylę), że modem 3G podłączony do Raspberry Pi i podłączony do sieci będzie zużywał moc, a biorąc pod uwagę otoczenie, każdą dodatkową moc użycie nie jest wymagane. Jak więc programowo mogę włączyć i wyłączyć modem 3G lub złącze USB w Raspberry Pi?
13
Odpowiedzi:
Niestety nie ma możliwości pełnego wyłączenia samego oprogramowania. Konieczne będzie dodanie obwodu przełączającego podłączonego przez styki GPIO, aby wyzwolić „odłączenie sprzętu” poprzez odcięcie zasilania sprzętu.
Edytować:
Przełączanie za pomocą GPIO to tylko prosty obwód tranzystorowy.
B
jest podłączony do pinu GPIO. W zależności od tego, czy jest WYSOKI, czy NISKI, tranzystor jest włączony lub wyłączony.C
iE
podłączasz linię zasilania do urządzenia USB (R L ).Aby uzyskać bardziej szczegółowe informacje, lepiej zajrzyj na tę stronę: http://www.kpsec.freeuk.com/trancirc.htm#switching, a zwłaszcza na http://www.kpsec.freeuk.com/trancirc.htm#ic
źródło
Nie radzę włączać / wyłączać urządzenia USB tylko za pomocą przełącznika bazowego tranzystora, ponieważ należy używać właściwego protokołu włączania / wyłączania zasilania i interfejsu elektrycznego zgodnie ze specyfikacją USB.
Wolałbym używać przełączalnego koncentratora USB, który pozwala włączyć / wyłączyć dowolny z portów pobierania danych za pomocą oprogramowania za pomocą prostego polecenia.
Coś w rodzaju przełączanego koncentratora USB powinno działać tak, jak chcesz.
źródło
Możesz użyć mojego narzędzia uhubctl , obsługuje modele Raspberry Pi B +, 2B, 3B, 3B + i 4B - modele te mają sprzętową zdolność do włączania i wyłączania zasilania USB. Należy jednak pamiętać, że ten sprzęt obsługuje tylko wyłączanie lub włączanie wszystkich portów USB jednocześnie, a nie niezależnie. Jednak szynami zasilania USB i Wifi + Ethernet można sterować niezależnie (z wyjątkiem 4B, który nie używa interfejsu USB do pracy w sieci).
Użyj tego w ten sposób:
Wyłącz zasilanie wszystkich portów USB (musisz użyć portu 2):
Włącz zasilanie wszystkich portów USB (musisz użyć portu 2):
Wyłącz zasilanie Wi-Fi + Ethernet (musisz użyć portu 1):
Pamiętaj, że Raspberry Pi 4 bardzo różni się od poprzednich modeli, ponieważ ma układ USB3. Użyłbyś takiego polecenia, aby wyłączyć zasilanie (musisz użyć portu 4):
Jeśli Twój Raspberry Pi nie obsługuje przełączania zasilania USB, możesz podłączyć zewnętrzny hub USB, który to robi (patrz lista kompatybilnych modeli ) i kontrolować zasilanie tego zewnętrznego hubu za pomocą uhubctl.
źródło
Cześć Zgadzam się z @electrfunch, ponieważ pracuję nad projektem sterowania urządzeniami na portach USB. Zamiast wbudowanego obwodu elektronicznego zaproponowanego przez @Mose, stworzyłem własną płytkę izolacyjną za pomocą przekaźników i wygląda podobnie do koncentratora przełączników USB i ma to sens, ponieważ początkowo zignorowany - Prądy w Raspberry Pi zaczną być kryterium na dłuższy bieg, co może wpłynąć na wydajność Pi.
Dla tego, co mam na myśli, możesz zapoznać się z tymi instrukcjami dotyczącymi pomiarów niskiego prądu:
Odniesienie 1
Odnośnik 2
źródło