Récupération de la température et l’insérer dans le code html.

Bonjours, je voudrai mettre la température sur mon réseau. J’utilise une sonde ds18b20, un arduino uno, et un shield ethernet (enc28j60). Mais le problème,c’est que je suis pas très doué en html et je ne sait pas comment récupérer la température et l’inclure dans mon code html. Voici le code pour l’instant:

// Present a "Will be back soon web page", as stand-in webserver.
// 2011-01-30 <jc@wippler.nl>
//
// License: GPLv2

#include <EtherCard.h>
#include <OneWire.h>
#include <DallasTemperature.h>

#define STATIC 1  // set to 1 to disable DHCP (adjust myip/gwip values below)

#if STATIC
// ethernet interface ip address
static byte myip[] = { 192,168,1,120 };
// gateway ip address
static byte gwip[] = { 192,168,1,130 };
#endif

// ethernet mac address - must be unique on your network
static byte mymac[] = { 0x74,0x69,0x69,0x2D,0x30,0x31 };

byte Ethernet::buffer[500]; // tcp/ip send and receive buffer

OneWire oneWire(7); //Bus One Wire sur la pin 2 de l'arduino
DallasTemperature sensors(&oneWire); //Utilistion du bus Onewire pour les capteurs
DeviceAddress sensorDeviceAddress; //Vérifie la compatibilité des capteurs avec la librairie

const char page[] PROGMEM =
"HTTP/1.0 503 Service Unavailable\r\n"
"Content-Type: text/html\r\n"
"Retry-After: 600\r\n"
"\r\n"
"<html>"
  "<head><title>"
    "Sonde arduino"
  "</title></head>"
  "<body>"
    "<h3>Temperature de la salle x</h3>"
    "<p><em>"
      "Connexion a la sonde.
"
      "La temperature et de ...."
    "</em></p>"
  "</body>"
"</html>"
;

void setup(){
  Serial.begin(9600);
  Serial.println("\n[backSoon]");

  sensors.begin(); //Activation des capteurs
 sensors.getAddress(sensorDeviceAddress, 0); //Demande l'adresse du capteur à l'index 0 du bus
 sensors.setResolution(sensorDeviceAddress, 11); //Résolutions possibles: 9,10,11,12

  // Change 'SS' to your Slave Select pin, if you arn't using the default pin
  if (ether.begin(sizeof Ethernet::buffer, mymac, SS) == 0)
    Serial.println( "Failed to access Ethernet controller");
#if STATIC
  ether.staticSetup(myip, gwip);
#else
  if (!ether.dhcpSetup())
    Serial.println("DHCP failed");
#endif

  ether.printIp("IP:  ", ether.myip);
  ether.printIp("GW:  ", ether.gwip);
  ether.printIp("DNS: ", ether.dnsip);
}

void loop(){
  // wait for an incoming TCP packet, but ignore its contents
  if (ether.packetLoop(ether.packetReceive())) {
    memcpy_P(ether.tcpOffset(), page, sizeof page);
    ether.httpServerReply(sizeof page - 1);
  }
 sensors.requestTemperatures(); //Demande la température aux capteurs
 Serial.print("La temperature est de ");
 Serial.print(sensors.getTempCByIndex(0)); //Récupération de la température en celsius du capteur n°0
 Serial.println(" C");
 delay(1000);
 
}

Merci a ce qui m’aiderons

comme vous déclarez la page HTML en constante en mémoire flash const char page[] PROGMEM =vous ne pourrez pas modifier le HTML pour injecter dedans à chaque refresh la nouvelle valeur... si vous voulez conserver cette approche il faut passer par de l'AJAX et traiter différentes requêtes.. si vous débutez en HTML ce n'est pas le plus simple

Utilisez éventuellement la librairie UIPEthernet qui est compatible avec la doc que vous trouvez pour la librairie standard Ethernet sur Arduino comme cela vous aurez plus de sources d'inspiration / exemples.

j'avais pondu un petit tuto avec la librairie ethernet standard si ça peut vous aider