3G arduino url con datos

Hola buenas, necesito ayuda con SIM900 y url compuesta por las variables.

Mi problema es que necesito enviar dentro de la url el valor de las variables, las cuales no son fijas, el ejemplo seria : http..............?hef.Tem=1&luz=2$lon=3...... donde los numeros 1,2 o 3 cambiarian al valor que tenga esa variable en ese momento.
Esto para enviar por 3G.

Puedes usar

String.concat();
o puedes usar

sprintf(buffer,"%d%d",Tem,luz);

donde buffer es un array de caracters p. ej. char buffer[20];

Soy bastante novato en esto, nunca he tenido necesidad de usar string, char ni ninguna de este tipo de hay es que tengo el problema, no se como estructurarlo y escribirlo en el código.

Viendo por hay solo veo que el string se usa para cadenas de texto o caracteres, pero en mi caso entre medias de cada una tengo una variable la cual va cambiando a cada segundo por lo que me quedo bloqueado, sin contar que lo tengo que añadir en un GET para usarlo en el 3G.

la url seria tipo una cosa asi: apli.mibase.net/sensores/insrt.php?sensor=1&temperatura=2&humedad=3&luz=4&lluvia=5&calidadaire=6&pir=7&bar=8&bat=9

el GET : char direccion[] = "GET /sensores/insrt.php? HTTP/1.1\r\nHost: apli.mibase.net\r\nConnection: close\r\n\r\n";

es lo mas lejos que he llegado me falta todo lo importante que son lo datos para la base de datos

Mira este hilo y sobre el final verás que usan algo parecido a lo que necesitas.
http://forum.arduino.cc/index.php?topic=539300.50

Lo que no comprendo es porque no buscas en el foro, te aseguro que TODO o CASI TODO pero con un grado de confianza del 99% esta resuelto en el foro, sea en español o inglés.

Si he buscado en el foro y revisado muchos post pero lo que busco es convertir toda esa url en un string concatenado que ademas contenga string de variables intercaladas entre ellos.

El del post que me mandas no me es útil para lo que busco, aunque gracias por las molestias.

Lo que intento hacer es una cosa tal lo que se ve en la imagen(es solo una estructura no es código).

Seguramente me este explicando muy mal por apenas yo me entiendo haber si con la imagen alguien me entiende y me hecha una mano.

Si no es posible alguna otra solución sencilla, grax y disculpad molestias.

Sinceramente no creo que hayas buscado mucho o bien, no sabes buscar, luego te muestro búsquedas del mismo tema

sensor=1&temperatura=2&humedad=3&luz=4&lluvia=5&calidadaire=6&pir=7&bar=8&bat=9

esto es lo que quieres

Solucion con sprintf

defines un array de char del tamaño necesario, supongo 100 chars si queda corto corrígelo.

char buffer[100];
sprintf(buffer, "sensor=%d&temperatura=%d&humedad=%d&luz=%d&lluvia=%d&calidadaire=%d&pir=%d&bar=%d&bat=%d", temperatura, humedad, luz, lluvia, calidadaire, pir, bar, bat);

no se donde lo usas pero luego solo usa buffer como un vector de caracteres que contiene todo lo que necesitas.

Solucion con String.concat() o simplemente con String

String buffer = "sensor="+String(1) + "&temperatura="+String(2)+"&humedad="+String(3)+"& luz="+ String(4)+"&lluvia="+String(5)+"&calidadaire="+String(6)+"&pir="+String(7)+"&bar="+String(8)+"&bat="+String(9)

Enlaces similares
El que te puse antes 1ro.
Dime como no te sirve si el pone que necesita enviar esto

GET /update?key=3V7EQI53HOMDPYUC&field1=26.00&field2=50.00&field3=63.44
SImilar a tu caso

y lo resueve asi

 String EnviaDatos = "GET /update?key=" + writeAPIKey + "&field1=" + temp + "&field2=" + hum + "&field3=" + lumi + "\r\n";  //Prepara cadena para enviar datos a web

Link 2 => send data from sensors to mysql db

Link 3 => http://forum.arduino.cc/index.php?topic=418725.0

y hay muchos mas