Salve, sto cominciando a costruire un web server domotico che in seguito verrà presentato come progetto per l'esame di maturità .
La mia idea è quella di controllare da remoto degli attuatori (in questo caso simulati dai led).
Cercando sul forum ho trovato il codice postato da 'pablos' Accendere led con arduino da web - Software - Arduino Forum,
partendo da quel codice ho aggiunto la lettura di due sensori e adesso sto provando a rendere più compatta e "bella" la pagina html.
Nel fare questo sto riscontrando dei problemi:
1)Nonostante abbia inserito delle righe vuote gli stati degli attuatori appaiono a fianco alla tabella (vedi foto)
2)Come faccio a cambiare il colore della scritta "Acceso" o "spento"
Riguardo alle scritte accanto alla tabella noto che il codice della riga della luminosità ha una cella in meno rispetto a quella della temperatura, prova intanto a modificare aggiungendo un altro client.println("").
Purtroppo ti rispondo dal tablet e non posso fare prove in ogni caso per la grafica della pagina html potresti provare ad usare dreamweaver o il più semplice microsoft frontpage e copiare dentro lo sketch l'html che ne viene fuori...
Per le altre domande la parola a chi se ne intende di più...
Per andare a capo in pagine html devi usare "
" e non una riga vuota. Gli spazi html se ne frega.
Sempre che il tutto non sia una tabella, nel qual caso devi portare quella parte in nuova riga come suggerito da @Lippi90
i colori di acceso spento sono su questa riga value="Acceso" STYLE="background-color:#00FF00 #00FF00 è il codice hex verde, se vai sulle tabelle color html o generatori tipo jaykay - Hex Colour Codes, ce ne sono a centinaia di pagine sui colori
Per le oscillazioni dei valori, dipende dallo schema, dall'alimentazione, dai campionamenti ecc, se cerchi sull'argomento trovi abbastanza.
grazie a tutti per le risposte, il problema dell'allineamento delle scritte a fianco della tabella era dovuto al fatto che questa era allineata a sinistra
per quanto riguarda il pulsante per aggiornare i sensori preferirei se possibile inserirlo, nonostante abbia già inserito il refresh automatico della pagina.
per la grafica della pagina non posso usare dreamwear perche uso linux ma ora che mi hai consigliato mi documenterò
per le scritte colorate ho risolto.
devo ancora documentarmi per quanto riguarda il sensore di temperatura.
Volevo sapere se fosse possibile caricare lo sketch sulla scheda micro sd per poi eseguirlo da arduino e in caso come dovrebbe essere il codice per aprire lo sketch che si trova nella micro sd e avviarlo.
Specifico che al momento sto usando arduino mega 2560 + ethernet shield
attento a come imposti le domande perchè quello che chiedi è un argomento molto complesso le persone che l'hanno fatto le conti su una mano e non mi sembri preparato per questo tipo di cose
No intendevo proprio caricare gli sketch da sd ma non mi sembra il caso visto quello che bisognerebbe fare.
come funziona il caricare la pagina html su sd? poi come faccio ad integrarla col programma?
caricando la pagina html su sd posso eventualmente inserire anche delle immagini (che fanno parte della pagina html) sulla scheda sd?
grazie
TuonoPayne:
come si possono includere delle immagini presenti nella sd nella pagina html scritta con le client.print?
non puoi, dovresti codificarla in char e piazzarla in ram per poi inviarla col client. print, non hai ram sufficiente per farlo. In tal caso si ovvia caricando interamente la pagina html da sd senza usare client.print ma client.write, sarà l'struzione sull' html scr....img a richiamare il file. che sarà tipo image.jpg
A questo punto non avrai più un problema di ram, ma di velocità ... i tempi sono di circa 1MB/minuto, in breve le tue pagine devono comunque essere leggere comprese le immagini, a meno che non crei una connessione websocket facendo una sorta di installazione sul client prelevando il necessario dalla SD la prima volta, nei successivi collegamenti ad arduino non dovrai più fare i download delle pagine, ma solo spedire e ricevere dati in maniera molto veloce facendo semplicemente un connect, ma questo comporta molto lavoro.
Allora domani chiedo se nell'esame ho la possiblità di connettermi a internet e in caso si vedrà cosa fare.
intanto non riesco a capire il perche con il seguente codice:
// PAGINA HTML
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();
client.print("<body background=\"https://lh5.googleusercontent.com/-AVyd4o55VMQ/U3HiZEqf9pI/AAAAAAAAADc/p52og8we2ZQ/s720/Sfondo.jpg\">");
client.print("<html><head><title>Web server domotico</title><meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1' ></head><body>");
client.print("
");
l'immagine di sfondo venga visualizzata nel seguente modo (vedi immagine)
l'immagine ha una risoluzzione di 3000×1947 pixels, come faccio a inserirla in modo che non venga ripetutà?
grazie
Allora ultimamente sono stato un po assente per via dell'esame.
Ricapitolando, sono riuscito a risolvere il problema dell'immagine di sfondo ripetuta più volte che era dovuto al fatto che picasa aveva ridimensionato l'immagine.
Non sono riuscito a risolvere il problema del sensore di temperatura lm35dz che continua a registrare valori che vanno dai 10°C ai 53°C, ho gia provato ad alimentare il sensore con un alimentatore esterno ma niente.
Ora mi piacerebbe implementare alcune cose nel progetto:
1)visualizzare i consumi energetici e ho pensato di acquistare questo: http://www.ebay.it/itm/121212262314?ssPageName=STRK:MEWAX:IT&_trksid=p3984.m1423.l2649 cosa ne pensate?
2)Vorrei fare in modo che la pagina html con i comandi sia raggiungibile da qualunque dispositivo che sia connesso ad internet e non solo ai dispositivi connessi in LAN come posso fare questo?
grazie, cercherò di essere più partecipe possibile d'ora in poi.