Pages: [1]   Go Down
Author Topic: Compartir Servidor Web para Arduino UNO y Ethernet Shield con SD  (Read 1931 times)
0 Members and 1 Guest are viewing this topic.
Spain
Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

/*
 * Alberto Seva WebServerSD.015t
 *
 * http://dfists.ua.es/~alberto/arduino/arduino.htm
 *
 *
 * Mi proyecto es crear un servidor Web con el “Arduino UNO” (RS  715-4081[1]) y
 * el "ETHernet shield with SD card” (RS 715-4072[2]).
 *
 * [1] http://es.rs-online.com/web/p/products/715-4081/
 * [2] http://es.rs-online.com/web/p/microcontrolador-procesador/7154072/
 *
 * A partir del sketch 'SDWebBrowse.ino', las mejoras de mi código suponen
 * lo siguiente:
 *
 *  * Los nombres de fichero 8.3 que el sistema SdFat es capaz de encontrar,
 *    se guardan en el formato correspondiente a la página de códigos de
 *    MSDOS cp850. Se debe especificar esa página de códigos para que los
 *    enlaces se puedan reconstruir.
 *  * Los nombres 8.3 normalmente no deberían tener caracteres por encima
 *    del 0x7F, pero en algunas de mis tarjetas he descubierto que no es así.
 *    Surge el problema de que los enlaces con caracteres por encima del 0x7F
 *    enviados en los enlaces con formato cp850, regresan con el formto UTF-8
 *    expresado como %C2 ó %C3 y a continuación otro código con el formato
 *    %XX. Esos códigos hay que convertirlos primero a un carácter
 *    equivalente, y luego mediante una tabla totalmente arbitraria, al
 *    carácter correcto en cp850 que sirva en el proceso de búsqueda del
 *    nombre del fichero.
 *  * En el listado de directorio, la rutina es capaz de detectar las entradas
 *    de nombre largo y escribirlas como información aunque sin ninguna opción
 *    de búsqueda real.
 *  * En la petición de ficheros, se intenta mandar información del
 *    content-type de manera correcta. El HTML supone programar muchas cadenas
 *    constantes que hay que almacenar en la zona de programa para que el
 *    programa no se quede sin memoria.
 *  * La transmisión de ficheros usando un buffer, mejora muchísimo el
 *    rendimiento del servidor web.
 *
 * Se ha probado con el Arduino UNO y con el MEGA 2560 (RS 715-4084 [3].
 * Como intento que funcione en el primero, hay unos trucos de ahorro de
 * memoria compartiendo el buffer de entrada.
 *
 * Dos notas adicionales:
 *  * La comunicación serie está definida a 115200 bps.
 *  * Para que funcione y busque los caracteres acentuados, debe modificarse la librería.
 *    SdBaseFile.cpp como se indica en la cabecera del sketch.
 *
 * [3] http://es.rs-online.com/web/p/microcontrolador-procesador/7154084/
 */

* sketch_mar21c004WebServerSD_015m.ino (32.22 KB - downloaded 30 times.)
* sketch_mar21c004WebServerSD_015t.ino (32.04 KB - downloaded 25 times.)
« Last Edit: April 29, 2012, 02:02:27 pm by asevafol » Logged

Orduña- Bizkaia
Offline Offline
Sr. Member
****
Karma: 0
Posts: 317
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

En cuanto me llegue la ethernet shield lo pruebo a ver como va.
Muchas gracias
Logged

Spain
Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

En cuanto me llegue la ethernet shield lo pruebo a ver como va.
Muchas gracias

Gracias por tu interés. En la versión 15t faltaba un unsigned en un sitio, así que la he vuelto a subir. También dejo la 15m que usa algo mas de SRAM pero ocupa almo menos de memoria flash (programa).
Logged

Donostia
Offline Offline
God Member
*****
Karma: 3
Posts: 744
elektronikadonbosco
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

gracias por compartir, me lo apunto para cuando tenga tiempo.  smiley-yell
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 16
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Estoy tratando de mejorar la velocidad de transferencia para un servidor sobre Arduino UNO, por ahora va a 330 bytes/segundo...
si gusta puedo enviar mi código para que me de sugerencias

Saludos,

* UNO_server.ino (9.28 KB - downloaded 34 times.)
Logged

Pages: [1]   Go Up
Jump to: