#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include <NTPClient.h>
#include <WiFiUdp.h>
WiFiUDP ntpUDP;
const long utcOffsetInSeconds = 10800;
NTPClient timeClient(ntpUDP, "pool.ntp.org", utcOffsetInSeconds);
unsigned long epochTime = timeClient.getEpochTime();
struct tm *ptm = gmtime ((time_t *)&epochTime);
const char* ssid = "";
const char* password = "";
ESP8266WebServer server(80);
String SendHTML(String ID , String TimeWeb, String DateWeb);
void handle_OnConnect();
void handle_NotFound();
String ID;
String formattedTime;
String Date;
int Day;
int Month;
int Year;
void setup() {
Serial.begin(9600);
Serial.println("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.print(".");
}
Serial.println("");
Serial.println("Connected to WiFi");
Serial.print("IP: "); Serial.println(WiFi.localIP());
server.on("/", handle_OnConnect);
server.onNotFound(handle_NotFound);
server.begin(); //Start the server
Serial.println("Server listening");
timeClient.begin();
}
void loop() {
if (Serial.available()) {
Serial.write(Serial.read());
}
server.handleClient();
}
void handle_OnConnect() {
timeClient.update();
unsigned long epochTime = timeClient.getEpochTime();
String formattedTime = timeClient.getFormattedTime();
struct tm *ptm = gmtime ((time_t *)&epochTime);
int monthDay = ptm->tm_mday;
int currentMonth = ptm->tm_mon+1;
int currentYear = ptm->tm_year+1900;
formattedTime = timeClient.getFormattedTime();
Date = String(currentYear) + "-" + String(currentMonth) + "-" + String(monthDay);
ID = Serial.write(Serial.read());
server.send(200, "text/html", SendHTML(ID,formattedTime,Date));
}
void handle_NotFound(){
server.send(404, "text/plain", "Not found");
}
String SendHTML(String ID, String TimeWeb,String DateWeb){
String ptr = " \n";
ptr +="<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">\n";
ptr +="ESP8266 Hosp Server\n";
ptr +="\n";
ptr +="\n";
ptr +="<div id="webpage">\n";
ptr +="
ESP8266 Hosp Server
\n";ptr +="
Date: ";
ptr +=(String)DateWeb;
ptr +="
ptr +="
Time: ";
ptr +=(String)TimeWeb;
ptr +="
ptr +="
ID: ";
ptr +=(String) ID;
ptr +="
ptr +="\n";
ptr +="\n";
ptr +="\n";
return ptr;
}