Bonjour!
En vue d'un projet plus compliqué que ça, j'essaie actuellement de faire une communication série avec mon arduino pour simuler une future communication de téléphone à ESP32 et à arduino nano (ou micro à voir) et pour ceci je simule un envoi d'information via le serial IDE à mon arduino afin d'apprendre son fonctionnement. Le soucis, j'arrive à faire une communication simple mais ce que je voudrais faire, ce serait de décoder un message plus complexe tel que un message comprenant des valeurs pour tel ou tel élément.
Je donne un exemple, si j'envoi un message tel que Ledval_R0G255B255, par exemple, via liaison serial, j'aimerai pouvoir le décoder en:
- Ledval_ > appel de fonction pour établir la couleur d'une led RGB
- R pour la couleur Rouge
- 0 pour la valeur de R
- G pour la couleur Verte
- 255 pour la valeur de G
- B pour la couleur Bleue
- 255 pour la valeur de B
Mais je souhaiterai également voir pour envoyer des informations différentes tel que des valeurs alpha/numériques du même principe qu'au dessus entre arduino et ESP32 comme des valeurs capteur et donc les coder du genre VBatXX% par exemple ou autres (je ne me rappelle plus qu'elle autres informations j'ai besoin).
Pour le moment j'utilise un code tel que ceci:
void ExecuteCommandSerial(){
while (Serial.available() > 0){
TexteSerial = Serial.readString();
Serial.print("I received: ");
Serial.println(TexteSerial);
if (TexteSerial.equals(Situation1)){
Serial.print("I received: ");
Serial.println(TexteSerial);
Serial.print("Situation 1 séléctionnée et "); //possibilité d'effectuer une commande matérielle sur cette zone
Serial.println("situation 1 éffectuée");
for (int i, i > 0, i--){
bar.setLevel(LedGraph --);
}
}
if (TexteSerial.equals(stringOne)){
Serial.print("I received: ");
Serial.println(TexteSerial + stringOne);
Serial.print("Situation 2 séléctionnée et "); //possibilité d'effectuer une commande matérielle sur cette zone
Serial.println("situation 2 éffectuée");
}
if (TexteSerial.equals(Situation3)){
Serial.print("I received: ");
Serial.println(TexteSerial);
Serial.print("Situation 3 séléctionnée et "); //possibilité d'effectuer une commande matérielle sur cette zone
Serial.println("situation 3 éffectuée");
}
break;
}
}
Mais ce n'est pas pratique pour tout. Surtout si on envoi des valeurs qui changent en permanence. ^^
Le fait de faire des échanges d'informations de cette façon me permettrais de décrypter plus facilement les données d'informations auquel j'échange entre ces différents modules.
Si vous avez une idée de comment faire ou bien des idées plus simple cela m'aiderai grandement. Sachant que je ne sais pas encore comment faire les échanges également entre l'application et le module ESP32 mais je pense transférer des informations sur ce principe.
Je vous en remercie si vous avez des idées ou autres à proposer.