webserver startup

Hi i could use some help on how to start up my webserver.

I want the webserver to show messages depending on a vallue. I want to hook up 1 potentiometer to mimic a temp sensor, and when it reaches a certain value it needs to pop up a message. for instance if the value is 200/300 then the message is ''the temp is ok'' if its 301/400 the message will be ''temp is rising'' if its 401/500 the message will be ''watch out temp is getting to hot'' and at 501 i am just shutting down the program.

i dont need a whole fancy webserver it just needs to do its job. when the potentiometer reaches one of those values it needs to display those messages.

would like some help on how to start it up and were to look on before i start this project.

Start by just getting it to serve a page. Once you get that working then you can work on having it give certain content in response to those conditions. It is just a matter of using some if statements to decide what the response String will look like.

Hi, thanks for the reaction I got this so far. It works but I dont know if it’s flawless could you give your oppinion? When i turn the potentiometer the ‘‘messages’’ change both up and down, what i mean by that is when i turn the potentiometer to a higher value the messages change form good to bad and when i turn the potentiometer back the messages go from bad to good.

#include <SPI.h>
#include <Ethernet2.h>
#include <SD.h>

// size of buffer used to capture HTTP requests
#define REQ_BUF_SZ   50

// MAC address from Ethernet shield sticker under board
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(10, 10, 2, 143); // IP address, may need to change depending on network
EthernetServer server(80);  // create a server at port 80
File webFile;               // the web page file on the SD card
char HTTP_req[REQ_BUF_SZ] = {0}; // buffered HTTP request stored as null terminated string
char req_index = 0;              // index into HTTP_req buffer
//const int ss = 53;
int analog_val1;
int led = 49;
void setup()
{
  //pinMode(53, OUTPUT);
  /* disable Ethernet chip
    pinMode(10, OUTPUT);
    digitalWrite(10, HIGH);*/
    pinMode(led, OUTPUT);
  analog_val1 = analogRead(1);
  Serial.begin(9600);       // for debugging
  Serial.println(analog_val1);

  // initialize SD card
  Serial.println("Initializing SD card...");
  if (!SD.begin(4)) {
    Serial.println("ERROR - SD card initialization failed!");
    return;    // init failed
  }
  Serial.println("SUCCESS - SD card initialized.");
  // check for index.htm file
  if (!SD.exists("index.htm")) {
    Serial.println("ERROR - Can't find the index.htm file!");
    return;  // can't find index file
  }
  Serial.println("SUCCESS - Found index.htm file.");

  Ethernet.begin(mac, ip);  // initialize Ethernet device
  server.begin();           // start to listen for clients
}

void loop()
{
  EthernetClient client = server.available();  // try to get client

  if (client) {  // got client?
    boolean currentLineIsBlank = true;
    while (client.connected()) {
      if (client.available()) {   // client data available to read
        char c = client.read(); // read 1 byte (character) from client
        // buffer first part of HTTP request in HTTP_req array (string)
        // leave last element in array as 0 to null terminate string (REQ_BUF_SZ - 1)
        if (req_index < (REQ_BUF_SZ - 1)) {
          HTTP_req[req_index] = c;          // save HTTP request character
          req_index++;
        }
        // last line of client request is blank and ends with \n
        // respond to client only after last line received
        if (c == '\n' && currentLineIsBlank) {
          // send a standard http response header
          client.println("HTTP/1.1 200 OK");
          // remainder of header follows below, depending on if
          // web page or XML page is requested
          // Ajax request - send XML file
          if (StrContains(HTTP_req, "ajax_inputs")) {
            // send rest of HTTP header
            client.println("Content-Type: text/xml");
            client.println("Connection: keep-alive");
            client.println();
            // send XML file containing input states
            XML_response(client);
          }
          else {  // web page request
            // send rest of HTTP header
            client.println("Content-Type: text/html");
            client.println("Connection: keep-alive");
            client.println();
            // send web page
            webFile = SD.open("index.htm");        // open web page file
            if (webFile) {
              while (webFile.available()) {
                client.write(webFile.read()); // send web page to client
              }
              webFile.close();
            }
          }
          // display received HTTP request on serial port
          Serial.print(HTTP_req);
          // reset buffer index and all buffer elements to 0
          req_index = 0;
          StrClear(HTTP_req, REQ_BUF_SZ);
          break;
        }
        // every line of text received from the client ends with \r\n
        if (c == '\n') {
          // last character on line of received text
          // starting new line with next character read
          currentLineIsBlank = true;
        }
        else if (c != '\r') {
          // a text character was received from client
          currentLineIsBlank = false;
        }
      } // end if (client.available())
    } // end while (client.connected())
    delay(1);      // give the web browser time to receive the data
    client.stop(); // close the connection
  } // end if (client)
}

