1 votes

Automating Commandes Terminal avec AppleScript

J'ai un appareil basé sur Arduino (www.picobrew.com) qui a besoin de mettre à jour le firmware. La société a écrit une petite application pour le faire pour les utilisateurs de Windows, mais nous les utilisateurs de OS X sommes laissés pour compte. Heureusement, nous avons pu utiliser l'application Arduino et quelques commandes de terminal pour contourner l'absence de leur application. Cependant, certaines personnes ont un peu peur de bidouiller dans le Terminal. J'ai trouvé ce message, qui semble être un bon point de départ, mais j'ai deux variables, le nom du fichier du firmware et le nom du port série de l'Arduino que je ne suis pas tout à fait sûr comment inclure dans le script sans les coder en dur. Voici le script:

/Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avrdude -C /Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf -c arduino -P /dev/tty.usbmodemFD121 -p atmega1284p -U flash:w:$HOME/Desktop/Zymatic_RC_1_1_9.hex

Je peux trouver le nom du port série avec cette commande:

ls /dev/tty.usb*

Mais comment puis-je remplir le premier script avec le résultat de celui-ci?

De plus, y a-t-il un moyen de demander un emplacement de fichier?

Désolé si tout cela est très basique. J'ai une expérience extrêmement limitée du Terminal et aucune expérience en AppleScript. Merci pour toute aide.

1voto

Johnsyweb Points 45395

Ces exemples accomplissent ce que vous voulez. Notez la partie "& quoted form of portName &" de la shellString. Je supposais juste que c'est là que ça va, mais vous pouvez le trouver à partir de là.

-- définir le nom de port dans une variable
set portName to do shell script "ls /dev/tty.usb*"

-- mettre en place la commande shell, y compris la variable que vous insérez
set shellString to "/Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avrdude -C /Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf -c arduino -P /dev/tty." & quoted form of portnName & " -p atmega1284p -U flash:w:$HOME/Desktop/Zymatic_RC_1_1_9.hex"

-- exécuter la commande shell
do shell script shellString

-- cette commande renvoie un alias vers un dossier
set aFolder to choose folder "Veuillez choisir le dossier correct"
-- cette commande renvoie un alias vers un fichier, vous pouvez restreindre les types de fichiers
set aFile to choose file "Veuillez choisir le fichier correct"
-- vous pouvez convertir l'alias du dossier/fichier en une chaîne pour obtenir juste la partie dont vous avez besoin

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X