Comment puis envoyer des données GET sur un serveur WEB

Bonjour à tous,

Je travaille sur une carte Arduino Leonardo ainsi que sur une carte SIM908.

Je résolte des coordonées GPS qui sont dans un buffer.
Je dois aussi les envoyer sur un serveur web pourqu'elles soit enregistrée dans une base de donnée mysql.
Le serveur est pret pour recevoir l'URL

J'ai essayé plusisurs solution en m'inspirant d'exemple, mais au final, mon code me retounr un message comme quoi il y a eu un probleme avec l'URL

Donc sur le coup, je ne sais pas si je m'y suis bien pris,
Je suis aussi cette donc
http://www.dfrobot.com/image/data/TEL0051/3.0/SIM908_AT%20Command%20Manual_V1.01.pdf

Premierement, j'aurais voulu savoir si vous avec un exemple de code qui fonctionne

Si nous voici mon code.

void send_HTTP(){
    
   char aux_str[90];
   char fix[] = "g=2,195941,4613.161699,N,608.476854,E,1,9,1.398636,435.450073,M,48.200287,M,,0000";
  
    
    if(debug) Serial.println(F("> Starting sending data"));
    uint8_t answer=0;
    
    Serial.println(strstr(read_AT_string("AT+SAPBR=3,1,\"Contype\",\"GPRS\"", 4000,true),"OK") != NULL);
    Serial.println(strstr(read_AT_string("AT+SAPBR=3,1,\"APN\",\"intranet\"", 4000,true),"OK") != NULL);
    Serial.println(strstr(read_AT_string("AT+SAPBR=1,1", 20000,true),"OK") != NULL);

// Les trois lignes ci-dessus, me retorunent 1

    
    // Initializes HTTP service
    if(debug) Serial.println(F("> HTTPINIT"));
    answer = (strstr(read_AT_string("AT+HTTPINIT", 10000,true),"OK") != NULL);
    if (answer == 1)
    {
        // Sets CID parameter
        if(debug) Serial.println(F("> AT+HTTPPARA=\"CID\""));
        answer = (strstr(read_AT_string("AT+HTTPPARA=\"CID\",1", 2000,true),"OK") != NULL);
        if (answer == 1)
        {
            // Sets url 
            if(debug) Serial.println(F("> AT+HTTPPARA=\"URL\""));

            Serial1.println("AT+HTTPPARA=\"URL\",\"http://aaaa.dyndns.org/opt/updatesql.php?");
            Serial1.print("g=2,195941,4613.161699,N,608.476854,E,1,9,1.398636,435.450073,M,48.200287,M,,0000\"");
            delay(10000);
   
            //sprintf(frame, "visor=false&latitude=%s&longitude=%s&altitude=%s&time=%s&satellites=%s&speedOTG=%s&course=%s",latitude, longitude, altitude, date, satellites, speedOTG, course);
            
            //Serial1.print(fix);
            //read_AT_string(fix,1,false);
            
            //read_AT_string("\"", 1,false);
            if(debug) Serial.println(F("> AT"));
            answer = (strstr(read_AT_string("AT", 5000,false),"OK") != NULL);
            if(debug_buffer)
            {
              Serial.println(F("------- Show buffer------"));
              Serial.println(buffer);
              Serial.println(F("-------------------------"));
            }
            
            if (answer == 1)
            {
                 
                answer = (strstr(read_AT_string("AT+HTTPACTION=0", 40000,false),"+HTTPACTION:0,200") != NULL);
                if (answer == 1)
                {

                    if(debug) Serial.println(F("  Done!"));
                    if(debug_buffer)
                    {
                      Serial.println(F("------- Show buffer------"));
                      Serial.println(buffer);
                      Serial.println(F("-------------------------"));
                    }
                }
                else
                {
                    if(debug) Serial.println(F("  Error getting url"));
                    if(debug_buffer)
                    {
                      Serial.println(F("------- Show buffer------"));
                      Serial.println(buffer);
                      Serial.println(F("-------------------------"));
                    }
                }

            }
            else
            {
                if(debug) Serial.println(F("  Error setting the url"));
            }
        }
        else
        {
            if(debug) Serial.println(F("  Error setting the CID"));
        }    
    }
    else
    {
        if(debug) Serial.println(F("Error initializating"));
    }

    if(strstr(read_AT_string("AT+HTTPTERM", 5000,true),"OK") != NULL);
    
}

La fonction read_AT_string(), envoie la comment et met dans un buffer la réponse.
le parametre true ou false, dans cette meme comment, va utilier

Serial1.print("AT") //si false
Serial1.println("AT") //si true

Ce code me retourne toujours

Error setting the url

En fait, je me demande, si je me suis bien pris.

Ma grande question, pourriez-vous me dire les commandes AT a executer, et leur ordre pour l'envoie des données sur un serveur MySQL/PHP en GET (voir en POST)

Je ne pense pas être loin du résultat..

Milles mercis à vous

Salut,

Visiblement le module ne repond même pas à la commande AT, donc la visiblement y'a aucune connexion entre l'Arduino et le module

Salut,
D'accord mais alors pourquoi elle répond avec les commandes qui la précédent?

Bin vu qu'on a que ta fonction et qu'une seule phrase du debug série on ne pouvait pas le savoir et donc encore moins apporter une aide pertinente ...

bonjour,
déjà sans parler d'erreur entre les cartes, tu as une belle erreur

            Serial1.println("AT+HTTPPARA=\"URL\",\"http://aaaa.dyndns.org/opt/updatesql.php?");

tu envoie un retour chariot avant d'envoyer tes variables à la ligne suivante.
tu as essayé ta requete GET via un navigateur et les mêmes données que tu veux envoyer?

les logs de ton server donnent quoi?

pour les deux cartes, est ce que les exemples simples fonctionnent?
style AT+CREG? etc.....
configuration des pins gsm