Buongiorno,
sto provando a far funzionare l'esempio blinkled della libreria TinyWebServer ma senza risultati.
Ho
Una scheda arduino uno
Una shield ethernet sainsmart
Una sd da 2 gb formattata fat 16
Ho provato a fare l'upload dei file con il file batch allegato ma dalla seriale di arduino vedevo che non scriveva nulla sulla sd.
Ho quindi copiato manualmente sulla sd sotto upload i file.
Il server web risponde ma quando apro index.htm sul browser questo mi dice:
Could not find file: INDEX.HTM
L'indirizzo che do è: http://10.0.0.22/upload/index.htm
Qualcuno ha qualche indicazione aggiuntiva per farlo funzionare ?
Grazie, Alberto
P.S. Uso l'ide 1.0.6 ..... ma ho provato anche con altri meno recenti ma non risolve, anche perchè non ho problemi di compilazione
Prova a non usare subdirectory, il file mettilo nella root della SD http://10.0.0.22/index.htm
Si Pablos, avevo già provato ........ niente 
Nel monitor seriale mi sembra ok:
Free RAM: 6182
Setting up SD card...
Setting up the Ethernet card...
Web server starting...
Ready to accept HTTP requests.
Non riesco proprio a capire ........ va a tutti meno che a me.
Non so più dove e cosa inventare
Se leggo la sd sul monitor seriale vedo:
Initializing SD card...Wiring is correct and a card is present.
Card type: SD2
Volume type is FAT16
Volume size (bytes): 2012839936
Volume size (Kbytes): 1965664
Volume size (Mbytes): 1919
Files found on the card (name, date and size in bytes):
INDEX.HTM 2014-10-13 11:56:44 695
JQUERY.JS 2014-10-13 11:56:44 94020
LIGHTS.PNG 2014-10-13 11:56:44 55830
MAIN.JS 2014-10-13 11:56:44 1501
STYLE.CSS 2014-10-13 11:56:44 341
Tutto Ok .... ma non va
Lo sketch e la lib da dove l'hai presa? metti il link che ci do un occhiata
Un'altra cosa ....... io ho un ethernet shield SainSmart che non ha il mac stampato.
Uso quello che sta nel codice ........ va bene no ?
Il server, pingandolo, risponde.
Grazie, Alberto
Si il MAC va bene, e quella lib funziona, probabilmente non si inizializza correttamente lo shield, perche il 10.0.0.1 risponde dicendoti FILE NOT FOUND
Nemmeno con l'webserver di esempio nell'ide funziona? quello che manda 5 valori analogici sulla pag web, se non va nemmeno quello il prob è da ricercare sullo shield
Il webserverSD e il SimpleWebServer mi mostra HELLO Word .... niente di più
m.alverman:
Il webserverSD e il SimpleWebServer mi mostra HELLO Word .... niente di più
non so a cosa ti riferisci .... io a questo
#include <SPI.h>
#include <Ethernet.h>
// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:
byte mac[] = {
0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED
};
IPAddress ip(192, 168, 1, 177);
EthernetServer server(80);
void setup() {
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for Leonardo only
}
Ethernet.begin(mac, ip);
server.begin();
Serial.print("server is at ");
Serial.println(Ethernet.localIP());
}
void loop() {
EthernetClient client = server.available();
if (client) {
Serial.println("new client");
// an http request ends with a blank line
boolean currentLineIsBlank = true;
while (client.connected()) {
if (client.available()) {
char c = client.read();
Serial.write(c);
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: close"); // the connection will be closed after completion of the response
client.println("Refresh: 5"); // refresh the page automatically every 5 sec
client.println();
client.println("<!DOCTYPE HTML>");
client.println("<html>");
// output the value of each analog input pin
for (int analogChannel = 0; analogChannel < 6; analogChannel++) {
int sensorReading = analogRead(analogChannel);
client.print("analog input ");
client.print(analogChannel);
client.print(" is ");
client.print(sensorReading);
client.println("
");
}
client.println("</html>");
break;
}
if (c == '\n') {
// you're starting a new line
currentLineIsBlank = true;
}
else if (c != '\r') {
// you've gotten a character on the current line
currentLineIsBlank = false;
}
}
}
delay(1);
client.stop();
Serial.println("client disconnected");
}
}
che mostra i valori analogici con refresh del client ogni 5 sec
File > Esempi > Ethernet > WebServer.ino
Pensavo che ti riferivi agli esempi inclusi nella libreria tiny 
Quelli della libreria ethernet funzionano !!
m.alverman:
Quelli della libreria ethernet funzionano !!
Sono sconcertato, uso la tinyweb da diversi anni modificata un po' e ritengo sia la lib migliore sul mercato
, la conosco molto bene, ci faccio di tutto e di più, so con certezza che funziona ... non so che dirti, non dovrebbe darti quegli errori .... se vuoi fare uno zip di quello che hai e lo provo sul mio ... anche se ho un hardware diverso in base a quello che hai detto dovrei avere problemi anch'io
ciao
Ciao Pablos, non sto mettendo in discussione il suo funzionamento ...... so che funziona !!
Ho appunto girato il web in lungo e in largo e non ho mai trovato nessun che mostrasse problemi di alcun genere.
Quindi il problema è solo mio, solo che avendo provato la libreria con diverse schede, arduino uno, uno versione 3 e mega e avendo sempre lo stesso problema non so più cosa provare.
Di shield ethernet ne ho due, una senza sd originale arduino e una con sd, arrivata ieri appositamente per questa prova, non originale targata SainSmart.
L'unica cosa anomala è che se uso il file batch con curl i file non vengono salvati sulla sd e devo caricarli manualmente.
Boh, non so più che pesci pigliare.
Comunque grazie per l'interesse.
Un saluto, Alberto
Che dire .... questo http://kellykeeton.com/2013/08/06/webpower/ funziona alla grande maaaaa ... non è il tiny :0
Quel progetto usa webduino e la lib non gestisce l'sd.
La tiny può essere debuggata, controlla le request che non arrivino sbagliate o non arrivino proprio
cambia nel file cpp la prima linea
#define DEBUG 0
in
#define DEBUG 1
apri il monitor seriale e leggi molte info di quello che sta facendo
Provato ........
questo è il tutto, ma non riesco a capire cosa dovrei vedere se funzionasse.
Free RAM: 550
Setting up SD card...
Setting up the Ethernet card...
Web server starting...
Ready to accept HTTP requests.
TWS:New request: GET /upload/index.htm HTTP/1.1
Host: 192.168.50.177
Connection: keep-alive
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,/;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36
Accept-Encoding: gzip,deflate,sdch
Accept-Language: it-IT,it;q=0.8,en-US;q=0.6,en;q=0.4
TWS:Returning 200
TWS:New request: GET /favicon.ico HTTP/1.1
Host: 192.168.50.177
Connection: keep-alive
Accept: /
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36
Accept-Encoding: gzip,deflate,sdch
Accept-Language: it-IT,it;q=0.8,en-US;q=0.6,en;q=0.4
TWS:Returning 200
Ho inserito qualche istruzione nello sketch per vedere se riconosceva la sd e il suo contenuto mentre era in funzione il server e sembra che tutto sia ok.
Questo è quello che visualizzo a monitor:
Free RAM: 368
Setting up SD card...
vol.init success!
openRoot success!
Has filesystem!
Card type: SD2
Volume type is FAT16
Volume size (bytes): 2012839936
Volume size (Kbytes): 1965664
Volume size (Mbytes): 1919
Files found on the card (name, date and size in bytes):
UPLOAD/ 2014-10-17 11:48:58
INDEX.HTM 2014-10-15 19:25:18 695
JQUERY.JS 2014-10-15 19:25:18 94020
LIGHTS.PNG 2014-10-15 19:25:18 55830
MAIN.JS 2014-10-15 19:25:18 1501
STYLE.CSS 2014-10-15 19:25:18 341
Setting up the Ethernet card...
Web server starting...
Ready to accept HTTP requests.
TWS:New request: GET /upload/index.htm HTTP/1.1
Host: 192.168.50.177
Connection: keep-alive
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,/;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36
Accept-Encoding: gzip,deflate,sdch
Accept-Language: it-IT,it;q=0.8,en-US;q=0.6,en;q=0.4
TWS:Returning 200
TWS:New request: GET /favicon.ico HTTP/1.1
Host: 192.168.50.177
Connection: keep-alive
Accept: /
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36
Accept-Encoding: gzip,deflate,sdch
Accept-Language: it-IT,it;q=0.8,en-US;q=0.6,en;q=0.4
TWS:Returning 200
Niente da fare .... sono due giorni che ci giro attorno e ho deciso di prendere una ethernet shield, con sd, originale arduino ....... vedremo.
In effetti qualcosa manca dall'header del client ... ora faccio pappa e dopo stampo le mie request
Vedo che stai caricando da win 7 64bit tramite chrome con questa richiesta
TWS:New request: GET /upload/index.htm HTTP/1.1 quindi di nuovo da una subdirectory e non credo che le sub la tiny le gestisca, non l'ho mai fatto e comunque sei andato oltre l'esempio base 
la tinywebserver non ti chiede di specificare il file, devi solo scrivere http://192.168.x.x
index.htm è già compreso nel percorso root se non scrivi nulla
lo fa questa linea send_file_name(web_server, "INDEX.HTM");
vedo che ti chiede anche un file ico
TWS:New request: GET /favicon.ico HTTP/1.1
prendi un immagine icona e nomina favicon.ico, se non lo trova ti fa perdere tempo e rallenta tutto
Io non uso quasi mai chrome lo odio perchè secondo me è poco pratico, hai mai provato con firefox? io mi trovo bene e ho sempre usato quello ...
se inserisci nella SD un file qualunque può essere letto con ES: http://192.168.x.x/file.txt, puoi leggere tutti i file direttamente in questo caso specificandolo nel path, prova con un altro file .... tutti i file purchè le estensioni siano comprese nella lib altrimenti vanno aggiunte .. ad esempio un file.ini verrà letto ma visualizzato in modo scorretto