Arduino+Raspberry Pi 3 [OFF-TOPIC]

Hola,

Tengo conectada una Raspberry Pi 3 model B a un arduino micro. Para probar la comunicación he conectado la Rpi con el arduino a través del USB. El Arduino lleva un código sencillo que enciende y apaga el led 13 en funcion de que le llegue por el Serial una "E" o una "A".

En la Rpi instalado Raspbian GNU/Linux 9. Abro un terminal y escribo:

echo -ne "E" >  /dev/ttyACM0

el led se enciende.

Escribo

echo -ne "A" >  /dev/ttyACM0

y el led se apaga.

Hasta aqui todo correcto.

Pero si el comando lo meto en un bash (el archivo tiene permisos de ejecución)

#!/bin/bash
echo -ne "A" > /dev/ttyACM0

No ocurre nada, y el bash parece ejecutarse correctamente. Lo he intentado colocando 'sudo echo -ne "B" > /dev/ttyACM0' y ejecutando el bash con sudo, pero, nada, el scrip no envia el comando al arduino.

He buscado información por la red y no he encontrado nada que me pueda ayudar.

El código arduino es muy sencillo para la prueba

String action;

void setup() {
  // Pin 13 como salida
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop{
if (Serial.available()) //Nos dice si hay datos dentro del buffer
{
       action = Serial.read(); //Lee el caracter
}

if (action=='A') digitalWrite(LED_BUILTIN, LOW);
if (action=='E') digitalWrite(LED_BUILTIN, HIGH);
}

Lo pregunto en el foro porque ya no se si cosa de la comunicación con el Ardunio o es cosa de la Rpi o...

Muchas gracias de antemano

Ok, pero no crees que la pregunta es para un foro de Raspberry mas que para el foro de Arduino? Al menos deberías poner a tu titulo el emblema de OFF TOPIC por la misma razón.

Dicho esto, porque no usas Python, yo acabo de hacer lo mismo hace unos dias y 0 problemas. Fue muy facil en python comunicarme con el Arduino/ESP conectado al USB.

Si te interesa te paso el código.

Muchas gracias Surbyte por la respuesta y mil perdones por no poner el "Off topic" y es que sinceramente no lo encontré en el listado de message icon y no sabía cual poner. Por favor, ayuda y lo edito.

Sí, tal vez, pero como es una comunicación con arduino y probé todo lo probable con Rpi, pensé que ya podía ser un problema de comunicación con Arduino.

Tengo hecho un script de python que funciona perfectamente llamandolo desde el bash, el problema es que las pruebas son para poner ejecutar el bash al apagar la Rpi, siguiendo las siguientes instrucciones: -Poner un enlace simbólico al scrip en /etc/rc6.d -Poner el bash a ejecutar en /etc/init.d Cuando Rpi ejecuta shutdown ejecuta los bash a los que apunten los enlaces simbólicos que haya en /etc/rc6.d por orden alfabético, y los enlaces tienen que tener el nombre K9nombre_del_script

Pero cuando se ejecuta el script como parece que Python ya ha sido descargado, no funciona y por eso pensaba poner un script shell puro y duro.

Me parece muy raro que desde linea de comandos funcione perfectamente pero en un bash no.

Muchas gracias.