#include "DHT.h"
#include "ThingSpeak.h"
#include "WiFi.h"
#define DHTPIN 15
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
const char* WIFI_NAME = "Wokwi-GUEST";
const char* WIFI_PASSWORD = "";
const int myChannelNumber = 2853322;
const char* myApiKey = "Z2F34XW5AH3M8KYF";
const char* server = "api.thingspeak.com";
WiFiClient client;
void setup() {
Serial.begin(115200);
WiFi.mode(WIFI_STA);
WiFi.begin(WIFI_NAME, WIFI_PASSWORD);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("WiFi not connected");
}
Serial.println("WiFi connected !");
Serial.println("Local IP: " + String(WiFi.localIP()));
ThingSpeak.begin(client);
Serial.println("DHTxx, TEST!");
dht.begin();
}
void loop() {
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(h)||isnan(t)) {
Serial.println(F("Failed to read from DHT sensor!"));
return;
}
int s = analogRead(36);
Serial.println(F("Humidity: "));
Serial.println(h);
Serial.println(F("% Temperature: "));
Serial.println(t);
Serial.println(F("C Soil :"));
Serial.println(s);
ThingSpeak.setField(1,h);
ThingSpeak.setField(2,t);
ThingSpeak.setField(3,s);
int x = ThingSpeak.writeFields(myChannelNumber, myApiKey);
if(x == 200) {
Serial.println("Data pushed successfully");
} else {
Serial.println("Push error" + String(x));
}
Serial.println("---");
delay(15000);
}