Estou tentando controlar um aplicativo no OSX com um Arduino Uno. Especificamente, eu gostaria de iniciar e parar a reprodução de um MP3 no iTunes ou de uma faixa no Spotify, usando um Arduino conectado ao computador da Apple com USB.
Posso imprimir em série no Arduino. Eu posso usar a Tela no Terminal para acessar as informações de série no Arduino. Posso iniciar e parar a reprodução de faixas no iTunes e Spotify usando o Applescript. Eu preciso de alguma maneira de ter palavras-chave na Tela para iniciar e parar no iTunes ou Spotify. Eu procurei por isso de várias maneiras, mas não consigo encontrar outra coisa senão sugestões para escrever um script para fazer a interface entre Screen e Applescripts. É aqui que estou preso.
Todas as sugestões serão muito apreciadas.
fonte
Respostas:
Provavelmente, isso é amplo demais para fornecer uma resposta prática, mas aqui está um resumo de como você precisará raciocinar sobre a automação do OS X.
Tente escolher um aplicativo criado para automação: https://www.macosxautomation.com
Se você puder aproveitar essa interface, estará muito mais perto de uma solução. Caso contrário, existem mais três métodos de uso geral para controlar o OS X:
Novamente - esse pode ser um projeto grande para qualquer pessoa que não tenha experiência, portanto, você deve se concentrar em automatizar sua automação do OS X primeiro. Depois de reproduzir / pausar as coisas no OS X para o OS X - você poderá ver se consegue replicar essas coisas no arduino.
Se você deseja que o arduino envie comandos seriais para um programa no Mac - você precisa primeiro aprender a programar como processar a entrada serial e, em seguida, aprender a ter esse script de programa como um dos métodos acima . Novamente - você precisará se concentrar em pequenas etapas possíveis e depois desenvolvê-las para criar um sistema.
fonte
expect
ferramenta ou registre o texto da tela em um arquivo e, em seguida, analise o arquivo. Muitas maneiras de esfolar esse gato, @fed.Deixa comigo. No Terminal, use a tela: screen /dev/cu.usbmodem621 9600
Em seguida, no Applescript, execute o seguinte loop:
definir gatilho para 1
repetir
repetição final
fonte
Agora estou tendo saída de tela para log.txt, e o seguinte AppleScript funciona muito bem!
definir gatilho para 1
defina stopString como ""
repita até (stopString = "stop")
defina testTxt como parágrafos de (leia o arquivo POSIX "/Users/fed/log.txt") defina countTxt como (count of testTxt) - 1 configure lastLine para o item countTxt de testTxt
se lastLine contiver "Start MP3" e o trigger for 1, então informe aplicativo "Spotify" para reproduzir pausa, defina o gatilho para 0 final se
Se lastLine não contiver "Start MP3", defina o trigger como 1 final se
se lastLine contiver "Stop Loop", defina stopString como "stop" end se end repeat
fonte