Go Down

Topic: [Risolto] Caricare file su microSD (Read 2 times) previous topic - next topic

53RG10

Jul 17, 2012, 05:39 pm Last Edit: Jul 19, 2012, 09:34 am by 53RG10 Reason: 1
Che voi sappiate, c'è un modo per caricare i file sulla microSD tramite l'ethernet shield senza dover togliere continuamente la microSD?

niki77

Sii più preciso, che cosa vuoi fare? Salvare file a spasso sulla ad da una pagina web?
In quel caso devi avere uno sketch che utilizza tinywebserver o simili.
E questo che ti serve?
Vi è una spiegazione scientifica a tutto.
La fede è solo quell'anello che si porta al dito dopo il matrimonio.

53RG10

Voglio salvare i file da una pagina web, la quale si trova o sulla microSD o su un sito esterno (preferibile), ma se è più semplice da fare va bene anche se è sulla microSD, tanto non ho necessità di caricare i file dall'Australia.
Avevo pensato di usare l'esempio FileUpload della libreria TinyWebServer, ma non ho ben capito come interfacciare questo esempio con lo script per l'upload, dato che di php non me ne intendo.
Lo script che uso è questo http://www.ajaxf1.com/download.html?item=12
ma va bene qualsiasi script, basta che funziona!

Caricando su arduino lo sketch FileUpload, dopo aver aperto la pagina index.htm e cliccando sul link della pagina per l'upload si apre una pagina del browser con scritto: Could not found file: INDEX.PHP (anche se nel link il collegamento è a index.php)
Invece, caricando lo sketch BlinkLed, si apre tutto normalmente, ma quando clicco su upload, la barra di caricamento rimane ferma, come se stesse ancora caricando, anche se aspetto 10-15 minuti.
In entrambi i casi lo stesso avviene se il collegamento è fatto su un sito esterno (in questo caso questo sito di altervista che sto usando per fare delle prove http://arduhome.altervista.org/ajaxupload/index.php).

niki77

Guarda, non credo che arduino sia in grado di processare file php . (anzi ne sono proprio sicuro!)

Gli unici siti che puoi gestire (e se ti sembra poco vuol dire che sei troppo esigente per questa tecnologia) sono fatti in html e javascript, ovvero tutti linguaggi che vengono renderizzati lato client.
Puoi incorporare jquery ed utilizzarne le funzioni, puoi anche ospitare tutte le pagine del sito sulla SD,ma ricordati che hai la limitazione sui nomi file in formato dos 8+3.
Per fare l'upload di file da pc verso la SD ,come dicevamo ti serve tiniwebserver caricato e funzionante con l'esempio FileUpload, ma anche, anzi forse meglio , BlinkLed (anche in questo progetto è stato implementato l'handler per l'upload).
Una volta che hai questo funzionante puoi procedere a caricare file nella sd tramite un software che si chiama CURL .
L'autore ha creato anche un file bat che permette il caricamento di tutti i file contenuti in una cartella (static) direttamente sulla SD, ma richiede lo scaricamento del file che ti ho menzionato prima ( link al sito http://curl.haxx.se/).
Volendo si può anche caricare un file sulla sd creando una pagina html apposita, ma è uno SBOCCO DE SANGUE!
Io ci ho messo quasi un giorno intero a farla funzionare e mi manca ancora la gestione della progressione di upload!
Intanto vedi se riesci a caricare tramite CURL e il bat fornito negli esempi dall'autore, poi in caso per il caricamento diretto da pagina web ne riparliamo  :smiley-mr-green:
Per non farti perdere tempo inutilmente ti dico solo di lasciar perdere gli script di upload che trovi sulla rete perchè utilizzano un approccio diverso, non supportato dall'handler previsto di default col tinywebserver.
Vi è una spiegazione scientifica a tutto.
La fede è solo quell'anello che si porta al dito dopo il matrimonio.

53RG10

Grazie per la risposta, avevo già notato l'opzione curl girando per il web, ma non ho capito un accidenti di come devo implementarla  :smiley-sweat: sul forum di arduino avevo visto questa parte di codice (se la memoria non mi inganna era così) curl -0 -T "nome_del_file" http://192.168.1.177/ (che è l'indirizzo che uso io) ma dove glielo dovrei mettere???
In alternativa stavo pensando...non si potrebbero trasferire i file tramite FTP? Ad esempio con FileZila? A dire la verità ci ho già provato, ma non funziona (ovviamente, altrimenti non sarei qui).

Grazie ancora per l'aiuto e perdona la mia ignoranza in materia  :P

Go Up