Wifi arret de fonctionnement au bout d'un certain temps

Forum dédié aux produits Sparkfun

Wifi arret de fonctionnement au bout d'un certain temps

Message non lude Irwin » Jeu 28 Mar 2013 11:56

Bonjour,

J'ai le système suivant: arduino + wifi prototype shield + Wifi Roving Network RN-XV.

Après de long tests je me suis rendu compte que la librairie fourni par Sparkfun ne fonctionne pas pour la déconnection du wifi et rteconnection automatique, je me sers donc de la librairie suivante : https://github.com/harlequin-tech/WiFlyHQ.


Je me sers de ce système pour poster des donnéer sur un webserver. Le tout fonctionne bien durant une période de 15 à 45 min et une fois ce temps écoulé, le programme bloque. Pour le faire fonctionner à nouveau, je suis obligé de débrancher l'alimentation de l'arduino (un simple reset ne fonctionne pas), ce qui me fait pensé à la nécéssité de vider les condensateur de l'arduino. Ce n'est pas un problème de mémoire libre au niveau de l'arduino, j'ai vérifié et il n'y a pas de fuite.

Je n'arrive pas à comprendre d'où vient le probleme. Peut-être est-ce dû à un problème de mémoire interne au chip intégré dans le Roving Network RN-XV.

Je vous poste mon code ci dessous :
Code: Tout sélectionner
#include <SPI.h>
#include <WiFlyHQ.h>

#include "Credentials.h" // Contains connection informations (ssid, passphrase)

WiFly wifly;

/************ variables ******************/
unsigned long timet  = 0 ;
unsigned long time;
unsigned long period;
const char *data = "data to send to the webserver";


void setup() {
    Serial.begin(9600);
 

    while (!Serial) {
        // wait for serial port to connect
    }

    wifly.begin(&Serial, NULL);   
}

void loop()
{
    time = millis(); //Returns the number of milliseconds since the Arduino
    //board began running the current program. This number will overflow
    //(go back to zero), after approximately 50 days
    period = time - timet;

    if (period>10000){

        // if the wifi is associated we try to send data
        if (wifly.join(ssid, passphrase) && !wifly.isConnected())
        {

            // If the connection to the server is Ok then we send the data
            if(wifly.open("data.egreen.fr", 80))
            {

                //Send data to the server
                wifly.println( F("POST http://data.egreen.fr/energy/create HTTP/1.1") );
                wifly.println( F("Host: data.egreen.fr") );
                wifly.println( F("User-Agent: Arduino/1.0"));
                wifly.println( F("Content-Type: application/x-www-form-urlencoded") );
                //wifly.println( F("Connection: close") );
                wifly.print( F("Content-Length: "));
                wifly.println(strlen(data));
                wifly.println();
                wifly.println(data);

                // Close the connection and desassociate the wifi
                wifly.close();
                wifly.leave();

                // reset period, set timet to the current millis() and reset wh   
                period = 0;
                timet=millis();
            }
        }
    }
}

/**
 * Return quantity of free ram
 */
int freeRam() {
    extern int __heap_start, *__brkval;
    int v;
    return (int) &v - (__brkval == 0 ? (int) &__heap_start : (int) __brkval);
}

/**
 *  Get the number of figure in the value parameter
 */
int getIntLen (int value){
    int l=1;
    while(value>9){ l++; value/=10; }
    return l;
}


Toute aide serait la bienvenue :)

Je vous remercie d'avance

Bon geekage ;)

Irwin
Irwin
 
Messages: 2
Inscription: Jeu 28 Mar 2013 11:33

Re: Wifi arret de fonctionnement au bout d'un certain temps

Message non lude Engel1st » Sam 8 Juin 2013 16:07

Salut Irwin.
As-tu résolu ton problème avec le temps? Moi j'ai le même soucis...
Merci!
Engel1st
 
Messages: 2
Inscription: Sam 8 Juin 2013 16:06
Localisation: Toulouse

Re: Wifi arret de fonctionnement au bout d'un certain temps

Message non lude Irwin » Lun 10 Juin 2013 14:22

Salut Engel1st,

Non je n'ai toujours pas trouvé de solution à propos de cette déconnexion du wifi. Je t'avouerai que j'ai desepéré et que pour l'instant je n'essaye plus.

Par contre si jamais, tu arrive à trouver une réponse je serais ravis que tu la partage.

Bon courage ;)

Irwin
Irwin
 
Messages: 2
Inscription: Jeu 28 Mar 2013 11:33


Retourner vers Sparkfun

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

cron