Bonjour,
je commence un projet dans lequel je veux commander des relais depuis un raspberry vers un arduino nano, j'ai suivi ce tuto et ca fonctionne mais le code ne sert qu'à commander une seule led et j'ai besoin d'en commander 2 (que je remplacerai après par les relais).
Dans un premier temps j'ai modifié le code de l'arduino et je commande mes deux leds en changeant l'ID mais cette solution ne me convient pas complètement, je préfèrerais pouvoir gérer les messages envoyés de cette façon :
LED1 ON, LED2 ON, LED1 OFF .... get LED1 ...
j'essaie donc de splitter le message reçu :
/* TEST split */
char* mess_recu = incoming.message;
Serial.println(mess_recu);
char* Temp1 = strtok(mess_recu, " ");
char* Temp2 = strtok(NULL, " ");
Serial.println(Temp1);
Serial.println(Temp2);
Serial.println(incoming.message);
Serial.println(mess_recu);
=> voici ce qu'affiche le code dans le moniteur quand j'envoie le message "LED1 on" :
LED1 on
LED1
on
LED1
LED1
Temp1 et Temp2 renvoient bien ce que j'attends mais incoming.message et mess_recu ne contiennent plus que la première partie du message envoyé alors que je ne fais pas d'action sur ces chaînes.
J'ai essayé également comme cela en changeant les déclaration des variables :
/* TEST split */
char mess_recu = incoming.message;
Serial.print (" mess_recu avant strtok: ");
Serial.println(mess_recu);
char Temp1 = strtok(mess_recu, " ");
char Temp2 = strtok(NULL, " ");
Serial.print (" incoming.message apres strtok: ");
Serial.println(incoming.message);
Serial.print (" variable mess_recu apres strtok: ");
Serial.println(mess_recu);
Serial.print (" Temp1: ");
Serial.println(Temp1);
Serial.print (" Temp2: ");
Serial.println(Temp2);
=> voilà ce qui est alors affiché dans le moniteur :
mess_recu avant strtok: X
incoming.message apres strtok: LED1 on
variable mess_recu apres strtok: X
Temp1: X
Temp2:
Ce coup-ci c'est mess_recu qui ne prends pas la valeur de incoming.message.
J'avoue que je suis un peu perdu avec tout cela, ess ce que le pb vient de la façon dont j'utilise strtok ou de la déclaration des variables ?
merci d'avance