Station météo connecté

Bonjour, je dois réaliser une station météo connecté avec une Arduino uno, un Shield Ethernet et un capteur BMP280; les valeurs de température, de pression et de hauteur doivent s'afficher sur une page http, en utilisant le Shield comme serveur. Le code permet bien de créer un serveur mais pas d'avoir les valeur du capteur, pourriez vous m'aider svp:

#include <SPI.h>
#include <Ethernet.h>
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BMP280.h>


Adafruit_BMP280 bmp280;
Adafruit_BMP280 bmp;


byte mac[] = { 0x54, 0x34, 0x41, 0x30, 0x30, 0x31 };

IPAddress ip(192, 168, 1, 111);

EthernetServer server(80);

void setup() {
  // Open serial communications
  Serial.begin(57600);
  Ethernet.begin(mac, ip);
  server.begin();
  Serial.print("IP Address: ");
  Serial.println(Ethernet.localIP());
  if (!bmp280.begin()) {
    Serial.println("Ca marche pas dsl!");
    while (true)
      ;
  }
}

void loop() {
  // listen for incoming clients
  EthernetClient client = server.available();
  if (client) {
    Serial.println("new client");
    boolean currentLineIsBlank = true;
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();
        Serial.write(c);
        if (c == '\n' && currentLineIsBlank) {
          client.println("HTTP/1.1 200 OK");
          client.println("Content-Type: text/html");
          client.println("Connnection: close");
          client.println();
          client.println("<!DOCTYPE HTML>");
          client.println("<html>");
          client.println("<meta http-equiv=\"refresh\" content=\"5\">");
          client.println("<br />");

          //bmp280 part


          client.print("Pressure (Pa): ");
          client.println((float)bmp280.readPressure(), 1);

          client.println(" hPa");
          client.println("<br />");
          client.print("Temperature (C): ");
          client.println((float)bmp280.readTemperature(), 1);

          client.println(" °C");
          client.println("<br />");
          client.print("Altitude (m): ");
          client.println((float)bmp280.readAltitude(121.24), 1);

          client.println(" m");
          client.println("<br />");
          Serial.println();



          client.println("</html>");
          break;
        }
        if (c == '\n') {
          currentLineIsBlank = true;
        } else if (c != '\r') {
          currentLineIsBlank = false;
        }
      }
    }

    delay(100);
    // close the connection:
    client.stop();
    Serial.println("Disconnected\n");
  }
}

Bonsoir @thedarklord501

tel quel ton code, peu lisible, aura peu de lecteurs

Vois ici comment le mettre en forme (indentations + balises) :

Inutile de le republier , réédites le message précédent pour que le code y soit correctement publié

De plus détailles ce qui ne fonctionne pas , n'en restes pas à un vague "Mon code ne fonctionne pas'

une fois la mise en forme du code effectuée, donnez nous plus d'info sur ce que vous constatez parce que le code que vous avez posté ne traite aucunement de la partie ethernet...

on dirait que le code a été piqué quelque part...

Merci du conseil, j'ai rééditer le code

il n'a plus rien à voir :slight_smile:

vous le comprenez ?

Oui mais il y a sûrement un détail qui m'échappe car il n'y a aucune erreurs mais il ne permet pas d'afficher les relevés du capteur sur la page web

vous voyez quoi dans le moniteur série et quand vous vous connecter à l'adresse IP du shield ethernet ?

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.