Come inviare i dati da ARDUINO ad una pagina HTML

Spero che nel file non c'è scritto SOLO esclusivamente #temperatura# che comunque al massimo DEVE essere:

#TEMPERATURA#

:slight_smile:

Prima cosa devi configurare webbino per quello che vuoi fare tu:

  1. Vai in webbino_config.h e vedrai che ci sarà una riga che ha queste diciture, che devono diventare così:
#define WEBBINO_USE_WIZ5100
//~ #define WEBBINO_USE_ENC28J60
//~ #define WEBBINO_USE_ESP8266

(Questo perché tu usi la ethernet shield con WIZ5100)

Poi usando l'SD, devi scommentare sempre in quel file, questa riga, così:

#define WEBBINO_ENABLE_SD

E commentare così questa:

//~ #define WEBBINO_ENABLE_SDFAT

Stessa cosa in webbino_common.h


Prima di incominciare a visualizzare qualcosa, ti consiglio di guardare gli esempi :slight_smile: (Lo so che dà gusto vedere i risultati :smiley: )

Per prima cosa carica un esempio così e vedi se ti vede quella pagina che dici di aver creato, per ora lascia perdere i TAGS :

#include <Webbino.h>
#include <avr/pgmspace.h>

#define SD_SS 4
WebServer webserver;

#include <WebServer_WIZ5100.h>
NetworkInterfaceWIZ5100 netint;
EthernetServer server(80);

/******************************************************************************
   DEFINITION OF TAGS
 ******************************************************************************/

#define REP_BUFFER_LEN 32
static char replaceBuffer[REP_BUFFER_LEN];
PString subBuffer (replaceBuffer, REP_BUFFER_LEN);

static PString& evaluate_ip (void *data __attribute__ ((unused))) {
  subBuffer.print (netint.getIP ());

  return subBuffer;
}

static PString& evaluate_netmask (void *data __attribute__ ((unused))) {
  subBuffer.print (netint.getNetmask ());

  return subBuffer;
}

static PString& evaluate_gw (void *data __attribute__ ((unused))) {
  subBuffer.print (netint.getGateway ());

  return subBuffer;
}

static PString& evaluate_mac_addr (void *data __attribute__ ((unused))) {
  const byte *buf = netint.getMAC ();

  for (byte i = 0; i < 6; i++) {
    if (buf[i] < 16)
      subBuffer.print ('0');
    subBuffer.print (buf[i], HEX);

    if (i < 5)
      subBuffer.print (':');
  }

  return subBuffer;
}

static PString& evaluate_ip_src (void *data __attribute__ ((unused))) {
  if (netint.usingDHCP ())
    subBuffer.print (F("DHCP"));
  else
    subBuffer.print (F("MANUAL"));

  return subBuffer;
}

static PString& evaluate_webbino_version (void *data __attribute__ ((unused))) {
  subBuffer.print (WEBBINO_VERSION);

  return subBuffer;
}

static PString& evaluate_uptime (void *data __attribute__ ((unused))) {
  unsigned long uptime = millis () / 1000;
  byte d, h, m, s;

  d = uptime / 86400;
  uptime %= 86400;
  h = uptime / 3600;
  uptime %= 3600;
  m = uptime / 60;
  uptime %= 60;
  s = uptime;

  if (d > 0) {
    subBuffer.print (d);
    subBuffer.print (d == 1 ? F(" day, ") : F(" days, "));
  }

  if (h < 10)
    subBuffer.print ('0');
  subBuffer.print (h);
  subBuffer.print (':');
  if (m < 10)
    subBuffer.print ('0');
  subBuffer.print (m);
  subBuffer.print (':');
  if (s < 10)
    subBuffer.print ('0');
  subBuffer.print (s);

  return subBuffer;
}

static PString& evaluate_free_ram (void *data __attribute__ ((unused))) {
  extern int __heap_start, *__brkval;
  int v;

  subBuffer.print ((int) &v - (__brkval == 0 ? (int) &__heap_start : (int) __brkval));

  return subBuffer;
}



