2016-04-08 14 views
0

ich habe projekt, in dem ich eine reihe von sound files nach dem zufall, auf den schupf einer taste iam mit einem arduino yun spielen muss. Bis jetzt kann ich die Töne von der SD-Karte spielen, aber ich will, dass die Zufallszahl abhängig von der Anzahl der Dateien in der SD-Karte generiert.Ich brauche Hilfe beim Lesen der Anzahl der Dateien durch die Befehlsshell aus der Skizzearduino yun mit usb sound card geting anzahl der dateien

cd /mnt/sda1 
ls | wc - l 

Wenn ich dies im Terminal bekomme ich die Antwort 4 und das ist genau die Antwort, die ich brauche. Ich möchte dies im Skript ausgeführt werden soll, so weit ich habe dies jedoch tut es

d.runShellCommand("ls | wc -l | cd /mnt/sda1"); 
result = d.parseInt(); 
Serial.println(result); 

mir jemand zu arbeiten scheinen, bei der Festsetzung dieses

helfen danke

Antwort

0

Ihr Shell-Befehl hat ein paar Fehler darin. Anstatt einen cd-Befehl zu pipen, können Sie einfach das Verzeichnis angeben, wenn Sie ls ausführen. zum Beispiel:

ls | wc -l | cd ~/Documents/ 

gibt nichts aus. Jedoch

ls ~/Documents/ | wc -l 

Gibt die Anzahl der Dateien und Ordner in meinem Ordner Dokumente aus. So soll dieser Befehl arbeiten:

d.runShellCommand("ls /mnt/sda1| wc -l"); 
+0

Vielen Dank es toll gearbeitet ich frage mich, wenn ich die Namen aller Dateien erhalten wollte und speichern sie in einem Array, wie kann ich erreichen, dass beispiel = array [ 0 <= 1.mp3, 1 <= 2.mp3] –