/**
ESP32 + DHT22 Example for Wokwi
https://wokwi.com/arduino/projects/322410731508073042
*/
#include <WiFi.h>
#include "DHTesp.h"
#include "ThingSpeak.h"
const int PIR_PIN = 15;
const int LED_PIN = 13;
// const char* WIFI_NAME = "Wokwi-GUEST";
// const char* WIFI_PASSWORD = "";
const int myChannelNumber = 2261783;
const char* myApiKey = "ID9TH9UYITP0J3F1";
const char* server = "api.thingspeak.com";
bool motionDetected = false;
WiFiClient client;
void setup() {
Serial.begin(115200);
pinMode(LED_PIN, OUTPUT);
pinMode(PIR_PIN, INPUT);
WiFi.begin("Wokwi-GUEST", "", 6);
while (WiFi.status() != WL_CONNECTED) {
delay(250);
// spinner();
}
Serial.println("Wifi connected !");
Serial.println("Local IP: " + String(WiFi.localIP()));
WiFi.mode(WIFI_STA);
ThingSpeak.begin(client);
}
void printLocalTime() {
struct tm timeinfo;
// if (!getLocalTime(&timeinfo)) {
// LCD.setCursor(0, 1);
// LCD.println("Connection Err");
// return;
// }
// LCD.setCursor(8, 0);
// LCD.println(&timeinfo, "%H:%M:%S");
// LCD.setCursor(0, 1);
// LCD.println(&timeinfo, "%d/%m/%Y %Z");
}
void loop() {
// TempAndHumidity data = dhtSensor.getTempAndHumidity();
motionDetected = digitalRead(PIR_PIN);
// ThingSpeak.setField(2,data.humidity);
if (motionDetected) {
digitalWrite(LED_PIN, HIGH);
// printLocalTime();
ThingSpeak.setField(1, 1);
}else{
digitalWrite(LED_PIN, LOW);
ThingSpeak.setField(1, 0);
}
int x = ThingSpeak.writeFields(myChannelNumber, myApiKey);
// Serial.println("Temp: " + String(data.temperature, 2) + "°C");
// Serial.println("Humidity: " + String(data.humidity, 1) + "%");
if(x == 200){
Serial.println("Data pushed successfull");
}else{
Serial.println("Push error" + String(x));
}
Serial.println("---");
delay(10000);
}