Go Down

Topic: Arduino + Xbee + LM35DZ + Ethernetshield (Read 1 time) previous topic - next topic

mika47

Bonjour à tous,
Je viens à vous parce que je possède deux arduino uno, un capteur de température LM35DZ, une paire de xbee pro serie 1 et un module ethernet. Le but est de  faire afficher la température via une liaison radio sur une page internet.
Mon problème est que la température s'affiche bien sur ma page lorsque je rentre l'adresse IP ainsi que son port mais lorsque j'actualise la page, parfois la température s'efface et j'ai une page blanche.

Avez vous une idée de ce problème? voici le code de la partie "receiver" :
Code: [Select]
#include <SPI.h>
#include <Ethernet.h>

int valeur=0;
// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:
byte mac[] = { 0x90, 0xA2, 0xDA, 0x00, 0x64, 0x0F };
byte ip[] = { 192,168,1, 110 };

// Initialize the Ethernet server library
// with the IP address and port you want to use
// (port 80 is default for HTTP):
Server server(80);

byte string[2];
void setup()
{
  // start the Ethernet connection and the server:
  Ethernet.begin(mac, ip);
 
  Serial.begin(9600);
  server.begin();
}

void loop()
{
  // listen for incoming clients
  Client client = server.available();
  if (client) {
    // an http request ends with a blank line
    boolean currentLineIsBlank = true;
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();
        // if you've gotten to the end of the line (received a newline
        // character) and the line is blank, the http request has ended,
        // so you can send a reply
        if (c == '\n' && currentLineIsBlank) {
          // send a standard http response header
          client.println("HTTP/1.1 200 OK");
          client.println("Content-Type: text/html");
          client.println();

          // output the value of each analog input pin
          if (Serial.available()>0){
            for (int i=0;i<2; i++){
              string[i]=Serial.read();
              delay(100);
              Serial.print(string[i]);
              client.print(string[i]);
            }
           
           
            //valeur=map(valeur,0,1023,0,255);
            //Serial.println(valeur);
            //client.print(valeur);
            //delay(10);
           // Serial.flush();
           
           // delay(2000);
          }
          break;
        }
        if (c == '\n') {
          // you're starting a new line
          currentLineIsBlank = true;
        }
        else if (c != '\r') {
          // you've gotten a character on the current line
          currentLineIsBlank = false;
        }
      }
    }
    // give the web browser time to receive the data
    delay(1);
    // close the connection:
    client.stop();
  }
}


Merci d'avance pour vos réponses,
Cordialement,
Mika47

Go Up