Porfavor ayuda con shield ethernet

Hola muy buenos días.

Comencé hace poco con un proyecto con shield ethernet y tengo una duda con la programación todavía no se mucho pero algo tengo , el problema es el siguiente con un sensor dht 21 quiero que el valor que me entrega tanto en temperatura y humedad se registre en un archivo txt y luego me lo imprima en una pagina Web creada que esta dentro de la misma tarjeta SD solo eh logrado guardar el valor en un archivo pero no se como imprimirlo en la pagina , dejo el código de lo que llevo por si alguien me puede ayudar

Por su atención muchas gracias.

#include <SD.h>
#include <DHT.h>

const int chipSelect = 4;
#define DHTTYPE DHT21                     
#define DHTPIN 2                             
 
DHT dht(DHTPIN, DHTTYPE);
 
void setup()
{

  Serial.begin(9600);
   while (!Serial) {
    ; 
  }


  Serial.print("Initializing SD card...");


  pinMode(10, OUTPUT);
  

  if (!SD.begin(chipSelect)) {
    Serial.println("Card failed, or not present");

    return;
  }
  Serial.println("card initialized.");
}

void loop()
{
 String dataString = "";
  float h = dht.readHumidity();
  float t = dht.readTemperature();
  
  
    int sensor = t;
      int sensor1 = h;
    dataString += String(sensor );
     dataString += String(" C");
      dataString += String( "  " );
            dataString += String( "  " );
        dataString += String(sensor1  );
         dataString += String(" %");
 
  
  if (t >21 || h > 46){
  File dataFile = SD.open("temperat.txt", FILE_WRITE);
  if (dataFile) {
    dataFile.println(dataString);
    dataFile.close();
    Serial.println(dataString);
  }  
  else {
    Serial.println("error opening temperat.txt");
  } 
}
}

Hola, no sé cómo puedes hacerlo, lo siento..Pero, creo que ahi falta configuración..La config de la shield...
$) $)

Algo así:

#include <SPI.h>
#include <Ethernet.h>

byte mac[]	= {la mac}; 
byte ip[]    	= {la ip}; 		 	
byte gateway[]  = {el router}; 			
byte subnet[] 	= {la máscara};			
EthernetServer servidor(80);				

void setup()
{
  Ethernet.begin(mac, ip, gateway, subnet);		
  servidor.begin();

A ver si alguien te puede decir algo más, pero sigo diciendo que ahi creo que faltan cosas....
Salu2

Hola
el problema que tengo los codigos aparte y no se como poder unirlos dejo el otro codigo si alguien sabe me ayudaria mucho gracias o si tienen otra idea estoy recien aprendiendo.

#include <SPI.h>
#include <Ethernet.h>
#include <SD.h>
#include <DHT.h>
// size of buffer used to capture HTTP requests
#define REQ_BUF_SZ   20
#define DHTTYPE DHT21                    
#define DHTPIN 2                               // Conecto el sensor al pin 2
 
DHT dht(DHTPIN, DHTTYPE);
// MAC address from Ethernet shield sticker under board
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192, 168, 0, 3); // IP address, may need to change depending on network
EthernetServer server(80);  // create a server at port 80
File webFile;
char HTTP_req[REQ_BUF_SZ] = {0}; // buffered HTTP request stored as null terminated string
char req_index = 0;              // index into HTTP_req buffer

void setup()
{
    // disable Ethernet chip
    pinMode(10, OUTPUT);
    digitalWrite(10, HIGH);
    
    Serial.begin(9600);       // for debugging
    
    // 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 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()
{
  float h = dht.readHumidity();
  float t = dht.readTemperature();
  
  if (isnan(t) || isnan(h)) 
   Serial.println("Failed to read from DHT");
   else {
    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++;
                }
                // print HTTP request character to serial monitor
                Serial.print(c);
                // last line of client request is blank and ends with \n
                // respond to client only after last line received
                if (c == '\n' && currentLineIsBlank) {
                    // open requested web page file
                    if (StrContains(HTTP_req, "GET / ") || StrContains(HTTP_req, "GET /index.htm")) {
                        client.println("HTTP/1.1 200 OK");
                        client.println("Content-Type: text/html");
                        client.println("Connnection: close");
                        client.println("<!DOCTYPE HTML>");
                                   client.println("<html>");
                                    client.println("");                                             
                        webFile = SD.open("index.htm"); 
                        client.println("</html>"); 
                   client.print(h +10 );  
                   client.print(t);       
                    }
           
                     else if (StrContains(HTTP_req, "GET /historico.htm")) { 
                     client.println("HTTP/1.1 200 OK");
                          client.println("Content-Type: text/html");
                        client.println("Connnection: close");
                        client.println();
                              
                        webFile = SD.open("historico.htm"); 
                      }
                      
                    else if (StrContains(HTTP_req, "GET /logo.png")) {
                        webFile = SD.open("logo.png");
                        if (webFile) {
                            client.println("HTTP/1.1 200 OK");
                            client.println();
                        }
                    }
                    if (webFile) {
                        while(webFile.available()) {
                            client.write(webFile.read()); // send web page to client
                        }
                        webFile.close();
                    }
                    // 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)
}

// 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;
}