Hello,
Please could somebody explain to me why i get the error “no matching function to call for HttpClient::HttpClient()” (when compiling)
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266HTTPClient.h>
#include "DHT.h"
// WiFi settings
const char* ssid = "Septa";
const char* password = "aezakmi10";
#define DHTPIN 2 // Digital pin connected to the DHT sensor
//Azure IoT Hub
const String AzureIoTHubURI="IoTHub Host name";
//openssl s_client -servername myioteventhub.azure-devices.net -connect myioteventhub.azure-devices.net:443 | openssl x509 -fingerprint -noout //
const String AzureIoTHubFingerPrint="Your Finger print";
//az iot hub generate-sas-token --device-id {YourIoTDeviceId} --hub-name {YourIoTHubName}
const String AzureIoTHubAuth="your Sas`Preformatted text`";
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(115200);
Serial.println(F("DHTxx test!"));
dht.begin();
// Init serial line
// Serial.begin(115200);
Serial.println("ESP8266 starting in normal mode");
// Connect to WiFi
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
// Print the IP address
Serial.println(WiFi.localIP());
}
void loop() {
// Wait a few seconds between measurements.
delay(5000);
float h = dht.readHumidity();
// Read temperature as Celsius (the default)
float t = dht.readTemperature();
// Read temperature as Fahrenheit (isFahrenheit = true)
float f = dht.readTemperature(true);
// Check if any reads failed and exit early (to try again).
if (isnan(h) || isnan(t) || isnan(f)) {
Serial.println(F("Failed to read from DHT sensor!"));
return;
}
// Compute heat index in Fahrenheit (the default)
float hif = dht.computeHeatIndex(f, h);
// Compute heat index in Celsius (isFahreheit = false)
float hic = dht.computeHeatIndex(t, h, false);
Serial.print(F("Humidity: "));
Serial.print(h);
Serial.print(F("% Temperature: "));
Serial.print(t);
Serial.print(F("°C "));
Serial.print(f);
Serial.print(F("°F Heat index: "));
Serial.print(hic);
Serial.print(F("°C "));
Serial.print(hif);
Serial.println(F("°F"));
String PostData="{ \"DeviceId\":\"ESP8266-0001\",\"Temperature\":"+String(t)+",\"Humidity\":"+String(h)+"}";
Serial.println(PostData);
// Send data to cloud
int returnCode=RestPostData(AzureIoTHubURI,AzureIoTHubFingerPrint,AzureIoTHubAuth,PostData);
Serial.println(returnCode);
}
// Functions
int RestPostData(String URI, String fingerPrint, String Authorization, String PostData)
{
HTTPClient http;
http.begin(URI,fingerPrint);
http.addHeader("Authorization",Authorization);
http.addHeader("Content-Type", "application/atom+xml;type=entry;charset=utf-8");
int returnCode=http.POST(PostData);
if(returnCode<0)
{
Serial.println("RestPostData: Error sending data: "+String(http.errorToString(returnCode).c_str()));
}
http.end();
return returnCode;
}