1 votos

Control de un OSX aplicación por Arduino

Estoy tratando de controlar una aplicación en OS x con un Arduino Uno. Específicamente, me gustaría iniciar y detener la reproducción de un MP3 en iTunes, o una canción en Spotify, utilizando un Arduino conectado al ordenador de Apple con USB.

Puedo imprimir en serie del Arduino. Puedo utilizar la Pantalla en el Terminal para acceder a la Serie de datos desde el Arduino. Puedo iniciar y detener la reproducción de pistas en iTunes y Spotify usando Applescript. Necesito alguna manera de tener las palabras clave en la Pantalla de disparo de inicio y parada en iTunes o Spotify. He buscado esto de varias maneras, pero no puede encontrar otra cosa que sugerencias para escribir una secuencia de comandos de la interfaz entre la Pantalla y la Applescripts. Esto es donde estoy atascado.

Cualquier sugerencia sería muy apreciada.

0voto

Oskar Puntos 1242

Esta es, probablemente, demasiado amplio para proporcionar una respuesta práctica, pero aquí está un resumen de cómo usted necesitará razón sobre la automatización de OS X.

Trate de elegir una aplicación que está diseñado para la automatización: https://www.macosxautomation.com

Si usted puede aprovechar esa interfaz, usted estará mucho más cerca de una solución. Si no, hay tres más de propósito general, los métodos para el control de OS X:

  • línea de comandos de secuencias de comandos - de modo que deberá tener el arduino ssh en el Mac OS como un legítimo dispositivo conectado a la red sólo cuando usted podría ssh en OS X a partir de ubuntu, Windows, iOS o cualquier otro sistema operativo. Una vez que el arduino se puede abrir una conexión de red para OS X se puede utilizar AppleScript, JavaScript, bash, swift y muchos otros idiomas para enviar mensajes a iTunes u otras secuencias de comandos de aplicaciones.
  • La interfaz USB de Apple diseña el sistema operativo para ser accesible a los interruptores de pie, lectores de pantalla, control de la respiración, palancas de mando. Si fueron lo suficientemente inteligentes como para programar el arduino para emular un dispositivo de asistencia, a continuación, usted podría ir a la Accesibilidad del panel de preferencias del sistema y, a continuación, permitir que tu arduino para controlar el ratón, el teclado, etc...
  • el control de voz. El macOS cambios le permiten empezar a trabajar en tu arduino para sintetizar una voz y, a continuación, conecte el sintetizador de voz para tu entrada de sonido (o simplemente el uso de un micrófono) para hablar con el OS. http://www.practicalarduino.com/projects/speech-synthesizer

De nuevo - este podría ser un proyecto grande para cualquier persona que no tiene antecedentes, por lo que se quiere enfocarse en la automatización de su OS X de automatización de la primera. Una vez que usted puede reproducir/pausa cosas en OS X para OS X - a continuación, puede ver si se puede replicar esas cosas de arduino.

Si usted quería tener el arduino enviar comandos serie para un programa en el Mac - sería necesario primero aprender a programa cómo el proceso de interfaz serie de entrada y, a continuación, usted tendría que aprender cómo hacer para que la secuencia de comandos del programa uno de los métodos anteriores. De nuevo, tendrás que concentrarse en la pequeña alcanzable pasos y, a continuación, construir en ellos para hacer un sistema.

0voto

NatGordon Puntos 341

Ya lo he conseguido. En la Terminal, el uso de la pantalla: pantalla /dev/cu.usbmodem621 9600

Luego, en Applescript, ejecute el siguiente bucle:

conjunto de gatillo para 1

repita

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

final de la repetición

0voto

NatGordon Puntos 341

Yo estoy ahora con la salida de Pantalla a log.txt y el siguiente applescript funciona simplemente genial!

conjunto de gatillo para 1

conjunto de stopString ""

repita hasta que (stopString = "stop")

conjunto de testTxt a los párrafos de (leer POSIX archivo "/Users/fed/log.txt") conjunto de countTxt a (número de testTxt) - 1 conjunto de lastLine a punto countTxt de testTxt
si lastLine contiene "Start MP3" y el gatillo es 1, entonces indica la aplicación "Spotify" a playpause conjunto de gatillo a 0 end if

si lastLine no contiene "Start MP3" a continuación conjunto de gatillo para 1 end if

si lastLine contiene "Detener el Bucle", a continuación, conjunto de stopString a "stop" end if final de la repetición

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X