Page 1 sur 1

wifly - webserver

Message non luPosté: Jeu 6 Déc 2012 20:51
de coolgone
Coucou à tous,

J'essaye depuis peu de connecter mon projet Arduino(mega 2560) à internet via le shield Wifly de sparkfun(derniere lib).

Je rencontre des problèmes du côté de l'exemple WebServer.
En effet, cela permet de faire une requête http sur l'ip de la carte WiFly et d'afficher normalement du contenu html.

Voici le code du projet :

Code: Tout sélectionner
/*
 * Web Server
 *
 * (Based on Ethernet's WebServer Example)
 *
 * A simple web server that shows the value of the analog input pins.
 */

#include <SPI.h>
#include <WiFly.h>

#include "Credentials.h"

WiFlyServer server(80);

void setup() {
  WiFly.begin();

  if (!WiFly.join(ssid, passphrase)) {
    while (1) {
      // Hang on failure.
    }
  }

  Serial.begin(9600);
  Serial.print("IP: ");
  Serial.println(WiFly.ip());
 
  server.begin();
}

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 />");
          }
          */
           client.println("coucou <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(500);
    client.stop();
  }
}


L'initialisation se fait bien, il m'affiche bien l'ip de la carte, masi c'est lors de la requete en http sur cette derniere que j'ai des résulats aproximatif.

En gros j’aboutis 1/15 à avoir afficher dans le navigateur : coucou

Avez vous eu déjà ce problème ? quelles autres techniques avez-vous utilisés pour des liaisons Wifi ?

Merci d'avance,

CoolGone

Re: wifly - webserver

Message non luPosté: Ven 7 Déc 2012 19:16
de Stéphane
Bonjour,

je ne comprends pas bien :
En gros j’aboutis 1/15 à avoir afficher dans le navigateur : coucou


pouvez-vous développer un peu plus svp ?

Re: wifly - webserver

Message non luPosté: Ven 7 Déc 2012 21:15
de coolgone
Bonsoir,

ma wiFly : https://www.sparkfun.com/products/9367

En fait, une fois le programme installé (WiFly_WebServer) dans mon arduino connectée a une wifly, je dois pouvoir requêter dessus via :
http://192.168.1.27:80/ avec firefox ou chrome (l'adresse ip de la wifly sur mon réseau local).

Et c'est là ou cela marche 1 fois sur 15, ou alors le navigateur tourne en boucle sans aboutir. ET de temps en temps ca marche et le navigateur m'affiche bien : 'coucou' comme demandé !

Cela fait il pareil chez vous ?

Alors j'ai essayé d'autres exemples comme : WiFly_WebClient et celui-ci marche tres bien.

Mais bon voila, pour mon projet je comptais piloter des choses via des requetes http.

J'espère avoir était plus clair...

Merci de votre aide,

CoolGone

Re: wifly - webserver

Message non luPosté: Jeu 13 Déc 2012 13:13
de Stéphane
Bonjour,

l'avez-vous pingé régulièrement ? Réponds-t-il sans aucun problème sur un espace de temps élevé ? Que donne les résultats d'un traceroute/tracepath ? comment est faite votre installation réseau ?