Programme HTML et Arduino

[Fermé]
Signaler
Messages postés
1
Date d'inscription
mardi 17 mai 2016
Statut
Membre
Dernière intervention
17 mai 2016
-
Bonjour,

Dans le but de ma revue finale de projet de sin je cherche quelque réponse à des problémes que j'ai rencontré.
J'ai crée une page HTML, lien ci dessous
Lien: http://guillaume-philip.livehost.fr/Distributeur-de-croquettes.html

A l'aide de l'arduino, d'un shield ethernet, d'un switch et d'une carte SD, je dois programmer une barre de progression et un minuteur, comme vous pouvez le voir sur mon site.
A l'aide d'un programme j'arrive à connecter arduino et HTML mais je ne sais pas du tout comment faire pour nommer la barre de progression et le minuteur pour pouvoir le programmer sur Arduino, je ne sais pas également comment programmer Arduino.
Nous avons a capteur a ultrason et un capteur de poids pour le reservoir et pour la gamelle


Voici le code Arduino pour connecter Html et Arduino:

// --- Inclusion des librairies ---
#include <SPI.h> // librairie SPI - obligatoire avec librairie Ethernet
#include <Ethernet.h> // librairie Ethernet
#include <SD.h> // librairie SD

// size of buffer used to capture HTTP requests
#define REQ_BUF_SZ 20

//--- l'adresse mac = identifiant unique du shield
// à fixer arbitrairement ou en utilisant l'adresse imprimée sur l'étiquette du shield
byte mac[] = { 0x90, 0xA2, 0xDA, 0x00, 0x9C, 0x12};//----- l'adresse IP fixe à utiliser pour le shield Ethernet ---
IPAddress ip(192,168,0,21); // l'adresse IP locale du shield Ethernet 172,19,98,17
EthernetServer server(80); // crée un objet serveur utilisant le port 80 = port HTTP
File webFile; // handle to files on SD card
char HTTP_req[REQ_BUF_SZ] = {0}; // buffered HTTP request stored as null terminated string
char req_index = 0; // index into HTTP_req buffer

void setup()
{
// disable Ethernet chip
pinMode(10, OUTPUT);
digitalWrite(10, HIGH);

Serial.begin(9600); // for debugging

// initialize SD card
Serial.println("Initializing SD card...");
if (!SD.begin(4)) {
Serial.println("ERROR - SD card initialization failed!");
return; // init failed
}
Serial.println("SUCCESS - SD card initialized.");
// check for index.htm file
if (!SD.exists("Distri.htm")) {
Serial.println("ERROR - Can't find Distri.htm file!");
return; // can't find index file
}
Serial.println("SUCCESS - Found Distri.htm file.");

Ethernet.begin(mac, ip); // initialize Ethernet device
server.begin(); // start to listen for clients

}

void loop()
{
EthernetClient client = server.available(); // try to get client

if (client) { // got client?
boolean currentLineIsBlank = true;
while (client.connected()) {
if (client.available()) { // client data available to read
char c = client.read(); // read 1 byte (character) from client
// buffer first part of HTTP request in HTTP_req array (string)
// leave last element in array as 0 to null terminate string (REQ_BUF_SZ - 1)
if (req_index < (REQ_BUF_SZ - 1)) {
HTTP_req[req_index] = c; // save HTTP request character
req_index++;
}
Serial.print(c); // print HTTP request character to serial monitor
// last line of client request is blank and ends with \n
// respond to client only after last line received
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("Connection: keep-alive");
client.println();
// open requested web page file
if (StrContains(HTTP_req, "GET / ")
|| StrContains(HTTP_req, "GET /Distri.htm")) {
webFile = SD.open("Distri.htm"); // open web page file

}

else if (StrContains(HTTP_req, "GET /Distri.jpg")) {
webFile = SD.open("Distri.jpg"); // open web page file

}

// send web page to client
if (webFile) {
while(webFile.available()) {
client.write(webFile.read());
}
webFile.close();
}
// reset buffer index and all buffer elements to 0
req_index = 0;
StrClear(HTTP_req, REQ_BUF_SZ);
break;
}
// every line of text received from the client ends with \r\n
if (c == '\n') {
// last character on line of received text
// starting new line with next character read
currentLineIsBlank = true;
}
else if (c != '\r') {
// a text character was received from client
currentLineIsBlank = false;
}
} // end if (client.available())
} // end while (client.connected())
delay(1); // give the web browser time to receive the data
client.stop(); // close the connection
} // end if (client)
}

// sets every element of str to 0 (clears array)
void StrClear(char *str, char length)
{
for (int i = 0; i < length; i++) {
str[i] = 0;
}
}

// searches for the string sfind in the string str
// returns 1 if string found
// returns 0 if string not found
char StrContains(char *str, char *sfind)
{
char found = 0;
char index = 0;
char len;

len = strlen(str);

if (strlen(sfind) > len) {
return 0;
}
while (index < len) {
if (str[index] == sfind[found]) {
found++;
if (strlen(sfind) == found) {
return 1;
}
}
else {
found = 0;
}
index++;
}

return 0;

}

Merci d'avance pour votre aide