Problème d'envoi vers un serveur distant par GPRS

Bonjour à tous, depuis plus de deux semaines j'aimerais envoyer les données par GSM vers un serveur distant mais cela n'arrive pas. cela me renvoie +HTTPACTION:1,603,0

[quote="vincentluc, post:1, topic:1233900"]
#include <SoftwareSerial.h>

//SoftwareSerial mySerial(7, 8); //SIM900 Tx & Rx is connected to Arduino #9 & #10
SoftwareSerial mySerial(1,3); //SIM900 Tx & Rx is connected to NodeMCU #Tx & #Rx
//const char *host = "192.168.1.104";

String immatriculation = "AZ1408RB";
int vitesse = 800;

void testPostRequest(String urlencodedToSend){

sendCommand("AT");
ShowSerialData();
sendCommand("AT+CIPSHUT");
ShowSerialData();
delay(500);
sendCommand("AT+SAPBR=0,1");
delay(2000);
ShowSerialData();
sendCommand("AT+SAPBR=3,1,"Contype","GPRS"");
ShowSerialData();
sendCommand("AT+SAPBR=3,1,"APN","internet.mtn.bj"");
ShowSerialData();
sendCommand("AT+SAPBR=1,1");
delay(2000);
ShowSerialData();
sendCommand("AT+HTTPINIT");
delay(1000);
ShowSerialData();
sendCommand("AT+HTTPPARA="CID",1");
ShowSerialData();
mySerial.println("AT+HTTPSSL=0");
ShowSerialData();
delay(1000);

mySerial.println("AT+HTTPSSL=1");
delay(2000);
ShowSerialData();
//String url = "http://" + String(host) + "/testCar.php" ;
//String url = " ";
String url = "https://example.com";
sendCommand(("AT+HTTPPARA="URL","" + url + """).c_str());
ShowSerialData();
sendCommand("AT+HTTPPARA="CONTENT","application/x-www-form-urlencoded"");
ShowSerialData();
sendCommand(("AT+HTTPDATA=" + String(urlencodedToSend.length()) + ",20000").c_str());
delay(6000);
//Envoi des données x-www-form-urlencoded
mySerial.println(urlencodedToSend);
delay(1000);
ShowSerialData();
Serial.println(urlencodedToSend);
delay(1000);
sendCommand("AT+HTTPACTION=1"); // requête POST
delay(10000);
ShowSerialData();
sendCommand("AT+HTTPREAD");
delay(300);
ShowSerialData();
sendCommand("AT+HTTPTERM");
ShowSerialData();
sendCommand("AT+CIPSHUT");
ShowSerialData();
}

void sendCommand(const char* command) {

Serial.print("C: ");
Serial.print(command);
mySerial.println(command);
delay(1000);
}

void ShowSerialData() {

while (mySerial.available())
{
Serial.write(mySerial.read()) ;
//Serial.println( );
}
while (Serial.available())
{
mySerial.write(Serial.read());
Serial.println( );
}
}

void setup() {
int baudRate = 115200;
Serial.begin(baudRate); // Serial monitor
mySerial.begin(baudRate); // GSM module
delay(7000);
}

void loop() {

String urlencodedToSend= "immatriculation=" + immatriculation + "&vitesse=" + vitesse ;
Serial.print("urlencodedToSend: ");
Serial.println(urlencodedToSend);

testPostRequest(urlencodedToSend) ;

}

voici ce que je reçois sur le Serial monitor:

AT

ERROR
AT+CIPSHUT

SHUT OK
AT+SAPBR=0,1

OK
AT+SAPBR=3,1,"Contype","GPRS"

OK
AT+SAPBR=3,1,"APN","internet"

OK
AT+SAPBR=1,1

OK
AT+HTTPINIT
OK
AT+HTTPPARA="CID",1

OK
AT+HTTPPARA="CONTENT","application/json"

OK
AT+HTTPPARA="REDIR",1

OK
AT+HTTPPARA="URL","http://example.com"

OK
AT+HTTPDATA=45,20000

DOWNLOAD

OK
AT+HTTPACTION=1

OK

+HTTPACTION:1,603,0
AT+HTTPREAD

OK
AT+HTTPTERM

OK

Dans l'autre fil de discussion que tu avais créé on t'avais suggéré de lire "Les bonnes pratiques du forum francophone" et les appliquer.

Il faudrait que tu regardes plus particulièrement la mise en forme du code avec les balises <code/>

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.