Увімкнення та вимкнення 3G (або будь-якого USB) порту?


13

У мене є проект, який вимагатиме використання Raspberry Pi в середовищі з низькою потужністю, але він також потребуватиме 3G-з'єднання. Я ще не робив жодних тестів, але я переконаний (і виправте мене, якщо я помиляюся), що 3G-модем, підключений до Raspberry Pi і підключений до мережі, буде використовувати енергію, а з огляду на навколишнє середовище, будь-яку додаткову потужність використання не є вимогою. Отже, як, програмно, можна вмикати та вимикати 3G-модем чи роз'єм USB на Raspberry Pi?


1
AFAIK Ви не можете вимкнути USB-порт, тому він би покладався на 3G-ключ, який має режим енергозбереження - він, ймовірно, використовує менше енергії, коли він не підключений ... але він, ймовірно, використовує розумну кількість енергії для підключення / відключення.
Алекс Чемберлен

1
річ у тому, що це буде повністю автономний і віддалений блок ... він повинен включати та вимикати 3G у міру необхідності ... там не буде нікого, щоб вимкнути його чи підключити ... отже програмна частина ...
TiernanO

3
Як сказав Алекс, механізму управління живленням USB-портів Pi від програмного забезпечення не існує - вони безпосередньо підключені до шини живлення лише пасивним обмежувачем струму. Тому, якщо ви не можете сказати периферійному пристрою вимкнути / спати, вам знадобиться зовнішній пристрій перемикання живлення, яким ви керуєте через USB або за допомогою штифта GPIO.
Кріс Страттон

Відповіді:


8

На жаль, немає можливості повністю вимкнути живлення тільки з програмним забезпеченням. Вам потрібно буде додати комутаційну ланцюг, підключений через штифти GPIO, щоб запустити "апаратне відключення", відключивши живлення до вашого обладнання.

Редагувати:

Для перемикання з GPIO - це просто проста транзисторна схема.

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

Bдодається до вашого штифта GPIO. Залежно від того, високий чи низький транзистор увімкнено чи вимкнено. Cі Eви ставите лінію живлення на USB-пристрій (R L ).

Більш детальну інформацію див. На цьому веб-сайті: http://www.kpsec.freeuk.com/trancirc.htm#switching та спеціально на http://www.kpsec.freeuk.com/trancirc.htm#ic


Думаєте, ви могли б детальніше розглянути питання, як це зробити?
Відхилення

Звичайно. Я редагую
Мойсей

Так, це добре - ви можете покласти цей транзистор в короткий подовжувальний кабель USB. Вам потрібно буде розрізати його і перехопити електропередачі, про які говорили тут. Потім ви можете підключити 3G до розширення та керувати живленням. Мені подобається +1
Piotr Kula

Це виглядає перспективно! Спасибі! доведеться поспілкуватися з моїм другом з електротехніки, щоб допомогти у цьому, але пальці схрестилися! Знову дякую!
TiernanO

5

Я б не радив вмикати / вимикати USB-пристрій лише за допомогою транзисторного базового вимикача, оскільки належний протокол увімкнення / вимкнення живлення та електричний інтерфейс повинні використовуватися, як визначено специфікаціями USB.

Я вважаю за краще використовувати перемикаючий USB-концентратор, який дозволяє вмикати / вимикати будь-який з портів нижче за допомогою програмного забезпечення за допомогою простої команди.

Щось подібне до цього USB-перемикаючого концентратора має працювати для того, що ви хочете.


1
Це виглядає Sooo класно! Я повинен спробувати це ... Я думаю, що це також може бути зручним для розумної зарядки телефонів ... Хммм .... Дякую!
TiernanO

2
Відмова: Зараз я працюю в Yepkit. Тож ви можете вважати мене упередженим з цього приводу.
електрозапуск

1
Оскільки користувач може підключити пристрій у будь-який час, специфікація USB стверджує, що з цим повинні працювати драйвери та пристрої. Тому я не бачу сенсу витрачати 29 €, коли ви можете побудувати просту електроніку для центів з тим же результатом, а також підкріплені специфікаціями.
Мойсей

3

Ви можете використовувати мій інструмент uhubctl , він підтримує моделі Raspberry Pi B +, 2B, 3B, 3B + і 4B - ці моделі мають апаратну можливість вимкнення та ввімкнення живлення USB. Але майте на увазі, що це обладнання підтримує лише вимкнення або одразу всі порти USB, а не самостійно. Однак напрямками живлення через USB та Wifi + Ethernet можна керувати незалежно (за винятком 4B, який не використовує USB-інтерфейс для роботи в мережі).

Використовуйте його так:

Вимкніть живлення всіх портів USB (обов'язково використовувати порт 2):

sudo uhubctl -p 2 -a 0

Увімкніть живлення всіх портів USB (обов'язково використовувати порт 2):

sudo uhubctl -p 2 -a 1

Вимкніть живлення на Wifi + Ethernet (обов'язково використовувати порт 1):

sudo uhubctl -p 1 -a 0

Зауважте, що Raspberry Pi 4 сильно відрізняється від попередніх моделей, оскільки має чіп USB3. Ви б використовували таку команду, щоб відключити живлення (повинен використовувати порт 4):

sudo uhubctl -l 2 -p 4 -a 0

Якщо ваш Raspberry Pi не підтримує комутацію живлення USB, ви можете підключити зовнішній концентратор USB (див. Перелік сумісних моделей ) та керувати живленням на цьому зовнішньому концентраторі за допомогою uhubctl.


2

Привіт, я згоден з @electrfunch, оскільки я працюю над проектом управління пристроями на портах USB. Замість бортового електронного кола, запропонованого @Mose, я створив власну ізоляційну плату за допомогою реле і схоже на концентратор USB Switch, і це має сенс, оскільки, хоча спочатку ігнорується - струми в Raspberry Pi почнуть ставати критерієм для триваліший пробіг, який може вплинути на вашу ефективність Pi.

Що я маю на увазі, ви можете звернутися до цих посібників для вимірювань низького струму:

Довідка 1

Довідка 2

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.