Bash, E / S serial e Arduino
Então, estou um pouco excêntrico e sinto que estou muito perto de uma solução, mas ainda não está funcionando. Aqui está a minha situação:
Estou trabalhando com um microcontrolador Arduino e estou tentando escrever dois scripts Bash (atualmente em execução no Mac OS X 10.6) que (a) imprimem todos os dados seriais que saem da unidade Arduino na saída padrão e (b) permita-me enviar dados seriais para a unidade Arduino. Esses scripts serão chamados usando a API NativeProcess do Adobe AIR para permitir uma forte integração entre a unidade Arduino e um FlexAdobe AIR inscrição.
Meus dois scripts são muito simples -
Aqui está o meu script WriteToSerial.sh:
echo $1 > $2
($ 1 é obviamente minha string, $ 2 é o local da porta serial - atualmente /dev/tty.usbserial-A800eIUj)
E aqui está o meu script ReadSerialOutput.sh:
tail -f $1
($ 1 é o local da minha porta serial, atualmente /dev/tty.usbserial-A800eIUj)
Quando chamo um desses scripts (ou mesmo se eu apenas digitar os comandos diretamente no console do Bash), meu computador trava - eu posso digitar caracteres, mas nada acontece até que euCtrl + C fora do processo.
No entanto, se eu abrir o IDE do Arduino e ligar o Serial Monitor, entãotail -f
a porta, feche o monitor serial e, em seguida, faça o eco de "teste"> porta serial, tudo funciona muito bem.
Isso sugere para mim que abrir o Serial Monitor no IDE do Arduino está de alguma forma inicializando a porta serial, o que, por sua vez, me permite segui-lo sem problemas. Por sua vez, isso sugere que estou simplesmente falhando em inserir algum tipo de comando de inicialização. No entanto, eu tenho pesquisado alto e baixo por dias e parece que não consigo encontrar nada que resolva esse problema.
Qual é a solução?