[Ayuda] Mostrar imagenes en pagina html

Hola que Tal!?

Basicamente lo que estoy necesitando hacer y entender es como leer las imagenes desde la sd que trae la ethernet de arduino para poder mostrarlas por la pagina html.

encontre este codigo en Arduino Tutorials - Ethernet+SD pero me tirar muchos errores. uno de ellos es este:
“call to ‘SdBaseFile::readDir’ declared with attribute error: use readDir(&dir)”

ESTE ES EL CODIGO
#include <SdFat.h>
#include <SdFatUtil.h>
#include <Ethernet.h>

/************ ETHERNET STUFF ************/
byte mac = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip = { 192, 168, 1, 177 };
EthernetServer server(80);

/************ SDCARD STUFF ************/
Sd2Card card;
SdVolume volume;
SdFile root;

// store error strings in flash to save RAM
#define error(s) error_P(PSTR(s))

void error_P(const char* str) {
PgmPrint("error: ");
SerialPrintln_P(str);
if (card.errorCode()) {
PgmPrint("SD error: ");
Serial.print(card.errorCode(), HEX);
Serial.print(’,’);
Serial.println(card.errorData(), HEX);
}
while(1);
}

void setup() {
Serial.begin(9600);

PgmPrint("Free RAM: ");
Serial.println(FreeRam());

// initialize the SD card at SPI_HALF_SPEED to avoid bus errors with
// breadboards. use SPI_FULL_SPEED for better performance.
pinMode(10, OUTPUT); // set the SS pin as an output (necessary!)
digitalWrite(10, HIGH); // but turn off the W5100 chip!

if (!card.init(SPI_HALF_SPEED, 4)) error(“card.init failed!”);

// initialize a FAT volume
if (!volume.init(&card)) error(“vol.init failed!”);

PgmPrint(“Volume is FAT”);
Serial.println(volume.fatType(),DEC);
Serial.println();

if (!root.openRoot(&volume)) error(“openRoot failed”);

// list file in root with date and size
PgmPrintln(“Files found in root:”);
root.ls(LS_DATE | LS_SIZE);
Serial.println();

// Recursive list of all directories
PgmPrintln(“Files found in all dirs:”);
root.ls(LS_R);

Serial.println();
PgmPrintln(“Done”);

// Debugging complete, we start the server!
Ethernet.begin(mac, ip);
server.begin();
}

void ListFiles(EthernetClient client, uint8_t flags) {
// This code is just copied from SdFile.cpp in the SDFat library
// and tweaked to print to the client output in html!
dir_t p;
Serial.println(“list!”);

root.rewind();
while (root.readDir(p) > 0) {
Serial.print(“read file”);
// done if past last used entry
if (p.name[0] == DIR_NAME_FREE) break;

// skip deleted entry and entries for . and …
if (p.name[0] == DIR_NAME_DELETED || p.name[0] == ‘.’) continue;

// only list subdirectories and files
if (!DIR_IS_FILE_OR_SUBDIR(&p)) continue;

// print any indent spaces
client.print(’ ');

// print file name with possible blank fill
//root.printDirName(*p, flags & (LS_DATE | LS_SIZE) ? 14 : 0);

uint8_t w = 0;
for (uint8_t i = 0; i < 11; i++) {
if (p.name == ’ ') continue;

  • if (i == 8 ) {*
  • client.print(’.’);*
  • }*
    _ client.print(p.name*);_
    _
    }_
    if (DIR_IS_SUBDIR(&p)) {
    _
    client.print(’/’);_
    _
    }_
    _
    // print modify date/time if requested*_
    * if (flags & LS_DATE) {
    _
    root.printFatDate(p.lastWriteDate);_
    _
    client.print(’ ‘);_
    _
    root.printFatTime(p.lastWriteTime);_
    _
    }_
    _
    // print size if requested*_
    * if (!DIR_IS_SUBDIR(&p) && (flags & LS_SIZE)) {
    _
    client.print(’ ');_
    _
    client.print(p.fileSize);_
    _
    }_
    _
    client.println("_
    _
    ");_
    _
    }_
    _
    }_
    void loop()
    _
    {_
    _
    EthernetClient client = server.available();_
    _
    if (client) {_
    _
    // an http request ends with a blank line*_
    * boolean current_line_is_blank = true;
    _
    while (client.connected()) {_
    _
    if (client.available()) {_
    _
    char c = client.read();_
    _
    // if we’ve gotten to the end of the line (received a newline*_
    * // character) and the line is blank, the http request has ended,*
    * // so we can send a reply*
    * if (c == ‘\n’ && current_line_is_blank) {
    _
    // send a standard http response header*_
    * client.println(“HTTP/1.1 200 OK”);*
    * client.println(“Content-Type: text/html”);*
    * client.println();*

* // print all the files, use a helper to keep it clean*
* //ListFiles(client, 0);*
* client.println(“

Files:

”);*
* ListFiles(client, 0);*

* break;*
* }*
* if (c == ‘\n’) {*
* // we’re starting a new line*
* current_line_is_blank = true;
_
} else if (c != ‘\r’) {_
_
// we’ve gotten a character on the current line*_
* current_line_is_blank = false;
_
}_
_
}_
_
}_
_
// give the web browser time to receive the data*_
* delay(1);*
* client.stop();*
* }*
}

Prueba de compilarlo con una versión del IDE 0023 o inferior.

https://code.google.com/p/arduino/downloads/list

Prueba de compilarlo con una versión del IDE 0023 o inferior.

https://code.google.com/p/arduino/downloads/list

probe y no me funciono. me tiro mas errores de los que tenia :frowning:

o alguien que me ayude o brinde un codigo para colocar imagenes en la sd y que en el html programado en el arduino los muestre en la pagina.

Me parece muy interesante el foro, me gustaria consultar como puedo guardar una imagen en la sd de unos 60kb aproximadamnte para luego enviarla via wi fi, es que estoy haciendo pruebas con una tarjeta wifi pero que no es la de ARDUINO, es una ESP 8266, LO QUE QUIERO ES DEJAR EL ARDUINO COMO SERVIDOR, ESO YA LO CONSEGUI, PERO QUIERO ENVIAR UNA IMAGEN PARA SER MOSTRADA EN UN SERVIDOR, E ENCONTRADO MUCHOS FOROS PERO SOLO CON LA SHIELD ETHERNET DE ARDUINO, NO ENCUENTRO NADA CON CONEXION WIFI.

aGRADESERE MUCHO SI ALGUIEN ME PUEDE AYUDAR.