Un saluto a tutti, come ho scritto in altri post ho creato un programma per regolare il riscaldamento delle stanze della casa.
Per quanto riguarda il sito web, da arduino ho scritto il codice html, creando una tabella dove inserivo set point, lettura delle zone, stato del riscaldamento ed altre variabili in ordine, man mano che creavo le varie righe e celle.
La mia idea di adesso è quella di creare il sito web tramite un altro programma (SharePoint della Microsoft) per poi caricare il codice html sulla scheda SD.
Ho creato la tabella, però in questo caso non so come fare a livello di codice a dire ad arduino in che cella andare ad inserire le variabili.
Grazie per l'aiuto, spero di essere stato abbastanza chiaro.
Non è il server che decide in quale cella va il dato che invia, è il client che prende il dato/i e decide dove metterli in base ad esempio a una parte della pagina html scritta in javascript
esempio
-client interroga server ad esempio con ajax, json
-server risponde con 25,22,24,23,21
-client js fa uno split della stringa in arrivo quindi piazza dato[0] in cella 0, dato[1] in cella 1 e così via
e nella 2,3,5,7^ cella dovrei appunto inserire le variabili, potresti aggiungere un esempio oppure un link per capire come andare ad infilare i dati esattamente dove vorrei che andassero?
Rieccomi qui,oggi ho avuto solo qualche istante per dargli un'occhiata ed ho visto che non è proprio una cosa da fare al volo (soprattutto visto che sarebbe per un discorso di controllo visto che andrei a leggere a che ora è stato fatto l'ultimo salvataggio su SD), quindi per il momento vado avanti con altre idee più alla portata.
Al momento sto continuando il progetto creando il sito web da arduino, inserendo in questo modo le variabili (temperature, set point ecc) durante la creazione appunto del webserver.
Un problema che ho notato è sulle pressioni dei pulsanti, come in questo caso, una volta premuto il pulsante io aggiungo alla barra il seguente codice "SPSalaDown"
onclick=location.href='/?SPSalaDown
che poi interpreto qui
if (incoming.indexOf("SPSalaDown") > 0)
il problema è che ogni volta che eseguo il refresh della pagina sulla barra degli indirizzi la scritta resta sempre e quindi mi va a decrementare il valore del setpoint.
Prima di chiudere la connessione eseguo questa operazione
pc_client.stop();
incoming="";
ho provato a svuotare l'incoming anche prima di chiudere la connessione ma non cambia nulla, cos'è che sbaglio?
Certo che la GET resta sempre al refresh sulla barra degli indirizzi, il client ha quello come ultimo ordine ... (a mio parere sbagliate a usare la barra indirizzi per impartire ordini al server e nello stesso tempo chiedere un aggiornamento dei dati da visualizzare) intanto un web server come si deve non va fatto con un refresh GET, ma con un sistema "polling" e trasmissione dati tcp/IP POST, non per niente ti avevo suggerito di vedere quel link (per prenderne spunto non copiarlo) che usa ajax e json ... alla fine di tanti sforzi ti renderai conto che devi indirizzarti su un altro metodo, tanto vale che inizi subito fidati di chi ci è passato prima di te, ti suggerirei il metodo di connessione real time socket, ma per ora è molto presto