#include <WiFi.h>
#include <PubSubClient.h>
#include "DHTesp.h"
#define WIFI_SSID "Wokwi-GUEST"
#define WIFI_PW ""
#define MQTT_BROKER "broker.mqtt-dashboard.com"
#define MQTT_PORT 8883
const int DHT_PIN = 15;
WiFiClient espClient;
PubSubClient client(espClient);
DHTesp dhtSensor;
void setup() {
Serial.begin(115200);
dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
WiFi.begin(WIFI_SSID, WIFI_PW);
while(WiFi.status()!=WL_CONNECTED){
delay(250);
Serial.print(" .");
}
Serial.println("");
Serial.print("Connected to hotspot:");
Serial.println(WIFI_SSID);
Serial.print(" IP address is: ");
Serial.println(WiFi.localIP());
WiFi.mode(WIFI_STA);
Serial.println("WIFI Connected Successful ");
client.setServer(MQTT_BROKER, MQTT_PORT);
while (!client.connected()) {
Serial.println("Connecting to MQTT...");
if (client.connect("espGood", "Qwerty12", "Qwerty12" )){
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, 1) + "%");
Serial.println("---");
client.publish("GM_TEMP", String(data.temperature,2).c_str());
client.publish("GM_HUMI", String(data.humidity,2).c_str());
delay(2000) ;
}