Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <ESP8266WiFi.h>
- #include <WiFiClient.h>
- #include <ESP8266WebServer.h>
- #include <ESP8266mDNS.h>
- #include <SoftwareSerial.h>
- SoftwareSerial s(D6,D5);
- #include <ArduinoJson.h>
- #ifndef STASSID
- #define STASSID "OpenWrt"
- #define STAPSK "asdfghjkl"
- #endif
- const char *ssid = STASSID;
- const char *password = STAPSK;
- ESP8266WebServer server(80);
- float pf, power;
- void handleRoot() {
- char temp[400];
- snprintf(temp, 400,
- "<html>\
- <head>\
- <meta http-equiv='refresh' content='5'/>\
- <title>Power Factor Management Project</title>\
- <style>\
- body { background-color: #cccccc; font-family: Arial, Helvetica, Sans-Serif; Color: #000088; }\
- </style>\
- </head>\
- <body>\
- <h1>Power Management</h1>\
- <p>Power Factor: %02f </p>\
- <p>Power Consumed: %02f</p>\
- </body>\
- </html>",
- pf, power
- );
- server.send(200, "text/html", temp);
- }
- void handleNotFound() {
- String message = "File Not Found\n\n";
- message += "URI: ";
- message += server.uri();
- message += "\nMethod: ";
- message += (server.method() == HTTP_GET) ? "GET" : "POST";
- message += "\nArguments: ";
- message += server.args();
- message += "\n";
- for (uint8_t i = 0; i < server.args(); i++) {
- message += " " + server.argName(i) + ": " + server.arg(i) + "\n";
- }
- server.send(404, "text/plain", message);
- }
- void setup(void) {
- // pinMode(led, OUTPUT);
- // digitalWrite(led, 0);
- Serial.begin(115200);
- WiFi.mode(WIFI_STA);
- WiFi.begin(ssid, password);
- Serial.println("");
- s.begin(115200);
- Serial.println("waiting...");
- while (!Serial) continue;
- // Wait for connection
- while (WiFi.status() != WL_CONNECTED) {
- delay(500);
- Serial.print(".");
- }
- Serial.println("");
- Serial.print("Connected to ");
- Serial.println(ssid);
- Serial.print("IP address: ");
- Serial.println(WiFi.localIP());
- if (MDNS.begin("esp8266")) {
- Serial.println("MDNS responder started");
- }
- server.on("/", handleRoot);
- server.on("/inline", []() {
- server.send(200, "text/plain", "this works as well");
- });
- server.onNotFound(handleNotFound);
- server.begin();
- Serial.println("HTTP server started");
- }
- void loop(void) {
- StaticJsonBuffer<1000> jsonBuffer;
- JsonObject& root = jsonBuffer.parseObject(s);
- if (root == JsonObject::invalid())
- {
- Serial.println("Invalid data");
- // return;
- }
- //Print the data in the serial monitor
- else {
- Serial.println("JSON received and parsed");
- root.prettyPrintTo(Serial);
- pf = root["pf"];
- power = root["power"];
- server.handleClient();
- }
- MDNS.update();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement