//#include <ESP8266WiFi.h>
#include <WiFi.h>
#include <ArduinoJson.h>
#include <PubSubClient.h>
#include "DHTesp.h"
#include <WiFiClientSecure.h>
const char* ssid = "Wokwi-GUEST";
const char* password = "";
const char* server = "fst2024.azure-devices.net";
const int port = 8883;
const char* ClientID = "esp32_wokwi";
const char* username = "fst2024.azure-devices.net/esp32_wokwi/?api-version=2021-04-12";
const char* passwordbroker = "SharedAccessSignature sr=fst2024.azure-devices.net%2Fdevices%2Fesp32_wokwi&sig=sOSgaDFzCYyx8%2FCfU85WVJmpzuo5YjUDkqibHE%2F1H0M%3D&se=1733312545";
const char* topic="devices/esp32_wokwi/messages/events/";
WiFiClientSecure client;
PubSubClient clientmqtt(server,8883,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(".");
}
client.setInsecure();
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,passwordbroker);
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 myjsonF="";
StaticJsonDocument<200> JT;
//JT["channel"]=channel;
// JT["resource"]=resTemp;
// JT["write"]=true;
JT["temperature"]=temperature;
JT["humidity"]=humidity;
serializeJson(JT,myjsonF);
clientmqtt.publish(topic,myjsonF.c_str());
Serial.println("Temperature & humidity send");
delay(1000);
}
clientmqtt.loop();
delay(8000);
}