Automatización de comandos de terminal con AppleScript

1

Tengo un dispositivo basado en Arduino ( www.picobrew.com ) y necesito la actualización del firmware. La compañía escribió una pequeña aplicación para hacerlo para usuarios de Windows, pero los usuarios de OS X están fuera de control. Afortunadamente, pudimos usar la aplicación Arduino y algunos comandos de la terminal para evitar tener su aplicación. Algunas personas, sin embargo, tienen un poco de miedo en jugar en la Terminal. Encontré esta publicación , que parece ser un buen comienzo, pero tengo dos variables, el nombre del archivo del firmware y el nombre del puerto serial de Arduino que no estoy muy seguro de cómo ingresar al script sin codificación. Aquí está el guión:

/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

Puedo encontrar el nombre del puerto serie con este comando:

ls /dev/tty.usb*

Pero, ¿cómo puedo rellenar el primer script con el resultado de este?

Además, ¿hay alguna forma de solicitar una ubicación de archivo?

Disculpas si algo de esto es súper básico. Tengo una experiencia Terminal extremadamente limitada y ninguna experiencia AppleScript. Gracias por cualquier ayuda.

    
pregunta TheAleMaster 18.09.2015 - 00:27

1 respuesta

1

Estos ejemplos logran lo que quieres. Nota la "& forma citada de portName &" Porción de la shellString. Solo estaba adivinando a dónde va, pero puedes averiguarlo a partir de ahí.

-- set the porn name to a variable
set portName to do shell script "ls /dev/tty.usb*"

-- set up the shell command, including the variable you insert
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"

-- run the shell command
do shell script shellString

-- this command returns an alias to a folder
set aFolder to choose folder "Please choose the correct folder"
-- this command returns an alias to a file, you can restrict file types
set aFile to choose file "Please choose the correct file"
-- you can convert the folder/file alias to a string to get just the portion you need
    
respondido por el jweaks 02.10.2015 - 03:12

Lea otras preguntas en las etiquetas