Pour réaliser l'application, il vous faut :
- une carte arduino;
 - un shield ethernet;
 - une del;
 - un potentiomètre ou un capteur analogique.
 
Avec ce programme vous pourrez, à partir d'une page html, visualiser la valeur analogique du potentiomètre et allumer une del .
#include <SPI.h>
#include <Ethernet.h>
//Valeur d'une entree analogique 
int valeurDuCAN;
//Pour la gestion de la requete recus
String buffer; //mise en mémolre de la requete
boolean requeteGET ;
char buff[6]; //tableau de char pour recuperer la requete GET
int compteur;
//Pour la gestion des broches digitales
int brocheD;
boolean valeurD;
//Déclaration de l'adresse mac de la carte
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
//byte ip[] = { 192, 168, 1, 102 }; //Si on veut une Adresse IP fixe
EthernetServer server(80); //le protocole http est sur le port 80
void setup()
{
    // start the server
     //Ethernet.begin(mac, ip); //SI on veut une Adresse IP fixe
     Ethernet.begin(mac); //Adresse donnée par DHCP
     server.begin();
 
     Serial.begin(9600);
     delay(1000); // Delai pour l'initialisation de la carte Ethernet
 
     //Affichage sur le port serie de l'adresse Ip de la carte
     Serial.print("L'adresse Ip de la carte : ");
     IPAddress monAddressIp = Ethernet.localIP(); 
     Serial.print(monAddressIp);
 
     //initialisation de la borne 2
     pinMode( 2 , OUTPUT);
 
     //intialisation des variables    
    buffer = "";
compteur = 0;
}
void loop()
{
    // Attend une requete
     EthernetClient client = server.available();
     if (client) {
         while (client.connected()) {
             if (client.available()) {
                 char c = client.read();
                 //Serial.print(c);
 
             //recupere les donnees recues dans la requete GET 
             if ( requeteGET ) { buffer += c ;
                   buff[compteur] = c;
                   compteur++;
 
            }
 
             if ( c == '?' ) //Enregistre les données après ?
 {requeteGET = true; }
 //Recuperation des donnees terminée
 if ( c == ' ' && requeteGET )
 {requeteGET = false;
 Serial.println(buffer);
 
 if (buff[0]='D') {
 if (buff[1]='O')
 brocheD = int(buff[2]) - 48; //en Ascii 0 = 48 
 valeurD = int(buff[4]) - 48;
 Serial.println(brocheD);
 Serial.println(buff[4]);
 
 digitalWrite( brocheD , valeurD);
 
 }
 compteur = 0;
 
 buffer = ""; 
 
 }
 
 
 // Attend la fin de la requete HTTP reçu pour envoyer la page
 if (c == '\n') {
 // Protocole HTTP utilisaté pour envoyer la page internet
 client.println("HTTP/1.1 200 OK");
 client.println("Content-Type: text/html");
 client.println();
 
 //en-tête de la page
 client.println("<!DOCTYPE html>");
 client.println("<html>");
 client.println("<head>");
 client.println("<meta charset=\"utf-8\">");
 
 //rafraichissement de la page toutes les 1 secondes
 //client.println("<meta http-equiv=\"refresh\" content=\"1\">");
 client.println("<title>Ethernet Arduino STI2D</title>");
 
 //style de la page (css)
 client.println("<style type=\"text/css\">");
 client.println("article,header, footer , div {display: block;}");
 client.println("form {display : inline ;}");
 client.println("body header { background-color : #008181 ; color : #ffffff ; ");
 client.println("border:solid 1px black; text-align : center ; }");
 client.println("body article {text-align : center ; height:300px;background-color: #ffffff;}");
 client.println("body div {padding : 5px ; width = 300}");
 client.println("body footer { padding : 5px ; border:solid 1px black;");
 client.println("background-color : #4db7bb ; color : #002325 ;text-align : center ; }");
 client.println("</style>");
 
 client.println("</head>");
 
 //corps de la page internet
 client.println("<body>");
 
 //en-tete du document
 client.println("<header>");
 client.println("<h1>Ethernet Arduino STI2D</h1>");
 client.println("</header>");
 
 
 //contenu du document
 client.println("<article>");
 
 client.println("<div>");
 client.println("Valeur de l'entree analogique A0 :");
 //Recuperation de la valeur numérique de l'entrée analogique A0
 valeurDuCAN = analogRead(A0);
 client.println( valeurDuCAN );
 client.println("</div>");
 
 client.println("<div>");
 client.println("DEL 2 :");
 client.print("<form method=get name=LED ><input type='hidden' name='DO2'");
 client.println(" value='0'><input type='submit' value='Off'/></form>");
 client.print("<form method=get name=LED ><input type='hidden' name='DO2'");
 client.println(" value='1'><input type='submit' value='On'/></form>");
 client.println(" Etat ");
 client.println( digitalRead(2) );
 client.println("</div>");
 
 
 client.println("</article>");
 
 
 //pied de page du document
 client.println("<footer>");
 client.println("Ecrit par Richard GAUTHIER");
 client.println("</footer>");
client.println("</body>");
 client.println("</html>");
 
 break;
 }
 }
 }
 // Temps d'attente pour que les donnees de ia page internet est le temps d'etre envoyee
 delay(1);
 //fermer la connexion:
 client.stop();
 }
}
	
   
      
	
    		
 