Hallo!
Ich möchte einen http Request mit dem Wemos durchführen.
Dazu habe ich folgenden Code ausprobiert:
#include <ESP8266WiFi.h>
WiFiClient client;
//WLAN Verbindung einstellen
const char* ssid = "PBS-WLAN3";
const char* password = "xxx";
char HOST_NAME[] = "meinedomain.xx"; // hostname of web server:
String PATH_NAME = "/arduino/huehnerschiebe/status.php";
void setup () {
Serial.begin(9600);
Serial.println("Beginn");
if (verbinden() == true) {
Serial.println("tür zu schreiben");
if (client.connect(HOST_NAME,80)) {
String queryString = String("?tuer=süd&status=zu");
Serial.println(PATH_NAME + queryString);
client.println("GET " + PATH_NAME + queryString + " HTTP/1.1");
client.println("Host: " + String(HOST_NAME));
client.println("Connection: close");
client.println(); // end HTTP header
}
}
}
void loop () {
}
bool verbinden() {
WiFi.begin(ssid, password);
int i=0;
while (WiFi.status() != WL_CONNECTED) {
if (i==10) {
break;
}
delay(1000);
Serial.println("Ich verbinde mich mit dem Internet...");
i++;
}
if (WiFi.status() == WL_CONNECTED) {
Serial.println("Ich bin mit dem Internet verbunden!");
return true;
}else {
Serial.println("Ich bin nicht mit dem Internet verbunden!");
return false;
}
}
Eine Verbindung mit dem Internet wird hersgestellt und der PATH_NAME + queryString sollte auch passen. Leider werden aber in der Datenbank keine Daten hinzugefügt.
Wenn ich den Pfad manuell in einem Browser eingebe:
meinedomain.xx//arduino/huehnerschiebe/status.php?tuer=süd&status=zu
dann funktioniert es.
Hoffe es kann mir jemand weiterhelfen, wo da mein Fehler liegen könnte.
Vielen Dank
Du hast ein ü in dem URL. Das könnte Probleme machen. Verwende besser "sued" oder wandle es in utf8 um ?tuer=s%C3%BCd&status=zu. Ersteres wird auf Dauer einfacher sein.