Controla una aplicación OSX de Arduino

1

Estoy intentando controlar una aplicación en OSX con un Arduino Uno. Específicamente, me gustaría iniciar y detener la reproducción de un MP3 en iTunes, o una pista en Spotify, utilizando un Arduino conectado a la computadora Apple con USB.

Puedo imprimir en serie desde el Arduino. Puedo usar Screen in Terminal para acceder a la información de serie de Arduino. Puedo iniciar y detener la reproducción de pistas en iTunes y Spotify utilizando Applescript. Necesito alguna forma de tener palabras clave en la pantalla para activar el inicio y la detención en iTunes o Spotify. He buscado esto de varias maneras, pero no puedo encontrar nada más que sugerencias para escribir una secuencia de comandos para interactuar entre la Pantalla y los Applescripts. Aquí es donde estoy atrapado.

Cualquier sugerencia sería muy apreciada.

    
pregunta Fed 07.08.2016 - 14:08

3 respuestas

0

Ahora tengo salida de pantalla a log.txt, ¡y el siguiente script de Apple funciona muy bien!

establece el disparador en 1

establece stopString en ""

repetir hasta que (stopString="stop")

establezca testTxt en párrafos de (lea el archivo POSIX "/Users/fed/log.txt") establece countTxt en (count de testTxt) - 1 establece lastLine en item countTxt de testTxt
Si lastLine contiene "Iniciar MP3" y el disparador es 1, entonces     Dile a la aplicación "Spotify" a Playpause     poner el disparador a 0 terminar si

si lastLine no contiene "Start MP3" entonces     poner el gatillo a 1 terminar si

si lastLine contiene "Stop Loop" entonces     establece stopString en "stop" terminara si final de repetición

    
respondido por el Fed 12.08.2016 - 13:56
0

Es probable que esto sea demasiado amplio para proporcionar una respuesta práctica, pero aquí hay un resumen de cómo deberá razonar acerca de la automatización de OS X.

Intente elegir una aplicación creada para la automatización: enlace

Si puedes aprovechar esa interfaz, estarás mucho más cerca de encontrar una solución. Si no, hay otros tres métodos de propósito general para controlar OS X:

  • secuencias de comandos de la línea de comandos: por lo tanto, debería tener el arduino ssh en el sistema operativo Mac como un dispositivo legítimo en red, así como podría ssh en OS X desde ubuntu, Windows, iOS o cualquier otro sistema operativo. Una vez que su arduino pueda abrir una conexión de red a OS X, puede usar AppleScript, JavaScript, bash, swift y muchos otros idiomas para enviar mensajes a iTunes u otras aplicaciones de secuencias de comandos.
  • Interfaz USB: Apple diseña el sistema operativo para que sea accesible a los interruptores de pie, los lectores de pantalla, el control de la respiración y los joysticks. Si tuviera la suficiente experiencia para programar su arduino para emular un dispositivo de asistencia, podría ir al panel de preferencias del sistema Accesibilidad y luego permitir que su arduino controle el mouse, el teclado, etc ...
  • control de voz. Los cambios de macOS le permitirían comenzar a trabajar en su arduino para sintetizar una voz y luego conectar el sintetizador de voz a su entrada de sonido (o simplemente usar un micrófono) para hablar con el sistema operativo. enlace

Nuevamente, esto podría ser un gran proyecto para cualquier persona que no tenga antecedentes, por lo que primero querrá enfocarse en automatizar su automatización OS X. Una vez que puede reproducir / pausar cosas en OS X a OS X, entonces puede ver si puede replicar esas cosas desde arduino.

Si deseaba que el arduino enviara comandos serie a un programa en la Mac, primero tendría que aprender a programar cómo procesar la entrada serie y luego aprender a tener ese script de programa uno de Los métodos anteriores. De nuevo, deberás centrarte en pequeños pasos alcanzables y luego desarrollarlos para crear un sistema.

    
respondido por el bmike 07.08.2016 - 18:55
0

Lo tengo. En la Terminal, use la pantalla: pantalla /dev/cu.usbmodem621 9600

Luego, en Applescript, ejecute el siguiente ciclo:

establece el disparador en 1

repetir

tell application "Terminal"
    if the contents of front window contains "button 1" and trigger is 1 then
        tell application "Spotify" to playpause
        set trigger to 0
    end if

    if the contents of front window does not contain "button 1" then
        set trigger to 1
    end if

end tell

finalizar repetición

    
respondido por el Fed 11.08.2016 - 13:27

Lea otras preguntas en las etiquetas