Go Down

Topic: Caricare un sito web su Ethernet shield + SD (Read 3695 times) previous topic - next topic

Rinpe

Ciao a tutti, ho creato un nuovo topic perché non sapevo dove altro postare, spero di non aver fatto male. Vi spiego brevemente quello che in questi mesi sto cercando di fare. Per la mia nuova casa vorrei far in modo di avere l'impianto elettrico gestibile ANCHE da remoto. Dico questo perché farò in modo (fisicamente) che l'impianto elettrico  possa essere stand alone senza il bisogno del software (luci e tapparelle ecc saranno comandati da pulsanti e relè passo passo o/e relè tradizionali).
Volevo quindi interfacciarmi con un unico arduino (arduino UNO) con l'ausilio dell'ethernet shield + SD. Dato che dovrò gestire più ingressi digitali mi sono imbattuto sull'uso dei shift register IN e OUT con un discreto risultato. Sono ancora lontano alla fine del progetto ma ora viene il bello perché devo mettere assieme tutte le cose software. Nella mia testa pensavo si potesse fare un sito web con un programma visuale (tipo dreamweaver o simile per questioni di NON conoscenza e di rapidità) per poi caricarlo nella scheda SD dell'Ethernet Shield. Ho provato a vedere nel forum qualche modo per caricare un intero sito nella scheda sd per poi farlo gestire come web server da arduino. Ad ogni pulsante che creerò lancerò un comando (per es. 192.168.1.100/100 che servirà per accendere (1) l'uscita 00 degli shift register out messi in cascata; per sapere se la luce sarà accesa o meno dato che utilizzo relè passo passoper comandare fisicamente lo stesso relè da più punti interruttori, dovrò implementare qualcosa che andrà a leggere i shift register IN, ma che vedrò più avanti sicuramente col vostro aiuto :-P).
Per arrivare alla domanda specifica di questo topic: si può e come faccio a caricare un sito fatto da un programma visuale per poi farlo gestire da arduino? Ho trovato questo topic in inglese che ne parlava 
http://arduino.cc/forum/index.php/topic,49503.0.html
ma non riesco a capire se è quello che sto cercando e se:
•   Posso creare il sito con pagina principale index.htm e mettere sulla sd tutti gli altri file (comprese cartelle) in modo che con questo sketch vengano caricati tutti i file necessari alla pagina index.htm per essere letta (immagini ecc).
•   Quanto "complesso" può essere un sito web da caricare su SD e gestirlo da arduino? Per complessità intendo immagini di sfondo , immagini sui pulsanti ecc
•   E' la strada giusta e più semplice per quello che vorrei fare secondo voi?
Ringrazio come sempre in anticipo per la vostra disponibilità.
Ciao

Rinpe

Ho fatto un paio di prove molto veloci dal forum che ho postato precedentemente. Ci sono riuscito in qualche modo a caricare un'immagine di sfondo su una pagina web...Devo dire che è veramente lenta e credo che questo mi ha fatto pensare di abbandonare questo approccio per quel che volevo fare e che vi ho descritto.
Penso quindi che la soluzione più facile (ma vorrei cortesemente delle vostre opinioni) sia quello di creare uno sketch base su arduino con il quale dialoga con un sito web "esterno" salvato in un pc o in un tablet ecc. Questo mi permetterebbe di avere un sito web grafico più bello e più veloce. Confermate?
Il difficile (per me) sarebbe poi però capire come dialogare tra sito web e arduino soprattutto per sapere quali pin sono alti (luce accesa) e visualizzare una o più piccole immagini in relazione all'accensione della luce.
Mi confermate che in questa maniera dovrebbe essere più facile fare quel che avevo intenzione di fare? :-P
Grazie
Ciao

pablos

#2
Nov 04, 2012, 03:09 pm Last Edit: Nov 04, 2012, 06:34 pm by pablos Reason: 1
Ho fatto anch'io tempo fa un web server piuttosto pesante per uso domotico caricando pagine html - JS - css da SD, considera che la velocità di un arduino a 16Mhz e un ethernet shield si aggira intorno al 1 Mb/min, quindi immagini di sfondo se puoi evitarle è meglio, ti viene fuori un progetto decente quando usi piccoli file da 45-70kb (immagini tipo png).
Un mio parere spassionato dopo un anno di sperimentazioni, arduino da solo non è indicato per fare domotica o meglio non è sufficiente per farne un unità centrale di elaborazione tantomeno da webserver di questo tipo appesantito ulteriormente da connessioni di rete.

Comunque un altra opzione per un sistema più pesante sarebbe caricare la prima volta tutti i file nel pc che deve visualizzare le pagine facendo un vero e proprio download, poi con i cookie arduino vedrebbe se le pagine sono o meno presenti sul client, altrimenti le carica nuovamente, il sistema risulterebbe lento alla prima connessione, corrisponderebbe ad una pseudo installazione

Altra opzione che non ho ancora provato è passare a arduino due che con i suoi 86Mhz dovrebbe  risultare 5 volte più veloce, trasferiresti 5mb in un minuto anzichè in 5 minuti, tutto da verificare, in ogni caso una velocità inacettabile per un web server. Ci vogliono almeno 400Mhz per un risultato soddisfacente.

ciao
no comment

commax79

Io sono lontano dal risuscirci, ma mettere le immagini online? arduino caricherebbe l'html da sd e reinderizzerebbe per le immagini su un pc o un server...
Sbaglio?

pablos

#4
Nov 11, 2012, 01:48 am Last Edit: Nov 11, 2012, 01:59 am by pablos Reason: 1
Non so cosa intendi per "reinderizzerebbe", ma semplicemente ad una richiesta client es: http://192.168.1.1/index.htm (indirizzo locale arduino - web server) puoi ottenere la pagina web che si trova su SD comprensivi di file css, js ecc
no comment

commax79

Ammetto di essere stato troppo vago, la parte htm pesando di norma pochi kb può essere gestita direttamente da Arduino anche su sd, a quanto ho capito il problema sono le immagini, che se messe su sd vengono caricate lentamente (vista la velocità del processore di Arduino). Pensavo di gestire l' html su sd e le immagini metterle online anziché su sd e inserire l' URL su arduino cosi che il client caricasse l' html da Arduino e le immagini da un sito host (www.tiziocaio.it/immagini/sfondo.jpg).

max95

ciao a tutti,

mi intrometto con una domanda.. ma come faccio ad inglobare una immagine nella pagina htm?

se uso i tag html <img ......></img> mi fa vedere solo un quadratone con un bel ?

l'immagine si trova su sd...

pablos

Quote
a quanto ho capito il problema sono le immagini, che se messe su sd vengono caricate lentamente (vista la velocità del processore di Arduino). Pensavo di gestire l' html su sd e le immagini metterle online anziché su sd e inserire l' URL su arduino cosi che il client caricasse l' html da Arduino e le immagini da un sito host (www.tiziocaio.it/immagini/sfondo.jpg).


La richiesta di avere l'immagine è sempre sulla pagina html della SD, arduino andrà a prenderla dal link www.tizio..., ma sarà sempre lui a passarla al client con i suoi tempi
no comment

uwefed

L' immagine puó essere su qualsiasi server, meglio non su Arduino dato la limitata potenza di calcolo.
Devi mettere il URL completo.
Ciao Uwe

commax79

scusate l'ignoranza ma pensavo che il pc leggesse il link su arduino e andasse a prendere l'immagine sul server, non credevo che arduino si interponesse tra il pc e l'immagine sul server...
Grazie dell'informazione

pablos

Quote
ma mettere le immagini online? arduino caricherebbe l'html da sd e reinderizzerebbe per le immagini su un pc o un server...

ma se hai la possibilità di crearti un sito su un server, perchè farlo su sd ? fai tutto sul server e fai di arduino un client che spedisce ad un php le info necessarie
no comment

Go Up