IoT - ESP8266 Verbindet nicht mit Host

Hallo Zusammen,

ich bin gerade dabei ein ESP8266 NodeMCU_V3 in Betrieb zu nehmen. Soweit sogut, die Verbindung mit dem Hauseigenen WLAN funktioniert einwandfrei. Möchte ich mich aber mit einer Internetseiter verbinden scheitert dies.

Als Router nutze ich eine Fritzbox. Das Board als solches hat schon eine Portfreigabe auf der Fritzbox bekommen. Standart ist die Freigabe wohl auf Port 80 und muss nicht extra freigegeben werden. Ich habs trotzdem gemacht und keinen Erfolg damit.

Der Sketch dazu sieht wie folgt aus :

// ESP8266 DS18B20 ArduinoIDE Thingspeak IoT Example code
// http://vaasa.hacklab.fi
//
// https://github.com/milesburton/Arduino-Temperature-Control-Library
// https://gist.github.com/jeje/57091acf138a92c4176a


#include <OneWire.h>
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include <DallasTemperature.h>

#define ONE_WIRE_BUS D1



const char* host = "http://thingspeak.com/channels/XXY"; 
String ApiKey = "OE5EQK88ENLCJYMK";
String path = "/update?key=" + ApiKey + "&field1=";  


OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature DS18B20(&oneWire);

const char* ssid = "XXYYX";
const char* pass = "HierkommtmeinPW";


char temperatureString[6];

void setup(void){
  Serial.begin(115200);
  Serial.println("");
  
  WiFi.begin(ssid, pass);
  // Wait for connection
  while (WiFi.status() != WL_CONNECTED) {
    delay(100);
    Serial.print(".");
  }
  
  Serial.println("");
  Serial.print("Connected to ");
  Serial.println(ssid);
  Serial.print("IP address: ");
  Serial.println(WiFi.localIP());

  DS18B20.begin();
   

}

float getTemperature() {
  float temp;
  do {
    DS18B20.requestTemperatures(); 
    temp = DS18B20.getTempCByIndex(0);
    delay(100);
  } while (1==2);
  //(temp == 85.0 || temp == (-127.0));
  return temp;
}


void loop() {

  float temperature = getTemperature();

  dtostrf(temperature, 2, 2, temperatureString);
  // send temperature to the serial console
  Serial.println(temperatureString);

  WiFiClient client;
  const int httpPort = 85;
  if (!client.connect(host, httpPort)) {
    Serial.println("connection failed");
    return;
  }

  client.print(String("GET ") + path + temperatureString + " HTTP/1.1\r\n" +
               "Host: " + host + "\r\n" + 
                "Connection: keep-alive\r\n\r\n");
 delay(500);

}

Auch die Beispielhafte Verbindung mit Google hat nicht funtioniert…
Eine IP Adresse hat das Board bekommen, die wird auch korrekt über die Serielle Schnittstelle ausgegeben.
Im Programm komme ich an der Stelle : “connection failed” nicht weiter.

Ich weiß jetzt erstmal nicht weiter und Hoffe ihr könnt mir helfen, Danke !

Gruß CrazyRider

Ich habs mal auf die schnelle getestet.
Bei mir ging es mit dieser kleinen Änderung.

const char* host = "184.106.153.149";

Gruß Fips

Macht keinen Unterschied als Ziffernfolge.

Ich habe mir das gerade eben neu eingerichtet.
Ich hatte das noch nie probiert.

const char* host = "184.106.153.149";
String ApiKey = "OE5EQK88ENLCJYMK";
String path = "/update?key=" + ApiKey + "&field1=";

Ich vergass dier mitzuteilen das ich noch den Port geändert habe.const int httpPort = 80;

Gruß Fips

Das geht auch
const char* host = "thingspeak.com";
oder so
const char* host = "api.thingspeak.com";

Gruß Fips

Zurück auf Port 80 geht bei mir lediglich die Zeile:

const char* host = "184.106.153.149";

Danke für die Hilfe !