Bash, E / S serie y Arduino

Entonces, estoy un poco por encima de mi cabeza y siento que estoy muy cerca de una solución, pero todavía no está funcionando del todo. Aquí está mi situación:

Estoy trabajando con un microcontrolador Arduino e intento escribir dos scripts de Bash (ahora en ejecución en Mac OS X 10.6) que (a) imprimirán todos los datos en serie que salen de la unidad Arduino a la salida estándar, y (b) permitirme enviar datos en serie a la unidad Arduino. Estos scripts se llamarán utilizando la API NativeProcess de Adobe AIR para permitir una estrecha integración entre la unidad Arduino y un FlexAdobe AIR solicitud.

Mis dos guiones son muy simples:

Aquí está mi script WriteToSerial.sh:

echo $1 > $2

($ 1 es obviamente mi cadena, $ 2 es la ubicación del puerto serie - actualmente /dev/tty.usbserial-A800eIUj)

Y aquí está mi script ReadSerialOutput.sh:

tail -f $1

($ 1 es la ubicación de mi puerto serie, actualmente /dev/tty.usbserial-A800eIUj)

Cuando llamo a cualquiera de estos scripts (o incluso si solo escribo los comandos directamente en la consola Bash), mi computadora simplemente se cuelga: puedo escribir caracteres, pero no sucede nada hasta queCtrl + C fuera del proceso.

Sin embargo, si abro el IDE de Arduino y enciendo el Monitor de serie, entoncestail -f el puerto, cierre el monitor en serie y luego haga eco "prueba"> puerto en serie, todo funciona de maravilla.

Esto me sugiere que abrir el Serial Monitor dentro del Arduino IDE es de alguna manera inicializar el puerto serial, lo que a su vez me permite seguirlo sin problemas. Esto a su vez me sugiere que simplemente no estoy ingresando algún tipo de comando de inicialización. Sin embargo, he estado buscando altas y bajas durante días y parece que no puedo encontrar nada que aborde este problema.

¿Cuál es la solución?

Respuestas a la pregunta(10)

Su respuesta a la pregunta