Einen Wert über PHP einer MYSQL Datenbank übergeben

Hallo liebe Community,
ich versuche jetzt schon etwas länger mit Hilfe eines Arduino Uno und einem Ethernet Shield einfache Integer (z.B.: 56) meiner MYSQL-Datenbank zu übergeben, indem ich eine PHP Website mit Arduino aufrufe und in der URL meinen Wert übergebe. Wenn ich dies im Browser mache, funktioniert alles Problem los und die Zahl wird in der Datenbank erfolgreich gespeichert.
Wenn ich nun z.B. das einfache Ethernet Code Beispiel (WebClient) modifiziere bekomme ich entweder einen 400 Error oder gar nichts zurück.
Link wäre: http://serverforme.funpic.de/abrufen.php?temp=27
Wobei die Zahl am Ende mein Integer widerspiegeln soll.
Ich habe bereits Google befragt und verschiedene Code Varianten ausprobiert, die mir all nicht weiter geholfen haben .
Ich habe den Code unten angehängt.
Ich hoffe ihr könnt mir helfen.
Vielen Dank schon mal im voraus.

WebClientserverfunpic.ino (2.37 KB)

Die folgende Zeile in Deinem Code ist nicht korrekt:

char server[] = "http://serverforme.funpic.de/abrufen.php?temp=25";

Denn Du verwendest:

client.connect(server, 80)

Server ist also in diesem Fall NUR der Servername ohne http:// und Parameter, oder gleich eine IP.

Der HTTP-Request muss dann wiefolgt aussehen:

GET /abrufen.php?temp=25 HTTP/1.1 Host: serverforme.funpic.de Connection: close

Den musst Du dann noch in die entsprechenden print-Statements verpacken.

Mario.

Vielen Dank für die schnelle Antwort. Jetzt funktioniert es endlich :)

Da ich erst vor kurzem angefangen habe mit Arduino, kann mir vlt. jemand sagen, wie ich eine dauerhafte Wiederholung einbaue, damit die Url z.B. alle 5s aufgerufen wird und dann die neuen Werte überträgt? Wen ich die Funktion einfach in einen loop setze funktioniert es nur einmal und dann gibt es Verbindungsfehler?!

loop() lauft je nach Code alle paar µs durch! Deshalb brauchst du da eine Verzögerung. Aber du darfst aber nicht delay() verwenden

const unsigned long INTERVAL = 5000;      //Verzögerung in ms. 5000ms = 5s

void loop()
{
    static unsigned long previousMillis;
    if(millis() - previousMillis > INTERVAL)
    {
        previousMillis = millis();

                //Code hier
    }
}

millis() gibt die Zeit seit dem Einschalten in ms zurück. Wenn man dann zwei Werte vergleicht kann man abfragen ob eine bestimmte Zeit vergangen ist.

INTERVAL kannst du auch fest in dier if-Abfrage setzen. Aber wenn man mehr Code hat kann man es so einfacher ändern

Hier ist ein gutes Beispiel: http://fluuux.de/2012/09/arduino-mysql-temperatur-sensoren-uber-webserver-auslesen/