Go Down

Topic: Utilisation de "Client" dans la creation d'un serveur arduino(Nd aide) (Read 486 times) previous topic - next topic

xwiloux

Bonjour j'ai un programme qui me permet de crée un serveur internet à partir d'une carte arduino et ethernet shield permettant d'héberger un site internet en création pour un projet de Bac, tout ceci fonctionnait sans message d'erreur. Cependant depuis que mon lycée à fait la mise a jour du logiciel arduino, j'obtient un message d'erreur " cannot allocate an object of abstract type 'Client' et je n'ai trouver aucune solution avec mon professeur pour l'erreur(sachant que le mot "Client" n'est pas répertorié dans la partie référence).
Voici une partie de mon programme:

void loop(){

  Client client = serveurHTTP <== Partie posant probleme a arduino
available();
  if (client) {

      Serial.println ("Ouverture du site internet");
    while (client.connected()) {
      if (client.available()) {
     
     char c = client.read();
      }
     else {

Serial.println ("Reception requete d'ouverture du site confirmer");
       
          client.println("HTTP/1.1 200 OK");
          client.println("Content-Type: text/html");
         client.println();
         
            client.println("<!doctype html>");
          client.println("<html lang='fr'>");
           client.println("<head>");
            client.println("<meta charset='utf-8' />");
            client.println("<meta http-equiv= ?refresh? content=?5?>");
            client.println("<link rel='stylesheet'href='css/style.css' />");
            client.println("<title>Interface de gestion</title>");
            client.println("</head>");
            client.println("<body>");
            client.println("<div id='menu'>");
            client.println("<ul>");
            client.println("<li><a href='index.html' class='active'>Accueil</a>");
            client.println("<li><a href='index.html'>Module 1</a></li>");
            client.println("<li><a href='index.html'>Module 2</a></li>");
            client.println("<li><a href='index.html'>Module 3</a></li>");
            client.println("<li><a href='index.html'>Configuration</a></li>");
            client.println("<li><a href='index.html'>About</a></li>");
            client.println("</ul>");
            client.println("</div>");
            client.println("<div id='sous_menu'></div>");
            client.println("<div id='image_parametres'></div>");
            client.println("<div id='accueil'>");
            client.println("<p><strong>Bienvenue sur l'interface de gestion et de contrôle de la carte température du système d'arrosage</strong></p>");
            client.println("</div>");
            client.println("<div id='content'>");
            client.println("<p>Ici vous trouverez 3 types de modules : la température extérieure,le taux d'humidité et l'ensoleillement. Nous vous rappelons que votre système d'arrosage s'active en fonction de ces paramètres. Vous pouvez malgrès tout l'activer manuellement depuis le système mais non depuis cet interface.</p>");
           client.println("</div>");
            client.println("</body>");
            client.println("</html>");
           
           
        Serial.println ("Site web pleinement charger.");
        break; // on sort de la boucle while
        Serial.println ("Confirmation de charge du site");
      }
     
    }
   
    delay(1);
   
   client.stop();
  }
}

Merci de bien vouloir répondre. Cordialement xwiloux.

Levaillant

Issu d'un post de Skywodd:

- Les objets Client, Server et UDP de la librairie Ethernet ont été renommés en EthernetClient, EthernetServer et EthernetUDP afin d'éviter tout conflit lors de l'utilisation de plusieurs librairies orientées réseaux,

http://skyduino.wordpress.com/2012/02/09/arduino-1-0-et-uno-rev3-les-changements-qui-changent-tout/

En gros lors de la dernière mise à jour, les objets Ethernet ont été renommés, donc change juste les
imports, non?

skywodd

Bonjour,

Passage de arduino 002x vers arduino 1.0.x je suppose ?
Client -> EthernetClient
Server -> EthernerServer

Les includes restent les mêmes (SPI.h et Ethernet.h).

PS: utiliser la balise code (# dans l'éditeur) pour mettre du code dans un post !
En plus le rouge / orange ça pique les yeux ...
Des news, des tutos et plein de bonnes choses sur http://skyduino.wordpress.com !


Go Up