// Max length of these is MAX_TAG_LEN (24)
static const char subMacAddrStr[] PROGMEM = "NET_MAC";
static const char subIPAddressStr[] PROGMEM = "NET_IP";
static const char subNetmaskStr[] PROGMEM = "NET_MASK";
static const char subGatewayStr[] PROGMEM = "NET_GW";
static const char subNetConfSrcStr[] PROGMEM = "NET_CONF_SRC";
static const char subWebbinoVerStr[] PROGMEM = "WEBBINO_VER";
static const char subUptimeStr[] PROGMEM = "UPTIME";
static const char subFreeRAMStr[] PROGMEM = "FREERAM";

static const var_substitution subMacAddrVarSub PROGMEM = {subMacAddrStr, evaluate_mac_addr, NULL};
static const var_substitution subIPAddressVarSub PROGMEM = {subIPAddressStr, evaluate_ip, NULL};
static const var_substitution subNetmaskVarSub PROGMEM = {subNetmaskStr, evaluate_netmask, NULL};
static const var_substitution subGatewayVarSub PROGMEM = {subGatewayStr, evaluate_gw, NULL};
static const var_substitution subNetConfSrcVarSub PROGMEM = {subNetConfSrcStr, evaluate_ip_src, NULL};
static const var_substitution subWebbinoVerVarSub PROGMEM = {subWebbinoVerStr, evaluate_webbino_version, NULL};
static const var_substitution subUptimeVarSub PROGMEM = {subUptimeStr, evaluate_uptime, NULL};
static const var_substitution subFreeRAMVarSub PROGMEM = {subFreeRAMStr, evaluate_free_ram, NULL};

static const var_substitution * const substitutions[] PROGMEM = {
  &subMacAddrVarSub,
  &subIPAddressVarSub,
  &subNetmaskVarSub,
  &subGatewayVarSub,
  &subNetConfSrcVarSub,
  &subWebbinoVerVarSub,
  &subUptimeVarSub,
  &subFreeRAMVarSub,
  NULL
};


/******************************************************************************
   MAIN STUFF
 ******************************************************************************/

// Avoid some bug reports :)
#if !defined (WEBBINO_ENABLE_SD) && !defined (WEBBINO_ENABLE_SDFAT)
#error Please enable WEBBINO_ENABLE_SD or WEBBINO_ENABLE_SDFAT in webbino_config.h
#endif


void setup() {
  Serial.begin (9600);
  Serial.println (F("Using Webbino " WEBBINO_VERSION));

  byte mac[] = {
    0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED
  };
  byte ip[] = {
    192, 168, 1, 51//l'ip usato dalla scheda ethernet              //////////////////////////////////////////////////////////////////////
  };                                                               //////////////////////////////////////////////////////////////////////
  byte gw[] = {                                                    //////////////////////////////////////////////////////////////////////
    192, 168, 1, 1//il vostro ip del modem o router                //GW E MASK SONO VISIBILI NELLE IMPOSTAZIONI DI RETE DEL VOSTRO PC////
  };                                                               //////////////////////////////////////////////////////////////////////
  byte mask[] = {                                                  //////////////////////////////////////////////////////////////////////
    255, 255, 255, 0//la net mask                                  //////////////////////////////////////////////////////////////////////
  };                                                               //////////////////////////////////////////////////////////////////////
  //netint.begin (mac);
  netint.begin (mac, ip, gw, mask);

  Serial.print (F("Initializing SD card..."));
  if (!webserver.enableSD (SD_SS)) {
    Serial.println (F(" failed"));
    while (42)
      ;
  }
  Serial.println (F(" done"));

  Serial.println (F("Trying to get an IP address through DHCP"));
  if (!webserver.begin (netint, NULL, substitutions)) {
    Serial.println (F("Failed to get configuration from DHCP"));
    while (42)
      ;
  }
  else {
    Serial.println (F("DHCP configuration done:"));
    Serial.print (F("- IP: "));
    Serial.println (netint.getIP ());
    Serial.print (F("- Netmask: "));
    Serial.println (netint.getNetmask ());
    Serial.print (F("- Default Gateway: "));
    Serial.println (netint.getGateway ());
  }
}

void loop() {
  webserver.loop ();

}

In questo esempio che ti ho creato, nel setup c'è scritto dove devi inserire IP etc della tua configurazione.

P.S. Ho visto adesso la risposta di Sukko e ovviamente ha ragione, come ti avevo linkato sta tutto lì :wink: Io comunque ti ho consigliato di fare questa prova prima dei TAG almeno ti fai la base del tuo codice. (Ah comunque Sukko, il link non si clicca, almeno a me.)