#include <WiFi.h>
#include <DHTesp.h>
#include <Wire.h>
DHTesp dhtSensor;
const int DHT_PIN = 15;
const int LDR_PIN = 32;
const int PIR_PIN = 13;
const int POT_PIN = 12;
const char* password = "";
const char* ssid = "Wokwi-GUEST";
const char* host = "dweet.io";
void setup() {
delay(10);
Serial.begin(115200);
dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
pinMode(LDR_PIN, INPUT);
pinMode(PIR_PIN, INPUT);
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password, 6);
while (WiFi.status() != WL_CONNECTED) {
delay(5000);
Serial.println("Connecting...");
}
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
}
void loop() {
delay(6000);
Serial.print("Connecting to ");
Serial.println(host);
WiFiClient client;
const int httpPort = 80;
if (!client.connect(host, httpPort)) {
Serial.println("connection failed");
return;
}
TempAndHumidity data = dhtSensor.getTempAndHumidity();
bool motionDetected = digitalRead(PIR_PIN);
client.print(String("GET /dweet/for/Madhav?temperature=") +
String(data.temperature, 2) + "&humidity=" + String(data.humidity, 1) +
"&light=" + String(!digitalRead(LDR_PIN)) +
"&motion=" + String(motionDetected) + "&potentiometer=" + String(analogRead(POT_PIN)) +
" HTTP/1.1\r\n" + "Host: " + host + "\r\n" + "Connection: close\r\n\r\n");
while (client.available()) {
String line = client.readStringUntil('\r');
Serial.print(line);
}
Serial.println("Temp: " + String(data.temperature, 2) + "C");
Serial.println("Humidity: " + String(data.humidity, 1) + "%");
Serial.println("Light: " + String(!digitalRead(LDR_PIN)));
Serial.println("Motion: " + String(motionDetected));
Serial.println("Potentiometer: " + String(analogRead(POT_PIN)));
Serial.println("---");
delay(1000);
Serial.println();
Serial.println("closing connection");
}