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) ;
}