#include <WiFi.h>
#include <WebServer.h>
const char* ssid = "Galaxy F41F165";
const char* password = "hardikchadha";
WebServer server(80);
#define LED 2
#define PIR 4
int motionCounter = 0;
void setup() {
Serial.begin(115200);
pinMode(LED, OUTPUT);
pinMode(PIR, INPUT);
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting...");
}
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
String page;
server.on("/", [](){
page = "<h1>PIR Sensor to NodeMCU</h1><h1>Motion Counter:</h1> <h1 id=\"counter\"></h1>\r\n";
page += "<script>\r\n";
page += "function updateCounter() {\r\n";
page += " var xhttp = new XMLHttpRequest();\r\n";
page += " xhttp.onreadystatechange = function() {\r\n";
page += " if (this.readyState == 4 && this.status == 200) {\r\n";
page += " document.getElementById(\"counter\").innerHTML = this.responseText;\r\n";
page += " }\r\n";
page += " };\r\n";
page += " xhttp.open(\"GET\", \"/counter\", true);\r\n";
page += " xhttp.send();\r\n";
page += "}\r\n";
page += "setInterval(updateCounter, 1000);\r\n";
page += "</script>\r\n";
server.send(200, "text/html", page);
});
server.on("/counter", [](){
server.send(200, "text/plain", String(motionCounter));
});
server.begin();
Serial.println("HTTP server started");
}
void loop() {
server.handleClient();
if (digitalRead(PIR) == HIGH) {
motionCounter++;
delay(1000);
}
delay(10);
}