Passare variabili in tabella da arduino a sito web già pronto

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

ciao

Ah ok, porta pazienza, le conoscenze sono poche e le idee parecchio confuse..

Giusto per essere il più chiaro possibile così magari il topic può essere utile anche ad altre persone posto il codice che sto usando.

Se prima per esempio facevo così per inserire le variabili nella pagina

pc_client.println(F("<td bgColor=white><p align=center>"));                      
pc_client.println(temperaturaSala);   
pc_client.println(F(" &degC</td>"));    }

Adesso invece da arduino vado a leggere il codice html dalla SD così

myFile = SD.open("index.htm");
 if (myFile) {
      while (myFile.available()) {
           pc_client.write(myFile.read());
       }
  myFile.close();
}

e a livello html per esempio questa è una riga con 7 celle

<tr>
		<td class="style5" valign="middle">SALA</td>
		<td class="style4">&nbsp;</td>
		<td class="style4">&nbsp;</td>
		<td class="style4">&nbsp;</td>
		<td class="style4">&nbsp;</td>
		<td class="style4">&nbsp;</td>
		<td style="height: 40px" class="style4">&nbsp;</td>
</tr>

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?

Ti ringrazio per l'aiuto!

guardati questo è +/- quello che cerchi

Grazie mille! Adesso esco sennò la morosa mi fa fare una corsa :-D, appena posso gli dò un'occhiata!!

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 :slight_smile: fidati di chi ci è passato prima di te, ti suggerirei il metodo di connessione real time socket, ma per ora è molto presto

ciao

Ok, a questo punto mi metto l'anima in pace e mi metterò dietro con calma ad imparare qualcosina di ajax, che casino! :slight_smile:

Ti ringrazio ancora per la pazienza e per l'aiuto che mi hai dati, buona serata!