#include <SPI.h>
#include <Ethernet.h>
#include <SD.h>
#define DEBUG_SD
#define DEBUG_ETHERNET
#define SS_SD_CARD 4
#define SS_ETHERNET 10
byte mac [] = {
0x90, 0xA2, 0xDA, 0x0F, 0x38, 0x18};
IPAddress ip (192, 168, 2, 235);
EthernetServer server(80);
void setup()
{
pinMode(SS_SD_CARD, OUTPUT);
pinMode(SS_ETHERNET, OUTPUT);
digitalWrite(SS_SD_CARD, HIGH);
digitalWrite(SS_ETHERNET, HIGH);
Serial.begin(9600);
SDCardCode_init();
ethernetCode_init();
}
void loop()
{
ethernetCode();
SDCardCode();
}
void SDCardCode_init() {
// ...
digitalWrite(SS_SD_CARD, LOW); // SD Card ACTIVE
if (!SD.begin(SS_SD_CARD)) {
Serial.println(F("Card failed, or not present"));
// don't do anything more:
return;
}
else {
Serial.println(F("card initialized."));
}
digitalWrite(SS_SD_CARD, HIGH); // SD Card not active
// ...
}
void SDCardCode()
{
digitalWrite(SS_SD_CARD, LOW);
String dataString = "";
for (int analogPin = 0; analogPin < 1; analogPin++)
{
int sensor = analogRead(analogPin);
dataString+=String(sensor);
}
File dataFile = SD.open( "DATA.txt", FILE_WRITE);
delay (5000) ;
if (dataFile)
{
dataFile.println(dataString);
dataFile.close();
Serial.println(dataString);
}
else
{
Serial.println(F("error opening data.txt"));
}
digitalWrite(SS_SD_CARD, HIGH);
}
void ethernetCode_init()
{
digitalWrite (SS_ETHERNET, LOW);
Ethernet.begin(mac,ip);
server.begin();
#ifdef DEBUG_ETHERNET
Serial.print(F("server is at"));
Serial.println(Ethernet.localIP());
#endif
digitalWrite(SS_ETHERNET, HIGH);
}
void ethernetCode()
{
digitalWrite(SS_ETHERNET, LOW);
EthernetClient client = server.available();
if (client)
{
Serial.println(F("new client"));
boolean currentLineIsBlank = true;
while (client.connected())
{
if (client.available())
{
char c = client.read();
Serial.write (c);
if (c=='\n' && currentLineIsBlank)
{
client.println(F("HTTP/1.1 200 OK"));
client.println(F("Content-Type: text/html"));
client.println(F("Connexion : close"));
client.println();
// client.println(F("<!DOCTYPE HTML>"));
// client.println(F("<HTML>"));
File dataFile = SD.open ("DATA.txt", FILE_READ);
if (dataFile)
{
while(dataFile.available())
{
client.write(dataFile.read());
}
dataFile.close();
}
else
{
Serial.println("error opening data.txt");
}
break;
}
//client.println(F("</html>"));
if (c== '\n')
{
currentLineIsBlank = true;
}
else if (c!= '\r')
{
currentLineIsBlank = false;
}
}
}
delay(1);
client.stop();
Serial.println(F("client disconnected"));
digitalWrite(SS_ETHERNET, HIGH);
}
}
Petite question pour la mise en page, sur ce code, je ne sais pas ou mettre les balises HTML dont j'ai besoin, si je dois les mettre dans la fonction ethernet, enfin je suis un peu paumé^^ Je veux juste les afficher sous forme de colonne, parce que là elles s'affichent les unes après les autres ! J'ai essayé plusieurs truc sans que ca marche^^