serveur web arduino
Hors ligneProjetvmc Le 13/04/2014 à 14:44 Profil de Projetvmc Configuration de Projetvmc

bonjour à tous , alors voila je suis novice sur arduino.. je dois faire un site web avec arduino en serveur sans base de donnée . je suis arrivée comme un grand a affiché un capteur hyt221 sur mon site et maintenant c'est que j'aimerais faire pareil sans un autre capteur mettre des fausses valeurs . le problème c'est que je connais pas les instructions je voila mon programme pour 1 capteur :

#include <SPI.h>

#include <Ethernet.h>

#include <Wire.h>

// Entrez une adresse MAC et l'adresse IP de votre commande ci-dessous.

// L'adresse IP sera fonction de votre réseau local:

byte mac[] = {

0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };

IPAddress ip(172,17,50,147);

// Initialize the Ethernet server library

// with the IP address and port you want to use

// (port 80 is default for HTTP):

EthernetServer server(80);

void setup() {

/***********************************/

#define HYT_ADDR 0x28 // Adresse I2C HYT 221, 271, 371 et le reste de la famille

Wire.begin(); // rejoinez le bus i2C en tant que maître

pinMode(13, OUTPUT); // reglez la broche 13 et la sortie de statut LED

//************************************/

// Ouvrez les communications série et attendre pour le port à ouvrir:

Serial.begin(9600);

while (!Serial) {

; // attendre pour le port série pour connecter.

}

// démarrer la connexion Ethernet et le serveur:

Ethernet.begin(mac, ip);

server.begin();

Serial.print("server is at ");

Serial.println(Ethernet.localIP());

}

void loop() {

/*********lecture du capteur********************************/

double humidity;

double temperature;

Wire.beginTransmission(HYT_ADDR); // Commencer la transmission d'un dispositif donné sur le bus I2C

Wire.requestFrom(HYT_ADDR, 4); //Demander 4 octets

//Lire les octets si elles sont disponibles

// Les deux premiers octets sont l'humidité les deux derniers sont la température

if(Wire.available() == 4) {

int b1 = Wire.read();

int b2 = Wire.read();

int b3 = Wire.read();

int b4 = Wire.read();

Wire.endTransmission(); // Fin de transmission et la libération bus I2C

// combiner octets d'humidité et de calculer l'humidité

int rawHumidity = b1 << 8 | b2;

//composé de bits pour obtenir 14 bits mesure deux premiers bits

// sont état / peu de décrochage (voir texte d'introduction)

rawHumidity = (rawHumidity &= 0x3FFF);

humidity = 100.0 / pow(2,14) * rawHumidity; //cf. doc.pdf

// combiner octets de température et de calculer la température

b4 = (b4 >> 2); // Masque trouve à 2 bits de poids faible voir HYT 221 doc

int rawTemperature = b3 << 6 | b4;

temperature = 165.0 / pow(2,14) * rawTemperature - 40;

Serial.print(" Humidite : ");

Serial.print(humidity);

Serial.print("% - Temperature: ");

Serial.print(temperature);

Serial.println("°C");

}

else {

Serial.println("Not enough bytes available on wire.");

}

blinkWait();

/****************Serveur ****************************/

// écouter pour les clients entrants

EthernetClient client = server.available();

if (client) {

Serial.println("new client");

// une requête http se termine par une ligne vide

boolean currentLineIsBlank = true;

while (client.connected()) {

if (client.available()) {

char c = client.read();

Serial.write(c);

// si vous avez obtenu à la fin de la ligne (reçu une nouvelle ligne

// caractère) et la ligne est vide, la requête HTTP est terminée,

// de sorte que vous pouvez envoyer une réponse

if (c == '\n' && currentLineIsBlank) {

//envoyer un en-tête de réponse HTTP standard

client.println("HTTP/1.1 200 OK");

client.println("Content-Type: text/html");

client.println("Connection: close"); // la connexion est fermée après l'achèvement de la réaction

client.println("Refresh: 5"); // actualise la page automatiquement toutes les 5 sec

client.println();

client.println("<!DOCTYPE HTML>");

client.println("<html>");

// sortie la valeur de chaque broche d'entrée analogique

for (int analogChannel = 0; analogChannel < 1; analogChannel++) {

int sensorReading = analogRead(analogChannel);

client.print("Humidité : ");

client.print(humidity);

client.print(" %");

client.print("<br />");

client.print(" Température : ");

client.print(temperature);

client.print(" °C");

client.print("<br />");

}

client.println("</html>");

break;

}

if (c == '\n') {

// vous commencez une nouvelle ligne

currentLineIsBlank = true;

}

else if (c != '\r') {

// vous avez obtenu un caractère sur la ligne courante

currentLineIsBlank = false;

}

}

}

// laisser le temps au navigateur Web pour recevoir les données

delay(1);

// fin de la communication:

client.stop();

Serial.println("client disconnected");

}}

void blinkWait() {

digitalWrite(13, HIGH);

delay(1000);

digitalWrite(13, LOW);

delay(1000);

}

Merci de vous donner la peine de m'aider .

ps: désoler pour les faute d'orthographe

Vous avez résolu votre problème avec VIC ? Faites-le savoir sur les réseaux sociaux !
Vulgarisation-informatique.com
Cours en informatique & tutoriels