#include <WiFi.h> //Import two new library
#include <PubSubClient.h>
#include "DHTesp.h"
#define WIFI_SSID "Wokwi-GUEST" //WIFI SSID NAME
#define WIFI_PW "" //WIFI PASSWORD
#define MQTT_BROKER "broker.mqtt-dashboard.com" //MQTT BROKER IP
#define MQTT_PORT 1883 //MQTT BROKER PORT
const int DHT_PIN = 15;
WiFiClient espClient; // ESP8266 Wifi Client
PubSubClient client(espClient); // MQTT Client using the Wifi-Client
DHTesp dhtSensor;
void setup() {
Serial.begin(115200);
dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
WiFi.begin(WIFI_SSID, WIFI_PW); // Start Wi-Fi connection
while (WiFi.status() != WL_CONNECTED) { // Waiting for connection success
delay(250);
Serial.println(".");
}
Serial.println("Hello from ESP8266");
Serial.print("Connected to hotspot: ");
Serial.println(WIFI_SSID);
Serial.print("IP address is: ");
Serial.println(WiFi.localIP());
Serial.println("-------------------------");
client.setServer(MQTT_BROKER, MQTT_PORT); //Start MQTT connection
while (!client.connected()) {
Serial.println("Connecting to MQTT...");
if (client.connect("ESPAVV", "Alenenkov_01", "Alenenkov2023" )) { //Sign in to the broker
Serial.println("Connected to broker");
} else {
Serial.print("failed with state ");
Serial.print(client.state());
delay(2000);
}
}
}
void loop() {
TempAndHumidity data = dhtSensor.getTempAndHumidity();
Serial.println("Temp: " + String(data.temperature, 2) + "°C");
Serial.println("Humidity: " + String(data.humidity, 2) + "%");
delay(2000);
client.publish("AV-T", String(data.temperature, 2).c_str());
client.publish("AV-H", String(data.humidity, 2).c_str());
}