DHT & PubsubClient Error

Hi !

I'm new to arduino.

Can someone help me with this.

Code:

#include <ESP8266WiFi.h>
#include <PubSubClient.h>

const char* ssid = "HELKA";
const char* password = "16a169";

const char* mqtt_server = "m12.cloudmqtt.com";

const char *mqtt_user = "zpbul";
const char *mqtt_pass = "re75UXj";

#include <DHT.h>
#define dht_apin D5

DHT dht;

WiFiClient espClient;
PubSubClient client(espClient);
long lastMsg = 0;
char msg[50];
int value = 0;

void setup_wifi(){
delay(100);
//Start by connecting to a WiFi network
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while(WiFi.status() != WL_CONNECTED){
delay(500);
Serial.print(".");
}

randomSeed(micros());

Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
}

void reconnect(){
//Loop until reconnected
while(!client.connected()){
Serial.print("Attempting MQTT connection...");
//Create a random client ID
String clientId = "ESP8266Client-";
clientId += String(random(0xfff), HEX);
//Attempt to connect
if(client.connect(clientId.c_str(), mqtt_user, mqtt_pass)){
Serial.println("connected");
//Once connected, publish an announcement...
client.publish("outTopic", "hello World");
//resubscribe
client.subscribe("inTopic");
}else{
Serial.print("failed, rc=");
Serial.print(client.state());
Serial.println(" try again in 5 seconds");
//Wait 5 seconds before retrying
delay(5000);
}
}
}

void callback(char* topic, byte* payload, unsigned int len){
Serial.print("Message arrived [");
Serial.print(topic);
Serial.print("] ");
for(int i = 0; i < len; i++){
Serial.print((char)payload*);*

  • }*
  • Serial.println();*
  • } *
    void setup() {
  • // put your setup code here, to run once:*
  • pinMode(BUILTIN_LED, OUTPUT); //Initialize the BUILTIN_LED pin as an output*
  • Serial.begin(9600);*
  • setup_wifi();*
  • client.setServer(mqtt_server, 17389);*
  • client.setCallback(callback);*
  • reconnect();*
    }
    void loop() {
  • // put your main code here, to run repeatedly:*
  • if(!client.connected()){*
  • reconnect();*
  • }*
  • client.loop();*
  • DHT.read11(dht_apin);*
  • int h = DHT.humidity;*
  • int t = DHT.temperature;*
  • delay(1000);*
  • String hh = String(h);*
  • String msg = String(t);*
  • Serial.print("Publish message: ");*
  • Serial.println(msg);*
  • int numt = t;*
  • char cstr[16];*
  • itoa(numt, cstr, 10);*
  • int numh = h;*
  • char cshr[16];*
  • itoa(numh, cshr, 10);*
  • delay(1500);*
  • client.publish("dht", cstr);*
  • client.publish("bmp", cshr);*
    }[/color]
    Error msg :
    Arduino: 1.8.3 (Windows 10), Board: "NodeMCU 1.0 (ESP-12E Module), 80 MHz, Flash, Disabled, 4M (no SPIFFS), v2 Lower Memory, Disabled, None, Only Sketch, 115200"
    TempHumidityMqtt:16: error: no matching function for call to 'DHT::DHT()'
    DHT dht;
  • ^*
    D:\NSBM\SE\Year_4\S1\IOT\Project\TempHumidityMqtt\TempHumidityMqtt.ino:16:5: note: candidates are:
    In file included from D:\NSBM\SE\Year_4\S1\IOT\Project\TempHumidityMqtt\TempHumidityMqtt.ino:13:0:
    C:\Users\SM\Documents\Arduino\libraries\DHT_sensor_library/DHT.h:41:4: note: DHT::DHT(uint8_t, uint8_t, uint8_t)
  • DHT(uint8_t pin, uint8_t type, uint8_t count=6);*
  • ^*
    C:\Users\SM\Documents\Arduino\libraries\DHT_sensor_library/DHT.h:41:4: note: candidate expects 3 arguments, 0 provided
    C:\Users\SM\Documents\Arduino\libraries\DHT_sensor_library/DHT.h:39:7: note: constexpr DHT::DHT(const DHT&)
    class DHT {
  • ^*
    C:\Users\SM\Documents\Arduino\libraries\DHT_sensor_library/DHT.h:39:7: note: candidate expects 1 argument, 0 provided
    C:\Users\SM\Documents\Arduino\libraries\DHT_sensor_library/DHT.h:39:7: note: constexpr DHT::DHT(DHT&&)
    C:\Users\SM\Documents\Arduino\libraries\DHT_sensor_library/DHT.h:39:7: note: candidate expects 1 argument, 0 provided
    D:\NSBM\SE\Year_4\S1\IOT\Project\TempHumidityMqtt\TempHumidityMqtt.ino: In function 'void reconnect()':
    TempHumidityMqtt:52: error: no matching function for call to 'PubSubClient::connect(const char*, const char*&, const char*&)'
  • if(client.connect(clientId.c_str(), mqtt_user, mqtt_pass)){*
  • ^*
    D:\NSBM\SE\Year_4\S1\IOT\Project\TempHumidityMqtt\TempHumidityMqtt.ino:52:61: note: candidates are:
    In file included from D:\NSBM\SE\Year_4\S1\IOT\Project\TempHumidityMqtt\TempHumidityMqtt.ino:2:0:
    C:\Users\SM\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:119:9: note: bool PubSubClient::connect(String)
  • bool connect(String id);*
  • ^*
    C:\Users\SM\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:119:9: note: candidate expects 1 argument, 3 provided
    C:\Users\SM\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:131:9: note: bool PubSubClient::connect(String, String, uint8_t, bool, String)
  • bool connect(String id, String willTopic, uint8_t willQos, bool willRetain, String willMessage);*
  • ^*
    C:\Users\SM\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:131:9: note: candidate expects 5 arguments, 3 provided
    C:\Users\SM\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:193:9: note: bool PubSubClient::connect(MQTT::Connect&)
  • bool connect(MQTT::Connect &conn);*
  • ^*
    C:\Users\SM\Documents\Arduino\libraries\pubsubclient-master\src/PubSubClient.h:193:9: note: candidate expects 1 argument, 3 provided
    TempHumidityMqtt:60: error: 'class PubSubClient' has no member named 'state'
  • Serial.print(client.state());*
  • ^*
    D:\NSBM\SE\Year_4\S1\IOT\Project\TempHumidityMqtt\TempHumidityMqtt.ino: In function 'void setup()':
    TempHumidityMqtt:84: error: 'class PubSubClient' has no member named 'setServer'
  • client.setServer(mqtt_server, 17389);*
  • ^*
    TempHumidityMqtt:85: error: 'class PubSubClient' has no member named 'setCallback'
  • client.setCallback(callback);*
  • ^*
    D:\NSBM\SE\Year_4\S1\IOT\Project\TempHumidityMqtt\TempHumidityMqtt.ino: In function 'void loop()':
    TempHumidityMqtt:97: error: expected unqualified-id before '.' token
  • DHT.read11(dht_apin);*
  • ^*
    TempHumidityMqtt:98: error: expected primary-expression before '.' token
  • int h = DHT.humidity;*
  • ^*
    TempHumidityMqtt:99: error: expected primary-expression before '.' token
  • int t = DHT.temperature;*
  • ^*
    exit status 1
    no matching function for call to 'DHT::DHT()'
    This report would have more information with
    "Show verbose output during compilation"
    option enabled in File -> Preferences.

Hi shashini,

did you forget to add the library from

to theArduino IDE?
(look at the readme.md there)

Have fun!