// send the XML file with switch statuses and analog value
void XML_response(EthernetClient cl)
{
  int analog_val1;
  int analog_val2;
  int analog_val3;
  analog_val1 = analogRead(1);
analog_val2 = analogRead(2);
 analog_val3 = analogRead(3);
  if (analog_val1 > 400 && analog_val1 < 600)
  {

    cl.print("<?xml version = \"1.0\" ?>");
    cl.print("<inputs>");
    cl.print("<button1>");
    cl.print("test");
    cl.print("<analog1>");
    cl.print("temp word te hoog");
    cl.print("</analog1>");
    cl.print("</button1>");
    cl.print("</inputs>");
    digitalWrite(led, LOW);
  }
  else if (analog_val1 > 200 && analog_val1 < 400)
  {
    cl.print("<?xml version = \"1.0\" ?>");
    cl.print("<inputs>");
    cl.print("<button1>");
    cl.print("test");
    cl.print("<analog1>");
    cl.print("temp stijgt");
    cl.print("</analog1>");
    cl.print("</button1>");
    cl.print("</inputs>");
    digitalWrite(led, LOW);
  }

  else if (analog_val1 > 600 && analog_val1 < 900)
  {
    cl.print("<?xml version = \"1.0\" ?>");
    cl.print("<inputs>");
    cl.print("<button1>");
    cl.print("test");
    cl.print("<analog1>");
    cl.print("breng temp naar beneden!");
    cl.print("</analog1>");
    cl.print("</button1>");
    cl.print("</inputs>");
    digitalWrite(led, LOW);
  }

else if (analog_val1 > 900 && analog_val1 < 1024)
  {
    cl.print("<?xml version = \"1.0\" ?>");
    cl.print("<inputs>");
    cl.print("<button1>");
    cl.print("test");
    cl.print("<analog1>");
    cl.print("error 404 program not found");
    cl.print("</analog1>");
    cl.print("</button1>");
    cl.print("</inputs>");

    digitalWrite(led, HIGH);
  }
  else if (analog_val1 > 0 && analog_val1 < 200)
  {
    cl.print("<?xml version = \"1.0\" ?>");
    cl.print("<inputs>");
    cl.print("<button1>");
    cl.print("test");
    cl.print("<analog1>");
    cl.print("temp ok");
    cl.print("</analog1>");
    cl.print("</button1>");
    cl.print("</inputs>");
    digitalWrite(led, LOW);
  }



}
// sets every element of str to 0 (clears array)
void StrClear(char *str, char length)
{
  for (int i = 0; i < length; i++) {
    str[i] = 0;
  }
}

// searches for the string sfind in the string str
// returns 1 if string found
// returns 0 if string not found
char StrContains(char *str, char *sfind)
{
  char found = 0;
  char index = 0;
  char len;

  len = strlen(str);

  if (strlen(sfind) > len) {
    return 0;
  }
  while (index < len) {
    if (str[index] == sfind[found]) {
      found++;
      if (strlen(sfind) == found) {
        return 1;
      }
    }
    else {
      found = 0;
    }
    index++;
  }

  return 0;
}
[code]

This is the code that is in the index.htm file. It diddn’t fit in one post (9000 caracters exceeded).

<!DOCTYPE html>
<html>
    <head>
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>statusbeircht temp sensor</title>
        <script>
        function GetArduinoInputs()
        {
            nocache = "&nocache=" + Math.random() * 1000000;
            var request = new XMLHttpRequest();
            request.onreadystatechange = function()
            {
                if (this.readyState == 4) {
                    if (this.status == 200) {
                        if (this.responseXML != null) {
                            // extract XML data from XML file (containing switch states and analog value)
                            document.getElementById("input1").innerHTML =
                                this.responseXML.getElementsByTagName('analog1')[0].childNodes[0].nodeValue;
                            document.getElementById("input2").innerHTML =
                                this.responseXML.getElementsByTagName('analog3')[0].childNodes[0].nodeValue;
                            document.getElementById("input3").innerHTML =
                                this.responseXML.getElementsByTagName('analog2')[0].childNodes[0].nodeValue;
                        }
                    }
                }
            }
            request.open("GET", "ajax_inputs" + nocache, true);
            request.send(null);
            setTimeout('GetArduinoInputs()', 1000);
        }
    </script>
    </head>
    <body onload="GetArduinoInputs()">
        <h1>status berichten temp sensoren</h1>
        <p>sensor message: <span id="input1">...</span></p>
  
<p>Deze webserver is gemaakt met de Arduino mega en een Ethernetshield2.</p>
    </body>
</html>