免費論壇 繁體 | 簡體
Sclub交友聊天~加入聊天室當版主
分享
返回列表 回復 發帖

Arduino ESP8266 WEB Server

WiFiServer server(80); //<== 若連上WIFI後取得IP為10.40.4.19  則連進此WEB SERVER的方式為 10.40.4.19:80  若成功,便會在瀏覽器看到 if (client1) 該區段內容的HTML

server.begin();

WiFiClient client1 = server.available();   //這個部分是簡易的靜態網路伺服器,可連線查詢

if (client1)
    {

      client1.println("HTTP/1.1 200 OK");
      client1.println("Content-Type: text/html");
      client1.println("Connection: close");
      client1.println("Refresh: 10");
      client1.println();
      delay(1000);
      Serial.println("Home Page...");
      client1.println("<!DOCTYPE html>");
      client1.println("<head>\n<meta charset='UTF-8'>");
      client1.println("<title>ESP8266 Temperature & Humidity DHT11 Sensor</title>");
      client1.println("</head>\n<body>");
      client1.println("<H2>POWER DETECT SYSTEM</H2>");
      client1.println("<H3>REAL DATA SHOW...</H3>");
      client1.println("<pre>");   //<==開始 放入程式變數區
      client1.print("Area  : ");
      client1.println(WiFi.macAddress());
      client1.print("Address: ");
      client1.println(Addr);
      client1.print("V: ");
      client1.println(V, 2);
      client1.print("A  : ");
      client1.println(A, 2);
      client1.print("Hz  : ");
      client1.println(Hz, 2);
      client1.print("PF  : ");
      client1.println(PF, 2);
      client1.print("P  : ");
      client1.println(P, 2);
      client1.print("KWh  : ");
      client1.println(Wh, 3);
      client1.println("</pre>"); //<== 結束 放入程式變數區
      client1.print("</body>\n</html>");
      Serial.println("Home Page...End");
      delay(1000);

    }




//-------------------------------------------------------
//可互動網頁,回傳網頁按下的需求到Arduino

if (client3)
    {
      String request = client3.readStringUntil('\r');
      Serial.println(request);
      client3.flush();
      if (request.indexOf("/Action") != -1) {
        value = 1;
      }
      if (request.indexOf("/Reset") != -1) {
        value = 2;
      }
      if (request.indexOf("/LCDinit") != -1) {
        value = 3;
      }
      Serial.print("value=");
      Serial.println(value);
      //digitalWrite(LED, value);
      client3.println("HTTP/1.1 200 OK");
      client3.println("Content-Type: text/html");
      client3.println("");
      client3.println("");
      client3.println("");
      client3.print("Value is now: ");
      if (value == 1)
      {
        client3.print("1 <br>");
      }

      if (value == 2)
      {
        client3.print("2 <br>");
        client3.print("Do power reset... <br>");
        delay(5000);
        client3.print("power reset OK <br>");
      }

      if (value == 3)
      {
        client3.print("3 <br>");
        client3.print("do LCD init <br>");
        lcd.begin(16, 2);
        lcd.clear();
        //delay(5000);
        delay(5000);
        client3.print("LCD init OK <br>");
      }
      client3.print("<br><br>");
      client3.print("Click <a href='/Action'>here</a> to do 1 Action. <br>");
      client3.print("Click <a href='/Reset'>here</a> to do 2 Reset KWh. <br>");
      client3.print("Click <a href='/LCDinit'>here</a> to do 3 LCD Init. <br>");
      client3.print("</p><p>");



      delay(1);
      Serial.println("Client disonnected");
      Serial.println("");

      value = 1;

    }
返回列表