#define led 23
#include <WiFi.h>
const float GAMMA = 0.7;
const float RL10 = 33;
#define ldrsensor 26
#define dhtpin 4
#include "DHT.h"
#define DHTTYPE DHT22
DHT dht(dhtpin, DHT22);
//Establish connection
const char* ssid = "Wokwi-GUEST";
const char* password = "";
//Declare devices
const char* server1 = "http://localhost:8369/devices/lumi/data";
const char* server2 = "http://localhost:8369/devices/temp/data";
const char* server3 = "http://localhost:8369/device/humi/data";
void setup()
{
Serial.begin(9600);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi...");
}
Serial.println("Connected to WiFi");
dht.begin();
pinMode(led, OUTPUT);
}
void loop()
{
ldr();
dhtprocess();
delay(500);
}
void ldr(){
int analogValue = analogRead(ldrsensor);
float voltage = analogValue / 4096. * 3.3;
float resistance = 2000 * voltage / (1 - voltage / 3.3);
float lux = pow(RL10 * 1e3 * pow(10, GAMMA) / resistance, (1 / GAMMA));
Serial.print("Room: ");
if (lux < 300) {
digitalWrite(led, HIGH);
Serial.print("Light! ");
} else {
digitalWrite(led, LOW);
Serial.print("Dark ");
}
Serial.print("Lux: ");
Serial.println(lux);
delay(1000);
}
void dhtprocess(){
float humi = dht.readHumidity();
float temp = dht.readTemperature();
Serial.print("Temperature: ");
Serial.print(temp);
Serial.print("ºC ");
Serial.print("Humidity: ");
Serial.println(humi);
delay(1000);
}