Reset ARDUINO MEGA sur reception UART USB d'un PI3

Votre Apache se cache, votre Pi gémit, votre SoC fume ? La panne quoi ! C'est ici que vous trouverez sans doute une solution... Sinon du réconfort :)

Modérateurs : Francois, maxty01

Répondre
alematt
Messages : 13
Enregistré le : dim. 19 juin 2016 14:14

Reset ARDUINO MEGA sur reception UART USB d'un PI3

Message par alematt » jeu. 24 nov. 2016 22:19

Bonjour à tous,

Voila, nous sommes nombreux à faire cette manip, faire communiquer un ARDUINO avec un RASPBERRY en USB.

Pour ma part, grâce a ce site (merci !) et d'autres, ma communication se passe bien, SAUF QUE, à chaque envoie d'une trame à l'ARDUINO, l'ARDUINO se reset.

Étrangement, la réponse de l'ARDUINO a la requête du RASPBERRY est correcte.



Coté RPI
SerialArduino = serial.Serial('/dev/ttyACM0')


while TRUE:
#Envoi de la consigne
# Format de l'envoi consigne CSG18.5_ON$
try:
StrSend = "CSG" + str(ParCONS) + StrPWCNT + "$"
SerialArduino.write(StrSend)
except Error as e:
time.sleep(2)

#Reception des datas
lines=SerialArduino.readline()
time.sleep(1)
SerialArduino.close()

.....
Côté ARDUINO
while (Serial.available()>0) { // tant qu'un octet en reception

OctetReception=Serial.read(); // Lit le 1er octet recu et le met dans la variable
NbOctet=NbOctet+1;
if (OctetReception=='$') { // si Octet recu est l'octet de queue
Incoming=1;
delay(100); // pause
break; // sort de la boucle while
}
else {
CaractRecept=char(OctetReception); // convertit l'octet recu en caractere
if ((CaractRecept != char(10)) && (CaractRecept != char(13))){ // Eviter les retour chariot et saut de ligne
ChaineRecept=ChaineRecept+CaractRecept; // ajoute le caratere au String
}
}
}
.....
Il semblerait donc, et d'après nos confrères du forum Arduino, que l'ouverture de port côté RPI RESET L'ARDUINO. de fait, est il possible d'ouvrir le port au démarrage du RPI, de le laisser ouvert et de l'utiliser dans mon fichier Python qui est exécuté toutes les minutes (crontab)

Si quelqu'un avait ne serait-ce qu'une piste?

Merci à tous

Répondre

Retourner vers « En panne ? »