Variable Serie + Interface Web

Bonjour , je travail actuellement sur un projet qui consiste à récuperer des données envoyées par voie série sur ma arduino uno , mais un problème se pose.

Comment faire afficher la variable reçue sur le port série sur une interface web ?
J'ai essayer les commandes recieveEvent , plusieurs autres choses comme créer une base de données et ensuite essayer de l'utiliser dans une page index.htm mais cela ne marche pas
J'arrive à faire afficher une page web sur un autre ordinateur en stockant cette page web dans une carte SD qui est dans le shield ethernet.
Je n'arrive plus à avancer et je ne trouve pas de solutions malgré les heures passées à chercher.
Je n'arrive pas à combiner l'affichage web + l'affichage de la variable reçue.

Si quelqu'un pourrais m'aider dans ma recherche cela m'aiderais énormément.
Mon code pour faire afficher la page web est celui ci.

#include <SPI.h>
#include <Ethernet.h>
#include <SD.h>

// L'aadresse MAC qui se trouve en dessous du shield ethernet
byte mac[] = { 0x90, 0xA2, 0xDA, 0x0E, 0xD0, 0x97 };
IPAddress ip(192,168,1,2); // L'adresse IP adressée a la carte arduino
EthernetServer server(80); // Créer un serveur au port : 80

File webFile;

void setup()
{
Ethernet.begin(mac, ip); // Initialisation de l'ethernet
server.begin(); // cherche des interlocuteurs
Serial.begin(9600); // pour debuguer

// Initialisation de la carte SD
Serial.println("Initializing SD card...");
if (!SD.begin(4)) {
Serial.println("ERROR - SD card initialization failed!");
return; // L'initialisation à échoué
}
Serial.println("SUCCESS - SD card initialized.");
// Essayer de trouver le fichier index.htm
if (!SD.exists("index.htm")) {
Serial.println("ERROR - Can't find index.htm file!");
return; // Ne peut pas trouver le fichier index.htm
}
Serial.println("SUCCESS - Found index.htm file.");
}

void loop()
{
EthernetClient client = server.available(); // Essayer d'avoir un interlocuteur

if (client) { // Si il y a un interlocuteur
boolean currentLineIsBlank = true;
while (client.connected()) {
if (client.available()) { // Données de l'interlocuteur valide
char c = client.read(); // read 1 byte (character) from client
// last line of client request is blank and ends with \n
// respond to client only after last line received
if (c == '\n' && currentLineIsBlank) {
// send a standard http response header
client.println("HTTP/1.1 200 OK");
client.println("Content-Type:text/html");
client.println("Connection: close");
client.println();
// send web page
webFile = SD.open("index.htm"); // open web page file
if (webFile) {
while(webFile.available()) {
client.write(webFile.read()); // send web page to client
}
webFile.close();
}
break;
}
// every line of text received from the client ends with \r\n
if (c == '\n') {
// last character on line of received text
// starting new line with next character read
currentLineIsBlank = true;
}
else if (c != '\r') {
// a text character was received from client
currentLineIsBlank = false;
}
} // end if (client.available())
} // end while (client.connected())
delay(2); // give the web browser time to receive the data
client.stop(); // close the connection
} // end if (client)
}

TEST_WEBPAGE_ARDUINO.ino (4.13 KB)

Dans cette partie:

if (webFile) {
               while(webFile.available()) {
                       client.write(webFile.read()); // send web page to client
               }
}

au lieu de copier directement le code HTML de la SDCard vers le client, tu peux très bien le traiter au vol pour y ajouter des valeurs.
Si, par exemple, dans le code HTML tu ajoutes des champs personnels tu peux les identifier au passage et y substituer du contenu variable.

Tout d'abord merci de la réponse.
Donc si je comprend bien il faudrais que je réécrive le code entier de la page web sur l'arduino directement avec client.printin ?
Désolé je suis assez novice dans ce domaine.
Pour ce qui en est de la liaison série avec l'autre arduino , comment vais-je recevoir sa variable et la stockée pour l'afficher sur l'interface web ?

Jinsay:
Donc si je comprend bien il faudrais que je réécrive le code entier de la page web sur l'arduino directement avec client.printin ?

Non, je préconise de glisser dans le code HTML de la page des "balises" particulières que tu remplaceras par les valeurs que tu veux insérer.
Par exemple la où tu voudrais que la valeur de ta variable apparaisse, tu glisses dans le HTML cette "balise" {a}. Lorsque tu détectes la balise, tu ne l'envoies pas par client.write et à la place tu fais un client.print(maVariable).
Ensuite tu continues à envoyer le reste du code HTML de ta page.

D'accord , je vois ce que tu me dis de faire , aurait tu un exemple concrêt a me montrer ? je ne vois pas comment insérer ces commandes dans l'arduino puis dans l'html