#include<Adafruit_MQTT.h>
#include<Adafruit_MQTT_Client.h>
#include<WiFi.h>
#include<WiFiClient.h>
#include<DHT.h>
#define server "io.adafruit.com"
#define port 1883
#define usr "aang_tejas"
#define key "aio_vlHi13FwtccEcxX8UNuhsE1Z3qpy"
float t=0,h=0;
DHT dht(16,DHT22);
WiFiClient tejas;
Adafruit_MQTT_Client mqtt(&tejas,server,port,usr,key);
Adafruit_MQTT_Publish temp = Adafruit_MQTT_Publish(&mqtt, "aang_tejas/feeds/temp");
Adafruit_MQTT_Publish humid = Adafruit_MQTT_Publish(&mqtt,"aang_tejas/feeds/humid");
void setup(){
Serial1.begin(115200);
WiFi.begin("Wokwi-GUEST","");
delay(100);
dht.begin();
while(WiFi.status()!= WL_CONNECTED){
Serial1.println("Connecting ............");
}
Serial1.print("WIFI IP: ");
Serial1.print(WiFi.localIP());
mqtt_check();
}
void loop(){
mqtt_check();
t = dht.readTemperature();
h = dht.readHumidity();
temp.publish(t);
Serial1.println("Sent Temp");
humid.publish(h);
Serial1.println("Sent Humid");
delay(500);
}
void mqtt_check(){
if(mqtt.connected()){
Serial1.println("MQTT Connected !!!");
return;
}
int8_t ret;
while((ret = mqtt.connect())!=0){
Serial1.println("Retrying Connection .......");
mqtt.disconnect();
delay(1000);
}
}