Bonjour,
Je recherche un peu d'aide. Je travaille depuis quelque temps sur un projet personnel de domotique. J'aimerais afficher sur un serveur local des données de capteurs. J'ai réussi mais un problème se pose.
J'ai stocké un fichier HTML dans la carte SD et je ne sais pas comment envoyer les données des capteurs vers mon code html pour avoir une mise en page propre. Si quelqu'un pourrait un peu me guider même si je dois utiliser du Java etc.
Merci d'avance.
Le programme :
#include <SPI.h>
#include <Ethernet.h>
#include <SD.h>
// MAC address from Ethernet shield sticker under board
byte mac[] = { 0x90, 0xA2, 0xda, 0x0d, 0x14, 0x6f };
IPAddress ip(172,19,239,51); // IP address, may need to change depending on network
EthernetServer server(80); // create a server at port 80
File webFile;
void setup()
{
Ethernet.begin(mac, ip); // initialize Ethernet device
server.begin(); // start to listen for clients
Serial.begin(9600); // for debugging
// initialize SD card
Serial.println("Initializing SD card...");
if (!SD.begin(4)) {
Serial.println("ERROR - SD card initialization failed!");
return; // init failed
}
Serial.println( "SUCCESS - SD card initialized.");
// check for index.htm file
if (!SD.exists("Index")) {
Serial.println("ERROR - Can't find index file!");
return; // can't find index file
}
Serial.println("SUCCESS - Found index file.");
}
void loop()
{
EthernetClient client = server.available(); // try to get client
if (client) { // got client?
boolean currentLineIsBlank = true;
while (client.connected()) {
if (client.available()) { // client data available to read
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"); // 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(1); // give the web browser time to receive the data
client.stop(); // close the connection
} // end if (client)
}[code]