我有一个项目,要求在低功耗环境中使用Raspberry Pi,但它也需要3G连接。我还没有做任何测试,但是我的假设是(如果我错了,请纠正我)将3G调制解调器插入Raspberry Pi并连接到网络将使用电源,并且在环境允许的情况下,任何额外的电源使用不是必需的。那么,如何以编程方式打开和关闭3G调制解调器或Raspberry Pi上的USB连接器?
我有一个项目,要求在低功耗环境中使用Raspberry Pi,但它也需要3G连接。我还没有做任何测试,但是我的假设是(如果我错了,请纠正我)将3G调制解调器插入Raspberry Pi并连接到网络将使用电源,并且在环境允许的情况下,任何额外的电源使用不是必需的。那么,如何以编程方式打开和关闭3G调制解调器或Raspberry Pi上的USB连接器?
Answers:
可悲的是,没有办法单独使用软件完全关闭电源。您将需要添加通过GPIO引脚连接的开关电路,以通过切断硬件电源来触发“硬件断开连接”。
编辑:
要使用GPIO进行切换,这只是一个简单的晶体管电路。
B
连接到您的GPIO引脚。取决于晶体管是高还是低,晶体管是导通还是截止。
C
而E
你把电源线,USB设备(R 大号)。
有关更多详细信息,请访问以下站点:http : //www.kpsec.freeuk.com/trancirc.htm#switching,特别是http://www.kpsec.freeuk.com/trancirc.htm#ic
我不建议您仅使用晶体管基极开关来打开/关闭USB设备,因为应该使用USB规范定义的正确的电源开/关协议和电气接口。
我宁愿使用可切换的USB集线器,该集线器允许您使用简单的命令通过软件打开/关闭任何下游端口。
USB可切换集线器之类的东西应该可以满足您的需求。
您可以使用我的工具uhubctl,它支持Raspberry Pi型号B +,2B,3B,3B +和4B-这些型号具有打开和关闭USB电源的硬件功能。但请记住,该硬件仅支持一次关闭或打开所有USB端口,而不是独立支持。但是,USB和Wifi +以太网电源轨可以独立控制(4B除外,它不使用USB接口进行网络连接)。
像这样使用它:
关闭所有USB端口的电源(必须使用端口2):
sudo uhubctl -p 2 -a 0
打开所有USB端口的电源(必须使用端口2):
sudo uhubctl -p 2 -a 1
关闭Wifi +以太网的电源(必须使用端口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控制该外部集线器的电源。