#include <DHT_U.h>
#include <AdafruitIO_WiFi.h>
// Make sure to update config.h with you AdafruitIO info.
#include "config.h"
#define WIFI_SSID "Wokwi-GUEST"
#define WIFI_PASS ""
AdafruitIO_WiFi io(IO_USERNAME, IO_KEY, WIFI_SSID, WIFI_PASS);
AdafruitIO_Feed *temperature_feed = io.feed("temperature");
AdafruitIO_Feed *humidity_feed = io.feed("humidity");
DHT_Unified dht(23, DHT11); // Sensor initialization
void setup() {
Serial.begin(115200);
pinMode(2, OUTPUT);
// Connect to Adafruit IO
io.connect();
// Wait for connection to Adafruit IO
while(io.status() < AIO_CONNECTED) {
Serial.print(".");
delay(500);
}
Serial.println(io.statusText());
dht.begin();
}
void loop() {
io.run(); // Ensure the connection to Adafruit IO is maintained
sensors_event_t event;
dht.temperature().getEvent(&event);
if (!isnan(event.temperature)) {
// Convert to Fahrenheit
float fahrenheit = (event.temperature * 1.8) + 32;
Serial.print("Temperature: ");
Serial.print(fahrenheit);
Serial.println("°F");
// Send temperature to Adafruit IO
temperature_feed->save(fahrenheit);
}
dht.humidity().getEvent(&event);
if (!isnan(event.relative_humidity)) {
Serial.print("Humidity: ");
Serial.print(event.relative_humidity);
Serial.println("%");
// Send humidity to Adafruit IO
humidity_feed->save(event.relative_humidity);
}
// Toggle the built-in LED
digitalWrite(2, HIGH);
delay(100);
digitalWrite(2, LOW);
// Wait 60 seconds (60000 milliseconds) before sending data again
delay(60000 - 100); // Subtract the LED toggle delay time
}