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.