Bonjour
j'ai crée un webserveur arduino qui récupere les données d'un chauffe eau solaire pour les afficher sur un site web, tout fonctionne, seulement j'aimerais pouvoir le mettre en ligne(pour ne plus seulement le voir en localhost mais aussi à distance), or je ne sais pas comment faire ![]()
voici le programme:
int receptionBal;
int Tbal;
int receptionEch;
int Tech;
int ValAzimut;
int ValAngle;
int Tcap;
int Tamb;
#include <SPI.h>
#include <Ethernet.h>
// MAC address from Ethernet shield sticker under board
byte mac[] = { 0x90, 0xA2, 0xDA, 0x80, 0x0A, 0x32 };
IPAddress ip(172,18,153,26); // IP address, may need to change depending on network
EthernetServer server(80); // create a server at port 80
void setup()
{
Serial.begin(9600);
Ethernet.begin(mac, ip); // initialize Ethernet device
server.begin(); // start to listen for clients
}
void loop()
{
temperature();
serveur();
}
void temperature()
{
delay(1000);
receptionEch=analogRead(A0); //lecture temperature echangeur
Tech=(receptionEch-195)/1.384;
Serial.print("Temperature echangeur = "); //affichage
Serial.println(Tech); //affichage temperature echangeur puis retour chariot
receptionBal=analogRead(A1); //lecture temperature ballon
Tbal=(receptionBal-195)/1.384;
Serial.print("Temperature ballon = "); //affichage
Serial.println(Tbal); //affichage temperature ballon puis retour chariot
ValAngle=1;
ValAzimut=1;
Tcap=1;
Tamb=1;
}
void serveur()
{
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("Refresh: 1");
client.println();
// send web page
client.println("<!DOCTYPE html >");
client.println("<html lang=\"fr\">");
client.println("<head>");
client.println("<meta http-equiv=\"refresh\" content=1\"text/html\" charset=\"utf-8\" />");
client.println("<link rel=\"stylesheet\" />");
client.println("<style type=\"text/css\"> ");
client.println("body{text-align:center;font-family: Trebuchet ms,Comic sans ms, arial black;}");
client.println(".tableauUG, .tableauUL{position:center;margin: auto;margin-top: 5%;height: 100px; width: 700px;}");
client.println("td, th {border: thin solid #6495ed; width: 50%; text-align:center;}");
client.println("</style>");
client.println("</head>");
client.println("<body >");
client.println("<div id=\"bloc_page\">");
client.println("<header>");
client.println("<div id=\"titre_principal\">");
client.println("<h1>Controle du Chauffe-eau solaire</h1>");
client.println("</div>");
client.println("</header>");
client.println("<table class=\"tableauUG\">");
client.println("<caption>Tableau d'information du chauffe eau solaire</caption>");
client.println("<tr>");
client.println("<th>Position du chauffe eau</th>");
client.println("<th>Etat</th>");
client.println("<th>Caractéristique de UG</th>");
client.println("<th>Etat</th>");
client.println("</tr>");
client.println("<tr>");
client.println("<td>Position horizontale</td>");
client.println("<td>");
client.println(ValAzimut);
client.println("</td>");
client.println("<td>T échangeur</td>");
client.println("<td>");
client.println(Tech);
client.println("</td>");
client.println("</tr>");
client.println("<tr>");
client.println("<td>Position verticale</td>");
client.println("<td>");
client.println(ValAngle);
client.println("</td>");
client.println("<td>T ambiante</td>");
client.println("<td>");
client.println(Tamb);
client.println("</td>");
client.println("</tr>");
client.println("</tr>");
client.println("</span>");
client.println("</table>");
client.println("<table class= \"tableauUL\" summary= \"exemple de structure d'un tableau de données 2 lignes, 2 colonnes\">");
client.println("<span class=\"UL\"><tr>");
client.println("<th>Caractéristiques du circuit</th>");
client.println("<th>Etat</th>");
client.println("<th>Caractéristiques de UL</th>");
client.println("<th>Etat</th>");
client.println("</tr>");
client.println("<tr>");
client.println("<td>Etat circuit primaire</td>");
client.println("<td>");
client.println("?");
client.println("</td>");
client.println("<td>T ballon</td>");
client.println("<td>");
client.println(Tbal);
client.println("</td>");
client.println("</tr>");
client.println("<tr>");
client.println("<td>Etat circuit secondaire</td>");
client.println("<td>");
client.println("?");
client.println("</td>");
client.println("<td>T capteur</td>");
client.println("<td>");
client.println(Tcap);
client.println("</td>");
client.println("</tr></span>");
client.println("</table>");
client.println("</center>");
client.println("Arret du systeme
");
client.println("<form method=\"GET\" action=\"\" >");
client.println("<input type=\"submit\" value=\"arreter\" name=\"arret\" />");
client.println("</form>");
client.println("<footer>");
client.println("<p class=\"texte\">Projet de Terminale Sti SIN 2013-2014</p>");
client.println("</footer>");
client.println("</body>");
client.println("</html>");
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)
}