//#include <ESP8266WiFi.h>
#include <WiFi.h>
#include <ArduinoJson.h>
#include <PubSubClient.h>
#include "DHTesp.h"
const char* ssid = "Wokwi-GUEST";
const char* password = "";
String payload;
String channel="LCE3_24_25_G1";
String resTemp="Temperature"; const char* topic="devices/esp32_wokwi/messages/events/";
String resHum="hum"; String topic_hum="LCE3_G1/Humidity";
const char* server = "fst2024.azure-devices.net";
const char* ClientID = "esp32_wokwi";
const char* username = "fst2024.azure-devices.net/esp32_wokwi/?api-version=2021-04-12";
const int port = 1883;
WiFiClient client;
PubSubClient clientmqtt(server,1883,client);
DHTesp dht;
void setup() {
dht.setup(23, DHTesp::DHT22);
Serial.begin(115200);
WiFi.begin(ssid, password);
Serial.print("Connecting to WiFi");
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
clientmqtt.setServer(server,port);
Serial.println("Server ready");
}
void loop() {
if(!clientmqtt.connected()){
Serial.println("MQTT not connected");
// String ClientID="kamel"+String(random(1000));
clientmqtt.connect(ClientID,username,"2Se0JPLfLKW603EgoBgxq7cbVWt1o0En9hVsHhYpsng=");
delay(3000);
Serial.println("MQTT Try to connect");
}
else // client connected
{ Serial.println("MQTT connected");
float temperature = dht.getTemperature();
float humidity = dht.getHumidity();
delay(500);
Serial.print("La temperature est : ");
Serial.println(temperature);
Serial.print("L'humidité est: ");
Serial.println(humidity);
String myjsonTemperature="";
StaticJsonDocument<200> JT;
//JT["channel"]=channel;
// JT["resource"]=resTemp;
// JT["write"]=true;
JT["temperature"]=temperature;
serializeJson(JT,myjsonTemperature);
clientmqtt.publish(topic,myjsonTemperature.c_str());
Serial.println("Temperature send");
delay(1000);
}
clientmqtt.loop();
delay(8000);
}