Go Down

Topic: Problème chargement fichier sur Carte SD Arduino Ethernet (Read 1 time) previous topic - next topic

MysterPixelious

Jun 02, 2013, 11:12 am Last Edit: Jun 02, 2013, 10:02 pm by MysterPixelious Reason: 1
Bonjour,
Je possède de grosses bases en Arduino,
Mais la je bloque : J'ai une Arduino Ethernet (la même chose que Arduino UNO + Shield Ethernet) et dans mon code je print/génère une page HTML lorsqu'elle détecte un client connecté sur son adresse IP. Mais je n'arrive pas a charger le css que j'ai mis dans la carte SD. Voici le code
Code: [Select]

// 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 style.css file
   if (!SD.exists("style.css")) {
       Serial.println("ERROR - Can't find style.css file!");
       return;  // can't find style.css file
   }
   Serial.println("SUCCESS - Found style.css file.");


dans le setup j'initialise bien la carte SD et depuis le moniteur série je vois bien qu'il a trouvé le style.css . Puis voici l'extrait ou je génère la page HTML :

Code: [Select]

// envoi d'une entete standard de réponse http
         client.println(F("HTTP/1.1 200 OK"));
         client.println(F("Content-Type: text/html"));
         client.println(F("Connection: close")); // indique au client que la connexion est fermée après réponse. à noter que la connexion est persistante par défaut coté client en l'absence de cette ligne      
         client.println(); // ligne blanche obligatoire après l'entete HTTP envoyée par le serveur

      Serial.println(F("Envoi de la reponse HTML au client...")); // message debug
      Serial.println(F("")); // message debug

       // envoi du code HTML de la page

            //---- debut de la page HTML ---
              client.println(F("<html>"));

              client.println(F("<head>"));

              client.println(F("<title>Dasboard - Gestion Arduino</title>"));

// j'ai essayer de recharger encore une fois le style.css et il le trouve.

              if (!SD.exists("style.css")) {
       Serial.println("ERROR - Can't find style.css file!");
       return;  // can't find style.css
   }
   Serial.println("SUCCESS - Found style.css file.");
              client.println(F("<link rel="stylesheet" type="text/css" href="style.css"/>")); /* ici je charge le css comme habituellement en HTML mais c'est inefficace */
              client.println(F("<link rel=icon href=favicon.ico type=image/x-icon />"));
              client.println(F("<link rel=shortcut icon href=favicon.ico type=image/x-icon />"));
              client.println(F("</head>"));
             
              client.println(F("<body>"));
              client.println(F("<br>"));
              client.println(F("<div id=column_top2 >"));
              client.println(F("<center>Materiels</center>"));
              client.println(F("</div>"));
              client.println(F("<div id=column_top3 >"));
              client.println(F("<center>Proprieté</center>"));
              client.println(F("</div>"));
              client.println(F("<div id=column_top4 >"));
              for (int i=0; i<=6; i++) { // pour les 6 LEDs    

              if (etatCase[i]=="checked") client.print(F("LED ")), client.print(i+1), client.println(F(" allumee <br>"));
              if (etatCase[i]=="")client.print(F("LED ")), client.print(i+1), client.println(F(" eteinte <br>"));  

              } // fin for i

            //------------- génération du formulaire ----------------

            client.println(F("<FORM method=\"get\" action=\"http://192.168.0.25/\">")); // debut du formulaire - utilise méthode Get
            client.println(F("<P>")); // balise paragraphe            
            client.println(F("<INPUT type=\"text\" style=\"display:none\" name=\"vide\" value=\"\" <br>")); // intégration d'un champ texte               invisible pour obtenir un ? à l'appui sur le bouton submit

            for (int i=0; i<=6; i++) { // pour les 6 LEDs    

            client.print(F("<INPUT type=\"checkbox\" name=\"L")),client.print(i+1), client.print(F("\" value=\"ON\" "));
            client.print(etatCase[i]); // pour utiliser valeur courante de l'etat du bouton (mémorise valeur précédente)
            // etatCase vaut "" ou "checked"
            client.print(F("> Allume/Eteint la LED ")),client.print(i+1), client.println(F(" connectee au serveur <BR>"));

       } // fin boucle for i


            client.println(F("<INPUT type=\"submit\" value=\"envoi\"> "));
            client.println(F("</P>"));// balise fin paragraphe  
            client.println(F("<br>"));
            client.println(F("</center>"));
            client.println(F("</FORM>"));// ne pas oublier ++

            client.println(F("<br>"));
            client.println(F("</div>"));

            client.println(F("</body>"));

            client.println(F("</html>"));


J'ai  bien inclus la librairie SD
Donc ma question est comment réussir à charger le css ?
Merci d'avance de vos réponses :)


Go Up