Advertisement
Guest User

node

a guest
Jun 24th, 2019
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.67 KB | None | 0 0
  1.  
  2. #include <ESP8266WiFi.h>
  3. #include <WiFiClient.h>
  4. #include <ESP8266WebServer.h>
  5. #include <ESP8266mDNS.h>
  6. #include <SoftwareSerial.h>
  7. SoftwareSerial s(D6,D5);
  8. #include <ArduinoJson.h>
  9.  
  10. #ifndef STASSID
  11. #define STASSID "OpenWrt"
  12. #define STAPSK  "asdfghjkl"
  13. #endif
  14.  
  15. const char *ssid = STASSID;
  16. const char *password = STAPSK;
  17.  
  18. ESP8266WebServer server(80);
  19.  
  20. float pf, power;
  21.  
  22. void handleRoot() {
  23.   char temp[400];
  24.  
  25.  
  26.   snprintf(temp, 400,
  27.  
  28.            "<html>\
  29.  <head>\
  30.    <meta http-equiv='refresh' content='5'/>\
  31.    <title>Power Factor Management Project</title>\
  32.    <style>\
  33.      body { background-color: #cccccc; font-family: Arial, Helvetica, Sans-Serif; Color: #000088; }\
  34.    </style>\
  35.  </head>\
  36.  <body>\
  37.    <h1>Power Management</h1>\
  38.    <p>Power Factor: %02f </p>\
  39.    <p>Power Consumed: %02f</p>\
  40.  </body>\
  41. </html>",
  42.  
  43.            pf, power
  44.           );
  45.   server.send(200, "text/html", temp);
  46. }
  47.  
  48. void handleNotFound() {
  49.  
  50.   String message = "File Not Found\n\n";
  51.   message += "URI: ";
  52.   message += server.uri();
  53.   message += "\nMethod: ";
  54.   message += (server.method() == HTTP_GET) ? "GET" : "POST";
  55.   message += "\nArguments: ";
  56.   message += server.args();
  57.   message += "\n";
  58.  
  59.   for (uint8_t i = 0; i < server.args(); i++) {
  60.     message += " " + server.argName(i) + ": " + server.arg(i) + "\n";
  61.   }
  62.  
  63.   server.send(404, "text/plain", message);
  64.  
  65. }
  66.  
  67. void setup(void) {
  68. //  pinMode(led, OUTPUT);
  69. //  digitalWrite(led, 0);
  70.   Serial.begin(115200);
  71.   WiFi.mode(WIFI_STA);
  72.   WiFi.begin(ssid, password);
  73.   Serial.println("");
  74.   s.begin(115200);
  75.   Serial.println("waiting...");
  76.   while (!Serial) continue;
  77.  
  78.   // Wait for connection
  79.   while (WiFi.status() != WL_CONNECTED) {
  80.     delay(500);
  81.     Serial.print(".");
  82.   }
  83.  
  84.   Serial.println("");
  85.   Serial.print("Connected to ");
  86.   Serial.println(ssid);
  87.   Serial.print("IP address: ");
  88.   Serial.println(WiFi.localIP());
  89.  
  90.   if (MDNS.begin("esp8266")) {
  91.     Serial.println("MDNS responder started");
  92.   }
  93.  
  94.   server.on("/", handleRoot);
  95.  
  96.   server.on("/inline", []() {
  97.     server.send(200, "text/plain", "this works as well");
  98.   });
  99.   server.onNotFound(handleNotFound);
  100.   server.begin();
  101.   Serial.println("HTTP server started");
  102. }
  103.  
  104. void loop(void) {
  105.  
  106.  
  107.   StaticJsonBuffer<1000> jsonBuffer;
  108.   JsonObject& root = jsonBuffer.parseObject(s);
  109.  
  110.   if (root == JsonObject::invalid())
  111.   {
  112.     Serial.println("Invalid data");
  113. //    return;
  114.   }
  115.   //Print the data in the serial monitor
  116.   else {
  117.     Serial.println("JSON received and parsed");
  118.     root.prettyPrintTo(Serial);
  119.     pf = root["pf"];
  120.     power = root["power"];
  121.     server.handleClient();
  122.   }
  123.    MDNS.update();
  124. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement