Un script en ide arduino envía el valor de una variable a un módulo wifi 8266, éste lo envía con el método GET a una página web y los datos llegan sin ningún problema.
Cuando copio y pego los archivos involucrados, sin ninguna modificación, a otra página web (solo cambio el host en el código del módulo wifi), los datos no llegan. Pero, si en el módulo wifi le pongo un valor fijo a la variable a enviar, el dato se transfiere perfectamente. Probé con una tercera página y sucede lo mismo que en la segunda.
Que tendría que cambiar en el código del arduino para que funcione en todas las páginas? y, que puede ser distinto de una página a las otras para que en una funcione y en las otras dos no?
Script en el arduino (W8266 es una instancia de softwareserial):
int pe=(balanza.get_units(20)); // Toma el valor de un sensor de peso
DateTime now = rtc.now(); // Obtiene la hora actual de un módulo RTC_DS3231
int dia = now.day();
int mes = now.month();
int anio = now.year();
int H = now.hour();
int M = now.minute();
printDate(now);
sprintf(envio, "%1db%2db%2db", pe, H, M);
W8266.println(envio);
Script en módulo w8266:
while (Serial.available())
{
char character = Serial.read();
if (character != '\n')
{
data.concat(character);
}
else
{
Serial.println(data);
envio = data;
data = "";
}}
String url = "/ensayo.php";
// Este código envía la solicitud al servidor
client.print(String("GET ") + url + "?peso=" + envio + " HTTP/1.1\r\n" + "Host: " + host + "\r\n" + "Connection: close\r\n\r\n");
unsigned long timeout = millis();
while (client.available() == 0) {
if (millis() - timeout > 5000) {
Serial.println(">>> Client Timeout !");
client.stop();
return;
}}