Android USB OTG:以编程方式关闭端口电源

时间:2013-01-04 04:27:44

标签: android usb usb-otg

假设我有一个USB供电的LED灯通过USB OTG适配器连接到运行Android 4.0.3的东芝Excite 10平板电脑,它提供电源。

我想以编程方式从应用程序打开和关闭USB OTG主机端口的电源引脚。 (理想情况下没有root,但我会接受我能得到的)。有什么想法吗?

2 个答案:

答案 0 :(得分:3)

您必须具有/ sys目录的写权限。生根使这个过程变得非常简单。只需根设备并发出正确的echo命令来切换内核状态位,如:

String[] command = { "/system/bin/sh", "-c", "echo xxx > /sys/bus/usb/devices/usb3/power/level", };
Runtime.getRuntime().exec(command);

另一种方法是使用libusb,挖掘库以获得切断电源的功能。您可以使用android.hardware.usb.UsbManager来请求libusb的正确权限。

答案 1 :(得分:1)

据我所知https://askubuntu.com/questions/342061/power-on-off-usb-ports"以前的所有答案都谈到USB挂起机制,即"逻辑断电",他们永远不会在物理上削减VBUS USB端口+ 5V。"。

也许硬件解决方案不是一个好主意,但我可以建议你在PCB上使用带有编程的Atmega8U4芯片的MOSFET晶体管,它被编程为切断LED灯的电源。