2013-01-04 6 views
18

Angenommen, ich habe eine USB-powered LED-Lampe über einen USB-OTG-Adapter an ein Toshiba Excite 10 Tablet mit Android 4.0.3 angeschlossen, die die Macht bietet.Android USB OTG: programmatisch die Stromversorgung zum Port

Ich möchte die Stromversorgungsanschlüsse des USB-OTG-Host-Ports programmgesteuert von einer App ein- und ausschalten. (Im Idealfall ohne Wurzel, aber ich werde nehmen, was ich bekommen kann). Irgendwelche Ideen?

+0

Nicht sicher, ob mein Kernel kompatibel ist, aber es sieht so aus, als ob ich nur in die Datei '/ sys/bus/usb/devices/usb3/power/level' schreiben müsste. Ich habe das ohne root versucht, aber der Schreibvorgang schlägt fehl, also muss ich als Nächstes mein Tablet rooten und es erneut versuchen. Quelle: http://stackoverflow.com/questions/4702216/controlling-a-usb-power-supply-on-off-with-linux – AlcubierreDrive

Antwort

2

Sie müssen über die Schreibberechtigung für das Verzeichnis/sys verfügen. Rooting macht den Prozess sehr einfach. root einfach Ihr Gerät und geben Sie den richtigen Befehl echo Kernel-Status-Bits wechseln wie:

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

Eine weitere Möglichkeit, zu verwenden libusb ist, graben, um die Bibliothek für die Funktion, die die Energie abschneidet. Sie können android.hardware.usb.UsbManager verwenden, um die richtige Berechtigung für libusb anzufordern.

+0

Ich möchte usb eingefügt (Android Tablet) auslösen, obwohl USB bereits eingefügt ist. Ist es möglich? Gibt es eine Möglichkeit, dem System zu sagen, dass der USB eingesteckt ist, damit er wieder erkannt wird? –

0

Wie ich von hier weiß https://askubuntu.com/questions/342061/power-on-off-usb-ports "Alle vorherigen Antworten sprechen über einen USB-Suspend-Mechanismus, d. H. Eine" logische Abschaltung ", sie werden den VBUS + 5V niemals physisch vom USB-Port trennen."

Vielleicht ist eine Hardware-Lösung schlechte Idee, aber ich kann Ihnen raten, MOSFET-Transistor mit programmierten Atmega8U4 Chip auf PCB zu verwenden, die auf Stromzufuhr zur LED-Lampe programmiert ist.

Verwandte Themen