-->
Page 1 of 1

conection refused on http.get() request

PostPosted: Fri May 21, 2021 3:11 pm
by HobbyDev
Hi,
I am trying to connect two Wemos D1 Mini pro (Version 1). One has a DHT22 module attached the other one asks for the temperature and the heat index using the HTTPClient.Get() method from ESP8266HTTPClient.h. But all I get back is a "connection refused" error. Calling the "DHT22- server" from a web browser it works like a charm.
Both Wemos modules are of course connected to the same wifi network. I did not post the complete client code, because it is already to long. How the code works:
As soon as the wifi connection is available a ticker calls the SetBit2CallServer() method to set a flag which will be checked in the loop() to start asking the server every 15 seconds. Then the flag will be set to false until the ticker sets it back to true.

What am I doing wrong here? Thanks for any help!
HobbyDev
Code: Select all#include <ESP8266WiFi.h>
#include <Ticker.h>

WiFiEventHandler wifiConnectHandler;

#include <ESP8266HTTPClient.h>
const char* serverNameTemperatur = "http://192.168.178.96/KorrigierteTemperatur";
const char* serverNameHeatIndex = "http://192.168.178.96/KorrigierterHeatIndex/";
Ticker CallServerTimer;
float ServerTemperature = 0;
float ServerHeatIndex = 0;
bool CallServer = false;

void SetBit2CallServer(){

  CallServer = true;
}

String httpGETRequest(const char* serverName) {
  WiFiClient client;
  HTTPClient http;
   
  // http.begin(client, "192.168.178.96", 80, "/KorrigierterHeatIndex");
  // http.begin(client, serverName);

  http.begin(client, "192.168.178.96", 80, "/KorrigierterHeatIndex");
  int httpResponseCode = http.GET();
 
  String payload = "--";
 
  if (httpResponseCode>0) {
    Serial.print("HTTP Response code: ");
    Serial.println(httpResponseCode);
    payload = http.getString();
  }
  else {
    Serial.print("Error code: ");
    Serial.println(httpResponseCode);
    payload = "Error calling the temperature server. Errorcode: " + String(httpResponseCode);
  }
  // Free resources
  http.end();
  client.stop();
  return payload;
}

void onWifiConnect(const WiFiEventStationModeGotIP& event)
{
  Serial.println("Connected to Wi-Fi.");
  // Call DHT22 Server every 15 sec
   CallServerTimer.attach(15,SetBit2CallServer);
}
void setup() {
....
// neu MQTT
  wifiConnectHandler = WiFi.onStationModeGotIP(onWifiConnect);

...
}
loop() {
...
  if (CallServer == true){
    const char* HttpResult;
    char * Position;
    HttpResult = httpGETRequest(serverNameTemperatur).c_str();
    Position = strstr(HttpResult, "Error");
    if (Position != NULL){
      ServerTemperature = atof(HttpResult);
    }

    HttpResult = httpGETRequest(serverNameHeatIndex).c_str();
    Position = strstr(HttpResult, "Error");
    if (Position != NULL){
      ServerHeatIndex = atof(HttpResult);
    }
       
    CallServer = false;
  }
...
}

Re: conection refused on http.get() request

PostPosted: Sun Jun 06, 2021 6:02 am
by HobbyDev
I was just wondering there is nobody out there to answer my question. It may have gotten out of sight. Please, if you have any idea what I can check next or I can change...

Thanks in avanced!

Re: conection refused on http.get() request

PostPosted: Sun Jun 06, 2021 8:47 pm
by davydnorris
If you're getting connection refused than it's more likely to be the server than the client.

What's the server code?