Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2019
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.   void lan(){
  2.     // check for serial input
  3.  
  4.     EthernetClient client = server.available();
  5.     if (client) {
  6.       while (client.connected()) {
  7.         if (client.available()) {
  8.           char c = client.read();
  9.  
  10.           //read char by char HTTP request
  11.           if (readString.length() < 100) {
  12.  
  13.             //store characters to string
  14.             readString += c;
  15.             //Serial.print(c);
  16.           }
  17.  
  18.           //if HTTP request has ended
  19.           if (c == '\n') {
  20.               //now output HTML data header
  21.             if(readString.indexOf('?') >=0) { //don't send new page
  22.               client.println("HTTP/1.1 204 Zoomkat");
  23.               client.println();
  24.               client.println();
  25.             }
  26.             else {
  27.               client.println("HTTP/1.1 200 OK"); //send new page
  28.               client.println("Content-Type: text/html");
  29.               client.println();
  30.  
  31.               client.println("<HTML>");
  32.               client.println("<HEAD>");
  33.  
  34.               client.println("<TITLE>Arduino SmartTub</TITLE>");
  35.               client.println("</HEAD>");
  36.               client.println("<BODY>");
  37.  
  38.               client.println("<H1>Arduino SmartTub UI</H1>");
  39.               client.println("<br />");
  40.  
  41.               client.println("<a href=\"/?reset\" target=\"inlineframe\">RESET</a>");
  42.               client.println("<a href=\"/?run\" target=\"inlineframe\">RUN</a>");
  43.               if(runtrigger == true)
  44.               {
  45.                   client.println("<br>Water filling running</br>");
  46.               }
  47.               if(correctiontrigger == true)
  48.               {
  49.                   client.println("<br>Correction running</br>");
  50.               }
  51.               if(runtrigger == true || correctiontrigger == true)
  52.               {
  53.                 client.println("<meta http-equiv=\"refresh\" content=\"1\">");
  54.               }
  55.               if(runfinished == true)
  56.               {
  57.                   client.println("<br>Water filling finished</br>");
  58.               }
  59.               if(correctionfinished == true)
  60.               {
  61.                   client.println("<br>Correction finished</br>");
  62.               }
  63.               if(stopstate == true)
  64.               {
  65.                 client.println("<br>OVERFLOW! Terminating</br>");
  66.               }
  67.               client.println("<FORM ACTION='/' method=get >"); //uses IP/port of web page
  68.               client.println("Desired Temp: <INPUT TYPE=TEXT NAME='temp' VALUE='' SIZE='25' MAXLENGTH='50'><BR>");
  69.               client.println("<INPUT TYPE=SUBMIT NAME='submit' VALUE='submit'>");
  70.               client.println("</FORM>");
  71.  
  72.               client.println("<FORM ACTION='/' method=get >"); //uses IP/port of web page
  73.               client.println("Desired Vol: <INPUT TYPE=TEXT NAME='vol' VALUE='' SIZE='25' MAXLENGTH='50'><BR>");
  74.               client.println("<INPUT TYPE=SUBMIT NAME='submit' VALUE='submit'>");
  75.               client.println("</FORM>");
  76.  
  77.               client.println("<br>Real water temp: ");
  78.               client.println(realtemp());
  79.               client.println("C</br>");
  80.               client.println("Total water volume: ");
  81.               client.println(totalvolume);
  82.               client.println("l</br>");
  83.               client.println("Desired water temp: ");
  84.               client.println(settemp);
  85.               client.println("C</br>");
  86.               client.println("Desired water volume: ");
  87.               client.println(setvol);
  88.               client.println("l</br>");
  89.               client.println("Calculated hot water volume: ");
  90.               client.println(mhot);
  91.               client.println("l</br>");
  92.               client.println("Calculated cold water volume: ");
  93.               client.println(mcold);
  94.               client.println("l</br>");
  95.               client.println("Water flow of hot water: ");
  96.               client.println(hotQ);
  97.               client.println("l/min</br>");
  98.               client.println("Water flow of cold water: ");
  99.               client.println(coldQ);
  100.               client.println("l/min</br>");
  101.               client.println("Volume of hot filled water: ");
  102.               client.println(totalhotQ);
  103.               client.println("l</br>");
  104.               client.println("Volume of cold filled water: ");
  105.               client.println(totalcoldQ);
  106.               client.println("l</br>");
  107.               client.println("Correction with hot water: ");
  108.               client.println(hotcorrection);
  109.               client.println("l</br>");
  110.               client.println("Correction with cold water: ");
  111.               client.println(coldcorrection);
  112.               client.println("l</br>");
  113.  
  114.               //client.println("<IFRAME name=inlineframe src=\"res://D:/WINDOWS/dnserror.htm\" width=1 height=1\">");
  115.               client.println("<IFRAME name=inlineframe style=\"display:none\" >");
  116.               client.println("</IFRAME>");
  117.  
  118.               client.println("</BODY>");
  119.               client.println("</HTML>");
  120.             }
  121.  
  122.             delay(1);
  123.             //stopping client
  124.             client.stop();
  125.  
  126.  
  127.             ///////////////////// control arduino pin
  128.  
  129.  
  130.  
  131.             if(readString.indexOf("temp") > 0)
  132.             {
  133.               lantemp = readString.substring({11},{15});
  134.  
  135.               settemp = lantemp.toFloat();
  136.             }
  137.  
  138.             if(readString.indexOf("vol") > 0)
  139.             {
  140.               lanvol = readString.substring({10},{14});
  141.  
  142.               setvol = lanvol.toFloat();
  143.             }
  144.  
  145.             if(readString.indexOf("reset") >0)//checks for on
  146.             {
  147.               client.println("<br>RESETING</br>");
  148.               wdt_enable(WDTO_15MS);
  149.             }
  150.  
  151.             if(readString.indexOf("run") >0)//checks for off
  152.             {
  153.               client.println("<br>RUNNING</br>");
  154.               runtrigger = true;
  155.             }
  156.             //clearing string for next read
  157.             readString="";
  158.  
  159.           }
  160.         }
  161.       }
  162.     }
  163.   }
  164.  
  165.   //////////////////////////
  166.   void sendGET() //client function to send/receie GET request data.
  167.   {
  168.     if (client.connect(myserver, 80)) {
  169.       client.println("GET /~shb/arduino.txt HTTP/1.0");
  170.       client.println();
  171.     }
  172.  
  173.     while(client.connected() && !client.available()) delay(1); //waits for data
  174.     while (client.connected() || client.available()) { //connected or data available
  175.       char c = client.read();
  176.     }
  177.     client.stop();
  178.  
  179.   }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement