Bonjour tout le monde,
ça fait une semaine que je suis bloqué.
Je travaille sur ORANGE PI 3G IOT avec une Android 5.1
Pour utiliser le GPIO, le chemin est
/sys/devices/virtual/misc/mtgpio/pin
Pour changer l'état de pin 41 à 1 par exemple, on fait ceci:
echo 'wdout 141 1'>/sys/devices/virtual/misc/mtgpio/pin
Tout marche depuis mon PC Windows 10 via le ADB SHELL.
Mais ça ne marche pas depuis mon Application Android développer par ANDROID STUDIO en utilisant:
1 2 3 4 5 6 7 8 9
|
public void onClickOn(View view) { // evenement click bouton
String[] cmd = {"/system/bin/sh", "-c", "echo '-wdout 141 1' > /sys/devices/virtual/misc/mtgpio/pin"};
try {
Runtime.getRuntime().exec(cmd);
} catch (IOException e) {
e.printStackTrace();
}
} |
Si je fais la commande de permission "chmod 777" dans mon ADB SHELL (PC Windows):
adb shell chmod 777 /sys/devices/virtual/misc/mtgpio/pin
la commande dans mon application Android ci-dessus (onClickOn) marche sans soucis.
Mais cette commande chmod 777 ne marche pas quand je l’intègre dans mon application ANDROID,
Il n'a aucun effet (pas d'erreur pendant le débogage):
1 2 3 4 5 6 7 8 9 10 11 12
|
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String [] cmd = new String[]{"/system/bin/sh", "-c", "chmod 777 /sys/devices/virtual/misc/mtgpio/pin"};
try {
Runtime.getRuntime().exec(cmd);
} catch (IOException e) {
e.printStackTrace();
}
} |
Pouvez vous m'aider ou est l'erreur, pourquoi je ne peux pas modifier le fichier "/sys/devices/virtual/misc/mtgpio/pin" depuis mon application android?
Merci d'avance.
Partager