Go Down

Topic: Récupération capteur I2C vers site WEB (Read 105 times) previous topic - next topic

Zirkos

Bonjour, je suis en terminale STI2D et je viens vers vous pour vous demandez de l'aide je dois récupérer les données d'un capteur qui est en I2C est affiché les données de ce capteur sur mon site web mais je vois pas comment mettre des données d'un capteur I2C sur un site WEB:

Code: [Select]
#include <SPI.h> //bibliothèqe pour SPI
#include <Ethernet.h> //bibliothèque pour Ethernet
byte mac[] = {0x90, 0xA2, 0xDA, 0x0F, 0x2B, 0xB7}; //adresse mac de votre carte
byte ip[] = {172, 19, 67, 14}; //adresse IP
EthernetServer serveur(80); // déclare l'objet serveur au port d'écoute 80
int val = 0;
const int buttonPin = 2;
int buttonState = 0;
void setup() {
  pinMode(buttonPin, INPUT);
  Serial.begin (9600); //initialisation de communication série
  Ethernet.begin (mac, ip); //initialisation de la communication Ethernet
  Serial.print("\nLe serveur est sur l'adresse : ");
  Serial.println(Ethernet.localIP()); //on affiche l'adresse IP de la connexion
  serveur.begin(); // démarre l'écoute
}
void loop() {
  EthernetClient client = serveur.available(); //on écoute le port
  if (client) { //si client connecté
    Serial.println("Client en ligne\n"); //on le dit...
    if (client.connected()) { // si le client est en connecté
      while (client.available()) { // tant qu'il a des infos à transmettre
        char c=client.read(); // on lit le caractère 
        Serial.write(c);// on l'écrit sur le moniteur série
        delay(1); //delai de lecture
      }
      //réponse au client
     client.println ("HTTP/1.1 200 OK");
      client.println ("Content-Type: text/html; charset=ascii");
      client.println ("Connection: close");
      client.println ( );
      client.println("<meta charset='utf-8'>");
      client.println("<html>"); //début du code html
      client.println("<head>"); //entête
      client.println("<style> body { background-color:skyblue;}</style>");
      client.println ("<META HTTP-EQUIV=\"Refresh\" CONTENT=\"1\">");
      client.println("<header>");
      client.println("<title>Suiveur Solaire</title>"); //titre de la fenêtre
      client.println("</h1>");
      client.println("</head>");//fin d'entête
      client.println("<body>"); //corps
      client.println("<h1><u><p align=center>Suiveur Solaire</p></u></h1>"); //titre en grosse lettres
      client.println("<hr>"); //ligne horizontale
      for (int p=0;p<1;p++){ // boucle pour parcourir les pins
        client.print("<h1>Luminosite en %"); // affichage
        client.print(" : "); // affichage
        val = analogRead(p);
        val = map(val,0,1023,0,100);
        client.print(val);
        client.println("%</h1>");
        client.print("<br>"); //saut de ligne
      }
      for (int p=1;p<2;p++){ // boucle pour parcourir les pins
        client.print("<h1>Valeur potentiometre V"); // affichage
        client.print(" : "); // affichage
        val = analogRead(p);
        val = map(val,0,1023,0,5);
        client.print(val);
        client.println("v</h1>");
        client.print("<br>"); //saut de ligne
      }
       for (int p=2;p<3;p++){
        client.print("<h1>Mise en securite du suiveur solaire si 1"); // affichage
        client.print(" : "); // affichage
        buttonState = digitalRead(p);
        client.print(buttonState);
        client.println("</h1>");
        client.print("<br>"); //saut de ligne
      }
      client.println("<hr>"); //ligne horizontale
      client.println("</body>"); //fin du corps
      client.println("</html>"); //fin du code html
      client.stop(); //on déconnecte le client
      Serial.println("Fin de communication avec le client");
     }
  }
}

hbachetti

A moins que je n'aies pas compris la question ...

Tu veux envoyer des données sur un serveur WEB ?

Un serveur dans ton réseau local ?
Un serveur sur le WEB ?

Ce que tu as écris là est un serveur, pas un client.

Oriente-toi plutôt sur un client : https://github.com/arduino-libraries/Ethernet/blob/master/examples/WebClient/WebClient.ino

Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

Zirkos

En gros j'ai un membre de mon groupe qui prend des valeurs de tension courant et de puissance avec un capteur qui fonctionne en I2C, donc moi j'ai besoin de récupérer c'est données et les afficher sur mon serveur en réseau local.

hbachetti

Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

Go Up