Go Down

Topic: Obtener datos en respuesta de un GET (Read 169 times) previous topic - next topic

cicutomarcelo

Apr 08, 2018, 03:30 am Last Edit: Apr 08, 2018, 03:38 am by cicutomarcelo Reason: me olvide de algo
Hola a todos...
Necesito extraer el resultado de una consulta realizada via un php y un GET
Si ejecuto el php desde el explorador, me funciona bien y solo me muestra el resultado que necesito: <Nombre=Juan Perez>,<valor=6>
Desde Arduino, la respuesta es correcta, es decir que funciona el GET y el PHP. El resultado que se muestra es el siguiente:


HTTP/1.1 200 OK
Date: Sun, 08 Apr 2018 01:12:07 GMT
Server: Apache/2
X-Powered-By: PHP/5.6.33
Cache-Control: no-cache, must-revalidate
Expires: Sat, 26 Jul 1997 05:00:00 GMT
Vary: User-Agent
Content-Length: 36
Connection: close
Content-Type: text/plain;charset=UTF-8

<Nombre=Juan Perez>,<valor=6>


Solo necesito guardar en dos variales el nombre y el valor pero no se como extraer solo estos datos (string separados por < > y , .
Les dejo a continuación el código para ver si alguien me da una mano.
Trabajo con Arduino Mega.

Gracias.
Code: [Select]

void setup() {
  Serial.begin(9600);
  delay(500);
  Ethernet.begin(mac);
  Serial.print("Direccion IP: ");
  Serial.println(Ethernet.localIP());
  if(!clientEth.connected()) {
    httpRequest();
    delay(3500);  
    if (clientEth.available()) {
        String inString;
        while (clientEth.available()) {
           char c = clientEth.read();
           inString += c;
        }
        Serial.print(inString);
        delay(1500);  
        Serial.println();
        Serial.println("Desconectando...");
        clientEth.stop();
        clientEth.flush();
    }
  }  
}

void httpRequest() {
  if (clientEth.connect(servidor, 80)) {
    Serial.print("Tarjeta Nro: ");
    Serial.print(tempC);
    Serial.println("Iniciando conexion...");
    clientEth.print("GET /iotphp/verificatarjeta.php?tipotarjeta='PERSONAL'&tarjeta=");
    clientEth.print(tempC);
    clientEth.println(" HTTP/1.1");
    clientEth.print("Host: ");
    clientEth.println(servidor);
    clientEth.println("User-Agent: Arduino-Ethernet");
    clientEth.println("Connection: close");
    clientEth.println();
  }
  else {
    Serial.println("Error al conectarse al servidor");
    Serial.println("Desconectando...");
    clientEth.stop();
  }
}




Go Up