aiuto jquery

buongiorno ragazzi.

sono arrivato ad un punto di stallo.

io devo leggere una temperatura e fare un dtalogger per poi leggerla su html.

con programmazione base tutto bene (per cominciare) ma adeso voglio un po' migliorare quello che ho fatto soprattutto per html.

guardo in giro e trovo che devo usare le jquery per andare a leggere da pagina html i miei pin.

vado a scrivere la pagina direttamente su sketch e fin qui tutto bene ma non riesco a capire come fare quando voglio andare a creare una pagina html dentro la mia sd di ethernet shield e fare legere i pin da questa.

ho guardato vari esempi soprattutto quello di pablo71(perchè lui andava a prendere una stringa da html, io devo fare il contrario) dove c'erano test.js e query.js ma non mi va perchè ho errori di librerie varie.

riassumendo io vorrei che da pagina html salvato su sd di ethernet shield io possa andare (per ora) a leggere il sensore temperatura.

vi metto lo sketch (con pagina html)

#include <SPI.h>
#include <Ethernet.h>
int PIN_TEMP=0; //Assegniamo alla variabile il pin di ingresso analogico scelto
int temp; //Dichiariamo la variabile che conterrà il valore della temperatura

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
//byte ip[] = { 0,0,0,0 };//SCRIVERE QUI L'INDIRIZZO IP DEL VOSTRO ARDUINO
EthernetServer server(80);
String query;

