so.
habe noch ein wenig herumgespielt.
habe es auch so weit geschafft, dass der get korrekt beantwortet wird:
status=READY
DB:STARTING NEW CONNECTION
DB:APN OK
DB:CONNECTION OK
DB:ASSIGNED AN IP
status=ATTACHED
10.142.212.153
DB:RECVD CMD
DB:OK TCP
DB:>
DB:SENT
--------------
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Accep
--------------
Allerdings war es dafür notwendig die Daten direkt bei InetGSM::httpGET einzutragen.
int InetGSM::httpGET(const char* server, int port, const char* path, char* result, int resultlength)
{
boolean connected=false;
int n_of_at=0;
int length_write;
char end_c[2];
end_c[0]=0x1a;
end_c[1]='\0';
/*
Status = ATTACHED.
if(gsm.getStatus()!=GSM::ATTACHED)
return 0;
*/
while(n_of_at<3){
if(!gsm.connectTCP(server, port)){
#ifdef DEBUG_ON
Serial.println("DB:NOT CONN");
#endif
n_of_at++;
}
else{
connected=true;
n_of_at=3;
}
}
if(!connected) return 0;
gsm.SimpleWrite("GET /test HTTP/1.1\nHost: google.de");
gsm.SimpleWrite("\n\r");
gsm.SimpleWrite(end_c);
/*
gsm.SimpleWrite("GET ");
gsm.SimpleWrite(path);
gsm.SimpleWrite(" HTTP/1.1\nHost: ");
gsm.SimpleWrite(server);
gsm.SimpleWrite("\n");
gsm.SimpleWrite("User-Agent: Arduino");
gsm.SimpleWrite("\n\r");
gsm.SimpleWrite(end_c);
*/
allerdings stoppt das debugging, wenn ich die Angaben in der eigendlichen Datei hinterlege:
//Read IP address.
gsm.SimpleWrite("AT+CIFSR");
delay(5000);
//Read until serial buffer is empty.
gsm.WhileSimpleRead();
GetHttpReq:
numdata=inet.httpGET("google.de", 80, "/blablahust/12343423432", msg, 50);
if(numdata < 1)
{ delay(1000);
goto GetHttpReq;
}
else
{ Serial.println("--------------");
Serial.println(msg);
Serial.println("--------------");
delay(1000);
goto GetHttpReq;
}
ich habe nirgens gefunden, wo man bytegröße der Variablen einstellen kann.
das Debugging stopt immer bei "/blablahust/12343423432"
trage ich das direkt inder inetGSM.cpp ein, gibt es keine Probleme.