Hallo,
dies ist der leicht abgewandelte Code eines http-Client auf einem NodeMCU-Board ohne LUA (mit Arduino-IDE rein) aus einem der mitgelieferten Beispiele:
Anmerkung: Da da Internet ja nunmal für jeden offen ist, kasnn ich schlecht meine Netzwerk-Zugangsdaten einfach so hinausposaunen. Deshalb habe ich das Passwort hier geändert (aber nur hier). Beide Strings habe ich mit meinem Browser auf meinem DSL-Server (einer FritzBox) abgerufen und herauskopiert. Da sind also sicher keine Schreibfehler oder so drin. Trotzdem zeigt mir der serielle Monitor ständig (alle 5 sec, wie eingestellt) 'keine Verbindung.' an, also den String für den Fall, dass er nicht rein kommt.Code:/** * BasicHTTPClient.ino * * Created on: 24.05.2015 * */ #include <Arduino.h> #include <ESP8266WiFi.h> #include <ESP8266WiFiMulti.h> #include <ESP8266HTTPClient.h> #define USE_SERIAL Serial #define SSID RTk66S #define PASSWORD ddddd ESP8266WiFiMulti WiFiMulti; int ledState = LOW; void setup() { USE_SERIAL.begin(115200); // USE_SERIAL.setDebugOutput(true); USE_SERIAL.println(); USE_SERIAL.println(); USE_SERIAL.println(); for(uint8_t t = 4; t > 0; t--) { USE_SERIAL.printf("[SETUP] WAIT %d...\n", t); USE_SERIAL.flush(); delay(1000); } WiFiMulti.addAP("SSID", "PASSWORD"); USE_SERIAL.print("W-LAN-Zugang durch.\n"); pinMode(LED_BUILTIN, OUTPUT); digitalWrite(LED_BUILTIN, ledState); } void loop() { // wait for WiFi connection if (ledState == LOW) ledState = HIGH; // Note that this switches the LED *off* else ledState = LOW; // Note that this switches the LED *on* digitalWrite(LED_BUILTIN, ledState); if((WiFiMulti.run() == WL_CONNECTED)) { HTTPClient http; USE_SERIAL.print("[HTTP] begin...\n"); // configure traged server and url http.begin("http://192.168.178.23/index.html"); //HTTP USE_SERIAL.print("[HTTP] GET...\n"); // start connection and send HTTP header int httpCode = http.GET(); // httpCode will be negative on error if(httpCode > 0) { // HTTP header has been send and Server response header has been handled USE_SERIAL.printf("[HTTP] GET... code: %d\n", httpCode); // file found at server if(httpCode == HTTP_CODE_OK) { String payload = http.getString(); USE_SERIAL.println(payload); } } else { USE_SERIAL.printf("[HTTP] GET... failed, error: %s\n", http.errorToString(httpCode).c_str()); } http.end(); } else { USE_SERIAL.print("Keine Verbindung.\n"); } delay(5000); }
Was mache ich da falsch?
Ach ja, der SSID-Wert ist auch kopiert, ich habe zuerst die SSID für das 2,4GHz-W-LAN eingetragen, dann für 5GHz. Die Passwörter sind da gleich. Es geht mit Beiden nicht.
Jemand 'ne Idee?
Tschüß
Manni







Zitieren

Lesezeichen