problema imprimir variable en un Client.print(variable)

Tengo un inconveniente con mi codigo… Necesito imprimir la variable new_str en client.print. pero no lo hace, solo me sirve si introdusco yo mismo los datos en el campo de client.print… Ayudaaaaaaaaaa

  // if you get a connection, report back via serial:
  if (client.connect(server, 80)) {
    Serial.print("connected to ");
    Serial.println(client.remoteIP());
    // Make a HTTP request:
   client.print("GET /arduino/control/conexion_arduino.php?pre_php="); // Enviamos los datos por GET
   client.print(new_str);
   client.print("&hum_php=");
   client.print("0.4");
   client.print("&temp_php=");
   client.print("0.3");
   client.print("&dist_php=");
   client.print("0.4");
   client.println(" HTTP/1.0");
   client.println("User-Agent: Arduino 1.0");
   client.println();
    Serial.println("Envio con exito (al archivo controller/index y models/herramienta)");
    Serial.print("Envio con exito");
    delay(1000);;
  } else {
    // if you didn't get a connection to the server:
    Serial.println("connection failed");
  }
  beginMicros = micros();
}


void loop() {
  // Escuchar por nuevos datos
  myXBee->listen();
  
  // Enviar un mensaje cada segundo aproximadamente
  if(checkTimeout(lastMessage,1000)) {
    
    lastMessage = millis();
  }
}

// Procesa los datos recibidos
void dataReceived(uint16_t addr, uint8_t *data, uint16_t dataSize) {
 
  


  Serial.print('\n');
  for(int i=0;i<dataSize;i++) {
    Serial.write(data[i]);
    int d = (data);
    String str = (char*)data;
    new_str = str.substring(8, 15);
    Serial.print(new_str);
    
  }
 

  
}

verify the value of new_str. print it on the Serial interface

Que tal amigo....? Gracias por ayudarme con mi problema. La variable la estoy imprimiendo al final en la función void dataReceived(uint16_t addr, uint8_t *data, uint16_t dataSize).
El valor lo obtengo en "bytes", lo convierto a "String" luego lo divido con un "Substring" hasta ahí todo perfecto. El inconveniente esta al momento de enviar la variable mediante Get a un php... El php recibe lo ue coloco manualmente entre comillas "20" lo recibe. el lio es que no me recibe variables (new_str). No recibe nada :/..... Quedo muy atento a tus comentarios....!!!

i don't see the code sending the "GET" request (?)

gcjr:
i don't see the code sending the "GET" request (?)

Mira amigo. Después de verificar la conexión le realiza el get. Los números que iserto los recibe el php perfecto. por lo que ya descarte que sea el php. El problema esta al intentar la variable new_str que es donde tengo los datos que quiero subir.

 // if you get a connection, report back via serial:
  if (client.connect(server, 80)) {
    Serial.print("connected to ");
    Serial.println(client.remoteIP());
    // Make a HTTP request:
   client.print("GET /arduino/control/conexion_arduino.php?pre_php="); // Enviamos los datos por GET
   client.print("5");
   client.print("&hum_php=");
   client.print("10");
   client.print("&temp_php=");
   client.print("15");
   client.print("&dist_php=");
   client.print("12");
   client.println(" HTTP/1.0");
   client.println("User-Agent: Arduino 1.0");
   client.println();
    Serial.println("Envio con exito (al archivo controller/index y models/herramienta)");
    Serial.print("Envio con exito");
    delay(1000);;
  } else {
    // if you didn't get a connection to the server:
    Serial.println("connection failed");
  }
  
}


void loop() {
  // Escuchar por nuevos datos
  myXBee->listen();
  
  // Enviar un mensaje cada segundo aproximadamente
  if(checkTimeout(lastMessage,1000)) {
    
    lastMessage = millis();
  }
}

// Procesa los datos recibidos
void dataReceived(uint16_t addr, uint8_t *data, uint16_t dataSize) {
 
  


  Serial.print('\n');
  for(int i=0;i<dataSize;i++) {
    Serial.write(data[i]);
    int d = (data);
    String str = (char*)data;
    new_str = str.substring(8, 15);
    Serial.print(new_str);
    
  }
 

  
}

The problem is when trying the new_str variable which is where I have the data that I want to upload.

not sure i understand.

not sure if Serial.print(new_str) shows what you expect?

don't understand if "data" is an ascii string, why not just "Serial.println(data)"

muchocode:
Que tal amigo…? Gracias por ayudarme con mi problema. La variable la estoy imprimiendo al final en la función

void dataReceived(uint16_t addr, uint8_t *data, uint16_t dataSize)

.
El valor lo obtengo en “bytes”, lo convierto a “String” luego lo divido con un “Substring” hasta ahí todo perfecto. El inconveniente esta al momento de enviar la variable mediante Get a un php… El php recibe lo ue coloco manualmente entre comillas “20” lo recibe. el lio es que no me recibe variables (new_str). No recibe nada :/… Quedo muy atento a tus comentarios…!!!

Amigo la petición la hago en este if

if (client.connect(server, 80)) {
    Serial.print("connected to ");
    Serial.println(client.remoteIP());
    // Make a HTTP request:
   client.print("GET /arduino/control/conexion_arduino.php?pre_php="); // Enviamos los datos por GET
   client.print(prueba);
   client.print("&hum_php=");
   client.print("10");
   client.print("&temp_php=");
   client.print("15");
   client.print("&dist_php=");
   client.print("12");
   client.println(" HTTP/1.0");
   client.println("User-Agent: Arduino 1.0");
   client.println();
    Serial.println("Envio con exito (al archivo controller/index y models/herramienta)");
    Serial.print("Envio con exito");
    delay(1000);;
  } else {
    // if you didn't get a connection to the server:
    Serial.println("connection failed");
  }

Esa variable prueba es un string con un 0.07. la envía normal sin inconveniente " client.print(prueba); ". Pero cuando envió la variable str_newstring.

void dataReceived(uint16_t addr, uint8_t *data, uint16_t dataSize) {
 
  


  Serial.print('\n');
  for(int i=0;i<dataSize;i++) {
    Serial.write(data[i]);
    
    String str = (char*)data;
    new_str = str.substring(8, 15);
    Serial.print(new_str);
    
  }
 

  
}

esa variable no la envía. Puede ser por el dato que contiene?

without see the complete code, i'm confused, not sure how this code works and what the variable types are: is new_str a String or char?

    ... ???
  // if you get a connection, report back via serial:
  if (client.connect(server, 80)) {
    Serial.print("connected to ");
    Serial.println(client.remoteIP());
    // Make a HTTP request:
   client.print("GET /arduino/control/conexion_arduino.php?pre_php="); // Enviamos los datos por GET
   client.print(new_str);

it looks like the following code is receiving something from the xBee, setting "new_str" which is sent by the above code. Does client.print() handle "Strings"? why not strcpy (new_str, data)?