#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
#include <Sensesiot.h>
#include <DHT.h>
#define DHTPIN 19 // Pin where the DHT22 is connected
#define DHTTYPE DHT22 // Type of the DHT sensor
DHT dht(DHTPIN, DHTTYPE);
const char key[] = "Wk23AtX3lKHNtP_H-LXO";
const char wifissid[] = "Wokwi-GUEST";
const char wifipw[] = "";
SensesiotClient sensesProtocol(key);
void setup()
{
Wire.begin(23, 22);
Serial.begin(9600);
lcd.init();
lcd.backlight();
Serial.begin(115200);
sensesProtocol.begin(wifissid, wifipw);
sensesProtocol.waitUntilReady();
Serial.println(F("Connected"));
}
void loop()
{
int16_t i = analogRead(34);
String msg = i < 2165 ? "WET" : i > 3135 ? "DRY" : "OK";
lcd.clear();
lcd.print("Soil: ");
lcd.print(msg);
if (!sensesProtocol.ready())
{
Serial.println(F("Disconnected"));
sensesProtocol.begin(wifissid, wifipw);
sensesProtocol.waitUntilReady();
Serial.println(F("Connected"));
}
sensesProtocol.loop();
// Read temperature and humidity from the DHT sensor
float temperature = dht.readTemperature(); // Read temperature in Celsius
float humidity = dht.readHumidity(); // Read humidity
sensesProtocol.setData(1, temperature);
sensesProtocol.setData(2, humidity);
sensesProtocol.setData(3, i);
// sensesProtocol.setControl(1, random(0, 100));
Serial.println(F("Send Data"));
Serial.print(F("temperature : "));
Serial.println((temperature));
Serial.print(F("humidity : "));
Serial.println(humidity);
Serial.print(F("msg : "));
Serial.println((i));
delay(2000);
}