Brauche Hilfe bei Server und Rückgabe

Hallo,

ich möchte Daten an einen Webserver im Netz schicken was auch gut funktioniert.
Allerdings schaffe ich es nicht mir den Rückgabewert aus der PHP-Datei die das Sketch aufruft, ausgeben zu lassen.
Dabei möchte ich nicht die ganze Seite ausgeben sondern nur Werte die ich mit return("Fehler") oder echo "Wert1"; ausgebe.

Kann mir einer dabei helfen?

Danke

Poste doch mal den Sketch den Du schon hast. Am Ende geht es nur darum, aus dem EthernetClient mittels read() die Ausgabe zu lesen und in etwas sinnvolles umzuwandeln.

Ich habe jetzt das.
Das übertragen funktioniert nur bekomme ich eben keine Rückgabe obwohl diese durch die PHP-Datei generiert wird.

#include <SPI.h>
#include <Ethernet.h>


boolean connected = false;
String readString = String(30);


EthernetClient client;
byte mac[]       = { 0x5A, 0xA2, 0xDA, 0x0D, 0x56, 0x7A };    // MAC-Adresse des Ethernet-Shields
byte ip[]        = { 192,168,2,111 };                         // IP-Adresse über die der Arduino erreichbar sein soll
byte serverip[]  = { 95, 143, 172, 135 };                     // IP-Adresse des Servers auf dem das PHP-Script läuft




void setup()
{
  Serial.begin(9600);
  Ethernet.begin(mac, ip);
}




void loop(void)
{
  if(!connected)   
  {
    if(client.connect(serverip, 80)) 
    {
      connected = true;
      
      client.print("GET /ARDUINO/testdatei.php?t"); 
      client.print("TEST");
      client.print("=");
      client.print("123");
      client.println(" HTTP/1.1");
      client.println("Host: www.fluuux.de"); 
      client.println("User-Agent: Arduino");
      client.println("Accept: text/html"); 
      client.println("Connection: close");
      client.println(); 
      delay(10000);
    
      while (client.connected() && client.available()) 
      {
        char c = client.read();             
        
        if (readString.length() < 100)
        {
          readString += c;
        }
        
        if (c == '\n')
        {
          if (readString.indexOf("?") <0)
          {
            //skip everything
          }
          else
          {
            if(readString.indexOf("dataNotSaved") >0)
            {
              Serial.println("FEHLER");
            }
            else
            {
              Serial.println(readString);
            }
          }
        }
      }
      readString = "";
      client.stop();
      connected = false; 
    }
    else
    {
      Serial.println("   Verbindung zum Server kann nicht hergestellt werden");
    } 
  }
}

Das erste was mir auffällt ist, das Du ein 10 Sekunden delay zwischen dem HTTP-Request und dem Auslesen der Rückgabe hast. das ist schon ziemlich lang.
Als nächstes würde ich zum Testen erstmal den gelesenen Character char c = client.read(); auf der Konsole ausgeben, um zu sehen was überhaupt zurück kommt.
Dann geht es mit dem String weiter.
Ich würde auch vermeiden die String-Klasse zu verwenden, sondern lieber einen festen Puffer (char buffer[100]) verwenden und mit den C-Lib String-Funktionen arbeiten.
Mario.