Arduino Forum

International => Français => Topic started by: hotgar on Apr 12, 2013, 12:30 pm

Title: wifly serveur
Post by: hotgar on Apr 12, 2013, 12:30 pm
bonjour a tous ,j'ai installer le wifly serveur sur mon wifly ,une fois lancé le terminal m'affiche :

Code: [Select]

setup lancer
IP: 192.168.0.101
serveur lancer

AF WiFlyServer::available (1) > <
AF WiFlyServer::available (3) >  <


Puis lorsqu'on se connecte dessus via un navigateur web ,le terminal m'affiche "AF WiFlyServer::available (1) > <" a l'infini ,donc je suis aller voir la fonction qui me repond sa et j'ai obtenu :

Code: [Select]
WiFlyClient& WiFlyServer::available() {
 
   int i ;

  if (!WiFly.serverConnectionActive) {
    activeClient._port = 0;
  }

  if ( (i = WiFly.uart->available())>0){
  Serial.println();
  Serial.print("AF WiFlyServer::available (");
  Serial.print(i);
  Serial.print(") >");
  for(int j = 0; j < i ; j++){
  Serial.print((char)(WiFly.uart->peek()));// AF bouhou... peek take only one...
  }
  Serial.println("<");
  }
  if (!activeClient) {
   
    if (WiFly.uart->available() >= strlen(TOKEN_MATCH_OPEN)) {
      if (WiFly.responseMatched(TOKEN_MATCH_OPEN)) {
activeClient._port = _port;
activeClient._domain = NULL;
activeClient._ip = NULL;

activeClient.connect();
WiFly.serverConnectionActive = true;
      } else {
WiFly.uart->flush();
      }
    }
  }
  return activeClient;
}

j'aimerai une explication du code :
- qu'est ce qu'il fait
- qu'est ce qu'il nous renseigne
- pourquoi il affiche la ligne AF WiFlyServer::available (1) > < a l'infini

merci d'avance pour vos réponses et je reste a votre disposition si il vous manque certain données
Title: Re: wifly serveur
Post by: infobarquee on Apr 12, 2013, 12:47 pm
bonjour,
le code entier serait mieux.
regarde si tu n'as pas mis ca dans ton loop ce qui pourrait expliquer la chose.
Title: Re: wifly serveur
Post by: hotgar on Apr 12, 2013, 01:37 pm
voici le code dans lequel il apparait :

Code: [Select]
void loop() {
  WiFlyClient client = server.available();
  if (client) {
    // an http request ends with a blank line
    boolean current_line_is_blank = true;
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();
        // if we've gotten to the end of the line (received a newline
        // character) and the line is blank, the http request has ended,
        // so we can send a reply
        if (c == '\n' && current_line_is_blank) {
          // send a standard http response header
          client.println("HTTP/1.1 200 OK");
          client.println("Content-Type: text/html");
          client.println();
         
          // output the value of each analog input pin
          for (int i = 0; i < 6; i++) {
            client.print("analog input ");
            client.print(i);
            client.print(" is ");
            client.print(analogRead(i));
            client.println("<br />");
          }
          break;
        }
        if (c == '\n') {
          // we're starting a new line
          current_line_is_blank = true;
        } else if (c != '\r') {
          // we've gotten a character on the current line
          current_line_is_blank = false;
        }
      }
    }
    // give the web browser time to receive the data
    delay(100);
    client.stop();
  }
}


Est ce que c'est bien cela que vous voulez ?
Title: Re: wifly serveur
Post by: infobarquee on Apr 13, 2013, 04:27 pm
il en manque un gros bout quand même
tu t'es inspiré de ce script?
http://marioboehmer.blogspot.fr/2011/01/wifi-webserver-with-arduino.html
Title: Re: wifly serveur
Post by: hotgar on Apr 24, 2013, 09:03 am
Désolé pour le retard ,non je ne me suis pas inspiré de cette exemple le programme que j'ai se trouve dans la librairie de base de l'arduino ,c'est le l'exemple wifly_webserveur.