/* * Distance measurement with HC-SR04 ultrasonic sensor and Wemos D1 Mini, based a web server and Javasricpt * by author Irwan * published on www.likecircuit.com * version 2.0 */ /*===================================================================================*/ #include #include ESP8266WebServer server(80); const char* ssid="Livebox-37cc"; const char* password= "8A6060920A8A86896F770F2C47"; String webSite,javaScript,XML; // defines pins numbers trigger and echo const int trigPin = D2; const int echoPin = D3; // defines variables long duration; float distance; float Mdistance; void setup() { Serial.begin(9600); pinMode(trigPin, OUTPUT); // Sets the trigPin as an Output pinMode(echoPin, INPUT); // Sets the echoPin as an Input WiFi.begin(ssid,password); while(WiFi.status()!=WL_CONNECTED)delay(500); WiFi.mode(WIFI_STA); Serial.println("\n\nBOOTING ESP8266 ..."); Serial.print("Connected to "); Serial.println(ssid); Serial.print("Station IP address: "); Serial.println(WiFi.localIP()); server.on("/",handleWebsite); server.on("/xml",handleXML); server.begin(); } void loop() { distanceData(); delay(100); server.handleClient(); } void distanceData(){ digitalWrite(trigPin, LOW); delayMicroseconds(2); // Sets the trigPin on HIGH state for 10 micro seconds digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); // Reads the echoPin, returns the sound wave travel time in microseconds duration = pulseIn(echoPin, HIGH); // Calculating the distance distance= (duration*0.034)/2; } void buildWebsite(){ buildJavascript(); webSite="\n"; webSite+=javaScript; webSite+="\n"; webSite+="\n"; webSite+="\n"; webSite+=" \n"; webSite+="\n"; webSite+="\n"; webSite+=" \n"; webSite+="\n"; webSite+="\n"; webSite+=" \n"; webSite+="\n"; webSite+="

IOT Web Server Real-Time Measure Distance Sensor HC-SR04 and Wemos D1 Mini With Java Script

Distance Sensor = Cm

Routine :
\n"; webSite+="\n"; webSite+="\n"; } void buildJavascript(){ javaScript="\n"; } void buildXML(){ XML=""; XML+=""; XML+=""; XML+=millis2time(); XML+=""; XML+=""; XML+=distance; XML+=""; XML+=""; } String millis2time(){ String Time=""; unsigned long ss; byte mm,hh; ss=millis()/1000; hh=ss/3600; mm=(ss-hh*3600)/60; ss=(ss-hh*3600)-mm*60; if(hh<10)Time+="0"; Time+=(String)hh+":"; if(mm<10)Time+="0"; Time+=(String)mm+":"; if(ss<10)Time+="0"; Time+=(String)ss; return Time; } void handleWebsite(){ buildWebsite(); server.send(200,"text/html",webSite); } void handleXML(){ buildXML(); server.send(200,"text/xml",XML); }