void setup()
{
Serial.begin(9600);
query = String("");
Ethernet.begin(mac);

server.begin();

Serial.println(Ethernet.localIP());

pinMode(5,OUTPUT);
}
void loop()
{

temp= analogRead(PIN_TEMP)*0.5;//Assegniamo alla variabile temp il valore restituito dalle lettura del pin 0
delay(100); //Aspettiamo 100 mS prima di leggere un nuovo valore

EthernetClient client = server.available();
if (client) {
while (client.connected()) {
if (client.available()) {
char c = client.read();
query.concat(c);
if (c == '\n') {
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();
client.print("html");

client.print("");
client.print("");
client.print("");
client.print("");
client.print("");
client.print("");
client.print("");
client.print("<div data-role='page' id='home'data-theme='a'>");//APRO LA PAGINA
client.print("

My Home

");//APRO L'INTESTAZIONE
client.print("
");//APRO IL CONTENUTO DELLA PAGINA

client.print("<a href ='#codeSample' data-rel = 'popup' data-role='button' data-inline='true'data-position-to='window'data-transition='flip'>Temperatura Garage ");
client.print("

");
client.print("

La temperatura

");
client.print(" ");
client.print("

attuale e di:

");
client.print(" ");
client.print("

");
client.print(temp);
client.print("&#176");
client.print("C");
client.print("

");
client.print(" ");
client.print("
");

client.print("");
client.print("");

break;
}
}
}
delay(1);
client.stop();
query = String("");
}
}

io porto tutte le istruzioni html su pagina html ma non so cosa devo mettere al posto di temp per andare a leggere da html i miei pin.

se avete domande chiedete pure.

vi chiedo solo di darmi qualche dritta.

grazie

Ti invitiamo a presentarti (dicci quali conoscenze hai di elettronica e di programmazione) qui: Presentazioni
e a leggere il regolamento se non lo hai già fatto: Regolamento
Qui una serie di link utili, non inerenti al tuo problema:

Per il codice usa il tag code e non quote. Quando scrivi è il primo pulsante a sinistra con simbolo </>

Sarà roba un pò vecchia codici scritti probabilmente con la vers 022 e nel forum vecchio ormai chiuso, io non ho mai inserito codici JS nelle linee client.print usavo 2 file separati htm e js o tutto in un unico htm, a quale link ti riferisci ci posso dare un occhiata.

Però dovresti specificare l'hardware che possiedi (quale arduino, quale ethernet, tipo SD)
La presentazione serve per capire le tue esperienze e per poterti rispondere in modo adeguato, se sei già esperto di html e java non perdiamo tempo con ABC....

ciao

buongiorno,
scusate volevo presentarmi ma non trovavo la sezione.

allora il link al quale mi riferivo è questo http://forum.arduino.cc/index.php/topic,81080.0.html
mi ruiferivo a questo post per il fatto che provavo a mettere mano alle jquery ma con esito negativo.

perchè lo sketck proposto da pablo non me lo caricava perchè diceva che avevo errori di librerie anche se le avevo caricate tutte.

il mio hw è arduino uno con ethernet shield e l'sd ce ho è della sandisk di 4gb.

allora per quanto riguarda le mie conoscenze:

arduino sono alla base

html e java li conosco da un po', sono un po' sopra l'abc :).

per eventuali domande io sono sempre qui.

il mio intento è di avere un jquery che mi va a leggere i pin del mio arduino e tutto questo lo vedo su html caricato su sd dello shield ethernet.

vi chiedo anche se questa soluzione può andare bene o ci sono altre cose che io posso fare.

però il mio intento è di sfruttare la mia sd dello shield ethernet e quindi di non appoggiarmi a cose esterne dato che ho questo spazio mio.

grazie

buona giornata

Si, mi ricordo molto bene quel thread basato sulla sulla tinywebserver che ho usato fino alla vers. 1.5.2 senza problemi, poi l'ho modificata ottimizzata insieme ad altre 10-15 librerie del core, tutto andava bene fino a quando l'hard-disk si è sfasciato di colpo e ho perso tutti i progetti comprese le modifiche.
Quindi vado a memoria .....

Se scarichi le versioni aggiornate della tiny non dovresti avere errori.

probabilmente non hai aggiunto nell'ide la libreria flash che trovi qui:

usa la libreria SD.h che trovi già nell'ide e non più la sdfat.h

Sarebbe utile sapere quali errori ottieni, copiali e incollali qui con un "quote" o con un "code"

ok.
domani riprovo il tutto con le tue indicazioni e se riscontro errori ti dico.

perchè il mio intento era partire dal tuo progetto, capire un po' il tutto e poi fare il mio.

domani si ricomincia e vi dico.

grazie mille

buona giornata

buongiorno ragazzi.

pablo ho fatto tutto quello che mi hai detto.

però il programma da errori nella libreria flash.

ora posto gli erroti

Arduino:1.6.5 (Windows 8.1), Scheda:"Arduino/Genuino Uno"

Opzioni di compilazione cambiate, ricompilo tutto

Uso la libreria SPI nella cartella: C:\Program Files\Arduino\hardware\arduino\avr\libraries\SPI 

Uso la libreria Ethernet nella cartella: C:\Program Files\Arduino\libraries\Ethernet 

Uso la libreria Flash-5 nella cartella: C:\Users\utente\Documents\Arduino\libraries\Flash-5 (legacy)

Uso la libreria SD nella cartella: C:\Program Files\Arduino\libraries\SD 

Uso la libreria TinyWebServer-master nella cartella: C:\Users\utente\Documents\Arduino\libraries\TinyWebServer-master (legacy)



C:\Program Files\Arduino\hardware\tools\avr/bin/avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10605 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR -IC:\Program Files\Arduino\hardware\arduino\avr\cores\arduino -IC:\Program Files\Arduino\hardware\arduino\avr\variants\standard -IC:\Program Files\Arduino\hardware\arduino\avr\libraries\SPI -IC:\Program Files\Arduino\libraries\Ethernet\src -IC:\Users\utente\Documents\Arduino\libraries\Flash-5 -IC:\Program Files\Arduino\libraries\SD\src -IC:\Users\utente\Documents\Arduino\libraries\TinyWebServer-master C:\Users\utente\AppData\Local\Temp\build8663214656346345440.tmp\PROGRAMMA_JQUERY_PABLO_FORUM.cpp -o C:\Users\utente\AppData\Local\Temp\build8663214656346345440.tmp\PROGRAMMA_JQUERY_PABLO_FORUM.cpp.o 

In file included from PROGRAMMA_JQUERY_PABLO_FORUM.ino:9:0:
C:\Users\utente\Documents\Arduino\libraries\Flash-5/Flash.h:70:23: error: 'prog_char' does not name a type
   _FLASH_STRING(const prog_char *arr);
                       ^
C:\Users\utente\Documents\Arduino\libraries\Flash-5/Flash.h:70:34: error: ISO C++ forbids declaration of 'arr' with no type [-fpermissive]
   _FLASH_STRING(const prog_char *arr);
                                  ^
C:\Users\utente\Documents\Arduino\libraries\Flash-5/Flash.h:81:9: error: 'prog_char' does not name a type
   const prog_char *access() const 
         ^
C:\Users\utente\Documents\Arduino\libraries\Flash-5/Flash.h:93:9: error: 'prog_char' does not name a type
   const prog_char *_arr;
         ^
C:\Users\utente\Documents\Arduino\libraries\Flash-5/Flash.h: In member function 'size_t _FLASH_STRING::length() const':
C:\Users\utente\Documents\Arduino\libraries\Flash-5/Flash.h:73:21: error: '_arr' was not declared in this scope
   { return strlen_P(_arr); }
                     ^
C:\Users\utente\Documents\Arduino\libraries\Flash-5/Flash.h: In member function 'char* _FLASH_STRING::copy(char*, size_t, size_t) const':
C:\Users\utente\Documents\Arduino\libraries\Flash-5/Flash.h:78:20: error: '_arr' was not declared in this scope
       strcpy_P(to, _arr + offset) : strncpy_P(to, _arr + offset, size);
                    ^
In file included from C:\Program Files\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:28:0,
                 from C:\Program Files\Arduino\hardware\arduino\avr\libraries\SPI/SPI.h:17,
                 from PROGRAMMA_JQUERY_PABLO_FORUM.ino:7:
C:\Users\utente\Documents\Arduino\libraries\Flash-5/Flash.h: In member function 'char _FLASH_STRING::operator[](int) const':
C:\Users\utente\Documents\Arduino\libraries\Flash-5/Flash.h:88:44: error: '_arr' was not declared in this scope
   { return static_cast<char>(pgm_read_byte(_arr + index)); }
                                            ^
In file included from PROGRAMMA_JQUERY_PABLO_FORUM.ino:9:0:
C:\Users\utente\Documents\Arduino\libraries\Flash-5/Flash.h: At global scope:
C:\Users\utente\Documents\Arduino\libraries\Flash-5/Flash.h:183:29: error: 'prog_char' does not name a type
   _FLASH_STRING_ARRAY(const prog_char **arr, size_t count) : _arr(arr), _size(count)
                             ^
C:\Users\utente\Documents\Arduino\libraries\Flash-5/Flash.h:183:41: error: ISO C++ forbids declaration of 'arr' with no type [-fpermissive]
   _FLASH_STRING_ARRAY(const prog_char **arr, size_t count) : _arr(arr), _size(count)
                                         ^
C:\Users\utente\Documents\Arduino\libraries\Flash-5/Flash.h:203:9: error: 'prog_char' does not name a type
   const prog_char **_arr;
         ^
C:\Users\utente\Documents\Arduino\libraries\Flash-5/Flash.h: In constructor '_FLASH_STRING_ARRAY::_FLASH_STRING_ARRAY(const int**, size_t)':
C:\Users\utente\Documents\Arduino\libraries\Flash-5/Flash.h:183:62: error: class '_FLASH_STRING_ARRAY' does not have any field named '_arr'
   _FLASH_STRING_ARRAY(const prog_char **arr, size_t count) : _arr(arr), _size(count)
                                                              ^
C:\Users\utente\Documents\Arduino\libraries\Flash-5/Flash.h: In member function '_FLASH_STRING _FLASH_STRING_ARRAY::operator[](int) const':
C:\Users\utente\Documents\Arduino\libraries\Flash-5/Flash.h:190:26: error: '_arr' was not declared in this scope
   { return _FLASH_STRING(_arr[index]); }
                          ^
C:\Users\utente\Documents\Arduino\libraries\Flash-5/Flash.h: In member function 'virtual void _FLASH_STRING_ARRAY::print(Print&) const':
C:\Users\utente\Documents\Arduino\libraries\Flash-5/Flash.h:196:25: error: '_arr' was not declared in this scope
       _FLASH_STRING str(_arr[i]);
                         ^
Errore durante la compilazione

Se guardi la pagina di TinyWebServer, dice praticamente subito:

If you're using a version of Arduino IDE newer than 1.5, you need to modify the Flash.h file to include the following lines just after the #include <avr/pgmspace.h> line:

#if ARDUINO >= 150
typedef char prog_char attribute((progmem));
#endif

La libreria non è adatta all'IDE 1.6.x.
Ci sono delle modifiche inviate all'autore ma che non sono state integrate.
Se la vuoi usare dovresti fare le correzioni a mano.
--> Be compatible to Arduino IDE > 1.5.0 by schinken · Pull Request #5 · mikalhart/Flash · GitHub

La flash l'avevo eliminata del tutto visto che scriveva solo 4 cose inutili

serve solo per contenere questa stringa, utile per metà

FLASH_STRING(mime_types,
"HTMtext/html|"
"TXT
text/plain|"
"CSStext/css|"
"XML
text/xml|"
"JS*text/javascript|"

"GIFimage/gif|"
"JPG
image/jpeg|"
"PNGimage/png|"
"ICO
image/vnd.microsoft.icon|"

"MP3*audio/mpeg|"
);

più altri messaggi di debug non strettamente necessari

Adattare la tinywebserver + SD.h + Ethernet.h + flash.h + W5100.h + SPI.h su una UNO ti restano 3k per fare il programma, non ne vale la pena sbattersi tanto