#include <WiFi.h>
#include <WiFiClient.h>
#include <WebServer.h>
#define WIFI_SSID "Wokwi-GUEST"
#define WIFI_PASSWORD ""
WebServer server(80);
int LED1 = 26;
int trig = 17;
int echo = 16;
float distance;
float duration;
void setup(void) {
Serial.begin(115200);
pinMode(LED1, OUTPUT);
pinMode(trig, OUTPUT);
pinMode(echo, OUTPUT);
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
Serial.print("Connecting to WiFi ");
Serial.print(WIFI_SSID);
while (WiFi.status() != WL_CONNECTED) {
delay(100);
Serial.print(".");
}
Serial.println(" Connected!");
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
server.on("/on", ledOn);
server.on("/off", ledOff);
server.on("/getDistance", returnDistance);
server.begin();
Serial.println("HTTP server started");
}
void loop(void) {
server.handleClient();
delay(2);
}
void ledOn(){
digitalWrite(LED1, HIGH);
server.send(200, "text/plain", "LED ON");
}
void ledOff(){
digitalWrite(LED1, LOW);
server.send(200, "text/plain", "LED OFF");
}
void returnDistance(){
digitalWrite(trig, LOW);
delayMicroseconds(2);
digitalWrite(trig, HIGH);
delayMicroseconds(10);
digitalWrite(trig, LOW);
duration = pulseIn(echo, HIGH);
distance = duration * 0.034 / 2;
String msg = String(distance) + " cm";
server.send(200, "text/plain", msg);
}