Arduino serveur ethernet impossible ouvrir fichier carte SD

Fermé
louis.travaux Messages postés 3 Date d'inscription samedi 28 mars 2020 Statut Membre Dernière intervention 28 mars 2020 - 28 mars 2020 à 14:36
louis.travaux Messages postés 3 Date d'inscription samedi 28 mars 2020 Statut Membre Dernière intervention 28 mars 2020 - 28 mars 2020 à 15:51
Bonjour,
Je souhaite lire un fichier texte sur la carte sd et l'afficher sur le client web.
Le problème c'est qu'à chaque fois que je me connecte, la page internet affiche le message d'erreur que j'ai placé à l'échec d'ouverture du fichier (appelé webFile).

#include <SPI.h>
#include <SD.h>
#include <Ethernet.h>

byte mac[] = {0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6};
IPAddress ip(192,168,0,51);
EthernetServer serveur(80);

const int chipSelect = 4;

void setup() {
Serial.begin(9600);
if (!Serial){
;
}

//SD
Serial.print("Initialisation SD...");
if (!SD.begin(chipSelect)) {
Serial.println("Erreur.");
while(1);
}
Serial.println("fait.");

if (!SD.exists("test.txt")){
Serial.println("fichier inexistant");
return;
}
Serial.println("fichier trouvé"); //le fichier est bien trouvé (pas d'erreur jusque là)

//ETHERNET
Ethernet.begin(mac, ip);
Serial.print("IP Address : ");
Serial.println(Ethernet.localIP());
serveur.begin();
Serial.println("PRET !");
}

void loop() {
ardServ();
}

void ardServ(){
EthernetClient client = serveur.available();
if (client){
if (client.connected()){
header(client);
contenuPage(client);
client.stop();
}
}
}

void header(EthernetClient cl) {
while (cl.available()) {
char c = cl.read();
Serial.print(c);
}
}

void contenuPage(EthernetClient cl){
File webFile = SD.open("TEST.TXT", FILE_READ);

if (webFile) {
while (webFile.available()) {
cl.write(webFile.read());
}
}
else {
cl.println("<!DOCTYPE html><html>Erreur ouverture test.txt</html>"); //message d'erreur
}

webFile.close();
}


J'espère que l'un d'entre vous saura m'aider.
A voir également:

3 réponses

yg_be Messages postés 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476
28 mars 2020 à 14:54
bonjour, il me semble que tu mets parfois, mais pas toujours, le nom du fichier en majuscules: pourquoi?
0
louis.travaux Messages postés 3 Date d'inscription samedi 28 mars 2020 Statut Membre Dernière intervention 28 mars 2020
28 mars 2020 à 14:59
C'était pour essayer, voir si ça change quelque chose, mais ça ne change rien.
0
louis.travaux Messages postés 3 Date d'inscription samedi 28 mars 2020 Statut Membre Dernière intervention 28 mars 2020
28 mars 2020 à 15:51
Quand je veux ouvrir le fichier depuis le void setup() ça marche très bien, mais quand c'est dans le loop() ou dans une autre void que setup ça ne fonctionne pas.
0