3G(またはUSB)ポートのオンとオフを切り替えますか?


13

低電力環境でRaspberry Piを使用する必要があるプロジェクトがありますが、3G接続も必要です。私はまだテストを行っていませんが、Raspberry Piに接続されてネットワークに接続された3Gモデムが電力を使用し、環境があれば追加の電力を使用するという仮定の下にあります(間違っている場合は修正します)使用法は必須ではありません。それでは、プログラムで3Gモデム、またはRaspberry PiのUSBコネクタをオン/オフするにはどうすればよいですか?


1
知っている限り、USBポートをオフにすることはできません。したがって、省電力モードを備えた3Gドングルに依存します。接続されていないときはおそらく消費電力が少なくなります...
アレックスチェンバレン

1
事は、必要に応じて、それは3Gのオンとオフ投入しなければならない...これは完全に自律と遠隔ユニットとなり、ある...そこに抜いてそこに誰であるかに...したがって、プログラムの一部それをプラグイン文句を言いません...
TiernanO

3
アレックスが言ったように、ソフトウェアからPiのUSBポートへの電力を制御するメカニズムはありません-受動電流リミッターのみで電源レールに直接接続されています。したがって、周辺機器自体にシャットダウン/スリープを指示できない限り、外部電源スイッチングデバイスが必要になります。これは、USB自体またはGPIOピンを介して制御します。
クリスストラットン

回答:


8

悲しいことに、ソフトウェアだけでは完全に電源を切る方法はありません。GPIOピンを介して接続されたスイッチング回路を追加して、ハードウェアの電源を切ることで「ハードウェア切断」をトリガーする必要があります。

編集:

GPIOで切り替えるには、単純なトランジスタ回路です。

ここに画像の説明を入力してください

BGPIOピンに接続されています。HIGHかLOWかによって、トランジスタはオンまたはオフになります。 CそしてE、電源ラインをUSBデバイス(R L)に接続します。

詳細については、http//www.kpsec.freeuk.com/trancirc.htm#switchingおよび特にhttp://www.kpsec.freeuk.com/trancirc.htm#icをご覧ください。


これを行う方法についてさらに詳しく説明できると思いますか?
-Jivings

承知しました。私が編集します
モーゼ

そのトランジスタを短いUSB延長ケーブルに入れることができます。それを開いて、ここで話されている電力線を傍受する必要があります。その後、3Gを拡張機能に接続して電源を制御できます。私はそれが好きです+1
ピョートルクラ

それは有望に見えます!ありがとう!それを手伝うために私の電気工学の友人とチャットする必要がありますが、指が交差しました!再度、感謝します!
TiernanO

5

USB仕様で定義されているように、適切な電源オン/オフプロトコルと電気インターフェイスを使用する必要があるため、トランジスタベーススイッチを使用するだけでUSBデバイスのオン/オフを切り替えることはお勧めしません。

単純なコマンドを使用して、ソフトウェアを介してダウンストリームポートをオン/オフできる切り替え可能なUSBハブを使用します。

このUSB切り替え可能なハブのようなものは、あなたが望むものに対して機能するはずです。


1
すっごくかっこいい!私はそれを試してみる必要があります...これは携帯電話のスマート充電にも便利だと思います...うーん....ありがとう!
TiernanO 14年

2
免責事項:私は現在Yepkitで働いています。だから、あなたは私がこの主題に偏っていると考えるかもしれません。
electrfunch 14

1
デバイスはいつでもユーザーが接続できるため、USB仕様では、これはドライバーとデバイスで処理する必要があると記載されています。だから、同じ結果でスペックに裏打ちされたシンプルな電子機器を数セントで作ることができるとき、29ユーロを使う意味はありません。
モーゼ

3

私のツールuhubctlを使用して、Raspberry PiモデルB +、2B、3B、3B +、および4Bをサポートできます。これらのモデルには、USB電源をオンまたはオフにするハードウェア機能があります。ただし、このハードウェアは、独立してではなく、一度にすべてのUSBポートのオフまたはオンをサポートすることに注意してください。ただし、USBとWifi + Ethernetの電源レールは個別に制御できます(ネットワークにUSBインターフェイスを使用しない4Bを除く)。

次のように使用します。

すべての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

こんにちは、私はUSBポート上のデバイスを制御するプロジェクトに取り組んでいるので、@ electrfunchに同意します。@Moseが提案したオンボード電子回路の代わりに、リレーを使用して独自のアイソレーションボードを作成し、USBスイッチハブに似ていますが、これは最初は無視されますが、Raspberry Pi内の電流が実行時間が長くなり、Piのパフォーマンスに影響する可能性があります。

つまり、低電流測定については次のマニュアルを参照してください。

参考1

参考2

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.