1

Why is it that when i use this code for http request on DFRobot_sim808 , I get 'fetch over' message, that means that no data is being returned?

char strings:

char http_cmd[] = " HTTP/1.0\r\n"
 "Host: 5ac80719.ngrok.io\r\n"
 "\r\n";
char first[] = "GET /index.php?lat=";
char requestion[100];

functions to join them:


void setup() {
 float lat = 32.685362, lon = 48.411512;
 char char_coor[10];
 mySerial.begin(9600);
 Serial.begin(9600);
// Set Http Cmd
 strcpy(requestion,first);
// For Convert latitude float to char
 dtostrf(lat, 4, 6, char_coor); 
 strcat(requestion,char_coor);
// For Convert longitude float to char
 dtostrf(lon, 4, 6, char_coor);
 strcat(requestion,"&long=");
 strcat(requestion,char_coor);
 strcat(requestion,http_cmd);
.
.
.

and fetching:

sim808.send(requestion, strlen(requestion)-1);
 while (true) {
 int ret = sim808.recv(buffer, sizeof(buffer)-1);
 if (ret <= 0){
 Serial.println("fetch over...");
 break; 
 }
/*
The program stops at above
*/
 buffer[ret] = '0円';
 Serial.print("Recv: ");
 Serial.print(ret);
 Serial.print(" bytes: ");
 Serial.println(buffer);
 break;
 }

thanks

tony gil
3781 gold badge7 silver badges26 bronze badges
asked Sep 4, 2019 at 15:26
2
  • OK i mean why no data returned?? Commented Sep 4, 2019 at 16:04
  • perhaps the device is not connected to the internet ... it is your job to do basic troubleshooting and update your question with a description of what you already tried Commented Sep 4, 2019 at 16:21

1 Answer 1

1

One problem I can see is the while loop has a break statement in it that "exits" the while loop before printing the data. Removing that break and printing the data out where the break "was" may help. Here's an example of what I'm trying to say:

void setup(){
 Serial.begin(9600); 
}
void loop(){
 while(true){
 int ret = 0;
 if(ret <= 0){
 Serial.println("fetch over...");
 // Print out the received data here...
 Serial.print("Recv: ");
 Serial.print(ret);
 break;
 }
 }
}
answered Sep 4, 2019 at 16:24

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.